Page MenuHomeIsabelle/Phabricator

No OneTemporary

This file is larger than 256 KB, so syntax highlighting was skipped.
diff --git a/etc/build.props b/etc/build.props
--- a/etc/build.props
+++ b/etc/build.props
@@ -1,25 +1,27 @@
title = AFP/Tools
module = $AFP_BASE/tools/lib/classes/afp_tools.jar
requirements = \
env:ISABELLE_SCALA_JAR \
$ISABELLE_HOME_USER/contrib/ci-extras-1/lib/ci-extras.jar
sources = \
tools/admin/afp_build_hugo.scala \
+ tools/migration/afp_migrate_metadata.scala \
tools/migration/afp_obfuscate_emails.scala \
tools/afp_build.scala \
tools/afp_check_metadata.scala \
tools/afp_check_roots.scala \
tools/afp_dependencies.scala \
tools/afp_site_gen.scala \
tools/afp_structure.scala \
tools/afp_tool.scala \
tools/hugo.scala \
tools/metadata.scala \
tools/rake.scala \
tools/toml.scala \
tools/utils.scala
resources = \
- tools/SmartStoplist.txt:SmartStoplist.txt
+ tools/SmartStoplist.txt:SmartStoplist.txt \
+ tools/migration/public_suffix_list.dat:public_suffix_list.dat
services = \
afp.Tools \
afp.Build_Tools
diff --git a/metadata/authors.toml b/metadata/authors.toml
--- a/metadata/authors.toml
+++ b/metadata/authors.toml
@@ -1,6801 +1,6855 @@
[abdulaziz]
name = "Mohammad Abdulaziz"
[abdulaziz.emails]
[abdulaziz.emails.abdulaziz_email]
user = [
"mohammad",
"abdulaziz",
]
host = [
"in",
"tum",
"de",
]
[abdulaziz.emails.abdulaziz_email1]
user = [
"mohammad",
"abdulaziz8",
]
host = [
"gmail",
"com",
]
[abdulaziz.homepages]
abdulaziz_homepage = "http://home.in.tum.de/~mansour/"
[adelsberger]
name = "Stephan Adelsberger"
[adelsberger.emails]
[adelsberger.emails.adelsberger_email]
user = [
"stvienna",
]
host = [
"gmail",
"com",
]
[adelsberger.homepages]
adelsberger_homepage = "http://nm.wu.ac.at/nm/sadelsbe"
[aehlig]
name = "Klaus Aehlig"
[aehlig.emails]
[aehlig.homepages]
aehlig_homepage = "http://www.linta.de/~aehlig/"
[aissat]
name = "Romain Aissat"
[aissat.emails]
[aissat.homepages]
[amani]
name = "Sidney Amani"
[amani.emails]
[amani.emails.amani_email]
user = [
"sidney",
"amani",
]
host = [
"data61",
"csiro",
"au",
]
[amani.homepages]
[ammer]
name = "Thomas Ammer"
[ammer.emails]
+[ammer.emails.ammer_email]
+user = ["thomas","ammer"]
+host = ["tum","de"]
[ammer.homepages]
[andronick]
name = "June Andronick"
[andronick.emails]
[andronick.homepages]
[aransay]
name = "Jesús Aransay"
[aransay.emails]
[aransay.emails.aransay_email]
user = [
"jesus-maria",
"aransay",
]
host = [
"unirioja",
"es",
]
[aransay.homepages]
aransay_homepage = "https://www.unirioja.es/cu/jearansa"
[argyraki]
name = "Angeliki Koutsoukou-Argyraki"
[argyraki.emails]
[argyraki.emails.argyraki_email]
user = [
"ak2110",
]
host = [
"cam",
"ac",
"uk",
]
[argyraki.homepages]
argyraki_homepage = "https://www.cl.cam.ac.uk/~ak2110/"
argyraki_homepage2 = "https://www.cst.cam.ac.uk/people/ak2110"
[armstrong]
name = "Alasdair Armstrong"
[armstrong.emails]
[armstrong.homepages]
[aspinall]
name = "David Aspinall"
[aspinall.emails]
[aspinall.homepages]
aspinall_homepage = "http://homepages.inf.ed.ac.uk/da/"
[ausaf]
name = "Fahad Ausaf"
[ausaf.emails]
[ausaf.homepages]
ausaf_homepage = "http://kcl.academia.edu/FahadAusaf"
[avigad]
name = "Jeremy Avigad"
[avigad.emails]
[avigad.emails.avigad_email]
user = [
"avigad",
]
host = [
"cmu",
"edu",
]
[avigad.homepages]
avigad_homepage = "http://www.andrew.cmu.edu/user/avigad/"
[back]
name = "Ralph-Johan Back"
[back.emails]
[back.homepages]
back_homepage = "http://users.abo.fi/Ralph-Johan.Back/"
[balbach]
name = "Frank J. Balbach"
[balbach.emails]
[balbach.emails.balbach_email]
user = [
"frank-balbach",
]
host = [
"gmx",
"de",
]
[balbach.homepages]
[ballarin]
name = "Clemens Ballarin"
[ballarin.emails]
[ballarin.emails.ballarin_email]
user = [
"ballarin",
]
host = [
"in",
"tum",
"de",
]
[ballarin.homepages]
ballarin_homepage = "http://www21.in.tum.de/~ballarin/"
[barsotti]
name = "Damián Barsotti"
[barsotti.emails]
[barsotti.homepages]
barsotti_homepage = "http://www.cs.famaf.unc.edu.ar/~damian/"
[bauer]
name = "Gertrud Bauer"
[bauer.emails]
[bauer.homepages]
[bauereiss]
name = "Thomas Bauereiss"
[bauereiss.emails]
[bauereiss.emails.bauereiss_email]
user = [
"thomas",
]
host = [
"bauereiss",
"name",
]
[bauereiss.homepages]
[bayer]
name = "Jonas Bayer"
[bayer.emails]
[bayer.emails.bayer_email]
user = [
"jonas",
"bayer999",
]
host = [
"gmail",
"com",
]
[bayer.homepages]
[becker]
name = "Heiko Becker"
[becker.emails]
[becker.emails.becker_email]
user = [
"hbecker",
]
host = [
"mpi-sws",
"org",
]
[becker.homepages]
[beeren]
name = "Joel Beeren"
[beeren.emails]
[beeren.homepages]
[bella]
name = "Giampaolo Bella"
[bella.emails]
[bella.emails.bella_email]
user = [
"giamp",
]
host = [
"dmi",
"unict",
"it",
]
[bella.homepages]
bella_homepage = "http://www.dmi.unict.it/~giamp/"
[bengtson]
name = "Jesper Bengtson"
[bengtson.emails]
[bengtson.homepages]
bengtson_homepage = "http://www.itu.dk/people/jebe"
[bentkamp]
name = "Alexander Bentkamp"
[bentkamp.emails]
[bentkamp.emails.bentkamp_email]
user = [
"bentkamp",
]
host = [
"gmail",
"com",
]
[bentkamp.emails.bentkamp_email1]
user = [
"a",
"bentkamp",
]
host = [
"vu",
"nl",
]
[bentkamp.homepages]
bentkamp_homepage = "https://www.cs.vu.nl/~abp290/"
[benzmueller]
name = "Christoph Benzmüller"
[benzmueller.emails]
[benzmueller.emails.benzmueller_email]
user = [
"c",
"benzmueller",
]
host = [
"gmail",
"com",
]
[benzmueller.emails.benzmueller_email1]
user = [
"c",
"benzmueller",
]
host = [
"fu-berlin",
"de",
]
[benzmueller.homepages]
benzmueller_homepage = "http://christoph-benzmueller.de"
benzmueller_homepage1 = "http://page.mi.fu-berlin.de/cbenzmueller/"
[beresford]
name = "Alastair R. Beresford"
[beresford.emails]
[beresford.emails.beresford_email]
user = [
"arb33",
]
host = [
"cam",
"ac",
"uk",
]
[beresford.homepages]
[berghofer]
name = "Stefan Berghofer"
[berghofer.emails]
[berghofer.emails.berghofer_email]
user = [
"berghofe",
]
host = [
"in",
"tum",
"de",
]
[berghofer.homepages]
berghofer_homepage = "http://www.in.tum.de/~berghofe"
[beringer]
name = "Lennart Beringer"
[beringer.emails]
[beringer.emails.beringer_email]
user = [
"lennart",
"beringer",
]
host = [
"ifi",
"lmu",
"de",
]
[beringer.homepages]
[bharadwaj]
name = "Abhijith Bharadwaj"
[bharadwaj.emails]
[bharadwaj.homepages]
[bhatt]
name = "Bhargav Bhatt"
[bhatt.emails]
[bhatt.emails.bhatt_email]
user = [
"bhargav",
"bhatt",
]
host = [
"inf",
"ethz",
"ch",
]
[bhatt.homepages]
[biendarra]
name = "Julian Biendarra"
[biendarra.emails]
[biendarra.homepages]
[bisping]
name = "Benjamin Bisping"
[bisping.emails]
[bisping.emails.bisping_email]
user = [
"benjamin",
"bisping",
]
host = [
"campus",
"tu-berlin",
"de",
]
[bisping.homepages]
[blanchette]
name = "Jasmin Christian Blanchette"
[blanchette.emails]
[blanchette.emails.blanchette_email]
user = [
"jasmin",
"blanchette",
]
host = [
"gmail",
"com",
]
[blanchette.emails.blanchette_email1]
user = [
"j",
"c",
"blanchette",
]
host = [
"vu",
"nl",
]
[blanchette.homepages]
blanchette_homepage = "http://www21.in.tum.de/~blanchet"
blanchette_homepage1 = "https://www.cs.vu.nl/~jbe248/"
[blasum]
name = "Holger Blasum"
[blasum.emails]
[blasum.emails.blasum_email]
user = [
"holger",
"blasum",
]
host = [
"sysgo",
"com",
]
[blasum.homepages]
[blumson]
name = "Ben Blumson"
[blumson.emails]
[blumson.emails.blumson_email]
user = [
"benblumson",
]
host = [
"gmail",
"com",
]
[blumson.homepages]
blumson_homepage = "https://philpeople.org/profiles/ben-blumson"
[bockenek]
name = "Joshua Bockenek"
[bockenek.emails]
[bockenek.homepages]
[boehme]
name = "Sascha Böhme"
[boehme.emails]
[boehme.emails.boehme_email]
user = [
"boehmes",
]
host = [
"in",
"tum",
"de",
]
[boehme.homepages]
boehme_homepage = "http://www21.in.tum.de/~boehmes/"
[bohrer]
name = "Rose Bohrer"
[bohrer.emails]
[bohrer.emails.bohrer_email]
user = [
"rose",
"bohrer",
"cs",
]
host = [
"gmail",
"com",
]
[bohrer.homepages]
[bordg]
name = "Anthony Bordg"
[bordg.emails]
[bordg.emails.bordg_email]
user = [
"apdb3",
]
host = [
"cam",
"ac",
"uk",
]
[bordg.homepages]
bordg_homepage = "https://sites.google.com/site/anthonybordg/"
[borgstroem]
name = "Johannes Borgström"
[borgstroem.emails]
[borgstroem.emails.borgstroem_email]
user = [
"johannes",
"borgstrom",
]
host = [
"it",
"uu",
"se",
]
[borgstroem.homepages]
[bortin]
name = "Maksym Bortin"
[bortin.emails]
[bortin.emails.bortin_email]
user = [
"maksym",
"bortin",
]
host = [
"nicta",
"com",
"au",
]
+[bortin.emails.bortin_email1]
+user = [
+ "mbortin",
+]
+host = [
+ "gmail",
+ "com",
+]
+
[bortin.homepages]
[bottesch]
name = "Ralph Bottesch"
[bottesch.emails]
[bottesch.emails.bottesch_email]
user = [
"ralph",
"bottesch",
]
host = [
"uibk",
"ac",
"at",
]
[bottesch.homepages]
bottesch_homepage = "http://cl-informatik.uibk.ac.at/users/bottesch/"
[boulanger]
name = "Frédéric Boulanger"
[boulanger.emails]
[boulanger.emails.boulanger_email]
user = [
"frederic",
"boulanger",
]
host = [
"centralesupelec",
"fr",
]
[boulanger.homepages]
[bourke]
name = "Timothy Bourke"
[bourke.emails]
[bourke.emails.bourke_email]
user = [
"tim",
]
host = [
"tbrk",
"org",
]
[bourke.homepages]
bourke_homepage = "http://www.tbrk.org"
[boutry]
name = "Pierre Boutry"
[boutry.emails]
[boutry.emails.boutry_email]
user = [
"boutry",
]
host = [
"unistra",
"fr",
]
[boutry.homepages]
[boyton]
name = "Andrew Boyton"
[boyton.emails]
[boyton.emails.boyton_email]
user = [
"andrew",
"boyton",
]
host = [
"nicta",
"com",
"au",
]
[boyton.homepages]
[bracevac]
name = "Oliver Bračevac"
[bracevac.emails]
[bracevac.emails.bracevac_email]
user = [
"bracevac",
]
host = [
"st",
"informatik",
"tu-darmstadt",
"de",
]
[bracevac.homepages]
[brandt]
name = "Felix Brandt"
[brandt.emails]
[brandt.homepages]
brandt_homepage = "http://dss.in.tum.de/staff/brandt.html"
[breitner]
name = "Joachim Breitner"
[breitner.emails]
[breitner.emails.breitner_email]
user = [
"mail",
]
host = [
"joachim-breitner",
"de",
]
[breitner.emails.breitner_email1]
user = [
"joachim",
]
host = [
"cis",
"upenn",
"edu",
]
[breitner.homepages]
breitner_homepage = "http://pp.ipd.kit.edu/~breitner"
[brien]
name = "Nicolas Robinson-O'Brien"
[brien.emails]
[brien.homepages]
[brinkop]
name = "Hauke Brinkop"
[brinkop.emails]
[brinkop.emails.brinkop_email]
user = [
"hauke",
"brinkop",
]
host = [
"googlemail",
"com",
]
[brinkop.homepages]
[brodmann]
name = "Paul-David Brodmann"
[brodmann.emails]
[brodmann.emails.brodmann_email]
user = [
"p",
"brodmann",
]
host = [
"tu-berlin",
"de",
]
[brodmann.homepages]
[brucker]
name = "Achim D. Brucker"
[brucker.emails]
[brucker.emails.brucker_email]
user = [
"a",
"brucker",
]
host = [
"exeter",
"ac",
"uk",
]
[brucker.emails.brucker_email1]
user = [
"brucker",
]
host = [
"spamfence",
"net",
]
[brucker.emails.brucker_email2]
user = [
"adbrucker",
]
host = [
"0x5f",
"org",
]
[brucker.homepages]
brucker_homepage = "https://www.brucker.ch/"
[bruegger]
name = "Lukas Brügger"
[bruegger.emails]
[bruegger.emails.bruegger_email]
user = [
"lukas",
"a",
"bruegger",
]
host = [
"gmail",
"com",
]
[bruegger.homepages]
[brun]
name = "Matthias Brun"
[brun.emails]
[brun.emails.brun_email]
user = [
"matthias",
"brun",
]
host = [
"inf",
"ethz",
"ch",
]
[brun.homepages]
[brunner]
name = "Julian Brunner"
[brunner.emails]
[brunner.emails.brunner_email]
user = [
"brunnerj",
]
host = [
"in",
"tum",
"de",
]
[brunner.homepages]
brunner_homepage = "http://www21.in.tum.de/~brunnerj/"
[bulwahn]
name = "Lukas Bulwahn"
[bulwahn.emails]
[bulwahn.emails.bulwahn_email]
user = [
"lukas",
"bulwahn",
]
host = [
"gmail",
"com",
]
[bulwahn.homepages]
[butler]
name = "David Butler"
[butler.emails]
[butler.emails.butler_email]
user = [
"dbutler",
]
host = [
"turing",
"ac",
"uk",
]
[butler.homepages]
butler_homepage = "https://www.turing.ac.uk/people/doctoral-students/david-butler"
[buyse]
name = "Maxime Buyse"
[buyse.emails]
[buyse.emails.buyse_email]
user = [
"maxime",
"buyse",
]
host = [
"polytechnique",
"edu",
]
[buyse.homepages]
[caballero]
name = "José Manuel Rodríguez Caballero"
[caballero.emails]
[caballero.emails.caballero_email]
user = [
"jose",
"manuel",
"rodriguez",
"caballero",
]
host = [
"ut",
"ee",
]
[caballero.homepages]
caballero_homepage = "https://josephcmac.github.io/"
[caminati]
name = "Marco B. Caminati"
[caminati.emails]
[caminati.homepages]
[campo]
name = "Alejandro del Campo"
[campo.emails]
[campo.emails.campo_email]
user = [
"alejandro",
"del-campo",
]
host = [
"alum",
"unirioja",
"es",
]
[campo.homepages]
[chaieb]
name = "Amine Chaieb"
[chaieb.emails]
[chaieb.homepages]
[chapman]
name = "Peter Chapman"
[chapman.emails]
[chapman.emails.chapman_email]
user = [
"pc",
]
host = [
"cs",
"st-andrews",
"ac",
"uk",
]
[chapman.homepages]
[chen]
name = "L. Chen"
[chen.emails]
[chen.homepages]
[clouston]
name = "Ranald Clouston"
[clouston.emails]
[clouston.emails.clouston_email]
user = [
"ranald",
"clouston",
]
host = [
"cs",
"au",
"dk",
]
[clouston.homepages]
[cock]
name = "David Cock"
[cock.emails]
[cock.emails.cock_email]
user = [
"david",
"cock",
]
host = [
"nicta",
"com",
"au",
]
[cock.homepages]
[coghetto]
name = "Roland Coghetto"
[coghetto.emails]
[coghetto.emails.coghetto_email]
user = [
"roland_coghetto",
]
host = [
"hotmail",
"com",
]
[coghetto.homepages]
[coglio]
name = "Alessandro Coglio"
[coglio.emails]
[coglio.emails.coglio_email]
user = [
"coglio",
]
host = [
"kestrel",
"edu",
]
[coglio.homepages]
coglio_homepage = "http://www.kestrel.edu/~coglio"
[cohen]
name = "Ernie Cohen"
[cohen.emails]
[cohen.emails.cohen_email]
user = [
"ecohen",
]
host = [
"amazon",
"com",
]
[cohen.homepages]
[cordwell]
name = "Katherine Cordwell"
[cordwell.emails]
[cordwell.emails.cordwell_email]
user = [
"kcordwel",
]
host = [
"cs",
"cmu",
"edu",
]
[cordwell.homepages]
cordwell_homepage = "https://www.cs.cmu.edu/~kcordwel/"
[cousin]
name = "Marie Cousin"
[cousin.emails]
[cousin.emails.cousin_email]
user = [
"marie",
"cousin",
]
host = [
"grenoble-inp",
"org",
]
[cousin.homepages]
[crighton]
name = "Aaron Crighton"
[crighton.emails]
[crighton.emails.crighton_email]
user = [
"crightoa",
]
host = [
"mcmaster",
"ca",
]
[crighton.homepages]
[dardinier]
name = "Thibault Dardinier"
[dardinier.emails]
[dardinier.emails.dardinier_email]
user = [
"thibault",
"dardinier",
]
host = [
"inf",
"ethz",
"ch",
]
[dardinier.homepages]
dardinier_homepage = "https://dardinier.me/"
[david]
name = "Marco David"
[david.emails]
[david.emails.david_email]
user = [
"marco",
"david",
]
host = [
"hotmail",
"de",
]
[david.homepages]
[debrat]
name = "Henri Debrat"
[debrat.emails]
[debrat.emails.debrat_email]
user = [
"henri",
"debrat",
]
host = [
"loria",
"fr",
]
[debrat.homepages]
[decova]
name = "Sára Decova"
[decova.emails]
[decova.homepages]
[derrick]
name = "John Derrick"
[derrick.emails]
[derrick.emails.derrick_email]
user = [
"j",
"derrick",
]
host = [
"sheffield",
"ac",
"uk",
]
[derrick.homepages]
[desharnais]
name = "Martin Desharnais"
[desharnais.emails]
[desharnais.emails.desharnais_email]
user = [
"martin",
"desharnais",
]
host = [
"unibw",
"de",
]
[desharnais.homepages]
desharnais_homepage = "https://martin.desharnais.me"
[diaz]
name = "Javier Díaz"
[diaz.emails]
[diaz.emails.diaz_email]
user = [
"javier",
"diaz",
"manzi",
]
host = [
"gmail",
"com",
]
[diaz.homepages]
[diekmann]
name = "Cornelius Diekmann"
[diekmann.emails]
[diekmann.emails.diekmann_email]
user = [
"diekmann",
]
host = [
"net",
"in",
"tum",
"de",
]
[diekmann.homepages]
diekmann_homepage = "http://net.in.tum.de/~diekmann"
[dirix]
name = "Stefan Dirix"
[dirix.emails]
[dirix.homepages]
[dittmann]
name = "Christoph Dittmann"
[dittmann.emails]
[dittmann.emails.dittmann_email]
user = [
"isabelle",
]
host = [
"christoph-d",
"de",
]
[dittmann.homepages]
dittmann_homepage = "http://logic.las.tu-berlin.de/Members/Dittmann/"
[divason]
name = "Jose Divasón"
[divason.emails]
[divason.emails.divason_email]
user = [
"jose",
"divason",
]
host = [
"unirioja",
"es",
]
[divason.homepages]
divason_homepage = "https://www.unirioja.es/cu/jodivaso/"
[doczkal]
name = "Christian Doczkal"
[doczkal.emails]
[doczkal.emails.doczkal_email]
user = [
"doczkal",
]
host = [
"ps",
"uni-saarland",
"de",
]
[doczkal.homepages]
[dongol]
name = "Brijesh Dongol"
[dongol.emails]
[dongol.emails.dongol_email]
user = [
"brijesh",
"dongol",
]
host = [
"brunel",
"ac",
"uk",
]
[dongol.homepages]
[doty]
name = "Matthew Wampler-Doty"
[doty.emails]
[doty.homepages]
[dubut]
name = "Jérémy Dubut"
[dubut.emails]
[dubut.emails.dubut_email]
user = [
"dubut",
]
host = [
"nii",
"ac",
"jp",
]
[dubut.homepages]
dubut_homepage = "http://group-mmm.org/~dubut/"
[dunaev]
name = "Georgy Dunaev"
[dunaev.emails]
[dunaev.emails.dunaev_email]
user = [
"georgedunaev",
]
host = [
"gmail",
"com",
]
[dunaev.homepages]
[dyckhoff]
name = "Roy Dyckhoff"
[dyckhoff.emails]
[dyckhoff.homepages]
dyckhoff_homepage = "https://rd.host.cs.st-andrews.ac.uk"
[eberl]
name = "Manuel Eberl"
orcid = "0000-0002-4263-6571"
[eberl.emails]
[eberl.emails.eberl_email]
user = [
"manuel",
]
host = [
"pruvisto",
"org",
]
[eberl.emails.eberl_email1]
user = [
"manuel",
"eberl",
]
host = [
"tum",
"de",
]
+
+[eberl.emails.eberl_email2]
+user = [
+ "manuel",
+ "eberl",
+]
+host = [
+ "uibk",
+ "ac",
+ "at",
+]
+
+
[eberl.homepages]
eberl_homepage = "https://pruvisto.org/"
eberl_homepage2 = "https://www.in.tum.de/~eberlm"
[echenim]
name = "Mnacho Echenim"
[echenim.emails]
[echenim.emails.echenim_email]
user = [
"mnacho",
"echenim",
]
host = [
"univ-grenoble-alpes",
"fr",
]
[echenim.homepages]
echenim_homepage = "https://lig-membres.imag.fr/mechenim/"
[edmonds]
name = "Chelsea Edmonds"
[edmonds.emails]
[edmonds.emails.edmonds_email]
user = [
"cle47",
]
host = [
"cam",
"ac",
"uk",
]
[edmonds.homepages]
edmonds_homepage = "https://www.cst.cam.ac.uk/people/cle47"
[engelhardt]
name = "Kai Engelhardt"
[engelhardt.emails]
[engelhardt.homepages]
[eriksson]
name = "Lars-Henrik Eriksson"
[eriksson.emails]
[eriksson.emails.eriksson_email]
user = [
"lhe",
]
host = [
"it",
"uu",
"se",
]
[eriksson.homepages]
[esparza]
name = "Javier Esparza"
[esparza.emails]
[esparza.homepages]
esparza_homepage = "https://www7.in.tum.de/~esparza/"
[essmann]
name = "Robin Eßmann"
[essmann.emails]
[essmann.emails.essmann_email]
user = [
"robin",
"essmann",
]
host = [
"tum",
"de",
]
[essmann.homepages]
[felgenhauer]
name = "Bertram Felgenhauer"
[felgenhauer.emails]
[felgenhauer.emails.felgenhauer_email]
user = [
"bertram",
"felgenhauer",
]
host = [
"uibk",
"ac",
"at",
]
[felgenhauer.emails.felgenhauer_email1]
user = [
"int-e",
]
host = [
"gmx",
"de",
]
[felgenhauer.homepages]
[feliachi]
name = "Abderrahmane Feliachi"
[feliachi.emails]
[feliachi.emails.feliachi_email]
user = [
"abderrahmane",
"feliachi",
]
host = [
"lri",
"fr",
]
[feliachi.homepages]
[fell]
name = "Julian Fell"
[fell.emails]
[fell.emails.fell_email]
user = [
"julian",
"fell",
]
host = [
"uq",
"net",
"au",
]
[fell.homepages]
[fernandez]
name = "Matthew Fernandez"
[fernandez.emails]
[fernandez.homepages]
[fiedler]
name = "Ben Fiedler"
[fiedler.emails]
[fiedler.emails.fiedler_email]
user = [
"ben",
"fiedler",
]
host = [
"inf",
"ethz",
"ch",
]
[fiedler.homepages]
[fleuriot]
name = "Jacques D. Fleuriot"
[fleuriot.emails]
[fleuriot.emails.fleuriot_email]
user = [
"Jacques",
"Fleuriot",
]
host = [
"ed",
"ac",
"uk",
]
[fleuriot.emails.fleuriot_email1]
user = [
"jdf",
]
host = [
"ed",
"ac",
"uk",
]
[fleuriot.homepages]
fleuriot_homepage = "https://www.inf.ed.ac.uk/people/staff/Jacques_Fleuriot.html"
[fleury]
name = "Mathias Fleury"
[fleury.emails]
[fleury.emails.fleury_email]
user = [
"fleury",
]
host = [
"mpi-inf",
"mpg",
"de",
]
[fleury.emails.fleury_email1]
user = [
"mathias",
"fleury",
]
host = [
"jku",
"at",
]
[fleury.homepages]
fleury_homepage = "http://fmv.jku.at/fleury"
[foster]
name = "Michael Foster"
[foster.emails]
[foster.emails.foster_email]
user = [
"m",
"foster",
]
host = [
"sheffield",
"ac",
"uk",
]
[foster.homepages]
[fosterj]
name = "J. Nathan Foster"
[fosterj.emails]
[fosterj.homepages]
fosterj_homepage = "http://www.cs.cornell.edu/~jnfoster/"
[fosters]
name = "Simon Foster"
[fosters.emails]
[fosters.emails.fosters_email]
user = [
"simon",
"foster",
]
host = [
"york",
"ac",
"uk",
]
[fosters.homepages]
fosters_homepage = "https://www-users.cs.york.ac.uk/~simonf/"
[fouillard]
name = "Valentin Fouillard"
[fouillard.emails]
[fouillard.emails.fouillard_email]
user = [
"valentin",
"fouillard",
]
host = [
"limsi",
"fr",
]
[fouillard.homepages]
[friedrich]
name = "Stefan Friedrich"
[friedrich.emails]
[friedrich.homepages]
[from]
name = "Asta Halkjær From"
[from.emails]
[from.emails.from_email]
user = [
"ahfrom",
]
host = [
"dtu",
"dk",
]
[from.homepages]
from_homepage = "https://people.compute.dtu.dk/ahfrom/"
[fuenmayor]
name = "David Fuenmayor"
[fuenmayor.emails]
[fuenmayor.emails.fuenmayor_email]
user = [
"davfuenmayor",
]
host = [
"gmail",
"com",
]
[fuenmayor.homepages]
[furusawa]
name = "Hitoshi Furusawa"
[furusawa.emails]
[furusawa.homepages]
furusawa_homepage = "http://www.sci.kagoshima-u.ac.jp/~furusawa/"
[gammie]
name = "Peter Gammie"
[gammie.emails]
[gammie.emails.gammie_email]
user = [
"peteg42",
]
host = [
"gmail",
"com",
]
[gammie.homepages]
gammie_homepage = "http://peteg.org"
[gao]
name = "Xin Gao"
[gao.emails]
[gao.homepages]
[gaudel]
name = "Marie-Claude Gaudel"
[gaudel.emails]
[gaudel.emails.gaudel_email]
user = [
"mcg",
]
host = [
"lri",
"fr",
]
[gaudel.homepages]
[gay]
name = "Richard Gay"
[gay.emails]
[gay.emails.gay_email]
user = [
"gay",
]
host = [
"mais",
"informatik",
"tu-darmstadt",
"de",
]
[gay.homepages]
[georgescu]
name = "George Georgescu"
[georgescu.emails]
[georgescu.homepages]
[gheri]
name = "Lorenzo Gheri"
[gheri.emails]
[gheri.emails.gheri_email]
user = [
"lor",
"gheri",
]
host = [
"gmail",
"com",
]
[gheri.homepages]
[ghourabi]
name = "Fadoua Ghourabi"
[ghourabi.emails]
[ghourabi.emails.ghourabi_email]
user = [
"fadouaghourabi",
]
host = [
"gmail",
"com",
]
[ghourabi.homepages]
[gioiosa]
name = "Gianpaolo Gioiosa"
[gioiosa.emails]
[gioiosa.homepages]
[glabbeek]
name = "Rob van Glabbeek"
[glabbeek.emails]
[glabbeek.homepages]
glabbeek_homepage = "http://theory.stanford.edu/~rvg/"
[gomes]
name = "Victor B. F. Gomes"
[gomes.emails]
[gomes.emails.gomes_email]
user = [
"victor",
"gomes",
]
host = [
"cl",
"cam",
"ac",
"uk",
]
[gomes.emails.gomes_email2]
user = [
"victorborgesfg",
]
host = [
"gmail",
"com",
]
[gomes.emails.gomes_email4]
user = [
"vborgesferreiragomes1",
]
host = [
"sheffield",
"ac",
"uk",
]
[gomes.homepages]
gomes_homepage = "http://www.dcs.shef.ac.uk/~victor"
[gonzalez]
name = "Edgar Gonzàlez"
orcid = "0000-0002-9169-0769"
[gonzalez.emails]
[gonzalez.emails.gonzalez_email]
user = [
"edgargip",
]
host = [
"google",
"com",
]
[gonzalez.homepages]
[gore]
name = "Rajeev Gore"
[gore.emails]
[gore.emails.gore_email]
user = [
"rajeev",
"gore",
]
host = [
"anu",
"edu",
"au",
]
[gore.homepages]
[gouezel]
name = "Sebastien Gouezel"
[gouezel.emails]
[gouezel.emails.gouezel_email]
user = [
"sebastien",
"gouezel",
]
host = [
"univ-rennes1",
"fr",
]
[gouezel.homepages]
gouezel_homepage = "http://www.math.sciences.univ-nantes.fr/~gouezel/"
[grechuk]
name = "Bogdan Grechuk"
[grechuk.emails]
[grechuk.emails.grechuk_email]
user = [
"grechukbogdan",
]
host = [
"yandex",
"ru",
]
[grechuk.homepages]
[grewe]
name = "Sylvia Grewe"
[grewe.emails]
[grewe.emails.grewe_email]
user = [
"grewe",
]
host = [
"cs",
"tu-darmstadt",
"de",
]
[grewe.homepages]
[griebel]
name = "Simon Griebel"
[griebel.emails]
[griebel.emails.griebel_email]
user = [
"s",
"griebel",
]
host = [
"tum",
"de",
]
[griebel.homepages]
[grov]
name = "Gudmund Grov"
[grov.emails]
[grov.emails.grov_email]
user = [
"ggrov",
]
host = [
"inf",
"ed",
"ac",
"uk",
]
[grov.homepages]
grov_homepage = "http://homepages.inf.ed.ac.uk/ggrov"
[guerraoui]
name = "Rachid Guerraoui"
[guerraoui.emails]
[guerraoui.emails.guerraoui_email]
user = [
"rachid",
"guerraoui",
]
host = [
"epfl",
"ch",
]
[guerraoui.homepages]
[guiol]
name = "Hervé Guiol"
[guiol.emails]
[guiol.emails.guiol_email]
user = [
"herve",
"guiol",
]
host = [
"univ-grenoble-alpes",
"fr",
]
[guiol.homepages]
[gunther]
name = "Emmanuel Gunther"
[gunther.emails]
[gunther.emails.gunther_email]
user = [
"gunther",
]
host = [
"famaf",
"unc",
"edu",
"ar",
]
[gunther.homepages]
[gutkovas]
name = "Ramunas Gutkovas"
[gutkovas.emails]
[gutkovas.emails.gutkovas_email]
user = [
"ramunas",
"gutkovas",
]
host = [
"it",
"uu",
"se",
]
[gutkovas.homepages]
[guttmann]
name = "Walter Guttmann"
[guttmann.emails]
[guttmann.emails.guttmann_email]
user = [
"walter",
"guttmann",
]
host = [
"canterbury",
"ac",
"nz",
]
[guttmann.homepages]
guttmann_homepage = "https://www.cosc.canterbury.ac.nz/walter.guttmann/"
[haftmann]
name = "Florian Haftmann"
[haftmann.emails]
[haftmann.emails.haftmann_email]
user = [
"florian",
"haftmann",
]
host = [
"informatik",
"tu-muenchen",
"de",
]
[haftmann.homepages]
haftmann_homepage = "http://isabelle.in.tum.de/~haftmann"
[haslbeck]
name = "Max W. Haslbeck"
[haslbeck.emails]
[haslbeck.emails.haslbeck_email]
user = [
"maximilian",
"haslbeck",
]
host = [
"uibk",
"ac",
"at",
]
[haslbeck.emails.haslbeck_email1]
user = [
"haslbecm",
]
host = [
"in",
"tum",
"de",
]
[haslbeck.emails.haslbeck_email2]
user = [
"max",
"haslbeck",
]
host = [
"gmx",
"de",
]
[haslbeck.homepages]
haslbeck_homepage = "http://cl-informatik.uibk.ac.at/users/mhaslbeck/"
[haslbeckm]
name = "Maximilian P. L. Haslbeck"
[haslbeckm.emails]
[haslbeckm.emails.haslbeckm_email]
user = [
"haslbema",
]
host = [
"in",
"tum",
"de",
]
[haslbeckm.homepages]
haslbeckm_homepage = "http://in.tum.de/~haslbema/"
[havle]
name = "Oto Havle"
[havle.emails]
[havle.emails.havle_email]
user = [
"oha",
]
host = [
"sysgo",
"com",
]
[havle.homepages]
[hayes]
name = "Ian J. Hayes"
[hayes.emails]
[hayes.emails.hayes_email]
user = [
"ian",
"hayes",
]
host = [
"itee",
"uq",
"edu",
"au",
]
[hayes.homepages]
[he]
name = "Yijun He"
[he.emails]
[he.emails.he_email]
user = [
"yh403",
]
host = [
"cam",
"ac",
"uk",
]
[he.homepages]
[heimes]
name = "Lukas Heimes"
[heimes.emails]
[heimes.emails.heimes_email]
user = [
"heimesl",
]
host = [
"student",
"ethz",
"ch",
]
[heimes.homepages]
[helke]
name = "Steffen Helke"
[helke.emails]
[helke.emails.helke_email]
user = [
"helke",
]
host = [
"cs",
"tu-berlin",
"de",
]
[helke.homepages]
[hellauer]
name = "Fabian Hellauer"
[hellauer.emails]
[hellauer.emails.hellauer_email]
user = [
"hellauer",
]
host = [
"in",
"tum",
"de",
]
[hellauer.homepages]
[heller]
name = "Armin Heller"
[heller.emails]
[heller.homepages]
[henrio]
name = "Ludovic Henrio"
[henrio.emails]
[henrio.emails.henrio_email]
user = [
"Ludovic",
"Henrio",
]
host = [
"sophia",
"inria",
"fr",
]
[henrio.homepages]
[herzberg]
name = "Michael Herzberg"
[herzberg.emails]
[herzberg.emails.herzberg_email]
user = [
"mail",
]
host = [
"michael-herzberg",
"de",
]
[herzberg.homepages]
herzberg_homepage = "http://www.dcs.shef.ac.uk/cgi-bin/makeperson?M.Herzberg"
[hess]
name = "Andreas V. Hess"
[hess.emails]
[hess.emails.hess_email]
user = [
"avhe",
]
host = [
"dtu",
"dk",
]
[hess.emails.hess_email1]
user = [
"andreasvhess",
]
host = [
"gmail",
"com",
]
[hess.homepages]
[hetzl]
name = "Stefan Hetzl"
[hetzl.emails]
[hetzl.emails.hetzl_email]
user = [
"hetzl",
]
host = [
"logic",
"at",
]
[hetzl.homepages]
hetzl_homepage = "http://www.logic.at/people/hetzl/"
[hibon]
name = "Quentin Hibon"
[hibon.emails]
[hibon.emails.hibon_email]
user = [
"qh225",
]
host = [
"cl",
"cam",
"ac",
"uk",
]
[hibon.homepages]
[hirata]
name = "Michikazu Hirata"
[hirata.emails]
[hirata.emails.hirata_email]
user = [
"hirata",
"m",
"ac",
]
host = [
"m",
"titech",
"ac",
"jp",
]
[hirata.homepages]
[hoefner]
name = "Peter Höfner"
[hoefner.emails]
[hoefner.emails.hoefner_email]
user = [
"peter",
]
host = [
"hoefner-online",
"de",
]
[hoefner.homepages]
hoefner_homepage = "http://www.hoefner-online.de/"
[hoelzl]
name = "Johannes Hölzl"
[hoelzl.emails]
[hoelzl.emails.hoelzl_email]
user = [
"hoelzl",
]
host = [
"in",
"tum",
"de",
]
[hoelzl.homepages]
hoelzl_homepage = "http://home.in.tum.de/~hoelzl"
[hofmann]
name = "Martin Hofmann"
[hofmann.emails]
[hofmann.homepages]
hofmann_homepage = "http://www.tcs.informatik.uni-muenchen.de/~mhofmann"
[holub]
name = "Štěpán Holub"
[holub.emails]
[holub.emails.holub_email]
user = [
"holub",
]
host = [
"karlin",
"mff",
"cuni",
"cz",
]
[holub.homepages]
holub_homepage = "https://www2.karlin.mff.cuni.cz/~holub/"
[hosking]
name = "Tony Hosking"
[hosking.emails]
[hosking.homepages]
hosking_homepage = "https://www.cs.purdue.edu/homes/hosking/"
[hou]
name = "Zhe Hou"
[hou.emails]
[hou.emails.hou_email]
user = [
"zhe",
"hou",
]
host = [
"ntu",
"edu",
"sg",
]
[hou.homepages]
[hu]
name = "Shuwei Hu"
[hu.emails]
[hu.emails.hu_email]
user = [
"shuwei",
"hu",
]
host = [
"tum",
"de",
]
[hu.homepages]
[huffman]
name = "Brian Huffman"
[huffman.emails]
[huffman.emails.huffman_email]
user = [
"huffman",
]
host = [
"in",
"tum",
"de",
]
[huffman.emails.huffman_email1]
user = [
"brianh",
]
host = [
"cs",
"pdx",
"edu",
]
[huffman.homepages]
huffman_homepage = "http://cs.pdx.edu/~brianh/"
[hupel]
name = "Lars Hupel"
[hupel.emails]
[hupel.emails.hupel_email]
user = [
"hupel",
]
host = [
"in",
"tum",
"de",
]
[hupel.emails.hupel_email1]
user = [
"lars",
]
host = [
"hupel",
"info",
]
[hupel.homepages]
hupel_homepage = "https://www21.in.tum.de/~hupel/"
hupel_homepage1 = "https://lars.hupel.info/"
[ijbema]
name = "Mark Ijbema"
[ijbema.emails]
[ijbema.emails.ijbema_email]
user = [
"ijbema",
]
host = [
"fmf",
"nl",
]
[ijbema.homepages]
[immler]
name = "Fabian Immler"
[immler.emails]
[immler.emails.immler_email]
user = [
"immler",
]
host = [
"in",
"tum",
"de",
]
[immler.emails.immler_email1]
user = [
"fimmler",
]
host = [
"cs",
"cmu",
"edu",
]
[immler.homepages]
immler_homepage = "https://home.in.tum.de/~immler/"
[ito]
name = "Yosuke Ito"
[ito.emails]
[ito.emails.ito_email]
user = [
"glacier345",
]
host = [
"gmail",
"com",
]
[ito.homepages]
[iwama]
name = "Fumiya Iwama"
[iwama.emails]
[iwama.emails.iwama_email]
user = [
"d1623001",
]
host = [
"s",
"konan-u",
"ac",
"jp",
]
[iwama.homepages]
[jacobsen]
name = "Frederik Krogsdal Jacobsen"
[jacobsen.emails]
[jacobsen.emails.jacobsen_email]
user = [
"fkjac",
]
host = [
"dtu",
"dk",
]
[jacobsen.homepages]
jacobsen_homepage = "http://people.compute.dtu.dk/fkjac/"
[jaskelioff]
name = "Mauro Jaskelioff"
[jaskelioff.emails]
[jaskelioff.homepages]
jaskelioff_homepage = "http://www.fceia.unr.edu.ar/~mauro/"
[jaskolka]
name = "Jason Jaskolka"
[jaskolka.emails]
[jaskolka.emails.jaskolka_email]
user = [
"jason",
"jaskolka",
]
host = [
"carleton",
"ca",
]
[jaskolka.homepages]
jaskolka_homepage = "https://carleton.ca/jaskolka/"
[jensen]
name = "Alexander Birch Jensen"
[jensen.emails]
[jensen.emails.jensen_email]
user = [
"aleje",
]
host = [
"dtu",
"dk",
]
[jensen.homepages]
jensen_homepage = "https://people.compute.dtu.dk/aleje/"
[jiang]
name = "Nan Jiang"
[jiang.emails]
[jiang.emails.jiang_email]
user = [
"nanjiang",
]
host = [
"whu",
"edu",
"cn",
]
[jiang.homepages]
[jiangd]
name = "Dongchen Jiang"
[jiangd.emails]
[jiangd.emails.jiangd_email]
user = [
"dongchenjiang",
]
host = [
"googlemail",
"com",
]
[jiangd.homepages]
[joosten]
name = "Sebastiaan J. C. Joosten"
[joosten.emails]
[joosten.emails.joosten_email]
user = [
"sebastiaan",
"joosten",
]
host = [
"uibk",
"ac",
"at",
]
[joosten.emails.joosten_email1]
user = [
"sjcjoosten",
]
host = [
"gmail",
"com",
]
[joosten.emails.joosten_email2]
user = [
"s",
"j",
"c",
"joosten",
]
host = [
"utwente",
"nl",
]
[joosten.homepages]
joosten_homepage = "https://sjcjoosten.nl/"
[jungnickel]
name = "Tim Jungnickel"
[jungnickel.emails]
[jungnickel.emails.jungnickel_email]
user = [
"tim",
"jungnickel",
]
host = [
"tu-berlin",
"de",
]
[jungnickel.homepages]
[kadzioka]
name = "Maya Kądziołka"
[kadzioka.emails]
[kadzioka.emails.kadzioka_email]
user = [
"afp",
]
host = [
"compilercrim",
"es",
]
[kadzioka.homepages]
[kaliszyk]
name = "Cezary Kaliszyk"
[kaliszyk.emails]
[kaliszyk.emails.kaliszyk_email]
user = [
"cezary",
"kaliszyk",
]
host = [
"uibk",
"ac",
"at",
]
[kaliszyk.homepages]
kaliszyk_homepage = "http://cl-informatik.uibk.ac.at/users/cek/"
[kammueller]
name = "Florian Kammüller"
[kammueller.emails]
[kammueller.emails.kammueller_email]
user = [
"flokam",
]
host = [
"cs",
"tu-berlin",
"de",
]
[kammueller.emails.kammueller_email1]
user = [
"florian",
"kammuller",
]
host = [
"gmail",
"com",
]
[kammueller.homepages]
kammueller_homepage = "http://www.cs.mdx.ac.uk/people/florian-kammueller/"
[kappelmann]
name = "Kevin Kappelmann"
[kappelmann.emails]
[kappelmann.emails.kappelmann_email]
user = [
"kevin",
"kappelmann",
]
host = [
"tum",
"de",
]
[kappelmann.homepages]
kappelmann_homepage = "https://www21.in.tum.de/team/kappelmk/"
[karayel]
name = "Emin Karayel"
orcid = "0000-0003-3290-5034"
[karayel.emails]
[karayel.emails.karayel_email]
user = [
"me",
]
host = [
"eminkarayel",
"de",
]
[karayel.homepages]
karayel_homepage = "https://orcid.org/0000-0003-3290-5034"
[kastermans]
name = "Bart Kastermans"
[kastermans.emails]
[kastermans.homepages]
kastermans_homepage = "http://kasterma.net"
[katovsky]
name = "Alexander Katovsky"
[katovsky.emails]
[katovsky.emails.katovsky_email]
user = [
"apk32",
]
host = [
"cam",
"ac",
"uk",
]
[katovsky.emails.katovsky_email1]
user = [
"alexander",
"katovsky",
]
host = [
"cantab",
"net",
]
[katovsky.homepages]
[kaufmann]
name = "Daniela Kaufmann"
[kaufmann.emails]
[kaufmann.homepages]
kaufmann_homepage = "http://fmv.jku.at/kaufmann"
[keefe]
name = "Greg O'Keefe"
[keefe.emails]
[keefe.homepages]
keefe_homepage = "http://users.rsise.anu.edu.au/~okeefe/"
[keinholz]
name = "Jonas Keinholz"
[keinholz.emails]
[keinholz.homepages]
[kerber]
name = "Manfred Kerber"
[kerber.emails]
[kerber.emails.kerber_email]
user = [
"mnfrd",
"krbr",
]
host = [
"gmail",
"com",
]
[kerber.homepages]
kerber_homepage = "http://www.cs.bham.ac.uk/~mmk"
[ketland]
name = "Jeffrey Ketland"
[ketland.emails]
[ketland.emails.ketland_email]
user = [
"jeffreyketland",
]
host = [
"gmail",
"com",
]
[ketland.homepages]
[kirchner]
name = "Daniel Kirchner"
[kirchner.emails]
[kirchner.emails.kirchner_email]
user = [
"daniel",
]
host = [
"ekpyron",
"org",
]
[kirchner.homepages]
[klein]
name = "Gerwin Klein"
[klein.emails]
[klein.emails.klein_email]
user = [
"kleing",
]
host = [
"unsw",
"edu",
"au",
]
[klein.homepages]
klein_homepage = "http://www.cse.unsw.edu.au/~kleing/"
[klenze]
name = "Tobias Klenze"
[klenze.emails]
[klenze.emails.klenze_email]
user = [
"tobias",
"klenze",
]
host = [
"inf",
"ethz",
"ch",
]
[klenze.homepages]
[kleppmann]
name = "Martin Kleppmann"
[kleppmann.emails]
[kleppmann.emails.kleppmann_email]
user = [
"martin",
"kleppmann",
]
host = [
"cl",
"cam",
"ac",
"uk",
]
[kleppmann.homepages]
[kobayashi]
name = "Hidetsune Kobayashi"
[kobayashi.emails]
[kobayashi.homepages]
[koerner]
name = "Stefan Körner"
[koerner.emails]
[koerner.emails.koerner_email]
user = [
"s_koer03",
]
host = [
"uni-muenster",
"de",
]
[koerner.homepages]
[kolanski]
name = "Rafal Kolanski"
[kolanski.emails]
[kolanski.emails.kolanski_email]
user = [
"rafal",
"kolanski",
]
host = [
"nicta",
"com",
"au",
]
[kolanski.homepages]
[koller]
name = "Lukas Koller"
[koller.emails]
[koller.emails.koller_email]
user = [
"lukas",
"koller",
]
host = [
"tum",
"de",
]
[koller.homepages]
[krauss]
name = "Alexander Krauss"
[krauss.emails]
[krauss.emails.krauss_email]
user = [
"krauss",
]
host = [
"in",
"tum",
"de",
]
[krauss.homepages]
krauss_homepage = "http://www.in.tum.de/~krauss"
[kreuzer]
name = "Katharina Kreuzer"
[kreuzer.emails]
[kreuzer.emails.kreuzer_email]
user = [
"kreuzerk",
]
host = [
"in",
"tum",
"de",
]
+[kreuzer.emails.kreuzer_email1]
+user = [
+ "k",
+ "kreuzer",
+]
+host = [
+ "tum",
+ "de",
+]
+
[kreuzer.homepages]
kreuzer_homepage = "https://www21.in.tum.de/team/kreuzer/"
[kuncak]
name = "Viktor Kuncak"
[kuncak.emails]
[kuncak.homepages]
kuncak_homepage = "http://lara.epfl.ch/~kuncak/"
[kuncar]
name = "Ondřej Kunčar"
[kuncar.emails]
[kuncar.homepages]
kuncar_homepage = "http://www21.in.tum.de/~kuncar/"
[kurz]
name = "Friedrich Kurz"
[kurz.emails]
[kurz.emails.kurz_email]
user = [
"friedrich",
"kurz",
]
host = [
"tum",
"de",
]
[kurz.homepages]
[lachnitt]
name = "Hanna Lachnitt"
[lachnitt.emails]
[lachnitt.emails.lachnitt_email]
user = [
"lachnitt",
]
host = [
"stanford",
"edu",
]
[lachnitt.homepages]
[lallemand]
name = "Joseph Lallemand"
[lallemand.emails]
[lallemand.emails.lallemand_email]
user = [
"joseph",
"lallemand",
]
host = [
"loria",
"fr",
]
[lallemand.homepages]
[lammich]
name = "Peter Lammich"
[lammich.emails]
[lammich.emails.lammich_email]
user = [
"lammich",
]
host = [
"in",
"tum",
"de",
]
[lammich.emails.lammich_email1]
user = [
"peter",
"lammich",
]
host = [
"uni-muenster",
"de",
]
[lammich.homepages]
lammich_homepage = "http://www21.in.tum.de/~lammich"
[lange]
name = "Christoph Lange"
[lange.emails]
[lange.emails.lange_email]
user = [
"math",
"semantic",
"web",
]
host = [
"gmail",
"com",
]
[lange.homepages]
[langenstein]
name = "Bruno Langenstein"
[langenstein.emails]
[langenstein.emails.langenstein_email]
user = [
"langenstein",
]
host = [
"dfki",
"de",
]
[langenstein.homepages]
[lattuada]
name = "Andrea Lattuada"
[lattuada.emails]
[lattuada.homepages]
lattuada_homepage = "https://andrea.lattuada.me"
[lee]
name = "Holden Lee"
[lee.emails]
[lee.emails.lee_email]
user = [
"holdenl",
]
host = [
"princeton",
"edu",
]
[lee.homepages]
[leustean]
name = "Laurentiu Leustean"
[leustean.emails]
[leustean.homepages]
[lewis]
name = "Corey Lewis"
[lewis.emails]
[lewis.emails.lewis_email]
user = [
"corey",
"lewis",
]
host = [
"data61",
"csiro",
"au",
]
[lewis.homepages]
[li]
name = "Wenda Li"
[li.emails]
[li.emails.li_email]
user = [
"wl302",
]
host = [
"cam",
"ac",
"uk",
]
[li.emails.li_email1]
user = [
"liwenda1990",
]
host = [
"hotmail",
"com",
]
[li.homepages]
li_homepage = "https://www.cl.cam.ac.uk/~wl302/"
[lim]
name = "Japheth Lim"
[lim.emails]
[lim.homepages]
[lindenberg]
name = "Christina Lindenberg"
[lindenberg.emails]
[lindenberg.homepages]
[linker]
name = "Sven Linker"
[linker.emails]
[linker.emails.linker_email]
user = [
"s",
"linker",
]
host = [
"liverpool",
"ac",
"uk",
]
[linker.homepages]
[liu]
name = "Junyi Liu"
[liu.emails]
[liu.homepages]
[liut]
name = "Tao Liu"
[liut.emails]
[liut.homepages]
[liuy]
name = "Yang Liu"
[liuy.emails]
[liuy.emails.liuy_email]
user = [
"yangliu",
]
host = [
"ntu",
"edu",
"sg",
]
[liuy.homepages]
[liy]
name = "Yangjia Li"
[liy.emails]
[liy.homepages]
[lochbihler]
name = "Andreas Lochbihler"
[lochbihler.emails]
[lochbihler.emails.lochbihler_email]
user = [
"andreas",
"lochbihler",
]
host = [
"digitalasset",
"com",
]
[lochbihler.emails.lochbihler_email1]
user = [
"mail",
]
host = [
"andreas-lochbihler",
"de",
]
[lochbihler.homepages]
lochbihler_homepage = "http://www.andreas-lochbihler.de/"
[lochmann]
name = "Alexander Lochmann"
[lochmann.emails]
[lochmann.emails.lochmann_email]
user = [
"alexander",
"lochmann",
]
host = [
"uibk",
"ac",
"at",
]
[lochmann.homepages]
[lohner]
name = "Denis Lohner"
[lohner.emails]
[lohner.emails.lohner_email]
user = [
"denis",
"lohner",
]
host = [
"kit",
"edu",
]
[lohner.homepages]
lohner_homepage = "http://pp.ipd.kit.edu/person.php?id=88"
[loibl]
name = "Matthias Loibl"
[loibl.emails]
[loibl.homepages]
[londono]
name = "Alejandro Gómez-Londoño"
[londono.emails]
[londono.emails.londono_email]
user = [
"alejandro",
"gomez",
]
host = [
"chalmers",
"se",
]
[londono.homepages]
[losa]
name = "Giuliano Losa"
[losa.emails]
[losa.emails.losa_email]
user = [
"giuliano",
"losa",
]
host = [
"epfl",
"ch",
]
[losa.emails.losa_email1]
user = [
"giuliano",
]
host = [
"galois",
"com",
]
[losa.emails.losa_email2]
user = [
"giuliano",
]
host = [
"losa",
"fr",
]
[losa.homepages]
[lutz]
name = "Bianca Lutz"
[lutz.emails]
[lutz.emails.lutz_email]
user = [
"sowilo",
]
host = [
"cs",
"tu-berlin",
"de",
]
[lutz.homepages]
[lux]
name = "Alexander Lux"
[lux.emails]
[lux.emails.lux_email]
user = [
"lux",
]
host = [
"mais",
"informatik",
"tu-darmstadt",
"de",
]
[lux.homepages]
[makarios]
name = "T. J. M. Makarios"
[makarios.emails]
[makarios.emails.makarios_email]
user = [
"tjm1983",
]
host = [
"gmail",
"com",
]
[makarios.homepages]
[maletzky]
name = "Alexander Maletzky"
[maletzky.emails]
[maletzky.emails.maletzky_email]
user = [
"alexander",
"maletzky",
]
host = [
"risc",
"jku",
"at",
]
[maletzky.emails.maletzky_email1]
user = [
"alexander",
"maletzky",
]
host = [
"risc-software",
"at",
]
[maletzky.homepages]
maletzky_homepage = "https://risc.jku.at/m/alexander-maletzky/"
[mansky]
name = "Susannah Mansky"
[mansky.emails]
[mansky.emails.mansky_email]
user = [
"sjohnsn2",
]
host = [
"illinois",
"edu",
]
[mansky.emails.mansky_email1]
user = [
"susannahej",
]
host = [
"gmail",
"com",
]
[mansky.homepages]
[mantel]
name = "Heiko Mantel"
[mantel.emails]
[mantel.emails.mantel_email]
user = [
"mantel",
]
host = [
"mais",
"informatik",
"tu-darmstadt",
"de",
]
[mantel.homepages]
[margetson]
name = "James Margetson"
[margetson.emails]
[margetson.homepages]
[maric]
name = "Ognjen Marić"
[maric.emails]
[maric.emails.maric_email]
user = [
"ogi",
"afp",
]
host = [
"mynosefroze",
"com",
]
[maric.homepages]
[maricf]
name = "Filip Marić"
[maricf.emails]
[maricf.emails.maricf_email]
user = [
"filip",
]
host = [
"matf",
"bg",
"ac",
"rs",
]
[maricf.homepages]
maricf_homepage = "http://www.matf.bg.ac.rs/~filip"
[marmsoler]
name = "Diego Marmsoler"
[marmsoler.emails]
[marmsoler.emails.marmsoler_email]
user = [
"diego",
"marmsoler",
]
host = [
"tum",
"de",
]
[marmsoler.emails.marmsoler_email1]
user = [
"d",
"marmsoler",
]
host = [
"exeter",
"ac",
"uk",
]
[marmsoler.homepages]
marmsoler_homepage = "http://marmsoler.com"
[matache]
name = "Cristina Matache"
[matache.emails]
[matache.emails.matache_email]
user = [
"cris",
"matache",
]
host = [
"gmail",
"com",
]
[matache.homepages]
[matichuk]
name = "Daniel Matichuk"
[matichuk.emails]
[matichuk.homepages]
[matiyasevich]
name = "Yuri Matiyasevich"
[matiyasevich.emails]
[matiyasevich.homepages]
[maximova]
name = "Alexandra Maximova"
[maximova.emails]
[maximova.emails.maximova_email]
user = [
"amaximov",
]
host = [
"student",
"ethz",
"ch",
]
[maximova.homepages]
[meis]
name = "Rene Meis"
[meis.emails]
[meis.emails.meis_email]
user = [
"rene",
"meis",
]
host = [
"uni-muenster",
"de",
]
[meis.emails.meis_email1]
user = [
"rene",
"meis",
]
host = [
"uni-due",
"de",
]
[meis.homepages]
[merz]
name = "Stephan Merz"
[merz.emails]
[merz.emails.merz_email]
user = [
"Stephan",
"Merz",
]
host = [
"loria",
"fr",
]
[merz.homepages]
merz_homepage = "http://www.loria.fr/~merz"
[messner]
name = "Florian Messner"
[messner.emails]
[messner.emails.messner_email]
user = [
"florian",
"g",
"messner",
]
host = [
"uibk",
"ac",
"at",
]
[messner.homepages]
[michaelis]
name = "Julius Michaelis"
[michaelis.emails]
[michaelis.emails.michaelis_email]
user = [
"isabelleopenflow",
]
host = [
"liftm",
"de",
]
[michaelis.emails.michaelis_email1]
user = [
"maintainafpppt",
]
host = [
"liftm",
"de",
]
[michaelis.emails.michaelis_email2]
user = [
"bdd",
]
host = [
"liftm",
"de",
]
[michaelis.emails.michaelis_email3]
user = [
"afp",
]
host = [
"liftm",
"de",
]
[michaelis.homepages]
michaelis_homepage = "http://liftm.de/"
[milehins]
name = "Mihails Milehins"
[milehins.emails]
[milehins.emails.milehins_email]
user = [
"mihailsmilehins",
]
host = [
"gmail",
"com",
]
[milehins.homepages]
[minamide]
name = "Yasuhiko Minamide"
[minamide.emails]
[minamide.emails.minamide_email]
user = [
"minamide",
]
host = [
"is",
"titech",
"ac",
"jp",
]
[minamide.homepages]
minamide_homepage = "https://sv.c.titech.ac.jp/minamide/index.en.html"
[mitchell]
name = "Neil Mitchell"
[mitchell.emails]
[mitchell.homepages]
[mitsch]
name = "Stefan Mitsch"
[mitsch.emails]
[mitsch.emails.mitsch_email]
user = [
"smitsch",
]
host = [
"cs",
"cmu",
"edu",
]
[mitsch.homepages]
[moedersheim]
name = "Sebastian Mödersheim"
[moedersheim.emails]
[moedersheim.emails.moedersheim_email]
user = [
"samo",
]
host = [
"dtu",
"dk",
]
[moedersheim.homepages]
moedersheim_homepage = "https://people.compute.dtu.dk/samo/"
[moeller]
name = "Bernhard Möller"
[moeller.emails]
[moeller.homepages]
moeller_homepage = "https://www.informatik.uni-augsburg.de/en/chairs/dbis/pmi/staff/moeller/"
[muendler]
name = "Niels Mündler"
[muendler.emails]
[muendler.emails.muendler_email]
user = [
"n",
"muendler",
]
host = [
"tum",
"de",
]
[muendler.homepages]
[mulligan]
name = "Dominic P. Mulligan"
[mulligan.emails]
[mulligan.emails.mulligan_email]
user = [
"dominic",
"p",
"mulligan",
]
host = [
"googlemail",
"com",
]
[mulligan.emails.mulligan_email1]
user = [
"Dominic",
"Mulligan",
]
host = [
"arm",
"com",
]
[mulligan.homepages]
[munive]
name = "Jonathan Julian Huerta y Munive"
[munive.emails]
[munive.emails.munive_email]
user = [
"jjhuertaymunive1",
]
host = [
"sheffield",
"ac",
"uk",
]
[munive.emails.munive_email1]
user = [
"jonjulian23",
]
host = [
"gmail",
"com",
]
[munive.homepages]
[murao]
name = "H. Murao"
[murao.emails]
[murao.homepages]
[murray]
name = "Toby Murray"
[murray.emails]
[murray.emails.murray_email]
user = [
"toby",
"murray",
]
host = [
"unimelb",
"edu",
"au",
]
[murray.homepages]
murray_homepage = "https://people.eng.unimelb.edu.au/tobym/"
[nagashima]
name = "Yutaka Nagashima"
[nagashima.emails]
[nagashima.emails.nagashima_email]
user = [
"Yutaka",
"Nagashima",
]
host = [
"data61",
"csiro",
"au",
]
[nagashima.homepages]
[nagele]
name = "Julian Nagele"
[nagele.emails]
[nagele.emails.nagele_email]
user = [
"julian",
"nagele",
]
host = [
"uibk",
"ac",
"at",
]
[nagele.homepages]
[naraschewski]
name = "Wolfgang Naraschewski"
[naraschewski.emails]
[naraschewski.homepages]
[nedzelsky]
name = "Michael Nedzelsky"
[nedzelsky.emails]
[nedzelsky.emails.nedzelsky_email]
user = [
"MichaelNedzelsky",
]
host = [
"yandex",
"ru",
]
[nedzelsky.homepages]
[nemeti]
name = "István Németi"
[nemeti.emails]
[nemeti.homepages]
nemeti_homepage = "http://www.renyi.hu/~nemeti/"
[nemouchi]
name = "Yakoub Nemouchi"
[nemouchi.emails]
[nemouchi.emails.nemouchi_email]
user = [
"nemouchi",
]
host = [
"lri",
"fr",
]
[nemouchi.emails.nemouchi_email1]
user = [
"yakoub",
"nemouchi",
]
host = [
"york",
"ac",
"uk",
]
[nemouchi.homepages]
[nestmann]
name = "Uwe Nestmann"
[nestmann.emails]
[nestmann.homepages]
nestmann_homepage = "https://www.mtv.tu-berlin.de/nestmann/"
[neumann]
name = "René Neumann"
[neumann.emails]
[neumann.emails.neumann_email]
user = [
"rene",
"neumann",
]
host = [
"in",
"tum",
"de",
]
[neumann.homepages]
[nielsen]
name = "Finn Nielsen"
[nielsen.emails]
[nielsen.emails.nielsen_email]
user = [
"finn",
"nielsen",
]
host = [
"uni-muenster",
"de",
]
[nielsen.homepages]
[nikiforov]
name = "Denis Nikiforov"
[nikiforov.emails]
[nikiforov.emails.nikiforov_email]
user = [
"denis",
"nikif",
]
host = [
"gmail",
"com",
]
[nikiforov.homepages]
[nipkow]
name = "Tobias Nipkow"
orcid = "0000-0003-0730-515X"
[nipkow.emails]
[nipkow.emails.nipkow_email]
user = [
"nipkow",
]
host = [
"in",
"tum",
"de",
]
[nipkow.homepages]
nipkow_homepage = "https://www.in.tum.de/~nipkow/"
[nishihara]
name = "Toshiaki Nishihara"
[nishihara.emails]
[nishihara.homepages]
[noce]
name = "Pasquale Noce"
[noce.emails]
[noce.emails.noce_email]
user = [
"pasquale",
"noce",
"lavoro",
]
host = [
"gmail",
"com",
]
[noce.homepages]
[nordhoff]
name = "Benedikt Nordhoff"
[nordhoff.emails]
[nordhoff.emails.nordhoff_email]
user = [
"b",
"n",
]
host = [
"wwu",
"de",
]
[nordhoff.emails.nordhoff_email1]
user = [
"b_nord01",
]
host = [
"uni-muenster",
"de",
]
[nordhoff.homepages]
[noschinski]
name = "Lars Noschinski"
[noschinski.emails]
[noschinski.emails.noschinski_email]
user = [
"noschinl",
]
host = [
"gmail",
"com",
]
[noschinski.homepages]
noschinski_homepage = "http://www21.in.tum.de/~noschinl/"
[obua]
name = "Steven Obua"
[obua.emails]
[obua.emails.obua_email]
user = [
"steven",
]
host = [
"recursivemind",
"com",
]
[obua.homepages]
[ogawa]
name = "Mizuhito Ogawa"
[ogawa.emails]
[ogawa.homepages]
[oldenburg]
name = "Lennart Oldenburg"
[oldenburg.emails]
[oldenburg.homepages]
[olm]
name = "Markus Müller-Olm"
[olm.emails]
[olm.homepages]
olm_homepage = "http://cs.uni-muenster.de/u/mmo/"
[oosterhuis]
name = "Roelof Oosterhuis"
[oosterhuis.emails]
[oosterhuis.emails.oosterhuis_email]
user = [
"roelofoosterhuis",
]
host = [
"gmail",
"com",
]
[oosterhuis.homepages]
[oostrom]
name = "Vincent van Oostrom"
[oostrom.emails]
[oostrom.homepages]
[ortner]
name = "Veronika Ortner"
[ortner.emails]
[ortner.homepages]
[overbeek]
name = "Roy Overbeek"
[overbeek.emails]
[overbeek.emails.overbeek_email]
user = [
"Roy",
"Overbeek",
]
host = [
"cwi",
"nl",
]
[overbeek.homepages]
[pagano]
name = "Miguel Pagano"
[pagano.emails]
[pagano.emails.pagano_email]
user = [
"miguel",
"pagano",
]
host = [
"unc",
"edu",
"ar",
]
[pagano.homepages]
pagano_homepage = "https://cs.famaf.unc.edu.ar/~mpagano/"
[pal]
name = "Abhik Pal"
[pal.emails]
[pal.homepages]
[paleo]
name = "Bruno Woltzenlogel Paleo"
[paleo.emails]
[paleo.homepages]
paleo_homepage = "http://www.logic.at/staff/bruno/"
[palmer]
name = "Jake Palmer"
[palmer.emails]
[palmer.emails.palmer_email]
user = [
"jake",
"palmer",
]
host = [
"ed",
"ac",
"uk",
]
[palmer.homepages]
[parkinson]
name = "Matthew Parkinson"
[parkinson.emails]
[parkinson.homepages]
parkinson_homepage = "http://research.microsoft.com/people/mattpark/"
[parrow]
name = "Joachim Parrow"
[parrow.emails]
[parrow.emails.parrow_email]
user = [
"joachim",
"parrow",
]
host = [
"it",
"uu",
"se",
]
[parrow.homepages]
[parsert]
name = "Julian Parsert"
[parsert.emails]
[parsert.emails.parsert_email]
user = [
"julian",
"parsert",
]
host = [
"gmail",
"com",
]
[parsert.emails.parsert_email1]
user = [
"julian",
"parsert",
]
host = [
"uibk",
"ac",
"at",
]
[parsert.homepages]
parsert_homepage = "http://www.parsert.com/"
[paulson]
name = "Lawrence C. Paulson"
[paulson.emails]
[paulson.emails.paulson_email]
user = [
"lp15",
]
host = [
"cam",
"ac",
"uk",
]
[paulson.homepages]
paulson_homepage = "https://www.cl.cam.ac.uk/~lp15/"
[peltier]
name = "Nicolas Peltier"
[peltier.emails]
[peltier.emails.peltier_email]
user = [
"Nicolas",
"Peltier",
]
host = [
"imag",
"fr",
]
[peltier.homepages]
peltier_homepage = "http://membres-lig.imag.fr/peltier/"
[peters]
name = "Kirstin Peters"
[peters.emails]
[peters.emails.peters_email]
user = [
"kirstin",
"peters",
]
host = [
"tu-berlin",
"de",
]
[peters.homepages]
[petrovic]
name = "Danijela Petrovic"
[petrovic.emails]
[petrovic.homepages]
petrovic_homepage = "http://www.matf.bg.ac.rs/~danijela"
[pierzchalski]
name = "Edward Pierzchalski"
[pierzchalski.emails]
[pierzchalski.homepages]
[platzer]
name = "André Platzer"
[platzer.emails]
[platzer.emails.platzer_email]
user = [
"aplatzer",
]
host = [
"cs",
"cmu",
"edu",
]
[platzer.homepages]
platzer_homepage = "https://www.cs.cmu.edu/~aplatzer/"
[pohjola]
name = "Johannes Åman Pohjola"
[pohjola.emails]
[pohjola.homepages]
[pollak]
name = "Florian Pollak"
[pollak.emails]
[pollak.emails.pollak_email]
user = [
"florian",
"pollak",
]
host = [
"gmail",
"com",
]
[pollak.homepages]
[popescu]
name = "Andrei Popescu"
[popescu.emails]
[popescu.emails.popescu_email]
user = [
"a",
"popescu",
]
host = [
"sheffield",
"ac",
"uk",
]
[popescu.emails.popescu_email1]
user = [
"uuomul",
]
host = [
"yahoo",
"com",
]
[popescu.emails.popescu_email2]
user = [
"a",
"popescu",
]
host = [
"mdx",
"ac",
"uk",
]
[popescu.homepages]
popescu_homepage = "https://www.andreipopescu.uk"
[porter]
name = "Benjamin Porter"
[porter.emails]
[porter.homepages]
[prathamesh]
name = "T.V.H. Prathamesh"
[prathamesh.emails]
[prathamesh.emails.prathamesh_email]
user = [
"prathamesh",
]
host = [
"imsc",
"res",
"in",
]
[prathamesh.homepages]
[preoteasa]
name = "Viorel Preoteasa"
[preoteasa.emails]
[preoteasa.emails.preoteasa_email]
user = [
"viorel",
"preoteasa",
]
host = [
"aalto",
"fi",
]
[preoteasa.homepages]
preoteasa_homepage = "http://users.abo.fi/vpreotea/"
[pusch]
name = "Cornelia Pusch"
[pusch.emails]
[pusch.homepages]
[rabe]
name = "Markus N. Rabe"
[rabe.emails]
[rabe.homepages]
rabe_homepage = "http://www.react.uni-saarland.de/people/rabe.html"
[raedle]
name = "Jonas Rädle"
[raedle.emails]
[raedle.emails.raedle_email]
user = [
"jonas",
"raedle",
]
host = [
"gmail",
"com",
]
[raedle.emails.raedle_email1]
user = [
"jonas",
"raedle",
]
host = [
"tum",
"de",
]
[raedle.homepages]
[raska]
name = "Martin Raška"
[raska.emails]
[raska.homepages]
[raszyk]
name = "Martin Raszyk"
[raszyk.emails]
[raszyk.emails.raszyk_email]
user = [
"martin",
"raszyk",
]
host = [
"inf",
"ethz",
"ch",
]
[raszyk.emails.raszyk_email1]
user = [
"m",
"raszyk",
]
host = [
"gmail",
"com",
]
[raszyk.homepages]
[rau]
name = "Martin Rau"
[rau.emails]
[rau.emails.rau_email]
user = [
"martin",
"rau",
]
host = [
"tum",
"de",
]
[rau.emails.rau_email1]
user = [
"mrtnrau",
]
host = [
"googlemail",
"com",
]
[rau.homepages]
[rauch]
name = "Nicole Rauch"
[rauch.emails]
[rauch.emails.rauch_email]
user = [
"rauch",
]
host = [
"informatik",
"uni-kl",
"de",
]
[rauch.homepages]
[raumer]
name = "Jakob von Raumer"
[raumer.emails]
[raumer.emails.raumer_email]
user = [
"psxjv4",
]
host = [
"nottingham",
"ac",
"uk",
]
[raumer.homepages]
[ravindran]
name = "Binoy Ravindran"
[ravindran.emails]
[ravindran.homepages]
[rawson]
name = "Michael Rawson"
[rawson.emails]
[rawson.emails.rawson_email]
user = [
"michaelrawson76",
]
host = [
"gmail",
"com",
]
[rawson.emails.rawson_email1]
user = [
"mr644",
]
host = [
"cam",
"ac",
"uk",
]
[rawson.homepages]
[raya]
name = "Rodrigo Raya"
[raya.emails]
[raya.homepages]
raya_homepage = "https://people.epfl.ch/rodrigo.raya"
[regensburger]
name = "Franz Regensburger"
[regensburger.emails]
[regensburger.emails.regensburger_email]
user = [
"Franz",
"Regensburger",
]
host = [
"thi",
"de"
]
[regensburger.homepages]
regensburger_homepage = "https://www.thi.de/suche/mitarbeiter/prof-dr-rer-nat-franz-regensburger"
[reiche]
name = "Sebastian Reiche"
[reiche.emails]
[reiche.homepages]
reiche_homepage = "https://www.linkedin.com/in/sebastian-reiche-0b2093178"
[reiter]
name = "Markus Reiter"
[reiter.emails]
[reiter.homepages]
[reynaud]
name = "Alban Reynaud"
[reynaud.emails]
[reynaud.homepages]
[ribeiro]
name = "Pedro Ribeiro"
[ribeiro.emails]
[ribeiro.homepages]
[richter]
name = "Stefan Richter"
[richter.emails]
[richter.emails.richter_email]
user = [
"richter",
]
host = [
"informatik",
"rwth-aachen",
"de",
]
[richter.homepages]
richter_homepage = "http://www-lti.informatik.rwth-aachen.de/~richter/"
[rickmann]
name = "Christina Rickmann"
[rickmann.emails]
[rickmann.emails.rickmann_email]
user = [
"c",
"rickmann",
]
host = [
"tu-berlin",
"de",
]
[rickmann.homepages]
[ridge]
name = "Tom Ridge"
[ridge.emails]
[ridge.homepages]
[rizaldi]
name = "Albert Rizaldi"
[rizaldi.emails]
[rizaldi.emails.rizaldi_email]
user = [
"albert",
"rizaldi",
]
host = [
"ntu",
"edu",
"sg",
]
[rizaldi.homepages]
[rizkallah]
name = "Christine Rizkallah"
[rizkallah.emails]
[rizkallah.homepages]
rizkallah_homepage = "https://www.mpi-inf.mpg.de/~crizkall/"
[robillard]
name = "Simon Robillard"
[robillard.emails]
[robillard.homepages]
robillard_homepage = "https://simon-robillard.net/"
[roessle]
name = "Ian Roessle"
[roessle.emails]
[roessle.homepages]
[romanos]
name = "Ralph Romanos"
[romanos.emails]
[romanos.emails.romanos_email]
user = [
"ralph",
"romanos",
]
host = [
"student",
"ecp",
"fr",
]
[romanos.homepages]
[rosskopf]
name = "Simon Roßkopf"
[rosskopf.emails]
[rosskopf.emails.rosskopf_email]
user = [
"rosskops",
]
host = [
"in",
"tum",
"de",
]
[rosskopf.homepages]
rosskopf_homepage = "http://www21.in.tum.de/~rosskops"
[rowat]
name = "Colin Rowat"
[rowat.emails]
[rowat.emails.rowat_email]
user = [
"c",
"rowat",
]
host = [
"bham",
"ac",
"uk",
]
[rowat.homepages]
[sabouret]
name = "Nicolas Sabouret"
[sabouret.emails]
[sabouret.homepages]
[sachtleben]
name = "Robert Sachtleben"
[sachtleben.emails]
[sachtleben.emails.sachtleben_email]
user = [
"rob_sac",
]
host = [
"uni-bremen",
"de",
]
[sachtleben.homepages]
[saile]
name = "Christian Saile"
[saile.emails]
[saile.homepages]
saile_homepage = "http://dss.in.tum.de/staff/christian-saile.html"
[sanan]
name = "David Sanan"
[sanan.emails]
[sanan.emails.sanan_email]
user = [
"sanan",
]
host = [
"ntu",
"edu",
"sg",
]
[sanan.homepages]
[sato]
name = "Tetsuya Sato"
[sato.emails]
[sato.emails.sato_email]
user = [
"tsato",
]
host = [
"c",
"titech",
"ac",
"jp",
]
[sato.homepages]
sato_homepage = "https://sites.google.com/view/tetsuyasato/"
[sauer]
name = "Jens Sauer"
[sauer.emails]
[sauer.emails.sauer_email]
user = [
"sauer",
]
host = [
"mais",
"informatik",
"tu-darmstadt",
"de",
]
[sauer.homepages]
[schaeffeler]
name = "Maximilian Schäffeler"
[schaeffeler.emails]
[schaeffeler.emails.schaeffeler_email]
user = [
"schaeffm",
]
host = [
"in",
"tum",
"de",
]
[schaeffeler.homepages]
[scharager]
name = "Matias Scharager"
[scharager.emails]
[scharager.emails.scharager_email]
user = [
"mscharag",
]
host = [
"cs",
"cmu",
"edu",
]
[scharager.homepages]
[schimpf]
name = "Alexander Schimpf"
[schimpf.emails]
[schimpf.emails.schimpf_email]
user = [
"schimpfa",
]
host = [
"informatik",
"uni-freiburg",
"de",
]
[schimpf.homepages]
[schirmer]
name = "Norbert Schirmer"
[schirmer.emails]
[schirmer.emails.schirmer_email]
user = [
"norbert",
"schirmer",
]
host = [
"web",
"de",
]
[schirmer.homepages]
[schleicher]
name = "Dierk Schleicher"
[schleicher.emails]
[schleicher.homepages]
[schlichtkrull]
name = "Anders Schlichtkrull"
[schlichtkrull.emails]
[schlichtkrull.emails.schlichtkrull_email]
user = [
"andschl",
]
host = [
"dtu",
"dk",
]
[schlichtkrull.homepages]
schlichtkrull_homepage = "https://people.compute.dtu.dk/andschl/"
[schmaltz]
name = "Julien Schmaltz"
[schmaltz.emails]
[schmaltz.emails.schmaltz_email]
user = [
"Julien",
"Schmaltz",
]
host = [
"ou",
"nl",
]
[schmaltz.homepages]
[schmidinger]
name = "Lukas Schmidinger"
[schmidinger.emails]
[schmidinger.homepages]
[schmoetten]
name = "Richard Schmoetten"
[schmoetten.emails]
[schmoetten.emails.schmoetten_email]
user = [
"s1311325",
]
host = [
"sms",
"ed",
"ac",
"uk",
]
[schmoetten.homepages]
[schneider]
name = "Joshua Schneider"
[schneider.emails]
[schneider.emails.schneider_email]
user = [
"joshua",
"schneider",
]
host = [
"inf",
"ethz",
"ch",
]
[schneider.homepages]
[schoepe]
name = "Daniel Schoepe"
[schoepe.emails]
[schoepe.emails.schoepe_email]
user = [
"daniel",
]
host = [
"schoepe",
"org",
]
[schoepe.homepages]
[schoepf]
name = "Jonas Schöpf"
[schoepf.emails]
[schoepf.emails.schoepf_email]
user = [
"jonas",
"schoepf",
]
host = [
"uibk",
"ac",
"at",
]
[schoepf.homepages]
[scott]
name = "Dana Scott"
[scott.emails]
[scott.homepages]
scott_homepage = "http://www.cs.cmu.edu/~scott/"
[sefidgar]
name = "S. Reza Sefidgar"
[sefidgar.emails]
[sefidgar.emails.sefidgar_email]
user = [
"reza",
"sefidgar",
]
host = [
"inf",
"ethz",
"ch",
]
[sefidgar.homepages]
[seidl]
name = "Benedikt Seidl"
[seidl.emails]
[seidl.emails.seidl_email]
user = [
"benedikt",
"seidl",
]
host = [
"tum",
"de",
]
[seidl.homepages]
[seidler]
name = "Henning Seidler"
[seidler.emails]
[seidler.emails.seidler_email]
user = [
"henning",
"seidler",
]
host = [
"mailbox",
"tu-berlin",
"de",
]
[seidler.homepages]
[sewell]
name = "Thomas Sewell"
[sewell.emails]
[sewell.homepages]
[sickert]
name = "Salomon Sickert"
[sickert.emails]
[sickert.emails.sickert_email]
user = [
"s",
"sickert",
]
host = [
"tum",
"de",
]
[sickert.homepages]
sickert_homepage = "https://www7.in.tum.de/~sickert"
[siek]
name = "Jeremy Siek"
[siek.emails]
[siek.emails.siek_email]
user = [
"jsiek",
]
host = [
"indiana",
"edu",
]
[siek.homepages]
siek_homepage = "http://homes.soic.indiana.edu/jsiek/"
[simic]
name = "Danijela Simić"
[simic.emails]
[simic.emails.simic_email]
user = [
"danijela",
]
host = [
"matf",
"bg",
"ac",
"rs",
]
[simic.homepages]
simic_homepage = "http://poincare.matf.bg.ac.rs/~danijela"
[sison]
name = "Robert Sison"
[sison.emails]
[sison.homepages]
[smaus]
name = "Jan-Georg Smaus"
[smaus.emails]
[smaus.homepages]
smaus_homepage = "http://www.irit.fr/~Jan-Georg.Smaus"
[smola]
name = "Filip Smola"
[smola.emails]
[smola.emails.smola_email]
user = [
"f",
"smola",
]
host = [
"sms",
"ed",
"ac",
"uk",
]
[smola.homepages]
[snelting]
name = "Gregor Snelting"
[snelting.emails]
[snelting.homepages]
snelting_homepage = "http://pp.info.uni-karlsruhe.de/personhp/gregor_snelting.php"
[somaini]
name = "Ivano Somaini"
[somaini.emails]
[somaini.homepages]
[somogyi]
name = "Dániel Somogyi"
[somogyi.emails]
[somogyi.homepages]
[spasic]
name = "Mirko Spasić"
[spasic.emails]
[spasic.emails.spasic_email]
user = [
"mirko",
]
host = [
"matf",
"bg",
"ac",
"rs",
]
[spasic.homepages]
[spichkova]
name = "Maria Spichkova"
[spichkova.emails]
[spichkova.emails.spichkova_email]
user = [
"maria",
"spichkova",
]
host = [
"rmit",
"edu",
"au",
]
[spichkova.homepages]
[sprenger]
name = "Christoph Sprenger"
[sprenger.emails]
[sprenger.emails.sprenger_email]
user = [
"sprenger",
]
host = [
"inf",
"ethz",
"ch",
]
[sprenger.homepages]
[stannett]
name = "Mike Stannett"
[stannett.emails]
[stannett.emails.stannett_email]
user = [
"m",
"stannett",
]
host = [
"sheffield",
"ac",
"uk",
]
[stannett.homepages]
[stark]
name = "Eugene W. Stark"
[stark.emails]
[stark.emails.stark_email]
user = [
"stark",
]
host = [
"cs",
"stonybrook",
"edu",
]
[stark.homepages]
[starosta]
name = "Štěpán Starosta"
[starosta.emails]
[starosta.emails.starosta_email]
user = [
"stepan",
"starosta",
]
host = [
"fit",
"cvut",
"cz",
]
[starosta.homepages]
starosta_homepage = "https://users.fit.cvut.cz/~staroste/"
[steinberg]
name = "Matías Steinberg"
[steinberg.emails]
[steinberg.emails.steinberg_email]
user = [
"matias",
"steinberg",
]
host = [
"mi",
"unc",
"edu",
"ar",
]
[steinberg.homepages]
[stephan]
name = "Werner Stephan"
[stephan.emails]
[stephan.emails.stephan_email]
user = [
"stephan",
]
host = [
"dfki",
"de",
]
[stephan.homepages]
[sternagel]
name = "Christian Sternagel"
[sternagel.emails]
[sternagel.emails.sternagel_email]
user = [
"c",
"sternagel",
]
host = [
"gmail",
"com",
]
[sternagel.emails.sternagel_email1]
user = [
"christian",
"sternagel",
]
host = [
"uibk",
"ac",
"at",
]
[sternagel.homepages]
sternagel_homepage = "http://cl-informatik.uibk.ac.at/users/griff/"
[sternagelt]
name = "Thomas Sternagel"
[sternagelt.emails]
[sternagelt.homepages]
[stevens]
name = "Lukas Stevens"
[stevens.emails]
[stevens.homepages]
stevens_homepage = "https://www21.in.tum.de/team/stevensl"
[stock]
name = "Benedikt Stock"
[stock.emails]
[stock.emails.stock_email]
user = [
"benedikt1999",
]
host = [
"freenet",
"de",
]
[stock.homepages]
[stricker]
name = "Christian Stricker"
[stricker.emails]
[stricker.homepages]
stricker_homepage = "http://dss.in.tum.de/staff/christian-stricker.html"
[strnisa]
name = "Rok Strniša"
[strnisa.emails]
[strnisa.emails.strnisa_email]
user = [
"rok",
]
host = [
"strnisa",
"com",
]
[strnisa.homepages]
strnisa_homepage = "http://rok.strnisa.com/lj/"
[struth]
name = "Georg Struth"
[struth.emails]
[struth.emails.struth_email]
user = [
"g",
"struth",
]
host = [
"sheffield",
"ac",
"uk",
]
[struth.homepages]
struth_homepage = "http://staffwww.dcs.shef.ac.uk/people/G.Struth/"
[stueber]
name = "Anke Stüber"
[stueber.emails]
[stueber.emails.stueber_email]
user = [
"anke",
"stueber",
]
host = [
"campus",
"tu-berlin",
"de",
]
[stueber.homepages]
[stuewe]
name = "Daniel Stüwe"
[stuewe.emails]
[stuewe.homepages]
[sudbrock]
name = "Henning Sudbrock"
[sudbrock.emails]
[sudbrock.emails.sudbrock_email]
user = [
"sudbrock",
]
host = [
"mais",
"informatik",
"tu-darmstadt",
"de",
]
[sudbrock.homepages]
[sudhof]
name = "Henry Sudhof"
[sudhof.emails]
[sudhof.emails.sudhof_email]
user = [
"hsudhof",
]
host = [
"cs",
"tu-berlin",
"de",
]
[sudhof.homepages]
[sulejmani]
name = "Ujkan Sulejmani"
[sulejmani.emails]
+[sulejmani.emails.sulejmani_email]
+user = [
+ "ujkan",
+ "sulejmani",
+]
+host = [
+ "tum",
+ "de",
+]
+
+[sulejmani.emails.sulejmani_email1]
+user = [
+ "ujkan99",
+]
+host = [
+ "gmail",
+ "com",
+]
+
[sulejmani.homepages]
[sylvestre]
name = "Jeremy Sylvestre"
[sylvestre.emails]
[sylvestre.emails.sylvestre_email]
user = [
"jeremy",
"sylvestre",
]
host = [
"ualberta",
"ca",
]
[sylvestre.emails.sylvestre_email1]
user = [
"jsylvest",
]
host = [
"ualberta",
"ca",
]
[sylvestre.homepages]
sylvestre_homepage = "http://ualberta.ca/~jsylvest/"
[taha]
name = "Safouan Taha"
[taha.emails]
[taha.emails.taha_email]
user = [
"safouan",
"taha",
]
host = [
"lri",
"fr",
]
[taha.homepages]
[tan]
name = "Yong Kiam Tan"
[tan.emails]
[tan.emails.tan_email]
user = [
"yongkiat",
]
host = [
"cs",
"cmu",
"edu",
]
[tan.homepages]
tan_homepage = "https://www.cs.cmu.edu/~yongkiat/"
[tasch]
name = "Markus Tasch"
[tasch.emails]
[tasch.emails.tasch_email]
user = [
"tasch",
]
host = [
"mais",
"informatik",
"tu-darmstadt",
"de",
]
[tasch.homepages]
[taylor]
name = "Ramsay G. Taylor"
[taylor.emails]
[taylor.emails.taylor_email]
user = [
"r",
"g",
"taylor",
]
host = [
"sheffield",
"ac",
"uk",
]
[taylor.homepages]
[terraf]
name = "Pedro Sánchez Terraf"
[terraf.emails]
[terraf.emails.terraf_email]
user = [
"psterraf",
]
host = [
"unc",
"edu",
"ar",
]
[terraf.homepages]
terraf_homepage = "https://cs.famaf.unc.edu.ar/~pedro/home_en.html"
[thiemann]
name = "René Thiemann"
[thiemann.emails]
[thiemann.emails.thiemann_email]
user = [
"rene",
"thiemann",
]
host = [
"uibk",
"ac",
"at",
]
[thiemann.homepages]
thiemann_homepage = "http://cl-informatik.uibk.ac.at/users/thiemann/"
[thommes]
name = "Joseph Thommes"
[thommes.emails]
[thommes.emails.thommes_email]
user = [
"joseph-thommes",
]
host = [
"gmx",
"de",
]
[thommes.homepages]
[thomson]
name = "Fox Thomson"
[thomson.emails]
[thomson.emails.thomson_email]
user = [
"foxthomson0",
]
host = [
"gmail",
"com",
]
[thomson.homepages]
[tiu]
name = "Alwen Tiu"
[tiu.emails]
[tiu.emails.tiu_email]
user = [
"ATiu",
]
host = [
"ntu",
"edu",
"sg",
]
[tiu.homepages]
tiu_homepage = "http://users.cecs.anu.edu.au/~tiu/"
[toth]
name = "Balazs Toth"
[toth.emails]
[toth.emails.toth_email]
user = [
"balazs",
"toth",
]
host = [
"tum",
"de",
]
[toth.homepages]
[tourret]
name = "Sophie Tourret"
[tourret.emails]
[tourret.emails.tourret_email]
user = [
"stourret",
]
host = [
"mpi-inf",
"mpg",
"de",
]
[tourret.homepages]
tourret_homepage = "https://www.mpi-inf.mpg.de/departments/automation-of-logic/people/sophie-tourret/"
[trachtenherz]
name = "David Trachtenherz"
[trachtenherz.emails]
[trachtenherz.homepages]
[traut]
name = "Christoph Traut"
[traut.emails]
[traut.homepages]
[traytel]
name = "Dmitriy Traytel"
[traytel.emails]
[traytel.emails.traytel_email]
user = [
"traytel",
]
host = [
"in",
"tum",
"de",
]
[traytel.emails.traytel_email1]
user = [
"traytel",
]
host = [
"inf",
"ethz",
"ch",
]
[traytel.emails.traytel_email2]
user = [
"traytel",
]
host = [
"di",
"ku",
"dk",
]
[traytel.homepages]
traytel_homepage = "https://traytel.bitbucket.io/"
[tuerk]
name = "Thomas Tuerk"
[tuerk.emails]
[tuerk.homepages]
[tuong]
name = "Frédéric Tuong"
[tuong.emails]
[tuong.emails.tuong_email]
user = [
"tuong",
]
host = [
"users",
"gforge",
"inria",
"fr",
]
[tuong.emails.tuong_email1]
user = [
"ftuong",
]
host = [
"lri",
"fr",
]
[tuong.homepages]
tuong_homepage = "https://www.lri.fr/~ftuong/"
[tuongj]
name = "Joseph Tuong"
[tuongj.emails]
[tuongj.homepages]
[tverdyshev]
name = "Sergey Tverdyshev"
[tverdyshev.emails]
[tverdyshev.emails.tverdyshev_email]
user = [
"stv",
]
host = [
"sysgo",
"com",
]
[tverdyshev.homepages]
[ullrich]
name = "Sebastian Ullrich"
[ullrich.emails]
[ullrich.emails.ullrich_email]
user = [
"sebasti",
]
host = [
"nullri",
"ch",
]
[ullrich.homepages]
[unruh]
name = "Dominique Unruh"
[unruh.emails]
[unruh.emails.unruh_email]
user = [
"unruh",
]
host = [
"ut",
"ee",
]
[unruh.homepages]
unruh_homepage = "https://www.ut.ee/~unruh/"
[urban]
name = "Christian Urban"
[urban.emails]
[urban.emails.urban_email]
user = [
"christian",
"urban",
]
host = [
"kcl",
"ac",
"uk",
]
[urban.homepages]
urban_homepage = "https://nms.kcl.ac.uk/christian.urban/"
[van]
name = "Hai Nguyen Van"
[van.emails]
[van.emails.van_email]
user = [
"hai",
"nguyenvan",
"phie",
]
host = [
"gmail",
"com",
]
[van.homepages]
[velykis]
name = "Andrius Velykis"
[velykis.emails]
[velykis.homepages]
velykis_homepage = "http://andrius.velykis.lt"
[verbeek]
name = "Freek Verbeek"
[verbeek.emails]
[verbeek.emails.verbeek_email]
user = [
"Freek",
"Verbeek",
]
host = [
"ou",
"nl",
]
[verbeek.emails.verbeek_email1]
user = [
"freek",
]
host = [
"vt",
"edu",
]
[verbeek.homepages]
[villadsen]
name = "Jørgen Villadsen"
[villadsen.emails]
[villadsen.emails.villadsen_email]
user = [
"jovi",
]
host = [
"dtu",
"dk",
]
[villadsen.homepages]
villadsen_homepage = "https://people.compute.dtu.dk/jovi/"
[voisin]
name = "Frederic Voisin"
[voisin.emails]
[voisin.homepages]
[vytiniotis]
name = "Dimitrios Vytiniotis"
[vytiniotis.emails]
[vytiniotis.homepages]
vytiniotis_homepage = "http://research.microsoft.com/en-us/people/dimitris/"
[wagner]
name = "Max Wagner"
[wagner.emails]
[wagner.emails.wagner_email]
user = [
"max",
]
host = [
"trollbu",
"de",
]
[wagner.homepages]
[waldmann]
name = "Uwe Waldmann"
[waldmann.emails]
[waldmann.emails.waldmann_email]
user = [
"waldmann",
]
host = [
"mpi-inf",
"mpg",
"de",
]
[waldmann.homepages]
[wand]
name = "Daniel Wand"
[wand.emails]
[wand.emails.wand_email]
user = [
"dwand",
]
host = [
"mpi-inf",
"mpg",
"de",
]
[wand.homepages]
[wang]
name = "Shuling Wang"
[wang.emails]
[wang.homepages]
[wassell]
name = "Mark Wassell"
[wassell.emails]
[wassell.emails.wassell_email]
user = [
"mpwassell",
]
host = [
"gmail",
"com",
]
[wassell.homepages]
[wasserrab]
name = "Daniel Wasserrab"
[wasserrab.emails]
[wasserrab.homepages]
wasserrab_homepage = "http://pp.info.uni-karlsruhe.de/personhp/daniel_wasserrab.php"
[watt]
name = "Conrad Watt"
[watt.emails]
[watt.emails.watt_email]
user = [
"caw77",
]
host = [
"cam",
"ac",
"uk",
]
[watt.homepages]
watt_homepage = "http://www.cl.cam.ac.uk/~caw77/"
[weber]
name = "Tjark Weber"
[weber.emails]
[weber.emails.weber_email]
user = [
"tjark",
"weber",
]
host = [
"it",
"uu",
"se",
]
[weber.homepages]
weber_homepage = "http://user.it.uu.se/~tjawe125/"
[weerwag]
name = "Timmy Weerwag"
[weerwag.emails]
[weerwag.homepages]
[weidner]
name = "Arno Wilhelm-Weidner"
[weidner.emails]
[weidner.emails.weidner_email]
user = [
"arno",
"wilhelm-weidner",
]
host = [
"tu-berlin",
"de",
]
[weidner.homepages]
[wenzel]
name = "Makarius Wenzel"
[wenzel.emails]
[wenzel.emails.wenzel_email]
user = [
"makarius",
]
host = [
"sketis",
"net",
]
[wenzel.homepages]
wenzel_homepage = "https://sketis.net"
[wickerson]
name = "John Wickerson"
[wickerson.emails]
[wickerson.homepages]
wickerson_homepage = "http://www.doc.ic.ac.uk/~jpw48"
[willenbrink]
name = "Sebastian Willenbrink"
[willenbrink.emails]
[willenbrink.emails.willenbrink_email]
user = [
"sebastian",
"willenbrink",
]
host = [
"tum",
"de",
]
[willenbrink.homepages]
[wimmer]
name = "Simon Wimmer"
[wimmer.emails]
[wimmer.emails.wimmer_email]
user = [
"simon",
"wimmer",
]
host = [
"tum",
"de",
]
[wimmer.homepages]
wimmer_homepage = "http://home.in.tum.de/~wimmers/"
[wirt]
name = "Kai Wirt"
[wirt.emails]
[wirt.homepages]
[wolff]
name = "Burkhart Wolff"
[wolff.emails]
[wolff.emails.wolff_email]
user = [
"burkhart",
"wolff",
]
host = [
"lri",
"fr",
]
[wolff.homepages]
wolff_homepage = "https://www.lri.fr/~wolff/"
[wu]
name = "Chunhan Wu"
[wu.emails]
[wu.homepages]
[xu]
name = "Jian Xu"
[xu.emails]
[xu.homepages]
[yamada]
name = "Akihisa Yamada"
[yamada.emails]
[yamada.emails.yamada_email]
user = [
"akihisa",
"yamada",
]
host = [
"uibk",
"ac",
"at",
]
[yamada.emails.yamada_email1]
user = [
"ayamada",
]
host = [
"trs",
"cm",
"is",
"nagoya-u",
"ac",
"jp",
]
[yamada.emails.yamada_email2]
user = [
"akihisa",
"yamada",
]
host = [
"aist",
"go",
"jp",
]
[yamada.emails.yamada_email3]
user = [
"akihisayamada",
]
host = [
"nii",
"ac",
"jp",
]
[yamada.homepages]
yamada_homepage = "http://group-mmm.org/~ayamada/"
[ye]
name = "Lina Ye"
[ye.emails]
[ye.emails.ye_email]
user = [
"lina",
"ye",
]
host = [
"lri",
"fr",
]
[ye.homepages]
[ying]
name = "Shenggang Ying"
[ying.emails]
[ying.homepages]
[yingm]
name = "Mingsheng Ying"
[yingm.emails]
[yingm.homepages]
[yu]
name = "Lei Yu"
[yu.emails]
[yu.emails.yu_email]
user = [
"ly271",
]
host = [
"cam",
"ac",
"uk",
]
[yu.homepages]
[zankl]
name = "Harald Zankl"
[zankl.emails]
[zankl.emails.zankl_email]
user = [
"Harald",
"Zankl",
]
host = [
"uibk",
"ac",
"at",
]
[zankl.homepages]
zankl_homepage = "http://cl-informatik.uibk.ac.at/users/hzankl"
[zee]
name = "Karen Zee"
[zee.emails]
[zee.emails.zee_email]
user = [
"kkz",
]
host = [
"mit",
"edu",
]
[zee.homepages]
zee_homepage = "http://www.mit.edu/~kkz/"
[zeller]
name = "Peter Zeller"
[zeller.emails]
[zeller.emails.zeller_email]
user = [
"p_zeller",
]
host = [
"cs",
"uni-kl",
"de",
]
[zeller.homepages]
[zeyda]
name = "Frank Zeyda"
[zeyda.emails]
[zeyda.emails.zeyda_email]
user = [
"frank",
"zeyda",
]
host = [
"york",
"ac",
"uk",
]
[zeyda.homepages]
[zhan]
name = "Bohua Zhan"
[zhan.emails]
[zhan.emails.zhan_email]
user = [
"bzhan",
]
host = [
"ios",
"ac",
"cn",
]
[zhan.homepages]
zhan_homepage = "http://lcs.ios.ac.cn/~bzhan/"
[zhang]
name = "Yu Zhang"
[zhang.emails]
[zhang.homepages]
[zhangx]
name = "Xingyuan Zhang"
[zhangx.emails]
[zhangx.homepages]
[zhann]
name = "Naijun Zhan"
[zhann.emails]
[zhann.homepages]
diff --git a/metadata/entries/Affine_Arithmetic.toml b/metadata/entries/Affine_Arithmetic.toml
--- a/metadata/entries/Affine_Arithmetic.toml
+++ b/metadata/entries/Affine_Arithmetic.toml
@@ -1,34 +1,32 @@
title = "Affine Arithmetic"
date = 2014-02-07
topics = [
"Mathematics/Analysis",
]
abstract = """
We give a formalization of affine forms as abstract representations of zonotopes.
We provide affine operations as well as overapproximations of some non-affine operations like multiplication and division.
Expressions involving those operations can automatically be turned into (executable) functions approximating the original
expression in affine arithmetic."""
license = "bsd"
note = ""
[authors]
[authors.immler]
homepage = "immler_homepage"
[contributors]
[notify]
immler = "immler_email"
[history]
-2015-01-31 = """
-added algorithm for zonotope/hyperplane intersection<br>
-"""
+2015-01-31 = "added algorithm for zonotope/hyperplane intersection<br>"
2017-09-20 = """
linear approximations for all symbols from the floatarith data
type"""
[extra]
[related]
diff --git a/metadata/entries/Aggregation_Algebras.toml b/metadata/entries/Aggregation_Algebras.toml
--- a/metadata/entries/Aggregation_Algebras.toml
+++ b/metadata/entries/Aggregation_Algebras.toml
@@ -1,29 +1,32 @@
title = "Aggregation Algebras"
date = 2018-09-15
topics = [
"Mathematics/Algebra",
]
abstract = """
We develop algebras for aggregation and minimisation for weight
matrices and for edge weights in graphs. We verify the correctness of
Prim's and Kruskal's minimum spanning tree algorithms based
on these algebras. We also show numerous instances of these algebras
based on linearly ordered commutative semigroups."""
license = "bsd"
note = ""
[authors]
[authors.guttmann]
homepage = "guttmann_homepage"
[contributors]
[notify]
guttmann = "guttmann_email"
[history]
+2020-12-09 = """
+moved Hoare logic to HOL-Hoare, moved spanning trees to Relational_Minimum_Spanning_Trees
+(revision dbb9bfaf4283)"""
[extra]
[related]
diff --git a/metadata/entries/Algebraic_Numbers.toml b/metadata/entries/Algebraic_Numbers.toml
--- a/metadata/entries/Algebraic_Numbers.toml
+++ b/metadata/entries/Algebraic_Numbers.toml
@@ -1,43 +1,41 @@
title = "Algebraic Numbers in Isabelle/HOL"
date = 2015-12-22
topics = [
"Mathematics/Algebra",
]
abstract = """
Based on existing libraries for matrices, factorization of rational polynomials, and Sturm's theorem, we formalized algebraic numbers in Isabelle/HOL. Our development serves as an implementation for real and complex numbers, and it admits to compute roots and completely factorize real and complex polynomials, provided that all coefficients are rational numbers. Moreover, we provide two implementations to display algebraic numbers, an injective and expensive one, or a faster but approximative version.
</p><p>
To this end, we mechanized several results on resultants, which also required us to prove that polynomials over a unique factorization domain form again a unique factorization domain.
</p>"""
license = "bsd"
note = ""
[authors]
[authors.thiemann]
email = "thiemann_email"
[authors.yamada]
email = "yamada_email"
[authors.joosten]
email = "joosten_email"
[contributors]
[contributors.eberl]
homepage = "eberl_homepage"
[notify]
thiemann = "thiemann_email"
yamada = "yamada_email1"
joosten = "joosten_email"
[history]
-2016-01-29 = """
-Split off Polynomial Interpolation and Polynomial Factorization<br>
-"""
+2016-01-29 = "Split off Polynomial Interpolation and Polynomial Factorization<br>"
2017-04-16 = "Use certified Berlekamp-Zassenhaus factorization, use subresultant algorithm for computing resultants, improved bisection algorithm"
[extra]
[related]
diff --git a/metadata/entries/Amortized_Complexity.toml b/metadata/entries/Amortized_Complexity.toml
--- a/metadata/entries/Amortized_Complexity.toml
+++ b/metadata/entries/Amortized_Complexity.toml
@@ -1,39 +1,35 @@
title = "Amortized Complexity Verified"
date = 2014-07-07
topics = [
"Computer science/Data structures",
]
abstract = """
A framework for the analysis of the amortized complexity of functional
data structures is formalized in Isabelle/HOL and applied to a number of
standard examples and to the folowing non-trivial ones: skew heaps,
splay trees, splay heaps and pairing heaps."""
license = "bsd"
note = ""
[authors]
[authors.nipkow]
homepage = "nipkow_homepage"
[contributors]
[notify]
nipkow = "nipkow_email"
[related]
dois = ["10.1007/s10817-018-9459-3"]
pubs = ["<a href=\"https://www.in.tum.de/~nipkow/pubs/jar18.html\">Open access</a>","<a href=\"https://en.wikipedia.org/wiki/Amortized_analysis\">Wikipedia</a>"]
[history]
-2015-03-17 = """
-Added pairing heaps by Hauke Brinkop.<br>
-"""
-2016-07-12 = """
-Moved splay heaps from here to Splay_Tree<br>
-"""
+2015-03-17 = "Added pairing heaps by Hauke Brinkop.<br>"
+2016-07-12 = "Moved splay heaps from here to Splay_Tree<br>"
2016-07-14 = "Moved pairing heaps from here to the new Pairing_Heap"
[extra]
[related]
diff --git a/metadata/entries/Applicative_Lifting.toml b/metadata/entries/Applicative_Lifting.toml
--- a/metadata/entries/Applicative_Lifting.toml
+++ b/metadata/entries/Applicative_Lifting.toml
@@ -1,37 +1,40 @@
title = "Applicative Lifting"
date = 2015-12-22
topics = [
"Computer science/Functional programming",
]
abstract = """
Applicative functors augment computations with effects by lifting function application to types which model the effects. As the structure of the computation cannot depend on the effects, applicative expressions can be analysed statically. This allows us to lift universally quantified equations to the effectful types, as observed by Hinze. Thus, equational reasoning over effectful computations can be reduced to pure types.
</p><p>
This entry provides a package for registering applicative functors and two proof methods for lifting of equations over applicative functors. The first method normalises applicative expressions according to the laws of applicative functors. This way, equations whose two sides contain the same list of variables can be lifted to every applicative functor.
</p><p>
To lift larger classes of equations, the second method exploits a number of additional properties (e.g., commutativity of effects) provided the properties have been declared for the concrete applicative functor at hand upon registration.
</p><p>
We declare several types from the Isabelle library as applicative functors and illustrate the use of the methods with two examples: the lifting of the arithmetic type class hierarchy to streams and the verification of a relabelling function on binary trees. We also formalise and verify the normalisation algorithm used by the first proof method.
</p>"""
license = "bsd"
note = ""
[authors]
[authors.lochbihler]
homepage = "lochbihler_homepage"
[authors.schneider]
[contributors]
[notify]
lochbihler = "lochbihler_email1"
[history]
-2016-03-03 = """
-added formalisation of lifting with combinators<br>
-"""
+2016-03-03 = "added formalisation of lifting with combinators<br>"
+2016-06-10 = """
+implemented automatic derivation of lifted combinator reductions;
+support arbitrary lifted relations using relators;
+improved compatibility with locale interpretation
+(revision ec336f354f37)<br>"""
[extra]
[related]
diff --git a/metadata/entries/Approximation_Algorithms.toml b/metadata/entries/Approximation_Algorithms.toml
--- a/metadata/entries/Approximation_Algorithms.toml
+++ b/metadata/entries/Approximation_Algorithms.toml
@@ -1,39 +1,41 @@
title = "Verified Approximation Algorithms"
date = 2020-01-16
topics = [
"Computer science/Algorithms/Approximation",
]
abstract = """
We present the first formal verification of approximation algorithms
for NP-complete optimization problems: vertex cover, set cover, independent set,
center selection, load balancing, and bin packing. The proofs correct incompletenesses
in existing proofs and improve the approximation ratio in one case."""
license = "bsd"
note = ""
[authors]
[authors.essmann]
email = "essmann_email"
[authors.nipkow]
homepage = "nipkow_homepage"
[authors.robillard]
homepage = "robillard_homepage"
[authors.sulejmani]
[contributors]
[notify]
nipkow = "nipkow_email"
#[related]
#dois = ["10.46298/lmcs-18(1:36)2022"]
[history]
+2021-02-08 = "added theory Approx_SC_Hoare (Set Cover) by Robin Eßmann<br>"
+2021-06-29 = "added theory Center_Selection by Ujkan Sulejmani"
[extra]
[related]
diff --git a/metadata/entries/Architectural_Design_Patterns.toml b/metadata/entries/Architectural_Design_Patterns.toml
--- a/metadata/entries/Architectural_Design_Patterns.toml
+++ b/metadata/entries/Architectural_Design_Patterns.toml
@@ -1,42 +1,40 @@
title = "A Theory of Architectural Design Patterns"
date = 2018-03-01
topics = [
"Computer science/System description languages",
]
abstract = """
The following document formalizes and verifies several architectural
design patterns. Each pattern specification is formalized in terms of
a locale where the locale assumptions correspond to the assumptions
which a pattern poses on an architecture. Thus, pattern specifications
may build on top of each other by interpreting the corresponding
locale. A pattern is verified using the framework provided by the AFP
entry Dynamic Architectures. Currently, the document consists of
formalizations of 4 different patterns: the singleton, the publisher
subscriber, the blackboard pattern, and the blockchain pattern.
Thereby, the publisher component of the publisher subscriber pattern
is modeled as an instance of the singleton pattern and the blackboard
pattern is modeled as an instance of the publisher subscriber pattern.
In general, this entry provides the first steps towards an overall
theory of architectural design patterns."""
license = "bsd"
note = ""
[authors]
[authors.marmsoler]
homepage = "marmsoler_homepage"
[contributors]
[notify]
marmsoler = "marmsoler_email"
[history]
-2018-05-25 = """
-changing the major assumption for blockchain architectures from alternative minings to relative mining frequencies (revision 5043c5c71685)<br>
-"""
+2018-05-25 = "changing the major assumption for blockchain architectures from alternative minings to relative mining frequencies (revision 5043c5c71685)<br>"
2019-04-08 = "adapting the terminology: honest instead of trusted, dishonest instead of untrusted (revision 7af3431a22ae)"
[extra]
[related]
diff --git a/metadata/entries/BTree.toml b/metadata/entries/BTree.toml
--- a/metadata/entries/BTree.toml
+++ b/metadata/entries/BTree.toml
@@ -1,49 +1,53 @@
title = "A Verified Imperative Implementation of B-Trees"
date = 2021-02-24
topics = [
"Computer science/Data structures",
]
abstract = """
In this work, we use the interactive theorem prover Isabelle/HOL to
verify an imperative implementation of the classical B-tree data
structure invented by Bayer and McCreight [ACM 1970]. The
implementation supports set membership, insertion, deletion, iteration and range queries with efficient binary search for intra-node navigation. This is
accomplished by first specifying the structure abstractly in the
functional modeling language HOL and proving functional correctness.
Using manual refinement, we derive an imperative implementation in
Imperative/HOL. We show the validity of this refinement using the
separation logic utilities from the <a
href=\"https://www.isa-afp.org/entries/Refine_Imperative_HOL.html\">
Isabelle Refinement Framework </a> . The code can be exported to
the programming languages SML, OCaml and Scala.
This entry contains two developments:
<dl>
<dt>B-Trees</dt>
<dd>This formalisation is discussed in greater detail in the corresponding <a
href=\"https://mediatum.ub.tum.de/1596550\">Bachelor's
Thesis</a>.</dd>
<dt>B+-Trees:</dt>
<dd>This formalisation also supports range queries and is discussed in a paper published at ICTAC 2022.</dd>
</dl>
Change history:
[2022-08-16]: Added formalisations of B+-Trees
"""
license = "bsd"
note = ""
[authors]
[authors.muendler]
email = "muendler_email"
[contributors]
[notify]
muendler = "muendler_email"
[history]
+2021-05-02 = """
+Add implementation and proof of correctness of imperative deletion operations.
+Further add the option to export code to OCaml.
+<br>"""
[extra]
[related]
diff --git a/metadata/entries/Bicategory.toml b/metadata/entries/Bicategory.toml
--- a/metadata/entries/Bicategory.toml
+++ b/metadata/entries/Bicategory.toml
@@ -1,47 +1,59 @@
title = "Bicategories"
date = 2020-01-06
topics = [
"Mathematics/Category theory",
]
abstract = """
<p>
Taking as a starting point the author's previous work on
developing aspects of category theory in Isabelle/HOL, this article
gives a compatible formalization of the notion of
\"bicategory\" and develops a framework within which formal
proofs of facts about bicategories can be given. The framework
includes a number of basic results, including the Coherence Theorem,
the Strictness Theorem, pseudofunctors and biequivalence, and facts
about internal equivalences and adjunctions in a bicategory. As a
driving application and demonstration of the utility of the framework,
it is used to give a formal proof of a theorem, due to Carboni,
Kasangian, and Street, that characterizes up to biequivalence the
bicategories of spans in a category with pullbacks. The formalization
effort necessitated the filling-in of many details that were not
evident from the brief presentation in the original paper, as well as
identifying a few minor corrections along the way.
</p><p>
Revisions made subsequent to the first version of this article added
additional material on pseudofunctors, pseudonatural transformations,
modifications, and equivalence of bicategories; the main thrust being
to give a proof that a pseudofunctor is a biequivalence if and only
if it can be extended to an equivalence of bicategories.
</p>"""
license = "bsd"
note = ""
[authors]
[authors.stark]
email = "stark_email"
[contributors]
[notify]
stark = "stark_email"
[history]
+2020-02-15 = """
+Move ConcreteCategory.thy from Bicategory to Category3 and use it systematically.
+Make other minor improvements throughout.
+(revision a51840d36867)<br>
+"""
+2020-11-04 = """
+Added new material on equivalence of bicategories, with associated changes.
+(revision 472cb2268826)<br>
+"""
+2021-07-22 = """
+Added new material: \"concrete bicategories\" and \"bicategory of categories\".
+(revision 49d3aa43c180)<br>"""
[extra]
[related]
diff --git a/metadata/entries/Bounded_Deducibility_Security.toml b/metadata/entries/Bounded_Deducibility_Security.toml
--- a/metadata/entries/Bounded_Deducibility_Security.toml
+++ b/metadata/entries/Bounded_Deducibility_Security.toml
@@ -1,40 +1,48 @@
title = "Bounded-Deducibility Security"
date = 2014-04-22
topics = [
"Computer science/Security",
]
abstract = """
This is a formalization of bounded-deducibility security (BD
security), a flexible notion of information-flow security applicable
to arbitrary transition systems. It generalizes Sutherland's
classic notion of nondeducibility by factoring in declassification
bounds and trigger, whereas nondeducibility states that, in a
system, information cannot flow between specified sources and sinks,
BD security indicates upper bounds for the flow and triggers under
which these upper bounds are no longer guaranteed."""
license = "bsd"
note = ""
[authors]
[authors.popescu]
homepage = "popescu_homepage"
[authors.lammich]
homepage = "lammich_homepage"
[authors.bauereiss]
email = "bauereiss_email"
[contributors]
[notify]
popescu = "popescu_email1"
lammich = "lammich_email"
bauereiss = "bauereiss_email"
[history]
+2021-08-12 = """
+Generalised BD Security from I/O automata to nondeterministic
+transition systems, with the former retained as an instance of the
+latter (renaming locale BD_Security to BD_Security_IO).
+Generalise unwinding conditions to allow making more than one
+transition at a time when constructing alternative traces.
+Add results about the expressivity of declassification triggers vs.
+bounds, due to Thomas Bauereiss (added as author)."""
[extra]
[related]
diff --git a/metadata/entries/CRYSTALS-Kyber.toml b/metadata/entries/CRYSTALS-Kyber.toml
new file mode 100644
--- /dev/null
+++ b/metadata/entries/CRYSTALS-Kyber.toml
@@ -0,0 +1,33 @@
+title = "CRYSTALS-Kyber"
+date = 2022-09-08
+topics = [
+ "Computer science/Security",
+]
+abstract = """
+This article formalizes the specification and the algorithm of the
+cryptographic scheme CRYSTALS-KYBER with multiplication using the
+Number Theoretic Transform and verifies its (1-δ)-correctness proof.
+CRYSTALS-KYBER is a key encapsulation mechanism in lattice-based
+post-quantum cryptography. This entry formalizes the key generation,
+encryption and decryption algorithms and shows that the algorithm
+decodes correctly under a highly probable assumption
+((1-δ)-correctness). Moreover, the Number Theoretic Transform (NTT) in
+the case of Kyber and the convolution theorem thereon is formalized."""
+license = "bsd"
+note = ""
+
+[authors]
+
+[authors.kreuzer]
+email = "kreuzer_email1"
+
+[contributors]
+
+[notify]
+kreuzer = "kreuzer_email1"
+
+[history]
+
+[extra]
+
+[related]
diff --git a/metadata/entries/Category3.toml b/metadata/entries/Category3.toml
--- a/metadata/entries/Category3.toml
+++ b/metadata/entries/Category3.toml
@@ -1,69 +1,91 @@
title = "Category Theory with Adjunctions and Limits"
date = 2016-06-26
topics = [
"Mathematics/Category theory",
]
abstract = """
<p>
This article attempts to develop a usable framework for doing category
theory in Isabelle/HOL. Our point of view, which to some extent
differs from that of the previous AFP articles on the subject, is to
try to explore how category theory can be done efficaciously within
HOL, rather than trying to match exactly the way things are done using
a traditional approach. To this end, we define the notion of category
in an \"object-free\" style, in which a category is represented by a
single partial composition operation on arrows. This way of defining
categories provides some advantages in the context of HOL, including
the ability to avoid the use of records and the possibility of
defining functors and natural transformations simply as certain
functions on arrows, rather than as composite objects. We define
various constructions associated with the basic notions, including:
dual category, product category, functor category, discrete category,
free category, functor composition, and horizontal and vertical
composite of natural transformations. A \"set category\" locale is
defined that axiomatizes the notion \"category of all sets at a type
and all functions between them,\" and a fairly extensive set of
properties of set categories is derived from the locale assumptions.
The notion of a set category is used to prove the Yoneda Lemma in a
general setting of a category equipped with a \"hom embedding,\" which
maps arrows of the category to the \"universe\" of the set category. We
also give a treatment of adjunctions, defining adjunctions via left
and right adjoint functors, natural bijections between hom-sets, and
unit and counit natural transformations, and showing the equivalence
of these definitions. We also develop the theory of limits, including
representations of functors, diagrams and cones, and diagonal
functors. We show that right adjoint functors preserve limits, and
that limits can be constructed via products and equalizers. We
characterize the conditions under which limits exist in a set
category. We also examine the case of limits in a functor category,
ultimately culminating in a proof that the Yoneda embedding preserves
limits.
</p><p>
Revisions made subsequent to the first version of this article added
material on equivalence of categories, cartesian categories,
categories with pullbacks, categories with finite limits, and
cartesian closed categories. A construction was given of the category
of hereditarily finite sets and functions between them, and it was
shown that this category is cartesian closed.
Using \"ZFC_in_HOL\", a construction was also given of the (large)
category of small sets and functions between them, and it was shown
that this category is small-complete.
</p>"""
license = "bsd"
note = ""
[authors]
[authors.stark]
email = "stark_email"
[contributors]
[notify]
stark = "stark_email"
[history]
+2021-07-22 = """
+Minor changes to sublocale declarations related to functor/natural transformation to
+avoid issues with global interpretations reported 2/2/2021 by Filip Smola.
+(revision 49d3aa43c180)<br>"""
+2018-05-29 = """
+Revised axioms for the category locale. Introduced notation for composition and \"in hom\".
+(revision 8318366d4575)<br>
+"""
+2020-02-15 = """
+Move ConcreteCategory.thy from Bicategory to Category3 and use it systematically.
+Make other minor improvements throughout.
+(revision a51840d36867)<br>
+"""
+2020-07-10 = """
+Added new material, mostly centered around cartesian categories.
+(revision 06640f317a79)<br>
+"""
+2020-11-04 = """
+Minor modifications and extensions made in conjunction with the addition
+of new material to Bicategory.
+(revision 472cb2268826)<br>
+"""
[extra]
[related]
diff --git a/metadata/entries/Coinductive.toml b/metadata/entries/Coinductive.toml
--- a/metadata/entries/Coinductive.toml
+++ b/metadata/entries/Coinductive.toml
@@ -1,27 +1,70 @@
title = "Coinductive"
date = 2010-02-12
topics = [
"Computer science/Functional programming",
]
abstract = "This article collects formalisations of general-purpose coinductive data types and sets. Currently, it contains coinductive natural numbers, coinductive lists, i.e. lazy lists or streams, infinite streams, coinductive terminated lists, coinductive resumptions, a library of operations on coinductive lists, and a version of König's lemma as an application for coinductive lists.<br>The initial theory was contributed by Paulson and Wenzel. Extensions and other coinductive formalisations of general interest are welcome."
license = "bsd"
note = ""
[authors]
[authors.lochbihler]
homepage = "lochbihler_homepage"
[contributors]
[contributors.hoelzl]
email = "hoelzl_email"
[notify]
lochbihler = "lochbihler_email1"
[history]
+2011-02-01 = """
+lazy implementation of coinductive (terminated) lists for the code generator
+(revision 6034973dce83)<br>
+"""
+2010-06-10 = """
+coinductive lists: setup for quotient package
+(revision 015574f3bf3c)<br>
+"""
+2012-06-27 = """
+new codatatype stream with operations (with contributions by Peter Gammie)
+(revision dd789a56473c)<br>
+"""
+2010-06-28 = """
+new codatatype terminated lazy lists
+(revision e12de475c558)<br>
+"""
+2014-04-03 = """
+ccpo structure on codatatypes used to define ldrop, ldropWhile, lfilter, lconcat as least fixpoint;
+ccpo topology on coinductive lists contributed by Johannes Hölzl;
+added examples
+(revision 23cd8156bd42)<br>"""
+2013-03-13 = """
+construct codatatypes with the BNF package and adjust the definitions and proofs,
+setup for lifting and transfer packages
+(revision f593eda5b2c0)<br>
+"""
+2011-07-20 = """
+new codatatype resumption
+(revision 811364c776c7)<br>
+"""
+2010-08-17 = """
+Koenig's lemma as an example application for coinductive lists
+(revision f81ce373fa96)<br>
+"""
+2010-08-04 = """
+terminated lazy lists: setup for quotient package;
+more lemmas
+(revision 6ead626f1d01)<br>
+"""
+2013-09-20 = """
+stream theory uses type and operations from HOL/BNF/Examples/Stream
+(revision 692809b2b262)<br>
+"""
[extra]
[related]
diff --git a/metadata/entries/Collections.toml b/metadata/entries/Collections.toml
--- a/metadata/entries/Collections.toml
+++ b/metadata/entries/Collections.toml
@@ -1,49 +1,45 @@
title = "Collections Framework"
date = 2009-11-25
topics = [
"Computer science/Data structures",
]
abstract = "This development provides an efficient, extensible, machine checked collections framework. The library adopts the concepts of interface, implementation and generic algorithm from object-oriented programming and implements them in Isabelle/HOL. The framework features the use of data refinement techniques to refine an abstract specification (using high-level concepts like sets) to a more concrete implementation (using collection datastructures, like red-black-trees). The code-generator of Isabelle/HOL can be used to generate efficient code."
license = "bsd"
note = ""
[authors]
[authors.lammich]
homepage = "lammich_homepage"
[contributors]
[contributors.lochbihler]
homepage = "lochbihler_homepage"
[contributors.tuerk]
[notify]
lammich = "lammich_email"
[history]
2010-10-08 = """
New Interfaces: OrderedSet, OrderedMap, List.
Fifo now implements list-interface: Function names changed: put/get --> enqueue/dequeue.
New Implementations: ArrayList, ArrayHashMap, ArrayHashSet, TrieMap, TrieSet.
Invariant-free datastructures: Invariant implicitely hidden in typedef.
Record-interfaces: All operations of an interface encapsulated as record.
Examples moved to examples subdirectory.<br>
"""
-2010-12-01 = """
-New Interfaces: Priority Queues, Annotated Lists. Implemented by finger trees, (skew) binomial queues.<br>
-"""
+2010-12-01 = "New Interfaces: Priority Queues, Annotated Lists. Implemented by finger trees, (skew) binomial queues.<br>"
2011-10-10 = """
SetSpec: Added operations: sng, isSng, bexists, size_abort, diff, filter, iterate_rule_insertP
MapSpec: Added operations: sng, isSng, iterate_rule_insertP, bexists, size, size_abort, restrict,
map_image_filter, map_value_image_filter
Some maintenance changes<br>
"""
-2012-04-25 = """
-New iterator foundation by Tuerk. Various maintenance changes.<br>
-"""
+2012-04-25 = "New iterator foundation by Tuerk. Various maintenance changes.<br>"
[extra]
[related]
diff --git a/metadata/entries/Complx.toml b/metadata/entries/Complx.toml
--- a/metadata/entries/Complx.toml
+++ b/metadata/entries/Complx.toml
@@ -1,50 +1,53 @@
title = "COMPLX: A Verification Framework for Concurrent Imperative Programs"
date = 2016-11-29
topics = [
"Computer science/Programming languages/Logics",
"Computer science/Programming languages/Language definitions",
]
abstract = """
We propose a concurrency reasoning framework for imperative programs,
based on the Owicki-Gries (OG) foundational shared-variable
concurrency method. Our framework combines the approaches of
Hoare-Parallel, a formalisation of OG in Isabelle/HOL for a simple
while-language, and Simpl, a generic imperative language embedded in
Isabelle/HOL, allowing formal reasoning on C programs. We define the
Complx language, extending the syntax and semantics of Simpl with
support for parallel composition and synchronisation. We additionally
define an OG logic, which we prove sound w.r.t. the semantics, and a
verification condition generator, both supporting involved low-level
imperative constructs such as function calls and abrupt termination.
We illustrate our framework on an example that features exceptions,
guards and function calls. We aim to then target concurrent operating
systems, such as the interruptible eChronos embedded operating system
for which we already have a model-level OG proof using Hoare-Parallel."""
license = "bsd"
note = ""
[authors]
[authors.amani]
[authors.andronick]
[authors.bortin]
[authors.lewis]
[authors.rizkallah]
[authors.tuongj]
[contributors]
[notify]
amani = "amani_email"
lewis = "lewis_email"
[history]
+2017-01-13 = """
+Improve VCG for nested parallels and sequential sections
+(revision 30739dbc3dcb)"""
[extra]
[related]
diff --git a/metadata/entries/Containers.toml b/metadata/entries/Containers.toml
--- a/metadata/entries/Containers.toml
+++ b/metadata/entries/Containers.toml
@@ -1,41 +1,41 @@
title = "Light-weight Containers"
date = 2013-04-15
topics = [
"Computer science/Data structures",
]
abstract = """
This development provides a framework for container types like sets and maps such that generated code implements these containers with different (efficient) data structures.
Thanks to type classes and refinement during code generation, this light-weight approach can seamlessly replace Isabelle's default setup for code generation.
Heuristics automatically pick one of the available data structures depending on the type of elements to be stored, but users can also choose on their own.
The extensible design permits to add more implementations at any time.
<p>
To support arbitrary nesting of sets, we define a linear order on sets based on a linear order of the elements and provide efficient implementations.
It even allows to compare complements with non-complements."""
license = "bsd"
note = ""
[authors]
[authors.lochbihler]
homepage = "lochbihler_homepage"
[contributors]
[contributors.thiemann]
email = "thiemann_email"
[notify]
lochbihler = "lochbihler_email1"
[history]
-2013-07-11 = """
-add pretty printing for sets (revision 7f3f52c5f5fa)<br>
+2013-07-11 = "add pretty printing for sets (revision 7f3f52c5f5fa)<br>"
+2013-09-20 = """
+provide generators for canonical type class instantiations
+(revision 159f4401f4a8 by René Thiemann)<br>
"""
-2014-07-08 = """
-add support for going from partial functions to mappings (revision 7a6fc957e8ed)<br>
-"""
+2014-07-08 = "add support for going from partial functions to mappings (revision 7a6fc957e8ed)<br>"
2018-03-05 = "add two application examples: depth-first search and 2SAT (revision e5e1a1da2411)"
[extra]
[related]
diff --git a/metadata/entries/Dependent_SIFUM_Refinement.toml b/metadata/entries/Dependent_SIFUM_Refinement.toml
--- a/metadata/entries/Dependent_SIFUM_Refinement.toml
+++ b/metadata/entries/Dependent_SIFUM_Refinement.toml
@@ -1,37 +1,44 @@
title = "Compositional Security-Preserving Refinement for Concurrent Imperative Programs"
date = 2016-06-28
topics = [
"Computer science/Security",
]
abstract = """
The paper \"Compositional Verification and Refinement of Concurrent
Value-Dependent Noninterference\" by Murray et. al. (CSF 2016) presents
a compositional theory of refinement for a value-dependent
noninterference property, defined in (Murray, PLAS 2015), for
concurrent programs. This development formalises that refinement
theory, and demonstrates its application on some small examples."""
license = "bsd"
note = ""
[authors]
[authors.murray]
homepage = "murray_homepage"
[authors.sison]
[authors.pierzchalski]
[authors.rizkallah]
homepage = "rizkallah_homepage"
[contributors]
[notify]
murray = "murray_email"
[history]
+2016-08-19 = """
+Removed unused \"stop\" parameters from the sifum_refinement locale.
+(revision dbc482d36372)
+"""
+2016-09-02 = """
+TobyM extended \"simple\" refinement theory to be usable for all bisimulations.
+(revision 547f31c25f60)"""
[extra]
[related]
diff --git a/metadata/entries/Dependent_SIFUM_Type_Systems.toml b/metadata/entries/Dependent_SIFUM_Type_Systems.toml
--- a/metadata/entries/Dependent_SIFUM_Type_Systems.toml
+++ b/metadata/entries/Dependent_SIFUM_Type_Systems.toml
@@ -1,41 +1,48 @@
title = "A Dependent Security Type System for Concurrent Imperative Programs"
date = 2016-06-25
topics = [
"Computer science/Security",
"Computer science/Programming languages/Type systems",
]
abstract = """
The paper \"Compositional Verification and Refinement of Concurrent
Value-Dependent Noninterference\" by Murray et. al. (CSF 2016) presents
a dependent security type system for compositionally verifying a
value-dependent noninterference property, defined in (Murray, PLAS
2015), for concurrent programs. This development formalises that
security definition, the type system and its soundness proof, and
demonstrates its application on some small examples. It was derived
from the SIFUM_Type_Systems AFP entry, by Sylvia Grewe, Heiko Mantel
and Daniel Schoepe, and whose structure it inherits."""
license = "bsd"
note = ""
[authors]
[authors.murray]
homepage = "murray_homepage"
[authors.sison]
[authors.pierzchalski]
[authors.rizkallah]
homepage = "rizkallah_homepage"
[contributors]
[notify]
murray = "murray_email"
[history]
+2016-08-19 = """
+Removed unused \"stop\" parameter and \"stop_no_eval\" assumption from the sifum_security locale.
+(revision dbc482d36372)
+"""
+2016-09-27 = """
+Added security locale support for the imposition of requirements on the initial memory.
+(revision cce4ceb74ddb)"""
[extra]
[related]
diff --git a/metadata/entries/DiscretePricing.toml b/metadata/entries/DiscretePricing.toml
--- a/metadata/entries/DiscretePricing.toml
+++ b/metadata/entries/DiscretePricing.toml
@@ -1,31 +1,38 @@
title = "Pricing in discrete financial models"
date = 2018-07-16
topics = [
"Mathematics/Probability theory",
"Mathematics/Games and economics",
]
abstract = """
We have formalized the computation of fair prices for derivative
products in discrete financial models. As an application, we derive a
way to compute fair prices of derivative products in the
Cox-Ross-Rubinstein model of a financial market, thus completing the
work that was presented in this <a
href=\"https://hal.archives-ouvertes.fr/hal-01562944\">paper</a>."""
license = "bsd"
note = ""
[authors]
[authors.echenim]
homepage = "echenim_homepage"
[contributors]
[notify]
echenim = "echenim_email"
[history]
+2019-05-12 = """
+Renamed discr_mkt predicate to stk_strict_subs and got rid of predicate A for a more natural definition of the type discrete_market;
+renamed basic quantity processes for coherent notation;
+renamed value_process into val_process and closing_value_process to cls_val_process;
+relaxed hypothesis of lemma CRR_market_fair_price.
+Added functions to price some basic options.
+(revision 0b813a1a833f)<br>"""
[extra]
[related]
diff --git a/metadata/entries/Efficient-Mergesort.toml b/metadata/entries/Efficient-Mergesort.toml
--- a/metadata/entries/Efficient-Mergesort.toml
+++ b/metadata/entries/Efficient-Mergesort.toml
@@ -1,24 +1,36 @@
title = "Efficient Mergesort"
date = 2011-11-09
topics = [
"Computer science/Algorithms",
]
abstract = "We provide a formalization of the mergesort algorithm as used in GHC's Data.List module, proving correctness and stability. Furthermore, experimental data suggests that generated (Haskell-)code for this algorithm is much faster than for previous algorithms available in the Isabelle distribution."
license = "bsd"
note = ""
[authors]
[authors.sternagel]
email = "sternagel_email"
[contributors]
[notify]
sternagel = "sternagel_email"
[history]
+2012-10-24 = "Added reference to journal article.<br>"
+2018-09-17 = """
+Added theory Efficient_Mergesort that works exclusively with the mutual
+induction schemas generated by the function package.<br>
+"""
+2018-09-19 = """
+Theory Efficient_Mergesort replaces theory Efficient_Sort but keeping the old
+name Efficient_Sort.
+"""
+2020-11-20 = """
+Additional theory Natural_Mergesort that developes an efficient mergesort
+algorithm without key-functions for educational purposes."""
[extra]
[related]
diff --git a/metadata/entries/Featherweight_OCL.toml b/metadata/entries/Featherweight_OCL.toml
--- a/metadata/entries/Featherweight_OCL.toml
+++ b/metadata/entries/Featherweight_OCL.toml
@@ -1,53 +1,62 @@
title = "Featherweight OCL: A Proposal for a Machine-Checked Formal Semantics for OCL 2.5"
date = 2014-01-16
topics = [
"Computer science/System description languages",
]
abstract = """
The Unified Modeling Language (UML) is one of the few
modeling languages that is widely used in industry. While
UML is mostly known as diagrammatic modeling language
(e.g., visualizing class models), it is complemented by a
textual language, called Object Constraint Language
(OCL). The current version of OCL is based on a four-valued
logic that turns UML into a formal language. Any type
comprises the elements \"invalid\" and \"null\" which are
propagated as strict and non-strict, respectively.
Unfortunately, the former semi-formal semantics of this
specification language, captured in the \"Annex A\" of the
OCL standard, leads to different interpretations of corner
cases. We formalize the core of OCL: denotational
definitions, a logical calculus and operational rules that
allow for the execution of OCL expressions by a mixture of
term rewriting and code compilation. Our formalization
reveals several inconsistencies and contradictions in the
current version of the OCL standard. Overall, this document
is intended to provide the basis for a machine-checked text
\"Annex A\" of the OCL standard targeting at tool
implementors."""
license = "bsd"
note = ""
[authors]
[authors.brucker]
email = "brucker_email1"
[authors.tuong]
email = "tuong_email"
[authors.wolff]
email = "wolff_email"
[contributors]
[notify]
brucker = "brucker_email1"
tuong = "tuong_email"
wolff = "wolff_email"
[history]
+2015-10-13 = """
+<a href=\"https://foss.heptapod.net/isa-afp/afp-devel/-/commit/e68e1996d5d4926397c9244e786446e99ab17e63\">afp-devel@ea3b38fc54d6</a> and
+<a href=\"https://projects.brucker.ch/hol-testgen/log/trunk?rev=12148\">hol-testgen@12148</a><br>
+&nbsp;&nbsp;&nbsp;Update of Featherweight OCL including a change in the abstract.<br>
+"""
+2014-01-16 = """
+<a href=\"https://foss.heptapod.net/isa-afp/afp-devel/-/commit/6217cc5b29c560f24ecc64c81047778becb69f51\">afp-devel@9091ce05cb20</a> and
+<a href=\"https://projects.brucker.ch/hol-testgen/log/trunk?rev=10241\">hol-testgen@10241</a><br>
+&nbsp;&nbsp;&nbsp;New Entry: Featherweight OCL"""
[extra]
[related]
diff --git a/metadata/entries/FinFun.toml b/metadata/entries/FinFun.toml
--- a/metadata/entries/FinFun.toml
+++ b/metadata/entries/FinFun.toml
@@ -1,24 +1,35 @@
title = "Code Generation for Functions as Data"
date = 2009-05-06
topics = [
"Computer science/Data structures",
]
abstract = "FinFuns are total functions that are constant except for a finite set of points, i.e. a generalisation of finite maps. They are formalised as a new type in Isabelle/HOL such that the code generator can handle equality tests and quantification on FinFuns. On the code output level, FinFuns are explicitly represented by constant functions and pointwise updates, similarly to associative lists. Inside the logic, they behave like ordinary functions with extensionality. Via the update/constant pattern, a recursion combinator and an induction rule for FinFuns allow for defining and reasoning about operators on FinFun that are also executable."
license = "bsd"
note = ""
[authors]
[authors.lochbihler]
homepage = "lochbihler_homepage"
[contributors]
[notify]
nipkow = "nipkow_email"
[history]
+2010-08-13 = """
+new concept domain of a FinFun as a FinFun
+(revision 34b3517cbc09)<br>
+"""
+2010-11-04 = """
+new conversion function from FinFun to list of elements in the domain
+(revision 0c167102e6ed)<br>
+"""
+2012-03-07 = """
+replace sets as FinFuns by predicates as FinFuns because the set type constructor has been reintroduced
+(revision b7aa87989f3a)"""
[extra]
[related]
diff --git a/metadata/entries/Flyspeck-Tame.toml b/metadata/entries/Flyspeck-Tame.toml
--- a/metadata/entries/Flyspeck-Tame.toml
+++ b/metadata/entries/Flyspeck-Tame.toml
@@ -1,40 +1,38 @@
title = "Flyspeck I: Tame Graphs"
date = 2006-05-22
topics = [
"Mathematics/Graph theory",
]
abstract = """
These theories present the verified enumeration of <i>tame</i> plane graphs
as defined by Thomas C. Hales in his proof of the Kepler Conjecture in his
book <i>Dense Sphere Packings. A Blueprint for Formal Proofs.</i> [CUP 2012].
The values of the constants in the definition of tameness are identical to
those in the <a href=\"https://code.google.com/p/flyspeck/\">Flyspeck project</a>.
The <a href=\"http://www21.in.tum.de/~nipkow/pubs/Flyspeck/\">IJCAR 2006 paper by Nipkow, Bauer and Schultz</a> refers to the original version of Hales' proof,
the <a href=\"http://www21.in.tum.de/~nipkow/pubs/itp11.html\">ITP 2011 paper by Nipkow</a> refers to the Blueprint version of the proof."""
license = "bsd"
note = ""
[authors]
[authors.bauer]
[authors.nipkow]
homepage = "nipkow_homepage"
[contributors]
[notify]
nipkow = "nipkow_email"
[related]
dois = ["10.1007/11814771_4", "10.1007/978-3-642-22863-6_21", "10.1007/s00454-009-9148-4", "10.1017/fmp.2017.1"]
[history]
-2010-11-02 = """
-modified theories to reflect the modified definition of tameness in Hales' revised proof.<br>
-"""
+2010-11-02 = "modified theories to reflect the modified definition of tameness in Hales' revised proof.<br>"
2014-07-03 = "modified constants in def of tameness and Archive according to the final state of the Flyspeck proof."
[extra]
[related]
diff --git a/metadata/entries/Game_Based_Crypto.toml b/metadata/entries/Game_Based_Crypto.toml
--- a/metadata/entries/Game_Based_Crypto.toml
+++ b/metadata/entries/Game_Based_Crypto.toml
@@ -1,45 +1,48 @@
title = "Game-based cryptography in HOL"
date = 2017-05-05
topics = [
"Computer science/Security/Cryptography",
]
abstract = """
<p>In this AFP entry, we show how to specify game-based cryptographic
security notions and formally prove secure several cryptographic
constructions from the literature using the CryptHOL framework. Among
others, we formalise the notions of a random oracle, a pseudo-random
function, an unpredictable function, and of encryption schemes that are
indistinguishable under chosen plaintext and/or ciphertext attacks. We
prove the random-permutation/random-function switching lemma, security
of the Elgamal and hashed Elgamal public-key encryption scheme and
correctness and security of several constructions with pseudo-random
functions.
</p><p>Our proofs follow the game-hopping style advocated by
Shoup and Bellare and Rogaway, from which most of the examples have
been taken. We generalise some of their results such that they can be
reused in other proofs. Thanks to CryptHOL's integration with
Isabelle's parametricity infrastructure, many simple hops are easily
justified using the theory of representation independence.</p>"""
license = "bsd"
note = ""
[authors]
[authors.lochbihler]
homepage = "lochbihler_homepage"
[authors.sefidgar]
[authors.bhatt]
email = "bhatt_email"
[contributors]
[notify]
lochbihler = "lochbihler_email1"
[history]
+2018-09-28 = """
+added the CryptHOL tutorial for game-based cryptography
+(revision 489a395764ae)"""
[extra]
[related]
diff --git a/metadata/entries/GewirthPGCProof.toml b/metadata/entries/GewirthPGCProof.toml
--- a/metadata/entries/GewirthPGCProof.toml
+++ b/metadata/entries/GewirthPGCProof.toml
@@ -1,33 +1,36 @@
title = "Formalisation and Evaluation of Alan Gewirth's Proof for the Principle of Generic Consistency in Isabelle/HOL"
date = 2018-10-30
topics = [
"Logic/Philosophical aspects",
]
abstract = """
An ambitious ethical theory ---Alan Gewirth's \"Principle of
Generic Consistency\"--- is encoded and analysed in Isabelle/HOL.
Gewirth's theory has stirred much attention in philosophy and
ethics and has been proposed as a potential means to bound the impact
of artificial general intelligence."""
license = "bsd"
note = ""
[authors]
[authors.fuenmayor]
email = "fuenmayor_email"
[authors.benzmueller]
homepage = "benzmueller_homepage"
[contributors]
[notify]
fuenmayor = "fuenmayor_email"
benzmueller = "benzmueller_email"
[history]
+2019-04-09 = """
+added proof for a stronger variant of the PGC and examplary inferences
+(revision 88182cb0a2f6)<br>"""
[extra]
[related]
diff --git a/metadata/entries/Hales_Jewett.toml b/metadata/entries/Hales_Jewett.toml
new file mode 100644
--- /dev/null
+++ b/metadata/entries/Hales_Jewett.toml
@@ -0,0 +1,42 @@
+title = "The Hales–Jewett Theorem"
+date = 2022-09-02
+topics = [
+ "Mathematics/Combinatorics",
+]
+abstract = """
+<p>This article is a formalisation of a proof of the
+Hales–Jewett theorem presented in the textbook <em>Ramsey
+Theory</em> by Graham et al.</p>
+<p>The Hales–Jewett theorem is a result in Ramsey Theory which
+states that, for any non-negative integers $r$ and $t$, there exists a
+minimal dimension $N$, such that any $r$-coloured
+$N'$-dimensional cube over $t$ elements (with $N' \\geq N$)
+contains a monochromatic line. This theorem generalises Van der
+Waerden's Theorem, which has already been formalised in another
+<a
+href="https://www.isa-afp.org/entries/Van_der_Waerden.html">AFP
+entry</a>.</p>"""
+license = "bsd"
+note = ""
+
+[authors]
+
+[authors.sulejmani]
+email = "sulejmani_email"
+
+[authors.eberl]
+email = "eberl_email2"
+
+[authors.kreuzer]
+email = "kreuzer_email1"
+
+[contributors]
+
+[notify]
+sulejmani = "sulejmani_email1"
+
+[history]
+
+[extra]
+
+[related]
diff --git a/metadata/entries/Interpreter_Optimizations.toml b/metadata/entries/Interpreter_Optimizations.toml
--- a/metadata/entries/Interpreter_Optimizations.toml
+++ b/metadata/entries/Interpreter_Optimizations.toml
@@ -1,40 +1,38 @@
title = "Inline Caching and Unboxing Optimization for Interpreters"
date = 2020-12-07
topics = [
"Computer science/Programming languages/Misc",
]
abstract = """
This Isabelle/HOL formalization builds on the
<em>VeriComp</em> entry of the <em>Archive of Formal
Proofs</em> to provide the following contributions: <ul>
<li>an operational semantics for a realistic virtual machine
(Std) for dynamically typed programming languages;</li>
<li>the formalization of an inline caching optimization (Inca),
a proof of bisimulation with (Std), and a compilation
function;</li> <li>the formalization of an unboxing
optimization (Ubx), a proof of bisimulation with (Inca), and a simple
compilation function.</li> </ul> This formalization was
described in the CPP 2021 paper <em>Towards Efficient and
Verified Virtual Machines for Dynamic Languages</em>"""
license = "bsd"
note = ""
[authors]
[authors.desharnais]
homepage = "desharnais_homepage"
[contributors]
[notify]
desharnais = "desharnais_email"
[history]
-2021-06-14 = """
-refactored function definitions to contain explicit basic blocks<br>
-"""
+2021-06-14 = "refactored function definitions to contain explicit basic blocks<br>"
2021-06-25 = "proved conditional completeness of compilation<br>"
[extra]
[related]
diff --git a/metadata/entries/Involutions2Squares.toml b/metadata/entries/Involutions2Squares.toml
--- a/metadata/entries/Involutions2Squares.toml
+++ b/metadata/entries/Involutions2Squares.toml
@@ -1,28 +1,28 @@
title = "From THE BOOK: Two Squares via Involutions"
date = 2022-08-15
topics = [
"Mathematics/Number theory",
]
abstract = """
This theory contains the involution-based proof of the two squares
theorem from <a
href="https://dx.doi.org/10.1007/978-3-662-57265-8">THE
BOOK</a>."""
license = "bsd"
note = ""
[authors]
[authors.bortin]
-email = "bortin_email"
+email = "bortin_email1"
[contributors]
[notify]
-bortin = "bortin_email"
+bortin = "bortin_email1"
[history]
[extra]
[related]
diff --git a/metadata/entries/JinjaThreads.toml b/metadata/entries/JinjaThreads.toml
--- a/metadata/entries/JinjaThreads.toml
+++ b/metadata/entries/JinjaThreads.toml
@@ -1,24 +1,84 @@
title = "Jinja with Threads"
date = 2007-12-03
topics = [
"Computer science/Programming languages/Language definitions",
]
abstract = "We extend the Jinja source code semantics by Klein and Nipkow with Java-style arrays and threads. Concurrency is captured in a generic framework semantics for adding concurrency through interleaving to a sequential semantics, which features dynamic thread creation, inter-thread communication via shared memory, lock synchronisation and joins. Also, threads can suspend themselves and be notified by others. We instantiate the framework with the adapted versions of both Jinja source and byte code and show type safety for the multithreaded case. Equally, the compiler from source to byte code is extended, for which we prove weak bisimilarity between the source code small step semantics and the defensive Jinja virtual machine. On top of this, we formalise the JMM and show the DRF guarantee and consistency. For description of the different parts, see Lochbihler's papers at FOOL 2008, ESOP 2010, ITP 2011, and ESOP 2012."
license = "bsd"
note = ""
[authors]
[authors.lochbihler]
homepage = "lochbihler_homepage"
[contributors]
[notify]
lochbihler = "lochbihler_email1"
[history]
+2010-10-15 = """
+preliminary version of the Java memory model for source code
+(revision 02fee0ef3ca2)<br>
+"""
+2012-11-21 = """
+type safety proof for the Java memory model,
+allow spurious wake-ups
+(revision 76063d860ae0)<br>
+"""
+2011-07-21 = """
+new interruption model,
+generalized JMM proof of DRF guarantee,
+allow class Object to declare methods and fields,
+simplified subtyping relation,
+corrected division and modulo implementation
+(revision 46e4181ed142)<br>
+"""
+2010-06-28 = """
+new thread interruption model
+(revision c0440d0a1177)<br>
+"""
+2008-04-23 = """
+added bytecode formalisation with arrays and threads, added thread joins
+(revision f74a8be156a7)<br>
+"""
+2012-02-16 = """
+added example programs
+(revision bf0b06c8913d)<br>
+"""
+2011-02-02 = """
+simplified code generator setup
+new random scheduler
+(revision 3059dafd013f)<br>
+"""
+2009-04-27 = """
+added verified compiler from source code to bytecode;
+encapsulate native methods in separate semantics
+(revision e4f26541e58a)<br>
+"""
+2017-10-20 = """
+add an atomic compare-and-swap operation for volatile fields
+(revision a6189b1d6b30)<br>"""
+2010-06-08 = """
+added thread interruption;
+new abstract memory model with sequential consistency as implementation
+(revision 0cb9e8dbd78d)<br>
+"""
+2010-12-16 = """
+improved version of the Java memory model, also for bytecode
+executable scheduler for source code semantics
+(revision 1f41c1842f5a)<br>
+"""
+2013-05-16 = """
+support for non-deterministic memory allocators
+(revision cc3344a49ced)<br>
+"""
+2009-11-30 = """
+extended compiler correctness proof to infinite and deadlocking computations
+(revision e50282397435)<br>
+"""
[extra]
[related]
diff --git a/metadata/entries/Jordan_Normal_Form.toml b/metadata/entries/Jordan_Normal_Form.toml
--- a/metadata/entries/Jordan_Normal_Form.toml
+++ b/metadata/entries/Jordan_Normal_Form.toml
@@ -1,44 +1,42 @@
title = "Matrices, Jordan Normal Forms, and Spectral Radius Theory"
date = 2015-08-21
topics = [
"Mathematics/Algebra",
]
abstract = """
<p>
Matrix interpretations are useful as measure functions in termination proving. In order to use these interpretations also for complexity analysis, the growth rate of matrix powers has to examined. Here, we formalized a central result of spectral radius theory, namely that the growth rate is polynomially bounded if and only if the spectral radius of a matrix is at most one.
</p><p>
To formally prove this result we first studied the growth rates of matrices in Jordan normal form, and prove the result that every complex matrix has a Jordan normal form using a constructive prove via Schur decomposition.
</p><p>
The whole development is based on a new abstract type for matrices, which is also executable by a suitable setup of the code generator. It completely subsumes our former AFP-entry on executable matrices, and its main advantage is its close connection to the HMA-representation which allowed us to easily adapt existing proofs on determinants.
</p><p>
All the results have been applied to improve CeTA, our certifier to validate termination and complexity proof certificates.
</p>"""
license = "bsd"
note = ""
[authors]
[authors.thiemann]
email = "thiemann_email"
[authors.yamada]
email = "yamada_email"
[contributors]
[contributors.bentkamp]
email = "bentkamp_email"
[notify]
thiemann = "thiemann_email"
yamada = "yamada_email1"
[history]
-2016-01-07 = """
-Added Schur-decomposition, Gram-Schmidt orthogonalization, uniqueness of Jordan normal forms<br/>
-"""
+2016-01-07 = "Added Schur-decomposition, Gram-Schmidt orthogonalization, uniqueness of Jordan normal forms<br/>"
2018-04-17 = "Integrated lemmas from deep-learning AFP-entry of Alexander Bentkamp"
[extra]
[related]
diff --git a/metadata/entries/Khovanskii_Theorem.toml b/metadata/entries/Khovanskii_Theorem.toml
new file mode 100644
--- /dev/null
+++ b/metadata/entries/Khovanskii_Theorem.toml
@@ -0,0 +1,33 @@
+title = "Khovanskii&#x27;s Theorem"
+date = 2022-09-02
+topics = [
+ "Mathematics/Combinatorics",
+]
+abstract = """
+We formalise the proof of an important theorem in additive
+combinatorics due to Khovanskii, attesting that the cardinality of the
+set of all sums of $n$ many elements of $A$, where $A$ is a finite
+subset of an abelian group, is a polynomial in $n$ for all
+sufficiently large $n$. We follow a proof due to Nathanson and Ruzsa
+as presented in the notes “Introduction to Additive Combinatorics” by
+Timothy Gowers for the University of Cambridge."""
+license = "bsd"
+note = ""
+
+[authors]
+
+[authors.argyraki]
+homepage = "argyraki_homepage"
+
+[authors.paulson]
+
+[contributors]
+
+[notify]
+paulson = "paulson_email"
+
+[history]
+
+[extra]
+
+[related]
diff --git a/metadata/entries/LLL_Basis_Reduction.toml b/metadata/entries/LLL_Basis_Reduction.toml
--- a/metadata/entries/LLL_Basis_Reduction.toml
+++ b/metadata/entries/LLL_Basis_Reduction.toml
@@ -1,60 +1,58 @@
title = "A verified LLL algorithm"
date = 2018-02-02
topics = [
"Computer science/Algorithms/Mathematical",
"Mathematics/Algebra",
]
abstract = """
The Lenstra-Lenstra-Lovász basis reduction algorithm, also known as
LLL algorithm, is an algorithm to find a basis with short, nearly
orthogonal vectors of an integer lattice. Thereby, it can also be seen
as an approximation to solve the shortest vector problem (SVP), which
is an NP-hard problem, where the approximation quality solely depends
on the dimension of the lattice, but not the lattice itself. The
algorithm also possesses many applications in diverse fields of
computer science, from cryptanalysis to number theory, but it is
specially well-known since it was used to implement the first
polynomial-time algorithm to factor polynomials. In this work we
present the first mechanized soundness proof of the LLL algorithm to
compute short vectors in lattices. The formalization follows a
textbook by von zur Gathen and Gerhard."""
license = "bsd"
note = ""
[authors]
[authors.bottesch]
[authors.divason]
homepage = "divason_homepage"
[authors.haslbeck]
homepage = "haslbeck_homepage"
[authors.joosten]
homepage = "joosten_homepage"
[authors.thiemann]
homepage = "thiemann_homepage"
[authors.yamada]
[contributors]
[notify]
bottesch = "bottesch_email"
divason = "divason_email"
haslbeck = "haslbeck_email"
joosten = "joosten_email2"
thiemann = "thiemann_email"
yamada = "yamada_email1"
[history]
-2018-04-16 = """
-Integrated formal complexity bounds (Haslbeck, Thiemann)
-"""
+2018-04-16 = "Integrated formal complexity bounds (Haslbeck, Thiemann)"
2018-05-25 = "Integrated much faster LLL implementation based on integer arithmetic (Bottesch, Haslbeck, Thiemann)"
[extra]
[related]
diff --git a/metadata/entries/LTL.toml b/metadata/entries/LTL.toml
--- a/metadata/entries/LTL.toml
+++ b/metadata/entries/LTL.toml
@@ -1,34 +1,37 @@
title = "Linear Temporal Logic"
date = 2016-03-01
topics = [
"Logic/General logic/Temporal logic",
"Computer science/Automata and formal languages",
]
abstract = """
This theory provides a formalisation of linear temporal logic (LTL)
and unifies previous formalisations within the AFP. This entry
establishes syntax and semantics for this logic and decouples it from
existing entries, yielding a common environment for theories reasoning
about LTL. Furthermore a parser written in SML and an executable
simplifier are provided."""
license = "bsd"
note = ""
[authors]
[authors.sickert]
homepage = "sickert_homepage"
[contributors]
[contributors.seidl]
email = "seidl_email"
[notify]
sickert = "sickert_email"
[history]
+2019-03-12 = """
+Support for additional operators, implementation of common equivalence relations,
+definition of syntactic fragments of LTL and the minimal disjunctive normal form. <br>"""
[extra]
[related]
diff --git a/metadata/entries/LTL_to_DRA.toml b/metadata/entries/LTL_to_DRA.toml
--- a/metadata/entries/LTL_to_DRA.toml
+++ b/metadata/entries/LTL_to_DRA.toml
@@ -1,28 +1,26 @@
title = "Converting Linear Temporal Logic to Deterministic (Generalized) Rabin Automata"
date = 2015-09-04
topics = [
"Computer science/Automata and formal languages",
]
abstract = "Recently, Javier Esparza and Jan Kretinsky proposed a new method directly translating linear temporal logic (LTL) formulas to deterministic (generalized) Rabin automata. Compared to the existing approaches of constructing a non-deterministic Buechi-automaton in the first step and then applying a determinization procedure (e.g. some variant of Safra's construction) in a second step, this new approach preservers a relation between the formula and the states of the resulting automaton. While the old approach produced a monolithic structure, the new method is compositional. Furthermore, in some cases the resulting automata are much smaller than the automata generated by existing approaches. In order to ensure the correctness of the construction, this entry contains a complete formalisation and verification of the translation. Furthermore from this basis executable code is generated."
license = "bsd"
note = ""
[authors]
[authors.sickert]
email = "sickert_email"
[contributors]
[notify]
sickert = "sickert_email"
[history]
-2015-09-23 = """
-Enable code export for the eager unfolding optimisation and reduce running time of the generated tool. Moreover, add support for the mlton SML compiler.<br>
-"""
+2015-09-23 = "Enable code export for the eager unfolding optimisation and reduce running time of the generated tool. Moreover, add support for the mlton SML compiler.<br>"
2016-03-24 = "Make use of the LTL entry and include the simplifier."
[extra]
[related]
diff --git a/metadata/entries/Launchbury.toml b/metadata/entries/Launchbury.toml
--- a/metadata/entries/Launchbury.toml
+++ b/metadata/entries/Launchbury.toml
@@ -1,28 +1,26 @@
title = "The Correctness of Launchbury's Natural Semantics for Lazy Evaluation"
date = 2013-01-31
topics = [
"Computer science/Programming languages/Lambda calculi",
"Computer science/Semantics and reasoning",
]
abstract = "In his seminal paper \"Natural Semantics for Lazy Evaluation\", John Launchbury proves his semantics correct with respect to a denotational semantics, and outlines an adequacy proof. We have formalized both semantics and machine-checked the correctness proof, clarifying some details. Furthermore, we provide a new and more direct adequacy proof that does not require intermediate operational semantics."
license = "bsd"
note = ""
[authors]
[authors.breitner]
homepage = "breitner_homepage"
[contributors]
[notify]
[history]
-2014-05-24 = """
-Added the proof of adequacy, as well as simplified and improved the existing proofs. Adjusted abstract accordingly.
-"""
+2014-05-24 = "Added the proof of adequacy, as well as simplified and improved the existing proofs. Adjusted abstract accordingly."
2015-03-16 = "Booleans and if-then-else added to syntax and semantics, making this entry suitable to be used by the entry \"Call_Arity\"."
[extra]
[related]
diff --git a/metadata/entries/MFMC_Countable.toml b/metadata/entries/MFMC_Countable.toml
--- a/metadata/entries/MFMC_Countable.toml
+++ b/metadata/entries/MFMC_Countable.toml
@@ -1,40 +1,51 @@
title = "A Formal Proof of the Max-Flow Min-Cut Theorem for Countable Networks"
date = 2016-05-09
topics = [
"Mathematics/Graph theory",
]
abstract = """
This article formalises a proof of the maximum-flow minimal-cut
theorem for networks with countably many edges. A network is a
directed graph with non-negative real-valued edge labels and two
dedicated vertices, the source and the sink. A flow in a network
assigns non-negative real numbers to the edges such that for all
vertices except for the source and the sink, the sum of values on
incoming edges equals the sum of values on outgoing edges. A cut is a
subset of the vertices which contains the source, but not the sink.
Our theorem states that in every network, there is a flow and a cut
such that the flow saturates all the edges going out of the cut and is
zero on all the incoming edges. The proof is based on the paper
<emph>The Max-Flow Min-Cut theorem for countable networks</emph> by
Aharoni et al. Additionally, we prove a characterisation of the
lifting operation for relations on discrete probability distributions,
which leads to a concise proof of its distributivity over relation
composition."""
license = "bsd"
note = ""
[authors]
[authors.lochbihler]
homepage = "lochbihler_homepage"
[contributors]
[notify]
lochbihler = "lochbihler_email1"
[history]
+2017-09-06 = """
+derive characterisation for the lifting operation on discrete distributions from finite version of the max-flow min-cut theorem
+(revision a7a198f5bab0)<br>
+"""
+2020-12-19 = """
+simpler proof of linkability for bounded unhindered bipartite webs, leading to a simpler proof for networks with bounded out-capacities
+(revision 93ca33f4d915)<br>
+"""
+2021-08-13 = """
+generalize the derivation of the characterisation for the relator of discrete probability distributions to work for the bounded and unbounded MFMC theorem
+(revision 3c85bb52bbe6)<br>"""
[extra]
[related]
diff --git a/metadata/entries/MFOTL_Monitor.toml b/metadata/entries/MFOTL_Monitor.toml
--- a/metadata/entries/MFOTL_Monitor.toml
+++ b/metadata/entries/MFOTL_Monitor.toml
@@ -1,44 +1,47 @@
title = "Formalization of a Monitoring Algorithm for Metric First-Order Temporal Logic"
date = 2019-07-04
topics = [
"Computer science/Algorithms",
"Logic/General logic/Temporal logic",
"Computer science/Automata and formal languages",
]
abstract = """
A monitor is a runtime verification tool that solves the following
problem: Given a stream of time-stamped events and a policy formulated
in a specification language, decide whether the policy is satisfied at
every point in the stream. We verify the correctness of an executable
monitor for specifications given as formulas in metric first-order
temporal logic (MFOTL), an expressive extension of linear temporal
logic with real-time constraints and first-order quantification. The
verified monitor implements a simplified variant of the algorithm used
in the efficient MonPoly monitoring tool. The formalization is
presented in a <a href=\"https://doi.org/10.1007/978-3-030-32079-9_18\">RV
2019 paper</a>, which also compares the output of the verified
monitor to that of other monitoring tools on randomly generated
inputs. This case study revealed several errors in the optimized but
unverified tools."""
license = "bsd"
note = ""
[authors]
[authors.schneider]
email = "schneider_email"
[authors.traytel]
homepage = "traytel_homepage"
[contributors]
[notify]
schneider = "schneider_email"
traytel = "traytel_email1"
[history]
+2020-08-13 = """
+added the formalization of the abstract slicing framework and joint data
+slicer (revision b1639ed541b7)<br>"""
[extra]
[related]
diff --git a/metadata/entries/Modal_Logics_for_NTS.toml b/metadata/entries/Modal_Logics_for_NTS.toml
--- a/metadata/entries/Modal_Logics_for_NTS.toml
+++ b/metadata/entries/Modal_Logics_for_NTS.toml
@@ -1,46 +1,49 @@
title = "Modal Logics for Nominal Transition Systems"
date = 2016-10-25
topics = [
"Computer science/Concurrency/Process calculi",
"Logic/General logic/Modal logic",
]
abstract = """
We formalize a uniform semantic substrate for a wide variety of
process calculi where states and action labels can be from arbitrary
nominal sets. A Hennessy-Milner logic for these systems is defined,
and proved adequate for bisimulation equivalence. A main novelty is
the construction of an infinitary nominal data type to model formulas
with (finitely supported) infinite conjunctions and actions that may
contain binding names. The logic is generalized to treat different
bisimulation variants such as early, late and open in a systematic
way."""
license = "bsd"
note = ""
[authors]
[authors.weber]
email = "weber_email"
[authors.eriksson]
email = "eriksson_email"
[authors.parrow]
email = "parrow_email"
[authors.borgstroem]
email = "borgstroem_email"
[authors.gutkovas]
email = "gutkovas_email"
[contributors]
[notify]
weber = "weber_email"
[history]
+2017-01-29 = """
+Formalization of weak bisimilarity added
+(revision c87cc2057d9c)"""
[extra]
[related]
diff --git a/metadata/entries/MonoidalCategory.toml b/metadata/entries/MonoidalCategory.toml
--- a/metadata/entries/MonoidalCategory.toml
+++ b/metadata/entries/MonoidalCategory.toml
@@ -1,49 +1,64 @@
title = "Monoidal Categories"
date = 2017-05-04
topics = [
"Mathematics/Category theory",
]
abstract = """
<p>
Building on the formalization of basic category theory set out in the
author's previous AFP article, the present article formalizes
some basic aspects of the theory of monoidal categories. Among the
notions defined here are monoidal category, monoidal functor, and
equivalence of monoidal categories. The main theorems formalized are
MacLane's coherence theorem and the constructions of the free
monoidal category and free strict monoidal category generated by a
given category. The coherence theorem is proved syntactically, using
a structurally recursive approach to reduction of terms that might
have some novel aspects. We also give proofs of some results given by
Etingof et al, which may prove useful in a formal setting. In
particular, we show that the left and right unitors need not be taken
as given data in the definition of monoidal category, nor does the
definition of monoidal functor need to take as given a specific
isomorphism expressing the preservation of the unit object. Our
definitions of monoidal category and monoidal functor are stated so as
to take advantage of the economy afforded by these facts.
</p><p>
Revisions made subsequent to the first version of this article added
material on cartesian monoidal categories; showing that the underlying
category of a cartesian monoidal category is a cartesian category, and
that every cartesian category extends to a cartesian monoidal
category.
</p>"""
license = "bsd"
note = ""
[authors]
[authors.stark]
email = "stark_email"
[contributors]
[notify]
stark = "stark_email"
[history]
+2017-05-18 = """
+Integrated material from MonoidalCategory/Category3Adapter into Category3/ and deleted adapter.
+(revision 015543cdd069)<br>
+"""
+2018-05-29 = """
+Modifications required due to 'Category3' changes. Introduced notation for \"in hom\".
+(revision 8318366d4575)<br>
+"""
+2020-02-15 = """
+Cosmetic improvements.
+(revision a51840d36867)<br>
+"""
+2020-07-10 = """
+Added new material on cartesian monoidal categories.
+(revision 06640f317a79)<br>"""
[extra]
[related]
diff --git a/metadata/entries/Monomorphic_Monad.toml b/metadata/entries/Monomorphic_Monad.toml
--- a/metadata/entries/Monomorphic_Monad.toml
+++ b/metadata/entries/Monomorphic_Monad.toml
@@ -1,33 +1,37 @@
title = "Effect polymorphism in higher-order logic"
date = 2017-05-05
topics = [
"Computer science/Functional programming",
]
abstract = """
The notion of a monad cannot be expressed within higher-order logic
(HOL) due to type system restrictions. We show that if a monad is used
with values of only one type, this notion can be formalised in HOL.
Based on this idea, we develop a library of effect specifications and
implementations of monads and monad transformers. Hence, we can
abstract over the concrete monad in HOL definitions and thus use the
same definition for different (combinations of) effects. We illustrate
the usefulness of effect polymorphism with a monadic interpreter for a
simple language."""
license = "bsd"
note = ""
[authors]
[authors.lochbihler]
homepage = "lochbihler_homepage"
[contributors]
[notify]
lochbihler = "lochbihler_email1"
[history]
+2018-02-15 = """
+added further specifications and implementations of non-determinism;
+more examples
+(revision bc5399eea78e)<br>"""
[extra]
[related]
diff --git a/metadata/entries/Native_Word.toml b/metadata/entries/Native_Word.toml
--- a/metadata/entries/Native_Word.toml
+++ b/metadata/entries/Native_Word.toml
@@ -1,27 +1,41 @@
title = "Native Word"
date = 2013-09-17
topics = [
"Computer science/Data structures",
]
abstract = "This entry makes machine words and machine arithmetic available for code generation from Isabelle/HOL. It provides a common abstraction that hides the differences between the different target languages. The code generator maps these operations to the APIs of the target languages. Apart from that, we extend the available bit operations on types int and integer, and map them to the operations in the target languages."
license = "bsd"
note = ""
[authors]
[authors.lochbihler]
homepage = "lochbihler_homepage"
[contributors]
[contributors.lammich]
homepage = "lammich_homepage"
[notify]
lochbihler = "lochbihler_email1"
[history]
+2013-11-06 = """
+added conversion function between native words and characters
+(revision fd23d9a7fe3a)<br>
+"""
+2014-10-06 = """
+proper test setup with compilation and execution of tests in all target languages
+(revision 5d7a1c9ae047)<br>
+"""
+2018-07-15 = "added cast operators for default-size words (revision fc1f1fb8dd30)<br>"
+2014-03-31 = """
+added words of default size in the target language (by Peter Lammich)
+(revision 25caf5065833)<br>
+"""
+2017-09-02 = "added 64-bit words (revision c89f86244e3c)<br>"
[extra]
[related]
diff --git a/metadata/entries/Network_Security_Policy_Verification.toml b/metadata/entries/Network_Security_Policy_Verification.toml
--- a/metadata/entries/Network_Security_Policy_Verification.toml
+++ b/metadata/entries/Network_Security_Policy_Verification.toml
@@ -1,58 +1,61 @@
title = "Network Security Policy Verification"
date = 2014-07-04
topics = [
"Computer science/Security",
]
abstract = """
We present a unified theory for verifying network security policies.
A security policy is represented as directed graph.
To check high-level security goals, security invariants over the policy are
expressed. We cover monotonic security invariants, i.e. prohibiting more does not harm
security. We provide the following contributions for the security invariant theory.
<ul>
<li>Secure auto-completion of scenario-specific knowledge, which eases usability.</li>
<li>Security violations can be repaired by tightening the policy iff the
security invariants hold for the deny-all policy.</li>
<li>An algorithm to compute a security policy.</li>
<li>A formalization of stateful connection semantics in network security mechanisms.</li>
<li>An algorithm to compute a secure stateful implementation of a policy.</li>
<li>An executable implementation of all the theory.</li>
<li>Examples, ranging from an aircraft cabin data network to the analysis
of a large real-world firewall.</li>
<li>More examples: A fully automated translation of high-level security goals to both
firewall and SDN configurations (see Examples/Distributed_WebApp.thy).</li>
</ul>
For a detailed description, see
<ul>
<li>C. Diekmann, A. Korsten, and G. Carle.
<a href=\"http://www.net.in.tum.de/fileadmin/bibtex/publications/papers/diekmann2015mansdnnfv.pdf\">Demonstrating
topoS: Theorem-prover-based synthesis of secure network configurations.</a>
In 2nd International Workshop on Management of SDN and NFV Systems, manSDN/NFV, Barcelona, Spain, November 2015.</li>
<li>C. Diekmann, S.-A. Posselt, H. Niedermayer, H. Kinkelin, O. Hanka, and G. Carle.
<a href=\"http://www.net.in.tum.de/pub/diekmann/forte14.pdf\">Verifying Security Policies using Host Attributes.</a>
In FORTE, 34th IFIP International Conference on Formal Techniques for Distributed Objects,
Components and Systems, Berlin, Germany, June 2014.</li>
<li>C. Diekmann, L. Hupel, and G. Carle. Directed Security Policies:
<a href=\"http://rvg.web.cse.unsw.edu.au/eptcs/paper.cgi?ESSS2014.3\">A Stateful Network Implementation.</a>
In J. Pang and Y. Liu, editors, Engineering Safety and Security Systems,
volume 150 of Electronic Proceedings in Theoretical Computer Science,
pages 20-34, Singapore, May 2014. Open Publishing Association.</li>
</ul>"""
license = "bsd"
note = ""
[authors]
[authors.diekmann]
homepage = "diekmann_homepage"
[contributors]
[notify]
diekmann = "diekmann_email"
[history]
+2015-04-14 = """
+Added Distributed WebApp example and improved graphviz visualization
+(revision 4dde08ca2ab8)<br>"""
[extra]
[related]
diff --git a/metadata/entries/Number_Theoretic_Transform.toml b/metadata/entries/Number_Theoretic_Transform.toml
new file mode 100644
--- /dev/null
+++ b/metadata/entries/Number_Theoretic_Transform.toml
@@ -0,0 +1,46 @@
+title = "Number Theoretic Transform"
+date = 2022-08-18
+topics = [
+ "Computer science/Algorithms/Mathematical",
+]
+abstract = """
+<p>This entry contains an Isabelle formalization of the
+<em>Number Theoretic Transform (NTT)</em> which is the
+analogue to a <em>Discrete Fourier Transform (DFT)</em>
+over a finite field. Roots of unity in the complex numbers are
+replaced by those in a finite field. </p><p>First, we
+define both <em>NTT</em> and the inverse transform
+<em>INTT</em> in Isabelle and prove them to be mutually
+inverse. </p><p><em>DFT</em> can be
+efficiently computed by the recursive <em>Fast Fourier Transform
+(FFT)</em>. In our formalization, this algorithm is adapted to
+the setting of the <em>NTT</em>: We implement a
+<em>Fast Number Theoretic Transform (FNTT)</em> based on
+the Butterfly scheme by Cooley and Tukey. Additionally, we provide an
+inverse transform <em>IFNTT</em> and prove it mutually
+inverse to <em>FNTT</em>. </p><p> Afterwards,
+a recursive formalization of the <em>FNTT</em> running
+time is examined and the famous $O(n \\log n)$ bounds
+are proven.</p>"""
+license = "bsd"
+note = ""
+
+[authors]
+
+[authors.ammer]
+
+
+[authors.kreuzer]
+
+
+[contributors]
+
+[notify]
+kreuzer = "kreuzer_email"
+ammer = "ammer_email"
+
+[history]
+
+[extra]
+
+[related]
diff --git a/metadata/entries/Optics.toml b/metadata/entries/Optics.toml
--- a/metadata/entries/Optics.toml
+++ b/metadata/entries/Optics.toml
@@ -1,40 +1,48 @@
title = "Optics"
date = 2017-05-25
topics = [
"Computer science/Functional programming",
"Mathematics/Algebra",
]
abstract = """
Lenses provide an abstract interface for manipulating data types
through spatially-separated views. They are defined abstractly in
terms of two functions, <em>get</em>, the return a value
from the source type, and <em>put</em> that updates the
value. We mechanise the underlying theory of lenses, in terms of an
algebraic hierarchy of lenses, including well-behaved and very
well-behaved lenses, each lens class being characterised by a set of
lens laws. We also mechanise a lens algebra in Isabelle that enables
their composition and comparison, so as to allow construction of
complex lenses. This is accompanied by a large library of algebraic
laws. Moreover we also show how the lens classes can be applied by
instantiating them with a number of Isabelle data types."""
license = "bsd"
note = ""
[authors]
[authors.fosters]
email = "fosters_email"
[authors.zeyda]
email = "zeyda_email"
[contributors]
[notify]
fosters = "fosters_email"
[history]
+2020-03-02 = """
+Added partial bijective and symmetric lenses.
+Improved alphabet command generating additional lenses and results.
+Several additional lens relations, including observational equivalence.
+Additional theorems throughout.
+Adaptations for Isabelle 2020.
+(revision 44e2e5c)<br>
+"""
[extra]
[related]
diff --git a/metadata/entries/Ordinary_Differential_Equations.toml b/metadata/entries/Ordinary_Differential_Equations.toml
--- a/metadata/entries/Ordinary_Differential_Equations.toml
+++ b/metadata/entries/Ordinary_Differential_Equations.toml
@@ -1,58 +1,52 @@
title = "Ordinary Differential Equations"
date = 2012-04-26
topics = [
"Mathematics/Analysis",
]
abstract = """
<p>Session Ordinary-Differential-Equations formalizes ordinary differential equations (ODEs) and initial value
problems. This work comprises proofs for local and global existence of unique solutions
(Picard-Lindelöf theorem). Moreover, it contains a formalization of the (continuous or even
differentiable) dependency of the flow on initial conditions as the <i>flow</i> of ODEs.</p>
<p>
Not in the generated document are the following sessions:
<ul>
<li> HOL-ODE-Numerics:
Rigorous numerical algorithms for computing enclosures of solutions based on Runge-Kutta methods
and affine arithmetic. Reachability analysis with splitting and reduction at hyperplanes.</li>
<li> HOL-ODE-Examples:
Applications of the numerical algorithms to concrete systems of ODEs.</li>
<li> Lorenz_C0, Lorenz_C1:
Verified algorithms for checking C1-information according to Tucker's proof,
computation of C0-information.</li>
</ul>
</p>"""
license = "bsd"
note = ""
[authors]
[authors.immler]
homepage = "immler_homepage"
[authors.hoelzl]
homepage = "hoelzl_homepage"
[contributors]
[notify]
immler = "immler_email"
hoelzl = "hoelzl_email"
[history]
-2014-02-13 = """
-added an implementation of the Euler method based on affine arithmetic<br>
-"""
-2016-04-14 = """
-added flow and variational equation<br>
-"""
-2016-08-03 = """
-numerical algorithms for reachability analysis (using second-order Runge-Kutta methods, splitting, and reduction) implemented using Lammich's framework for automatic refinement<br>
-"""
+2014-02-13 = "added an implementation of the Euler method based on affine arithmetic<br>"
+2016-04-14 = "added flow and variational equation<br>"
+2016-08-03 = "numerical algorithms for reachability analysis (using second-order Runge-Kutta methods, splitting, and reduction) implemented using Lammich's framework for automatic refinement<br>"
2017-09-20 = """
added Poincare map and propagation of variational equation in
reachability analysis, verified algorithms for C1-information and computations
for C0-information of the Lorenz attractor."""
[extra]
[related]
diff --git a/metadata/entries/Perron_Frobenius.toml b/metadata/entries/Perron_Frobenius.toml
--- a/metadata/entries/Perron_Frobenius.toml
+++ b/metadata/entries/Perron_Frobenius.toml
@@ -1,51 +1,58 @@
title = "Perron-Frobenius Theorem for Spectral Radius Analysis"
date = 2016-05-20
topics = [
"Mathematics/Algebra",
]
abstract = """
<p>The spectral radius of a matrix A is the maximum norm of all
eigenvalues of A. In previous work we already formalized that for a
complex matrix A, the values in A<sup>n</sup> grow polynomially in n
if and only if the spectral radius is at most one. One problem with
the above characterization is the determination of all
<em>complex</em> eigenvalues. In case A contains only non-negative
real values, a simplification is possible with the help of the
Perron&ndash;Frobenius theorem, which tells us that it suffices to consider only
the <em>real</em> eigenvalues of A, i.e., applying Sturm's method can
decide the polynomial growth of A<sup>n</sup>. </p><p> We formalize
the Perron&ndash;Frobenius theorem based on a proof via Brouwer's fixpoint
theorem, which is available in the HOL multivariate analysis (HMA)
library. Since the results on the spectral radius is based on matrices
in the Jordan normal form (JNF) library, we further develop a
connection which allows us to easily transfer theorems between HMA and
JNF. With this connection we derive the combined result: if A is a
non-negative real matrix, and no real eigenvalue of A is strictly
larger than one, then A<sup>n</sup> is polynomially bounded in n. </p>"""
license = "bsd"
note = ""
[authors]
[authors.divason]
homepage = "divason_homepage"
[authors.kuncar]
homepage = "kuncar_homepage"
[authors.thiemann]
email = "thiemann_email"
[authors.yamada]
email = "yamada_email"
[contributors]
[notify]
thiemann = "thiemann_email"
[history]
+2017-10-18 = """
+added Perron-Frobenius theorem for irreducible matrices with generalization
+(revision bda1f1ce8a1c)<br/>
+"""
+2018-05-17 = """
+prove conjecture of CPP'18 paper: Jordan blocks of spectral radius have maximum size
+(revision ffdb3794e5d5)"""
[extra]
[related]
diff --git a/metadata/entries/Polynomials.toml b/metadata/entries/Polynomials.toml
--- a/metadata/entries/Polynomials.toml
+++ b/metadata/entries/Polynomials.toml
@@ -1,80 +1,76 @@
title = "Executable Multivariate Polynomials"
date = 2010-08-10
topics = [
"Mathematics/Analysis",
"Mathematics/Algebra",
"Computer science/Algorithms/Mathematical",
]
abstract = """
We define multivariate polynomials over arbitrary (ordered) semirings in
combination with (executable) operations like addition, multiplication,
and substitution. We also define (weak) monotonicity of polynomials and
comparison of polynomials where we provide standard estimations like
absolute positiveness or the more recent approach of Neurauter, Zankl,
and Middeldorp. Moreover, it is proven that strongly normalizing
(monotone) orders can be lifted to strongly normalizing (monotone) orders
over polynomials. Our formalization was performed as part of the <a
href=\"http://cl-informatik.uibk.ac.at/software/ceta\">IsaFoR/CeTA-system</a>
which contains several termination techniques. The provided theories have
been essential to formalize polynomial interpretations.
<p>
This formalization also contains an abstract representation as coefficient functions with finite
support and a type of power-products. If this type is ordered by a linear (term) ordering, various
additional notions, such as leading power-product, leading coefficient etc., are introduced as
well. Furthermore, a lot of generic properties of, and functions on, multivariate polynomials are
formalized, including the substitution and evaluation homomorphisms, embeddings of polynomial rings
into larger rings (i.e. with one additional indeterminate), homogenization and dehomogenization of
polynomials, and the canonical isomorphism between R[X,Y] and R[X][Y]."""
license = "lgpl"
note = ""
[authors]
[authors.sternagel]
email = "sternagel_email"
[authors.thiemann]
homepage = "thiemann_homepage"
[authors.maletzky]
homepage = "maletzky_homepage"
[authors.immler]
homepage = "immler_homepage"
[authors.haftmann]
homepage = "haftmann_homepage"
[authors.lochbihler]
homepage = "lochbihler_homepage"
[authors.bentkamp]
email = "bentkamp_email"
[contributors]
[notify]
thiemann = "thiemann_email"
sternagel = "sternagel_email1"
maletzky = "maletzky_email"
immler = "immler_email"
[history]
-2010-09-17 = """
-Moved theories on arbitrary (ordered) semirings to Abstract Rewriting.<br>
-"""
-2016-10-28 = """
-Added abstract representation of polynomials and authors Maletzky/Immler.<br>
-"""
+2010-09-17 = "Moved theories on arbitrary (ordered) semirings to Abstract Rewriting.<br>"
+2016-10-28 = "Added abstract representation of polynomials and authors Maletzky/Immler.<br>"
2018-01-23 = """
Added authors Haftmann, Lochbihler after incorporating
their formalization of multivariate polynomials based on Polynomial mappings.
Moved material from Bentkamp's entry \"Deep Learning\".<br>
"""
2019-04-18 = """
Added material about polynomials whose power-products are represented themselves
by polynomial mappings."""
[extra]
[related]
diff --git a/metadata/entries/Probabilistic_While.toml b/metadata/entries/Probabilistic_While.toml
--- a/metadata/entries/Probabilistic_While.toml
+++ b/metadata/entries/Probabilistic_While.toml
@@ -1,32 +1,35 @@
title = "Probabilistic while loop"
date = 2017-05-05
topics = [
"Computer science/Functional programming",
"Mathematics/Probability theory",
"Computer science/Algorithms",
]
abstract = """
This AFP entry defines a probabilistic while operator based on
sub-probability mass functions and formalises zero-one laws and variant
rules for probabilistic loop termination. As applications, we
implement probabilistic algorithms for the Bernoulli, geometric and
arbitrary uniform distributions that only use fair coin flips, and
prove them correct and terminating with probability 1."""
license = "bsd"
note = ""
[authors]
[authors.lochbihler]
homepage = "lochbihler_homepage"
[contributors]
[notify]
lochbihler = "lochbihler_email1"
[history]
+2018-02-02 = """
+Added a proof that probabilistic conditioning can be implemented by repeated sampling.
+(revision 305867c4e911)<br>"""
[extra]
[related]
diff --git a/metadata/entries/Regular-Sets.toml b/metadata/entries/Regular-Sets.toml
--- a/metadata/entries/Regular-Sets.toml
+++ b/metadata/entries/Regular-Sets.toml
@@ -1,43 +1,41 @@
title = "Regular Sets and Expressions"
date = 2010-05-12
topics = [
"Computer science/Automata and formal languages",
]
abstract = "This is a library of constructions on regular expressions and languages. It provides the operations of concatenation, Kleene star and derivative on languages. Regular expressions and their meaning are defined. An executable equivalence checker for regular expressions is verified; it does not need automata but works directly on regular expressions. <i>By mapping regular expressions to binary relations, an automatic and complete proof method for (in)equalities of binary relations over union, concatenation and (reflexive) transitive closure is obtained.</i> <P> Extended regular expressions with complement and intersection are also defined and an equivalence checker is provided."
license = "bsd"
note = ""
[authors]
[authors.krauss]
homepage = "krauss_homepage"
[authors.nipkow]
homepage = "nipkow_homepage"
[contributors]
[contributors.eberl]
homepage = "eberl_homepage"
[contributors.urban]
homepage = "urban_homepage"
[notify]
nipkow = "nipkow_email"
krauss = "krauss_email"
urban = "urban_email"
[related]
dois = ["10.1007/s10817-011-9223-4"]
pubs = ["<a href=\"https://www.in.tum.de/~nipkow/pubs/jar12.html\">Open access</a>"]
[history]
-2011-08-26 = """
-Christian Urban added a theory about derivatives and partial derivatives of regular expressions<br>
-"""
+2011-08-26 = "Christian Urban added a theory about derivatives and partial derivatives of regular expressions<br>"
2012-05-10 = "Tobias Nipkow added equivalence checking with partial derivatives"
[extra]
[related]
diff --git a/metadata/entries/Relational_Disjoint_Set_Forests.toml b/metadata/entries/Relational_Disjoint_Set_Forests.toml
--- a/metadata/entries/Relational_Disjoint_Set_Forests.toml
+++ b/metadata/entries/Relational_Disjoint_Set_Forests.toml
@@ -1,30 +1,33 @@
title = "Relational Disjoint-Set Forests"
date = 2020-08-26
topics = [
"Computer science/Data structures",
]
abstract = """
We give a simple relation-algebraic semantics of read and write
operations on associative arrays. The array operations seamlessly
integrate with assignments in the Hoare-logic library. Using relation
algebras and Kleene algebras we verify the correctness of an
array-based implementation of disjoint-set forests with a naive union
operation and a find operation with path compression."""
license = "bsd"
note = ""
[authors]
[authors.guttmann]
homepage = "guttmann_homepage"
[contributors]
[notify]
guttmann = "guttmann_email"
[history]
+2021-06-19 = """
+added path halving, path splitting, relational Peano structures, union by rank
+(revision 98c7aa03457d)"""
[extra]
[related]
diff --git a/metadata/entries/Resolution_FOL.toml b/metadata/entries/Resolution_FOL.toml
--- a/metadata/entries/Resolution_FOL.toml
+++ b/metadata/entries/Resolution_FOL.toml
@@ -1,60 +1,60 @@
title = "The Resolution Calculus for First-Order Logic"
date = 2016-06-30
topics = [
"Logic/General logic/Mechanization of proofs",
]
abstract = """
This theory is a formalization of the resolution calculus for
first-order logic. It is proven sound and complete. The soundness
proof uses the substitution lemma, which shows a correspondence
between substitutions and updates to an environment. The completeness
proof uses semantic trees, i.e. trees whose paths are partial Herbrand
interpretations. It employs Herbrand's theorem in a formulation which
states that an unsatisfiable set of clauses has a finite closed
semantic tree. It also uses the lifting lemma which lifts resolution
derivation steps from the ground world up to the first-order world.
The theory is presented in a paper in the Journal of Automated Reasoning
[Sch18] which extends a paper presented at the International Conference
on Interactive Theorem Proving [Sch16]. An earlier version was
presented in an MSc thesis [Sch15]. The formalization mostly follows
textbooks by Ben-Ari [BA12], Chang and Lee [CL73], and Leitsch [Lei97].
The theory is part of the IsaFoL project [IsaFoL]. <p>
<a name=\"Sch18\"></a>[Sch18] Anders Schlichtkrull. \"Formalization of the
Resolution Calculus for First-Order Logic\". Journal of Automated
Reasoning, 2018.<br> <a name=\"Sch16\"></a>[Sch16] Anders
Schlichtkrull. \"Formalization of the Resolution Calculus for First-Order
Logic\". In: ITP 2016. Vol. 9807. LNCS. Springer, 2016.<br>
<a name=\"Sch15\"></a>[Sch15] Anders Schlichtkrull. <a href=\"https://people.compute.dtu.dk/andschl/Thesis.pdf\">
\"Formalization of Resolution Calculus in Isabelle\"</a>.
<a href=\"https://people.compute.dtu.dk/andschl/Thesis.pdf\">https://people.compute.dtu.dk/andschl/Thesis.pdf</a>.
MSc thesis. Technical University of Denmark, 2015.<br>
<a name=\"BA12\"></a>[BA12] Mordechai Ben-Ari. <i>Mathematical Logic for
Computer Science</i>. 3rd. Springer, 2012.<br> <a
name=\"CL73\"></a>[CL73] Chin-Liang Chang and Richard Char-Tung Lee.
<i>Symbolic Logic and Mechanical Theorem Proving</i>. 1st. Academic
Press, Inc., 1973.<br> <a name=\"Lei97\"></a>[Lei97] Alexander
Leitsch. <i>The Resolution Calculus</i>. Texts in theoretical computer
science. Springer, 1997.<br> <a name=\"IsaFoL\"></a>[IsaFoL]
IsaFoL authors. <a href=\"https://bitbucket.org/jasmin_blanchette/isafol\">
IsaFoL: Isabelle Formalization of Logic</a>.
<a href=\"https://bitbucket.org/jasmin_blanchette/isafol\">https://bitbucket.org/jasmin_blanchette/isafol</a>."""
license = "bsd"
note = ""
[authors]
[authors.schlichtkrull]
homepage = "schlichtkrull_homepage"
[contributors]
[notify]
schlichtkrull = "schlichtkrull_email"
[history]
-2018-01-24 = "added several new versions of the soundness and completeness theorems as described in the paper "
-2018-03-20 = "added a concrete instance of the unification and completeness theorems using the First-Order Terms AFP-entry from IsaFoR as described in the papers "
+2018-01-24 = "added several new versions of the soundness and completeness theorems as described in the paper"
+2018-03-20 = "added a concrete instance of the unification and completeness theorems using the First-Order Terms AFP-entry from IsaFoR as described in the papers"
[extra]
[related]
diff --git a/metadata/entries/Show.toml b/metadata/entries/Show.toml
--- a/metadata/entries/Show.toml
+++ b/metadata/entries/Show.toml
@@ -1,39 +1,37 @@
title = "Haskell's Show Class in Isabelle/HOL"
date = 2014-07-29
topics = [
"Computer science/Functional programming",
]
abstract = """
We implemented a type class for \"to-string\" functions, similar to
Haskell's Show class. Moreover, we provide instantiations for Isabelle/HOL's
standard types like bool, prod, sum, nats, ints, and rats. It is further
possible, to automatically derive show functions for arbitrary user defined
datatypes similar to Haskell's \"deriving Show\"."""
license = "lgpl"
note = ""
[authors]
[authors.sternagel]
email = "sternagel_email"
[authors.thiemann]
email = "thiemann_email"
[contributors]
[notify]
sternagel = "sternagel_email1"
thiemann = "thiemann_email"
[history]
-2015-03-11 = """
-Adapted development to new-style (BNF-based) datatypes.<br>
-"""
+2015-03-11 = "Adapted development to new-style (BNF-based) datatypes.<br>"
2015-04-10 = """
Moved development for old-style datatypes into subdirectory
\"Old_Datatype\".<br>"""
[extra]
[related]
diff --git a/metadata/entries/Sqrt_Babylonian.toml b/metadata/entries/Sqrt_Babylonian.toml
--- a/metadata/entries/Sqrt_Babylonian.toml
+++ b/metadata/entries/Sqrt_Babylonian.toml
@@ -1,32 +1,30 @@
title = "Computing N-th Roots using the Babylonian Method"
date = 2013-01-03
topics = [
"Mathematics/Analysis",
]
abstract = """
We implement the Babylonian method to compute n-th roots of numbers.
We provide precise algorithms for naturals, integers and rationals, and
offer an approximation algorithm for square roots over linear ordered fields. Moreover, there
are precise algorithms to compute the floor and the ceiling of n-th roots."""
license = "lgpl"
note = ""
[authors]
[authors.thiemann]
email = "thiemann_email"
[contributors]
[notify]
thiemann = "thiemann_email"
[history]
-2013-10-16 = """
-Added algorithms to compute floor and ceiling of sqrt of integers.
-"""
+2013-10-16 = "Added algorithms to compute floor and ceiling of sqrt of integers."
2014-07-11 = "Moved NthRoot_Impl from Real-Impl to this entry."
[extra]
[related]
diff --git a/metadata/entries/Stone_Relation_Algebras.toml b/metadata/entries/Stone_Relation_Algebras.toml
--- a/metadata/entries/Stone_Relation_Algebras.toml
+++ b/metadata/entries/Stone_Relation_Algebras.toml
@@ -1,31 +1,34 @@
title = "Stone Relation Algebras"
date = 2017-02-07
topics = [
"Mathematics/Algebra",
]
abstract = """
We develop Stone relation algebras, which generalise relation algebras
by replacing the underlying Boolean algebra structure with a Stone
algebra. We show that finite matrices over extended real numbers form
an instance. As a consequence, relation-algebraic concepts and methods
can be used for reasoning about weighted graphs. We also develop a
fixpoint calculus and apply it to compare different definitions of
reflexive-transitive closures in semirings."""
license = "bsd"
note = ""
[authors]
[authors.guttmann]
homepage = "guttmann_homepage"
[contributors]
[notify]
guttmann = "guttmann_email"
[history]
+2017-07-05 = """
+generalised extended reals to linear orders
+(revision b8e703159177)"""
[extra]
[related]
diff --git a/metadata/entries/Szpilrajn.toml b/metadata/entries/Szpilrajn.toml
--- a/metadata/entries/Szpilrajn.toml
+++ b/metadata/entries/Szpilrajn.toml
@@ -1,30 +1,31 @@
title = "Order Extension and Szpilrajn's Extension Theorem"
date = 2019-07-27
topics = [
"Mathematics/Order",
]
abstract = """
This entry is concerned with the principle of order extension, i.e. the extension of an order relation to a total order relation.
To this end, we prove a more general version of Szpilrajn's extension theorem employing terminology from the book \"Consistency, Choice, and Rationality\" by Bossert and Suzumura.
We also formalize theorem 2.7 of their book."""
license = "bsd"
note = ""
[authors]
[authors.zeller]
email = "zeller_email"
[authors.stevens]
homepage = "stevens_homepage"
[contributors]
[notify]
zeller = "zeller_email"
[history]
+2021-03-22 = "(by Lukas Stevens) generalise Szpilrajn's extension theorem and add material from the book \"Consistency, Choice, and Rationality\""
[extra]
[related]
diff --git a/metadata/entries/Well_Quasi_Orders.toml b/metadata/entries/Well_Quasi_Orders.toml
--- a/metadata/entries/Well_Quasi_Orders.toml
+++ b/metadata/entries/Well_Quasi_Orders.toml
@@ -1,60 +1,54 @@
title = "Well-Quasi-Orders"
date = 2012-04-13
topics = [
"Mathematics/Combinatorics",
]
abstract = """
Based on Isabelle/HOL's type class for preorders,
we introduce a type class for well-quasi-orders (wqo)
which is characterized by the absence of \"bad\" sequences
(our proofs are along the lines of the proof of Nash-Williams,
from which we also borrow terminology). Our main results are
instantiations for the product type, the list type, and a type of finite trees,
which (almost) directly follow from our proofs of (1) Dickson's Lemma, (2)
Higman's Lemma, and (3) Kruskal's Tree Theorem. More concretely:
<ul>
<li>If the sets A and B are wqo then their Cartesian product is wqo.</li>
<li>If the set A is wqo then the set of finite lists over A is wqo.</li>
<li>If the set A is wqo then the set of finite trees over A is wqo.</li>
</ul>
The research was funded by the Austrian Science Fund (FWF): J3202."""
license = "bsd"
note = ""
[authors]
[authors.sternagel]
email = "sternagel_email"
[contributors]
[notify]
sternagel = "sternagel_email"
[history]
-2016-01-03 = """
-An alternative proof of Higman's lemma by open induction.<br>
-"""
+2016-01-03 = "An alternative proof of Higman's lemma by open induction.<br>"
2017-06-08 = """
Proved (classical) equivalence to inductive definition of
almost-full relations according to the ITP 2012 paper \"Stop When You Are
Almost-Full\" by Vytiniotis, Coquand, and Wahlstedt."""
2012-12-19 = """
New variant of Kruskal's tree theorem for terms (as opposed to
variadic terms, i.e., trees), plus finite version of the tree theorem as
corollary.<br>
"""
-2013-05-16 = """
-Simplified construction of minimal bad sequences.<br>
-"""
+2013-05-16 = "Simplified construction of minimal bad sequences.<br>"
2014-07-09 = """
Simplified proofs of Higman's lemma and Kruskal's tree theorem,
based on homogeneous sequences.<br>
"""
-2012-06-11 = """
-Added Kruskal's Tree Theorem.<br>
-"""
+2012-06-11 = "Added Kruskal's Tree Theorem.<br>"
[extra]
[related]
diff --git a/thys/CRYSTALS-Kyber/Abs_Qr.thy b/thys/CRYSTALS-Kyber/Abs_Qr.thy
new file mode 100644
--- /dev/null
+++ b/thys/CRYSTALS-Kyber/Abs_Qr.thy
@@ -0,0 +1,577 @@
+theory Abs_Qr
+
+imports Mod_Plus_Minus
+ Kyber_spec
+
+begin
+context kyber_spec
+begin
+
+section \<open>Re-centered "Norm" Function\<close>
+
+text \<open>We want to show that \<open>abs_infty_q\<close> is a function induced by the
+ Euclidean norm on the \<open>mod_ring\<close> using a re-centered representative via \<open>mod+-\<close>.
+
+ \<open>abs_infty_poly\<close> is the induced norm by \<open>abs_infty_q\<close> on polynomials over the polynomial
+ ring over the \<open>mod_ring\<close>.
+
+ Unfortunately this is not a norm per se, as the homogeneity only holds in
+ inequality, not equality. Still, it fulfils its purpose, since we only
+ need the triangular inequality.\<close>
+
+definition abs_infty_q :: "('a mod_ring) \<Rightarrow> int" where
+ "abs_infty_q p = abs ((to_int_mod_ring p) mod+- q)"
+
+definition abs_infty_poly :: "'a qr \<Rightarrow> int" where
+ "abs_infty_poly p = Max (range (abs_infty_q \<circ> poly.coeff (of_qr p)))"
+
+text \<open>Helping lemmas and properties of \<open>Max\<close>, \<open>range\<close> and \<open>finite\<close>.\<close>
+
+lemma to_int_mod_ring_range:
+ "range (to_int_mod_ring :: 'a mod_ring \<Rightarrow> int) = {0 ..< q}"
+using CARD_a by (simp add: range_to_int_mod_ring)
+
+lemma finite_Max:
+ "finite (range (\<lambda>xa. abs_infty_q (poly.coeff (of_qr x) xa)))"
+proof -
+ have finite_range: "finite (range (\<lambda>xa. (poly.coeff (of_qr x) xa)))"
+ using MOST_coeff_eq_0[of "of_qr x"] by auto
+ have "range (\<lambda>xa. \<bar>to_int_mod_ring (poly.coeff (of_qr x) xa) mod+- q\<bar>)
+ = (\<lambda>z. \<bar>to_int_mod_ring z mod+- q\<bar>) ` range (poly.coeff (of_qr x))"
+ using range_composition[of "(\<lambda>z. abs (to_int_mod_ring z mod+- q))"
+ "poly.coeff (of_qr x)"] by auto
+ then show ?thesis
+ using finite_range finite_image_set[where
+ f = "(\<lambda>z. abs (to_int_mod_ring z) mod+- q)"]
+ by (auto simp add: abs_infty_q_def)
+qed
+
+lemma finite_Max_scale:
+ "finite (range (\<lambda>xa. abs_infty_q (of_int_mod_ring s *
+ poly.coeff (of_qr x) xa)))"
+proof -
+ have "of_int_mod_ring s * poly.coeff (of_qr x) xa =
+ poly.coeff (of_qr (to_module s * x)) xa" for xa
+ by (metis coeff_smult of_qr_to_qr_smult to_qr_of_qr
+ to_qr_smult_to_module to_module_def)
+ then show ?thesis
+ using finite_Max by presburger
+qed
+
+lemma finite_Max_sum:
+ "finite (range (\<lambda>xa. abs_infty_q
+ (poly.coeff (of_qr x) xa + poly.coeff (of_qr y) xa)))"
+proof -
+ have finite_range: "finite (range (\<lambda>xa. (poly.coeff (of_qr x) xa +
+ poly.coeff (of_qr y) xa)))"
+ using MOST_coeff_eq_0[of "of_qr x"] by auto
+ have "range (\<lambda>xa. \<bar>to_int_mod_ring (poly.coeff (of_qr x) xa +
+ poly.coeff (of_qr y) xa) mod+- q\<bar>) =
+ (\<lambda>z. \<bar>to_int_mod_ring z mod+- q\<bar>) `
+ range (\<lambda>xa. poly.coeff (of_qr x) xa + poly.coeff (of_qr y) xa)"
+ using range_composition[of "(\<lambda>z. abs (to_int_mod_ring z mod+- q))"
+ "(\<lambda>xa. poly.coeff (of_qr x) xa + poly.coeff (of_qr y) xa)"]
+ by auto
+ then show ?thesis
+ using finite_range finite_image_set[where
+ f = "(\<lambda>z. abs (to_int_mod_ring z) mod+- q)" ]
+ by (auto simp add: abs_infty_q_def)
+qed
+
+
+lemma finite_range_plus:
+ assumes "finite (range f)"
+ "finite (range g)"
+ shows "finite (range (\<lambda>x. f x + g x))"
+proof -
+ have subs: "range (\<lambda>x. (f x, g x)) \<subseteq> range f \<times> range g" by auto
+ have cart: "finite (range f \<times> range g)" using assms by auto
+ have finite: "finite (range (\<lambda>x. (f x, g x)))"
+ using rev_finite_subset[OF cart subs] .
+ have "range (\<lambda>x. f x + g x) = (\<lambda>(a,b). a+b) ` range (\<lambda>x. (f x, g x))"
+ using range_composition[of "(\<lambda>(a,b). a+b)" "(\<lambda>x. (f x, g x))"]
+ by auto
+ then show ?thesis
+ using finite finite_image_set[where f = "(\<lambda>(a,b). a+b)"]
+ by auto
+qed
+
+lemma finite_Max_sum':
+ "finite (range
+ (\<lambda>xa. abs_infty_q (poly.coeff (of_qr x) xa) +
+ abs_infty_q (poly.coeff (of_qr y) xa)))"
+proof -
+ have finite_range_x:
+ "finite (range (\<lambda>xa. abs_infty_q (poly.coeff (of_qr x) xa)))"
+ using finite_Max[of x] by auto
+ have finite_range_y:
+ "finite (range (\<lambda>xa. abs_infty_q (poly.coeff (of_qr y) xa)))"
+ using finite_Max[of y] by auto
+ show ?thesis
+ using finite_range_plus[OF finite_range_x finite_range_y] by auto
+qed
+
+
+lemma all_impl_Max:
+ assumes "\<forall>x. f x \<ge> (a::int)"
+ "finite (range f)"
+ shows "(MAX x. f x) \<ge> a"
+by (simp add: Max_ge_iff assms(1) assms(2))
+
+lemma Max_scale:
+"(MAX xa. \<bar>s\<bar> * abs_infty_q (poly.coeff (of_qr x) xa)) =
+ \<bar>s\<bar> * (MAX xa. abs_infty_q (poly.coeff (of_qr x) xa))"
+proof -
+ have "(MAX xa. \<bar>s\<bar> * abs_infty_q (poly.coeff (of_qr x) xa)) =
+ (Max (range (\<lambda>xa. \<bar>s\<bar> * abs_infty_q (poly.coeff (of_qr x) xa))))"
+ by auto
+ moreover have "\<dots> = (Max ((\<lambda>a. \<bar>s\<bar> * a) `
+ (range (\<lambda>xa. abs_infty_q (poly.coeff (of_qr x) xa)))))"
+ by (metis range_composition)
+ moreover have "\<dots> = \<bar>s\<bar> * (Max (range
+ (\<lambda>xa. abs_infty_q (poly.coeff (of_qr x) xa))))"
+ by (subst mono_Max_commute[symmetric])
+ (auto simp add: finite_Max Rings.mono_mult)
+ moreover have "\<dots> = \<bar>s\<bar> *
+ (MAX xa. abs_infty_q (poly.coeff (of_qr x) xa))"
+ by auto
+ ultimately show ?thesis by auto
+qed
+
+lemma Max_mono':
+ assumes "\<forall>x. f x \<le> g x"
+ "finite (range f)"
+ "finite (range g)"
+ shows "(MAX x. f x) \<le> (MAX x. g x)"
+using assms
+by (metis (no_types, lifting) Max_ge_iff Max_in UNIV_not_empty
+ image_is_empty rangeE rangeI)
+
+lemma Max_mono_plus:
+ assumes "finite (range (f::_\<Rightarrow>_::ordered_ab_semigroup_add))"
+ "finite (range g)"
+ shows "(MAX x. f x + g x) \<le> (MAX x. f x) + (MAX x. g x)"
+proof -
+ obtain xmax where xmax_def: "f xmax + g xmax = (MAX x. f x + g x)"
+ using finite_range_plus[OF assms] Max_in by fastforce
+ have "(MAX x. f x + g x) = f xmax + g xmax" using xmax_def by auto
+ also have "\<dots> \<le> (MAX x. f x) + g xmax"
+ using Max_ge[OF assms(1), of "f xmax"]
+ by (auto simp add: add_right_mono[of "f xmax"])
+ also have "\<dots> \<le> (MAX x. f x) + (MAX x. g x)"
+ using Max_ge[OF assms(2), of "g xmax"]
+ by (auto simp add: add_left_mono[of "g xmax"])
+ finally show ?thesis by auto
+qed
+
+text \<open>Show that \<open>abs_infty_q\<close> is definite, positive and fulfils the triangle inequality.\<close>
+
+lemma abs_infty_q_definite:
+ "abs_infty_q x = 0 \<longleftrightarrow> x = 0"
+proof (auto simp add: abs_infty_q_def
+ mod_plus_minus_zero'[OF q_gt_zero q_odd])
+ assume "to_int_mod_ring x mod+- q = 0"
+ then have "to_int_mod_ring x mod q = 0"
+ using mod_plus_minus_zero[of "to_int_mod_ring x" q]
+ by auto
+ then have "to_int_mod_ring x = 0"
+ using to_int_mod_ring_range CARD_a
+ by (metis mod_rangeE range_eqI)
+ then show "x = 0" by force
+qed
+
+lemma abs_infty_q_pos:
+ "abs_infty_q x \<ge> 0"
+by (auto simp add: abs_infty_q_def)
+
+
+lemma abs_infty_q_minus:
+ "abs_infty_q (- x) = abs_infty_q x"
+proof (cases "x=0")
+case True
+ then show ?thesis by auto
+next
+case False
+ have minus_x: "to_int_mod_ring (-x) = q - to_int_mod_ring x"
+ proof -
+ have "to_int_mod_ring (-x) = to_int_mod_ring (-x) mod q"
+ by (metis CARD_a Rep_mod_ring_mod to_int_mod_ring.rep_eq)
+ also have "\<dots> = (- to_int_mod_ring x) mod q"
+ by (metis (no_types, opaque_lifting) CARD_a diff_eq_eq
+ mod_add_right_eq plus_mod_ring.rep_eq to_int_mod_ring.rep_eq
+ uminus_add_conv_diff)
+ also have "\<dots> = q - to_int_mod_ring x"
+ proof -
+ have "- to_int_mod_ring x \<in> {-q<..<0}"
+ using CARD_a range_to_int_mod_ring False
+ by (smt (verit, best) Rep_mod_ring_mod greaterThanLessThan_iff
+ q_gt_zero to_int_mod_ring.rep_eq to_int_mod_ring_hom.eq_iff
+ to_int_mod_ring_hom.hom_zero zmod_trivial_iff)
+ then have "q-to_int_mod_ring x\<in>{0<..<q}" by auto
+ then show ?thesis
+ using minus_mod_self1 mod_rangeE
+ by (simp add: to_int_mod_ring.rep_eq zmod_zminus1_eq_if)
+ qed
+ finally show ?thesis by auto
+ qed
+ then have "\<bar>to_int_mod_ring (- x) mod+- q\<bar> =
+ \<bar>(q - (to_int_mod_ring x)) mod+- q\<bar>"
+ by auto
+ also have "\<dots> = \<bar> (- to_int_mod_ring x) mod+- q\<bar>"
+ unfolding mod_plus_minus_def by (smt (z3) mod_add_self2)
+ also have "\<dots> = \<bar> - (to_int_mod_ring x mod+- q)\<bar>"
+ using neg_mod_plus_minus[OF q_odd q_gt_zero,
+ of "to_int_mod_ring x"] by simp
+ also have "\<dots> = \<bar>to_int_mod_ring x mod+- q\<bar>" by auto
+ finally show ?thesis unfolding abs_infty_q_def by auto
+qed
+
+
+
+lemma to_int_mod_ring_mult:
+ "to_int_mod_ring (a*b) = to_int_mod_ring (a::'a mod_ring) *
+ to_int_mod_ring (b::'a mod_ring) mod q"
+by (metis (no_types, lifting) CARD_a of_int_hom.hom_mult
+ of_int_mod_ring.rep_eq of_int_mod_ring_to_int_mod_ring
+ of_int_of_int_mod_ring to_int_mod_ring.rep_eq)
+
+lemma mod_plus_minus_mult:
+ "s*x mod+- q = (s mod+- q) * (x mod+- q) mod+- q"
+unfolding mod_plus_minus_def
+by (smt (verit, del_insts) mod_add_eq mod_diff_left_eq
+ mod_mult_left_eq mod_mult_right_eq)
+
+text \<open>Scaling only with inequality not equality! This causes a problem in proof of the
+ Kyber scheme. Needed to add $q\equiv 1 \mod 4$ to change proof.\<close>
+lemma mod_plus_minus_leq_mod:
+ "\<bar>x mod+- q\<bar> \<le> \<bar>x\<bar>"
+by (smt (verit, best) atLeastAtMost_iff mod_plus_minus_range
+ mod_plus_minus_rangeE' q_gt_zero q_odd)
+
+lemma abs_infty_q_scale_pos:
+ assumes "s\<ge>0"
+ shows "abs_infty_q ((of_int_mod_ring s :: 'a mod_ring) * x) \<le>
+ \<bar>s\<bar> * (abs_infty_q x)"
+proof -
+ have "\<bar>to_int_mod_ring (of_int_mod_ring s * x) mod+- q\<bar> =
+ \<bar>(to_int_mod_ring (of_int_mod_ring s ::'a mod_ring) *
+ to_int_mod_ring x mod q) mod+- q\<bar>"
+ using to_int_mod_ring_mult[of "of_int_mod_ring s" x] by simp
+ also have "\<dots> = \<bar>(s mod q * to_int_mod_ring x) mod+- q\<bar>"
+ by (metis CARD_a mod_add_left_eq mod_plus_minus_def
+ of_int_mod_ring.rep_eq to_int_mod_ring.rep_eq)
+ also have "\<dots> \<le> \<bar>s mod q\<bar> * \<bar>to_int_mod_ring x mod+- q\<bar>"
+ proof -
+ have "\<bar>s mod q * to_int_mod_ring x mod+- q\<bar> =
+ \<bar>(s mod q mod+- q) * (to_int_mod_ring x mod+- q) mod+- q\<bar>"
+ using mod_plus_minus_mult by auto
+ also have "\<dots> \<le> \<bar>(s mod q mod+- q) * (to_int_mod_ring x mod+- q)\<bar>"
+ using mod_plus_minus_leq_mod by blast
+ also have "\<dots> \<le> \<bar>s mod q mod+- q\<bar> * \<bar>(to_int_mod_ring x mod+- q)\<bar>"
+ by (simp add: abs_mult)
+ also have "\<dots> \<le> \<bar>s mod q\<bar> * \<bar>(to_int_mod_ring x mod+- q)\<bar>"
+ using mod_plus_minus_leq_mod[of "s mod q"]
+ by (simp add: mult_right_mono)
+ finally show ?thesis by auto
+ qed
+ also have "\<dots> \<le> \<bar>s\<bar> * \<bar>to_int_mod_ring x mod+- q\<bar>" using assms
+ by (simp add: mult_mono' q_gt_zero zmod_le_nonneg_dividend)
+ finally show ?thesis unfolding abs_infty_q_def by auto
+qed
+
+lemma abs_infty_q_scale_neg:
+ assumes "s<0"
+ shows "abs_infty_q ((of_int_mod_ring s :: 'a mod_ring) * x) \<le>
+ \<bar>s\<bar> * (abs_infty_q x)"
+using abs_infty_q_minus abs_infty_q_scale_pos
+by (smt (verit, best) mult_minus_left of_int_minus of_int_of_int_mod_ring)
+
+lemma abs_infty_q_scale:
+ "abs_infty_q ((of_int_mod_ring s :: 'a mod_ring) * x) \<le>
+ \<bar>s\<bar> * (abs_infty_q x)"
+apply (cases "s\<ge>0")
+using abs_infty_q_scale_pos apply presburger
+using abs_infty_q_scale_neg by force
+
+
+text \<open>Lemmas for porting to \<open>qr\<close>.\<close>
+
+lemma of_qr_mult:
+ "of_qr (a * b) = of_qr a * of_qr b mod qr_poly"
+by (metis of_qr_to_qr to_qr_mult to_qr_of_qr)
+
+lemma of_qr_scale:
+ "of_qr (to_module s * b) =
+ Polynomial.smult (of_int_mod_ring s) (of_qr b)"
+unfolding to_module_def
+ by (auto simp add: of_qr_mult[of "to_qr [:of_int_mod_ring s:]" "b"]
+ of_qr_to_qr) (simp add: mod_mult_left_eq mod_smult_left of_qr.rep_eq)
+
+lemma to_module_mult:
+ "poly.coeff (of_qr (to_module s * a)) x1 =
+ of_int_mod_ring (s) * poly.coeff (of_qr a) x1"
+using of_qr_scale[of s a] by simp
+
+text \<open>Lemmas on \<open>round\<close> and \<open>floor\<close>.\<close>
+lemma odd_round_up:
+assumes "odd x"
+shows "round (real_of_int x / 2) = (x+1) div 2"
+proof -
+ have "round (real_of_int x / 2) = round (real_of_int (x+1) /2)"
+ using assms unfolding round_def
+ by (metis (no_types, opaque_lifting) add.commute
+ add_divide_distrib even_add even_succ_div_2
+ floor_divide_of_int_eq odd_one of_int_add
+ of_int_hom.hom_one of_int_numeral)
+ also have "\<dots> = (x+1) div 2"
+ by (metis add_divide_distrib calculation
+ floor_divide_of_int_eq of_int_add of_int_hom.hom_one
+ of_int_numeral round_def)
+ finally show ?thesis by blast
+qed
+
+lemma floor_unique:
+assumes "real_of_int a \<le> x" "x < a+1"
+shows "floor x = a"
+ using assms(1) assms(2) by linarith
+
+lemma same_floor:
+assumes "real_of_int a \<le> x" "real_of_int a \<le> y"
+ "x < a+1" "y < a+1"
+shows "floor x = floor y"
+using assms floor_unique by presburger
+
+lemma one_mod_four_round:
+assumes "x mod 4 = 1"
+shows "round (real_of_int x / 4) = (x-1) div 4"
+proof -
+ have leq: "(x-1) div 4 \<le> real_of_int x / 4 + 1 / 2"
+ using assms by linarith
+ have gr: "real_of_int x / 4 + 1 / 2 < (x-1) div 4 + 1"
+ proof -
+ have "x+2 < 4 * ((x-1) div 4 + 1)"
+ proof -
+ have *: "(x-1) div 4 + 1 = (x+3) div 4" by auto
+ have "4 dvd x + 3" using assms by presburger
+ then have "4 * ((x+3) div 4) = x+3"
+ by (subst dvd_imp_mult_div_cancel_left, auto)
+ then show ?thesis unfolding * by auto
+ qed
+ then show ?thesis by auto
+ qed
+ show "round (real_of_int x / 4) = (x-1) div 4"
+ using floor_unique[OF leq gr] unfolding round_def by auto
+qed
+
+lemma odd_half_floor:
+assumes "odd x"
+shows "\<lfloor>real_of_int x / 2\<rfloor> = (x-1) div 2"
+using assms by (metis add.commute diff_add_cancel even_add
+ even_succ_div_2 floor_divide_of_int_eq odd_one of_int_numeral)
+
+text \<open>Estimation inequality using message bit.\<close>
+
+lemma abs_infty_poly_ineq_pm_1:
+assumes "\<exists>x. poly.coeff (of_qr a) x \<in> {of_int_mod_ring (-1),1}"
+shows "abs_infty_poly (to_module (round((real_of_int q)/2)) * a) \<ge>
+ 2 * round (real_of_int q / 4)"
+proof -
+ let ?x = "to_module (round((real_of_int q)/2)) * a"
+ obtain x1 where x1_def:
+ "poly.coeff (of_qr a) x1 \<in> {of_int_mod_ring(-1),1}"
+ using assms by auto
+ have "abs_infty_poly (to_module (round((real_of_int q)/2)) * a)
+ \<ge> abs_infty_q (poly.coeff (of_qr (to_module
+ (round (real_of_int q / 2)) * a)) x1)"
+ unfolding abs_infty_poly_def using x1_def
+ by (simp add: finite_Max)
+ also have "abs_infty_q (poly.coeff (of_qr (to_module
+ (round (real_of_int q / 2)) * a)) x1)
+ = abs_infty_q (of_int_mod_ring (round (real_of_int q / 2))
+ * (poly.coeff (of_qr a) x1))"
+ using to_module_mult[of "round (real_of_int q / 2)" a]
+ by simp
+ also have "\<dots> = abs_infty_q (of_int_mod_ring
+ (round (real_of_int q / 2)))"
+ proof -
+ consider "poly.coeff (of_qr a) x1=1" |
+ "poly.coeff (of_qr a) x1 = of_int_mod_ring (-1)"
+ using x1_def by auto
+ then show ?thesis
+ proof (cases)
+ case 2
+ then show ?thesis
+ by (metis abs_infty_q_minus mult.right_neutral mult_minus_right
+ of_int_hom.hom_one of_int_minus of_int_of_int_mod_ring)
+ qed (auto)
+ qed
+ also have "\<dots> = \<bar>round (real_of_int q / 2) mod+- q\<bar>"
+ unfolding abs_infty_q_def
+ using to_int_mod_ring_of_int_mod_ring
+ by (simp add: CARD_a mod_add_left_eq mod_plus_minus_def
+ of_int_mod_ring.rep_eq to_int_mod_ring.rep_eq)
+ also have "\<dots> = \<bar>((q + 1) div 2) mod+- q\<bar>"
+ using odd_round_up[OF q_odd] by auto
+ also have "\<dots> = \<bar>((2 * q) div 2) mod q - (q - 1) div 2\<bar>"
+ unfolding mod_plus_minus_def odd_half_floor[OF q_odd]
+ using q_odd
+ by (smt (verit, ccfv_SIG) even_plus_one_iff even_succ_div_2
+ odd_two_times_div_two_succ)
+ also have "\<dots> = \<bar>(q-1) div 2\<bar>" using q_odd
+ by (subst nonzero_mult_div_cancel_left[of 2 q], simp)
+ (simp add: abs_div abs_minus_commute)
+ also have "\<dots> = 2 * ((q-1) div 4)"
+ proof -
+ have "(q-1) div 2 > 0" by (simp add: div_positive_int q_gt_two)
+ then have "\<bar>(q-1) div 2\<bar> = (q-1) div 2" by auto
+ also have "\<dots> = 2 * ((q-1) div 4)"
+ by (subst div_mult_swap) (use q_mod_4 in
+ \<open>metis dvd_minus_mod\<close>, force)
+ finally show ?thesis by blast
+ qed
+ also have "\<dots> = 2 * round (real_of_int q / 4)"
+ unfolding odd_round_up[OF q_odd] one_mod_four_round[OF q_mod_4]
+ by (simp add: round_def)
+ finally show ?thesis unfolding abs_infty_poly_def by simp
+qed
+
+text \<open>Triangle inequality for \<open>abs_infty_q\<close>.\<close>
+
+lemma abs_infty_q_triangle_ineq:
+ "abs_infty_q (x+y) \<le> abs_infty_q x + abs_infty_q y"
+proof -
+ have "to_int_mod_ring (x + y) mod+- q =
+ (to_int_mod_ring x + to_int_mod_ring y) mod q mod+-q"
+ by (simp add: to_int_mod_ring_def CARD_a plus_mod_ring.rep_eq)
+ also have "\<dots> = (to_int_mod_ring x + to_int_mod_ring y) mod+-q"
+ unfolding mod_plus_minus_def by presburger
+ also have "\<dots> = (to_int_mod_ring x mod+- q +
+ to_int_mod_ring y mod+- q) mod+- q"
+ unfolding mod_plus_minus_def
+ by (smt (verit, ccfv_threshold) mod_add_eq mod_diff_left_eq)
+ finally have rewrite:"to_int_mod_ring (x + y) mod+- q =
+ (to_int_mod_ring x mod+- q + to_int_mod_ring y mod+- q) mod+- q" .
+ then have "\<bar>to_int_mod_ring (x + y) mod+- q\<bar>
+ \<le> \<bar>to_int_mod_ring x mod+- q\<bar> + \<bar>to_int_mod_ring y mod+- q\<bar>"
+ proof (cases
+ "(to_int_mod_ring x mod+- q + to_int_mod_ring y mod+- q) \<in>
+ {-\<lfloor>real_of_int q/2\<rfloor>..<\<lfloor>real_of_int q/2\<rfloor>}")
+ case True
+ then have "(to_int_mod_ring x mod+- q +
+ to_int_mod_ring y mod+- q) mod+- q
+ = to_int_mod_ring x mod+- q + to_int_mod_ring y mod+- q"
+ using mod_plus_minus_rangeE[OF True q_odd] by auto
+ then show ?thesis by (simp add: rewrite)
+ next
+ case False
+ then have "\<bar>(to_int_mod_ring x mod+- q +
+ to_int_mod_ring y mod+- q)\<bar> \<ge> \<lfloor>real_of_int q /2\<rfloor>"
+ by auto
+ then have "\<bar>(to_int_mod_ring x mod+- q +
+ to_int_mod_ring y mod+- q)\<bar> \<ge> \<bar>(to_int_mod_ring x mod+- q +
+ to_int_mod_ring y mod+- q) mod+- q\<bar>"
+ using mod_plus_minus_range[OF q_gt_zero,
+ of "(to_int_mod_ring x mod+- q + to_int_mod_ring y mod+- q)"]
+ by auto
+ then show ?thesis by (simp add: rewrite)
+ qed
+ then show ?thesis
+ by (auto simp add: abs_infty_q_def mod_plus_minus_def)
+qed
+
+text \<open>Show that \<open>abs_infty_poly\<close> is definite, positive and fulfils the triangle inequality.\<close>
+
+lemma abs_infty_poly_definite:
+ "abs_infty_poly x = 0 \<longleftrightarrow> x = 0"
+proof (auto simp add: abs_infty_poly_def abs_infty_q_definite)
+ assume "(MAX xa. abs_infty_q (poly.coeff (of_qr x) xa)) = 0"
+ then have abs_le_zero: "abs_infty_q (poly.coeff (of_qr x) xa) \<le> 0"
+ for xa
+ using Max_ge[OF finite_Max[of x],
+ of "abs_infty_q (poly.coeff (of_qr x) xa)"]
+ by (auto simp add: Max_ge[OF finite_Max])
+ have "abs_infty_q (poly.coeff (of_qr x) xa) = 0" for xa
+ using abs_infty_q_pos[of "poly.coeff (of_qr x) xa"]
+ abs_le_zero[of xa] by auto
+ then have "poly.coeff (of_qr x) xa = 0" for xa
+ by (auto simp add: abs_infty_q_definite)
+ then show "x = 0"
+ using leading_coeff_0_iff of_qr_eq_0_iff by blast
+qed
+
+
+
+lemma abs_infty_poly_pos:
+ "abs_infty_poly x \<ge> 0"
+proof (auto simp add: abs_infty_poly_def)
+ have f_ge_zero: "\<forall>xa. abs_infty_q (poly.coeff (of_qr x) xa) \<ge> 0"
+ by (auto simp add: abs_infty_q_pos)
+ then show " 0 \<le> (MAX xa. abs_infty_q (poly.coeff (of_qr x) xa))"
+ using all_impl_Max[OF f_ge_zero finite_Max] by auto
+qed
+
+
+text \<open>Again, homogeneity is only true for inequality not necessarily equality!
+ Need to add $q\equiv 1\mod 4$ such that proof of crypto scheme works out.\<close>
+lemma abs_infty_poly_scale:
+ "abs_infty_poly ((to_module s) * x) \<le> (abs s) * (abs_infty_poly x)"
+proof -
+ have fin1: "finite (range (\<lambda>xa. abs_infty_q (of_int_mod_ring s *
+ poly.coeff (of_qr x) xa)))"
+ using finite_Max_scale by auto
+ have fin2: "finite (range (\<lambda>xa. \<bar>s\<bar> *
+ abs_infty_q (poly.coeff (of_qr x) xa)))"
+ by (metis finite_Max finite_imageI range_composition)
+ have "abs_infty_poly (to_module s * x) =
+ (MAX xa. abs_infty_q
+ ((of_int_mod_ring s) * poly.coeff (of_qr x) xa))"
+ using abs_infty_poly_def to_module_mult by force
+ also have "\<dots> \<le> (MAX xa. \<bar>s\<bar> * abs_infty_q (poly.coeff (of_qr x) xa))"
+ using abs_infty_q_scale fin1 fin2 by (subst Max_mono', auto)
+ also have "\<dots> = \<bar>s\<bar> * abs_infty_poly x"
+ unfolding abs_infty_poly_def comp_def using Max_scale by auto
+ finally show ?thesis by blast
+qed
+
+
+text \<open>Triangle inequality for \<open>abs_infty_poly\<close>.\<close>
+lemma abs_infty_poly_triangle_ineq:
+ "abs_infty_poly (x+y) \<le> abs_infty_poly x + abs_infty_poly y"
+proof -
+ have "abs_infty_q (poly.coeff (of_qr x) xa +
+ poly.coeff (of_qr y) xa) \<le>
+ abs_infty_q (poly.coeff (of_qr x) xa) +
+ abs_infty_q (poly.coeff (of_qr y) xa)"
+ for xa
+ using abs_infty_q_triangle_ineq[of
+ "poly.coeff (of_qr x) xa" "poly.coeff (of_qr y) xa"]
+ by auto
+ then have abs_q_triang: "\<forall>xa.
+ abs_infty_q (poly.coeff (of_qr x) xa + poly.coeff (of_qr y) xa) \<le>
+ abs_infty_q (poly.coeff (of_qr x) xa) +
+ abs_infty_q (poly.coeff (of_qr y) xa)"
+ by auto
+ have "(MAX xa. abs_infty_q (poly.coeff (of_qr x) xa +
+ poly.coeff (of_qr y) xa))
+ \<le> (MAX xa. abs_infty_q (poly.coeff (of_qr x) xa) +
+ abs_infty_q (poly.coeff (of_qr y) xa))"
+ using Max_mono'[OF abs_q_triang finite_Max_sum finite_Max_sum']
+ by auto
+ also have "\<dots> \<le> (MAX xa. abs_infty_q (poly.coeff (of_qr x) xa)) +
+ (MAX xb. abs_infty_q (poly.coeff (of_qr y) xb))"
+ using Max_mono_plus[OF finite_Max[of x] finite_Max[of y]]
+ by auto
+ finally have "(MAX xa. abs_infty_q (poly.coeff (of_qr x) xa +
+ poly.coeff (of_qr y) xa))
+ \<le> (MAX xa. abs_infty_q (poly.coeff (of_qr x) xa)) +
+ (MAX xb. abs_infty_q (poly.coeff (of_qr y) xb))"
+ by auto
+ then show ?thesis
+ by (auto simp add: abs_infty_poly_def)
+qed
+
+
+
+
+end
+end
\ No newline at end of file
diff --git a/thys/CRYSTALS-Kyber/Compress.thy b/thys/CRYSTALS-Kyber/Compress.thy
new file mode 100644
--- /dev/null
+++ b/thys/CRYSTALS-Kyber/Compress.thy
@@ -0,0 +1,1130 @@
+theory Compress
+
+imports Kyber_spec
+ Mod_Plus_Minus
+ Abs_Qr
+ "HOL-Analysis.Finite_Cartesian_Product"
+
+begin
+
+context kyber_spec begin
+
+section \<open>Compress and Decompress Functions\<close>
+
+
+text \<open>Properties of the \<open>mod+-\<close> function.\<close>
+
+lemma two_mid_lt_q:
+ "2 * \<lfloor>real_of_int q/2\<rfloor> < q"
+using oddE[OF prime_odd_int[OF q_prime q_gt_two]] by fastforce
+
+lemma mod_plus_minus_range_q:
+ assumes "y \<in> {-\<lfloor>q/2\<rfloor>..\<lfloor>q/2\<rfloor>}"
+ shows "y mod+- q = y"
+using mod_plus_minus_range[OF q_gt_zero, of y]
+unfolding mod_plus_minus_def
+proof (auto)
+ have this': "y + \<lfloor>real_of_int q/2\<rfloor> \<in> {0..<q}"
+ using assms two_mid_lt_q by auto
+ have "(y + \<lfloor>real_of_int q/2\<rfloor>) mod q = (y + \<lfloor>real_of_int q/2\<rfloor>)"
+ using mod_rangeE[OF this'] by auto
+ then show "(y + \<lfloor>real_of_int q/2\<rfloor>) mod q - \<lfloor>real_of_int q/2\<rfloor>
+ = y" by auto
+qed
+
+
+text \<open>Compression only works for $x \in \mathbb{Z}_q$ and outputs an integer
+ in $\{0,\dots, 2^d-1\}$ , where $d$ is a positive integer with
+ $d < \rceil\log_2 (q)\lceil$.
+ For compression we omit the least important bits.
+ Decompression rescales to the modulus q.\<close>
+
+
+definition compress :: "nat \<Rightarrow> int \<Rightarrow> int" where
+ "compress d x =
+ round (real_of_int (2^d * x) / real_of_int q) mod (2^d)"
+
+definition decompress :: "nat \<Rightarrow> int \<Rightarrow> int" where
+ "decompress d x =
+ round (real_of_int q * real_of_int x / real_of_int 2^d)"
+
+
+
+lemma compress_zero: "compress d 0 = 0"
+unfolding compress_def by auto
+
+lemma decompress_zero: "decompress d 0 = 0"
+unfolding decompress_def by auto
+
+
+text \<open>Properties of the exponent $d$.\<close>
+
+lemma d_lt_logq:
+ assumes "of_nat d < \<lceil>(log 2 q)::real\<rceil>"
+ shows "d< log 2 q"
+using assms by linarith
+
+lemma twod_lt_q:
+ assumes "of_nat d < \<lceil>(log 2 q)::real\<rceil>"
+ shows "2 powr (real d) < of_int q"
+using assms less_log_iff[of 2 q d] d_lt_logq q_gt_zero
+by auto
+
+lemma prime_half:
+ assumes "prime (p::int)"
+ "p > 2"
+ shows "\<lceil>p / 2\<rceil> > \<lfloor>p / 2\<rfloor>"
+proof -
+ have "odd p" using prime_odd_int[OF assms] .
+ then have "\<lceil>p / 2\<rceil> > p/2"
+ by (smt (verit, best) cos_npi_int cos_zero_iff_int
+ le_of_int_ceiling mult.commute times_divide_eq_right)
+ then have "\<lfloor>p / 2\<rfloor> < p/2"
+ by (meson floor_less_iff less_ceiling_iff)
+ then show ?thesis using \<open>\<lceil>p / 2\<rceil> > p/2\<close> by auto
+qed
+
+
+lemma break_point_gt_q_div_two:
+ assumes "of_nat d < \<lceil>(log 2 q)::real\<rceil>"
+ shows "\<lceil>q-(q/(2*2^d))\<rceil> > \<lfloor>q/2\<rfloor>"
+proof -
+ have "1/((2::real)^d) \<le> (1::real)"
+ using one_le_power[of 2 d] by simp
+ have "\<lceil>q-(q/(2*2^d))\<rceil> \<ge> q-(q/2)* (1/(2^d))" by simp
+ moreover have "q-(q/2)* (1/(2^d)) \<ge> q - q/2"
+ using \<open>1/((2::real)^d) \<le> (1::real)\<close>
+ by (smt (z3) calculation divide_le_eq divide_nonneg_nonneg
+ divide_self_if mult_left_mono of_int_nonneg
+ times_divide_eq_right q_gt_zero)
+ ultimately have "\<lceil>q-(q/(2*2^d))\<rceil> \<ge> \<lceil>q/2\<rceil> " by linarith
+ moreover have "\<lceil>q/2\<rceil> > \<lfloor>q/2\<rfloor>"
+ using prime_half[OF q_prime q_gt_two] .
+ ultimately show ?thesis by auto
+qed
+
+lemma decompress_zero_unique:
+ assumes "decompress d s = 0"
+ "s \<in> {0..2^d - 1}"
+ "of_nat d < \<lceil>(log 2 q)::real\<rceil>"
+ shows "s = 0"
+proof -
+ let ?x = "real_of_int q * real_of_int s /
+ real_of_int 2^d + 1/2"
+ have "0 \<le> ?x \<and> ?x < 1" using assms(1)
+ unfolding decompress_def round_def
+ using floor_correct[of ?x] by auto
+ then have "real_of_int q * real_of_int s /
+ real_of_int 2^d < 1/2" by linarith
+ moreover have "real_of_int q / real_of_int 2^d > 1"
+ using twod_lt_q[OF assms(3)]
+ by (simp add: powr_realpow)
+ ultimately have "real_of_int s < 1/2"
+ by (smt (verit, best) divide_less_eq_1_pos field_sum_of_halves
+ pos_divide_less_eq times_divide_eq_left)
+ then show ?thesis using assms(2) by auto
+qed
+
+text \<open>Range of compress and decompress functions\<close>
+
+
+lemma range_compress:
+ assumes "x\<in>{0..q-1}" "of_nat d < \<lceil>(log 2 q)::real\<rceil>"
+ shows "compress d x \<in> {0..2^d - 1}"
+using compress_def by auto
+
+lemma range_decompress:
+ assumes "x\<in>{0..2^d - 1}" "of_nat d < \<lceil>(log 2 q)::real\<rceil>"
+ shows "decompress d x \<in> {0..q-1}"
+using decompress_def assms
+proof (auto, goal_cases)
+case 1
+ then show ?case
+ by (smt (verit, best) divide_eq_0_iff divide_numeral_1
+ less_divide_eq_1_pos mult_of_int_commute
+ nonzero_mult_div_cancel_right of_int_eq_0_iff
+ of_int_less_1_iff powr_realpow q_gt_zero q_nonzero
+ round_0 round_mono twod_lt_q zero_less_power)
+next
+case 2
+ have "real_of_int q/2^d > 1" using twod_lt_q[OF assms(2)]
+ by (simp add: powr_realpow)
+ then have log: "real_of_int q - real_of_int q/2^d \<le> q-1" by simp
+ have "x \<le> 2^d-1" using assms(1) by simp
+ then have "real_of_int x \<le> 2^d - 1" by (simp add: int_less_real_le)
+ then have "real_of_int q * real_of_int x / 2^d \<le>
+ real_of_int q * (2^d-1) / 2^d"
+ by (smt (verit, best) divide_strict_right_mono
+ mult_less_cancel_left_pos of_int_pos q_gt_zero
+ zero_less_power)
+ also have "\<dots> = real_of_int q * 2^d /2^d - real_of_int q/2^d"
+ by (simp add: diff_divide_distrib right_diff_distrib)
+ finally have "real_of_int q * real_of_int x / 2^d \<le>
+ real_of_int q - real_of_int q/2^d" by simp
+ then have "round (real_of_int q * real_of_int x / 2^d) \<le>
+ round (real_of_int q - real_of_int q/2^d)"
+ using round_mono by blast
+ also have "\<dots> \<le> q - 1"
+ using log by (metis round_mono round_of_int)
+ finally show ?case by auto
+qed
+
+text \<open>Compression is a function qrom $\mathbb{Z} / q\mathbb{Z}$ to
+ $\mathbb{Z} / (2^d)\mathbb{Z}$.\<close>
+
+lemma compress_in_range:
+ assumes "x\<in>{0..\<lceil>q-(q/(2*2^d))\<rceil>-1}"
+ "of_nat d < \<lceil>(log 2 q)::real\<rceil>"
+ shows "round (real_of_int (2^d * x) / real_of_int q) < 2^d "
+proof -
+ have "(2::int)^d \<noteq> 0" by simp
+ have "real_of_int x < real_of_int q - real_of_int q / (2 * 2^d)"
+ using assms(1) less_ceiling_iff by auto
+ then have "2^d * real_of_int x / real_of_int q <
+ 2^d * (real_of_int q - real_of_int q / (2 * 2^d)) /
+ real_of_int q"
+ by (simp add: divide_strict_right_mono q_gt_zero)
+ also have "\<dots> = 2^d * ((real_of_int q / real_of_int q) -
+ (real_of_int q / real_of_int q) / (2 * 2^d))"
+ by (simp add:algebra_simps diff_divide_distrib)
+ also have "\<dots> = 2^d * (1 - 1/(2*2^d))"
+ using q_nonzero by simp
+ also have "\<dots> = 2^d - 1/2"
+ using \<open>2^d \<noteq> 0\<close> by (simp add: right_diff_distrib')
+ finally have "2^d * real_of_int x / real_of_int q <
+ 2^d - (1::real)/(2::real)"
+ by auto
+ then show ?thesis unfolding round_def
+ using floor_less_iff by fastforce
+qed
+
+text \<open>When does the modulo operation in the compression function change the output?
+ Only when \<open>x \<ge> \<lceil>q-(q / (2*2^d))\<rceil>\<close>. Then we can determine that the compress function
+ maps to zero. This is why we need the \<open>mod+-\<close> in the definition of Compression.
+ Otherwise the error bound would not hold.\<close>
+
+lemma compress_no_mod:
+ assumes "x\<in>{0..\<lceil>q-(q / (2*2^d))\<rceil>-1}"
+ "of_nat d < \<lceil>(log 2 q)::real\<rceil>"
+ shows "compress d x =
+ round (real_of_int (2^d * x) / real_of_int q)"
+unfolding compress_def
+using compress_in_range[OF assms] assms(1) q_gt_zero
+by (smt (z3) atLeastAtMost_iff divide_nonneg_nonneg
+ mod_pos_pos_trivial mult_less_cancel_left_pos
+ of_int_nonneg of_nat_0_less_iff right_diff_distrib'
+ round_0 round_mono zero_less_power)
+
+lemma compress_2d:
+ assumes "x\<in>{\<lceil>q-(q/(2*2^d))\<rceil>..q-1}"
+ "of_nat d < \<lceil>(log 2 q)::real\<rceil>"
+ shows "round (real_of_int (2^d * x) / real_of_int q) = 2^d "
+using assms proof -
+ have "(2::int)^d \<noteq> 0" by simp
+ have "round (real_of_int (2^d * x) / real_of_int q) \<ge> 2^d"
+ proof -
+ have "real_of_int x \<ge> real_of_int q - real_of_int q / (2 * 2^d)"
+ using assms(1) ceiling_le_iff by auto
+ then have "2^d * real_of_int x / real_of_int q \<ge>
+ 2^d * (real_of_int q - real_of_int q / (2 * 2^d)) /
+ real_of_int q"
+ using q_gt_zero by (simp add: divide_right_mono)
+ also have "2^d * (real_of_int q - real_of_int q /
+ (2 * 2^d)) / real_of_int q
+ = 2^d * ((real_of_int q / real_of_int q) -
+ (real_of_int q / real_of_int q) / (2 * 2^d))"
+ by (simp add:algebra_simps diff_divide_distrib)
+ also have "\<dots> = 2^d * (1 - 1/(2*2^d))"
+ using q_nonzero by simp
+ also have "\<dots> = 2^d - 1/2"
+ using \<open>2^d \<noteq> 0\<close> by (simp add: right_diff_distrib')
+ finally have "2^d * real_of_int x / real_of_int q \<ge>
+ 2^d - (1::real)/(2::real)"
+ by auto
+ then show ?thesis unfolding round_def using le_floor_iff by force
+ qed
+ moreover have "round (real_of_int (2^d * x) / real_of_int q) \<le> 2^d"
+ proof -
+ have "d < log 2 q" using assms(2) by linarith
+ then have "2 powr (real d) < of_int q"
+ using less_log_iff[of 2 q d] q_gt_zero by auto
+ have "x < q" using assms(1) by auto
+ then have "real_of_int x/ real_of_int q < 1"
+ by (simp add: q_gt_zero)
+ then have "real_of_int (2^d * x) / real_of_int q <
+ real_of_int (2^d)"
+ by (auto) (smt (verit, best) divide_less_eq_1_pos
+ nonzero_mult_div_cancel_left times_divide_eq_right
+ zero_less_power)
+ then show ?thesis unfolding round_def by linarith
+ qed
+ ultimately show ?thesis by auto
+qed
+
+lemma compress_mod:
+ assumes "x\<in>{\<lceil>q-(q/(2*2^d))\<rceil>..q-1}"
+ "of_nat d < \<lceil>(log 2 q)::real\<rceil>"
+ shows "compress d x = 0"
+unfolding compress_def using compress_2d[OF assms] by simp
+
+
+text \<open>Error after compression and decompression of data.
+ To prove the error bound, we distinguish the cases where the \<open>mod+-\<close> is relevant or not.\<close>
+
+text \<open>First let us look at the error bound for no \<open>mod+-\<close> reduction.\<close>
+
+lemma decompress_compress_no_mod:
+ assumes "x\<in>{0..\<lceil>q-(q/(2*2^d))\<rceil>-1}"
+ "of_nat d < \<lceil>(log 2 q)::real\<rceil>"
+ shows "abs (decompress d (compress d x) - x) \<le>
+ round ( real_of_int q / real_of_int (2^(d+1)))"
+proof -
+ have "abs (decompress d (compress d x) - x) =
+ abs (real_of_int (decompress d (compress d x)) -
+ real_of_int q / real_of_int (2^d) *
+ (real_of_int (2^d * x) / real_of_int q))"
+ using q_gt_zero by force
+ also have "\<dots> \<le> abs (real_of_int (decompress d (compress d x)) -
+ real_of_int q / real_of_int (2^d) * real_of_int (compress d x)) +
+ abs (real_of_int q / real_of_int (2^d) *
+ real_of_int (compress d x) - real_of_int q / real_of_int (2^d) *
+ real_of_int (2^d) / real_of_int q * x)"
+ using abs_triangle_ineq[of
+ "real_of_int (decompress d (compress d x)) -
+ real_of_int q / real_of_int (2^d) * real_of_int (compress d x)"
+ "real_of_int q / real_of_int (2^d) * real_of_int (compress d x)
+ - real_of_int q / real_of_int (2^d) * real_of_int (2^d) /
+ real_of_int q * real_of_int x"] by auto
+ also have "\<dots> \<le> 1/2 + abs (real_of_int q / real_of_int (2^d) *
+ (real_of_int (compress d x) -
+ real_of_int (2^d) / real_of_int q * real_of_int x))"
+ proof -
+ have part_one:
+ "abs (real_of_int (decompress d (compress d x)) -
+ real_of_int q / real_of_int (2^d) * real_of_int (compress d x))
+ \<le> 1/2"
+ unfolding decompress_def
+ using of_int_round_abs_le[of "real_of_int q *
+ real_of_int (compress d x) / real_of_int 2^d"] by simp
+ have "real_of_int q * real_of_int (compress d x) / 2^d -
+ real_of_int x =
+ real_of_int q * (real_of_int (compress d x) -
+ 2^d * real_of_int x / real_of_int q) / 2^d"
+ by (smt (verit, best) divide_cancel_right
+ nonzero_mult_div_cancel_left of_int_eq_0_iff
+ q_nonzero right_diff_distrib times_divide_eq_left
+ zero_less_power)
+ then have part_two:
+ "abs (real_of_int q / real_of_int (2^d) *
+ real_of_int (compress d x) -
+ real_of_int q / real_of_int (2^d) * real_of_int (2^d) /
+ real_of_int q * x) =
+ abs (real_of_int q / real_of_int (2^d) *
+ (real_of_int (compress d x) - real_of_int (2^d) /
+ real_of_int q * x)) " by auto
+ show ?thesis using part_one part_two by auto
+ qed
+ also have "\<dots> = 1/2 + (real_of_int q / real_of_int (2^d)) *
+ abs (real_of_int (compress d x) - real_of_int (2^d) /
+ real_of_int q * real_of_int x)"
+ by (subst abs_mult) (smt (verit, best) assms(2)
+ less_divide_eq_1_pos of_int_add of_int_hom.hom_one
+ of_int_power powr_realpow twod_lt_q zero_less_power)
+ also have "\<dots> \<le> 1/2 + (real_of_int q / real_of_int (2^d)) * (1/2) "
+ using compress_no_mod[OF assms]
+ using of_int_round_abs_le[of "real_of_int (2^d) *
+ real_of_int x / real_of_int q"]
+ by (smt (verit, ccfv_SIG) divide_nonneg_nonneg left_diff_distrib
+ mult_less_cancel_left_pos of_int_mult of_int_nonneg q_gt_zero
+ times_divide_eq_left zero_le_power)
+ finally have "real_of_int (abs (decompress d (compress d x) - x)) \<le>
+ real_of_int q / real_of_int (2*2^d) + 1/2"
+ by simp
+ then show ?thesis unfolding round_def using le_floor_iff
+ by fastforce
+qed
+
+
+lemma no_mod_plus_minus:
+ assumes "abs y \<le> round ( real_of_int q / real_of_int (2^(d+1)))"
+ "d>0"
+ shows "abs y = abs (y mod+- q)"
+proof -
+ have "round (real_of_int q / real_of_int (2^(d+1))) \<le> \<lfloor>q/2\<rfloor>"
+ unfolding round_def
+ proof -
+ have "real_of_int q/real_of_int (2^d) \<le> real_of_int q/2"
+ using \<open>d>0\<close>
+ proof -
+ have "1 / real_of_int (2^d) \<le> 1/2"
+ using \<open>d>0\<close> inverse_of_nat_le[of 2 "2^d"]
+ by (simp add: self_le_power)
+ then show ?thesis using q_gt_zero
+ by (smt (verit, best) frac_less2 of_int_le_0_iff zero_less_power)
+ qed
+ moreover have "real_of_int q/2 + 1 \<le> real_of_int q"
+ using q_gt_two by auto
+ ultimately have "real_of_int q / real_of_int (2^d) + 1 \<le>
+ real_of_int q" by linarith
+ then have fact: "real_of_int q / real_of_int (2 ^ (d + 1)) +
+ 1/2 \<le> real_of_int q/2"
+ by auto
+ then show "\<lfloor>real_of_int q / real_of_int (2 ^ (d + 1)) + 1/2\<rfloor> \<le>
+ \<lfloor>real_of_int q/2\<rfloor>"
+ using floor_mono[OF fact] by auto
+ qed
+ then have "abs y \<le> \<lfloor>q/2\<rfloor>" using assms by auto
+ then show ?thesis using mod_plus_minus_range[OF q_gt_zero]
+ using mod_plus_minus_def two_mid_lt_q by force
+qed
+
+
+lemma decompress_compress_no_mod_plus_minus:
+ assumes "x\<in>{0..\<lceil>q-(q/(2*2^d))\<rceil>-1}"
+ "of_nat d < \<lceil>(log 2 q)::real\<rceil>"
+ "d>0"
+ shows "abs ((decompress d (compress d x) - x) mod+- q) \<le>
+ round ( real_of_int q / real_of_int (2^(d+1)))"
+proof -
+ have "abs ((decompress d (compress d x) - x) mod+- q) =
+ abs ((decompress d (compress d x) - x)) "
+ using no_mod_plus_minus[OF decompress_compress_no_mod
+ [OF assms(1) assms(2)] assms(3)] by auto
+ then show ?thesis using decompress_compress_no_mod
+ [OF assms(1) assms(2)] by auto
+qed
+
+text \<open>Now lets look at what happens when the \<open>mod+-\<close> reduction comes into action.\<close>
+
+lemma ceiling_int:
+ "\<lceil>of_int a + b\<rceil> = a + \<lceil>b\<rceil>"
+unfolding ceiling_def by (simp add: add.commute)
+
+lemma decompress_compress_mod:
+ assumes "x\<in>{\<lceil>q-(q/(2*2^d))\<rceil>..q-1}"
+ "of_nat d < \<lceil>(log 2 q)::real\<rceil>"
+ shows "abs ((decompress d (compress d x) - x) mod+- q) \<le>
+ round ( real_of_int q / real_of_int (2^(d+1)))"
+proof -
+ have "(decompress d (compress d x) - x) = - x"
+ using compress_mod[OF assms] unfolding decompress_def
+ by auto
+ moreover have "-x mod+- q = -x+q"
+ proof -
+ have "(-x + \<lfloor>q/2\<rfloor>) + q < q" using assms(1)
+ break_point_gt_q_div_two[OF assms(2)] by force
+ moreover have "(-x + \<lfloor>q/2\<rfloor>) + q \<ge> 0 "
+ using assms(1) q_gt_zero
+ by (smt (verit, best) atLeastAtMost_iff divide_nonneg_nonneg
+ of_int_nonneg zero_le_floor)
+ ultimately have "(- x + \<lfloor>q/2\<rfloor>) mod q = - x + \<lfloor>q/2\<rfloor> + q"
+ by (metis mod_add_self2 mod_pos_pos_trivial)
+ then show ?thesis unfolding mod_plus_minus_def by auto
+ qed
+ moreover have "abs (q - x) \<le> round ( real_of_int q /
+ real_of_int (2^(d+1)))"
+ proof -
+ have "abs (q-x) = q-x"
+ using assms(1) by auto
+ also have "\<dots> \<le> q - \<lceil>q - q/(2*2^d)\<rceil>"
+ using assms(1) by simp
+ also have "\<dots> = - \<lceil>- q/(2*2^d)\<rceil>"
+ using ceiling_int[of q "- q/(2*2^d)"] by auto
+ also have "\<dots> = \<lfloor>q/(2*2^d)\<rfloor>"
+ by (simp add: ceiling_def)
+ also have "\<dots> \<le> round (q/(2*2^d))"
+ using floor_le_round by blast
+ finally have "abs (q-x) \<le> round (q/(2^(d+1)))" by auto
+ then show ?thesis by auto
+ qed
+ ultimately show ?thesis by auto
+qed
+
+text \<open>Together, we can determine the general error bound on
+ decompression of compression of the data.
+ This error needs to be small enough not to disturb the encryption and decryption process.\<close>
+
+lemma decompress_compress:
+ assumes "x\<in>{0..<q}"
+ "of_nat d < \<lceil>(log 2 q)::real\<rceil>"
+ "d>0"
+ shows "let x' = decompress d (compress d x) in
+ abs ((x' - x) mod+- q) \<le>
+ round ( real_of_int q / real_of_int (2^(d+1)) )"
+proof (cases "x<\<lceil>q-(q/(2*2^d))\<rceil>")
+case True
+ then have range_x: "x\<in>{0..\<lceil>q-(q/(2*2^d))\<rceil>-1}"
+ using assms(1) by auto
+ show ?thesis unfolding Let_def
+ using decompress_compress_no_mod_plus_minus[OF
+ range_x assms(2) assms(3)] by auto
+next
+case False
+ then have range_x: "x\<in>{\<lceil>q-(q/(2*2^d))\<rceil>..q-1}"
+ using assms(1) by auto
+ show ?thesis unfolding Let_def
+ using decompress_compress_mod[OF range_x assms(2)]
+ by auto
+qed
+
+text \<open>We have now defined compression only on integers (ie \<open>{0..<q}\<close>, corresponding to \<open>\<int>_q\<close>).
+ We need to extend this notion to the ring \<open>\<int>_q[X]/(X^n+1)\<close>. Here, a compressed polynomial
+ is the compression on every coefficient.\<close>
+
+text \<open>
+How to channel through the types
+\begin{itemize}
+\item \<open>to_qr :: 'a mod_ring poly \<Rightarrow> 'a qr\<close>
+\item \<open>Poly :: 'a mod_ring list \<Rightarrow> 'a mod_ring poly\<close>
+\item \<open>map of_int_mod_ring :: int list \<Rightarrow> 'a mod_ring list\<close>
+\item \<open>map compress :: int list \<Rightarrow> int list\<close>
+\item \<open>map to_int_mod_ring :: 'a mod_ring list \<Rightarrow> int list\<close>
+\item \<open>coeffs :: 'a mod_ring poly \<Rightarrow> 'a mod_ring list\<close>
+\item \<open>of_qr :: 'a qr \<Rightarrow> 'a mod_ring poly\<close>
+\end{itemize}
+\<close>
+definition compress_poly :: "nat \<Rightarrow> 'a qr \<Rightarrow> 'a qr" where
+ "compress_poly d =
+ to_qr \<circ>
+ Poly \<circ>
+ (map of_int_mod_ring) \<circ>
+ (map (compress d)) \<circ>
+ (map to_int_mod_ring) \<circ>
+ coeffs \<circ>
+ of_qr"
+
+definition decompress_poly :: "nat \<Rightarrow> 'a qr \<Rightarrow> 'a qr" where
+ "decompress_poly d =
+ to_qr \<circ>
+ Poly \<circ>
+ (map of_int_mod_ring) \<circ>
+ (map (decompress d)) \<circ>
+ (map to_int_mod_ring) \<circ>
+ coeffs \<circ>
+ of_qr"
+
+
+text \<open>Lemmas for compression error for polynomials. Lemma telescope to go qrom module level
+ down to integer coefficients and back up again.\<close>
+
+lemma deg_Poly':
+ assumes "Poly xs \<noteq> 0"
+ shows "degree (Poly xs) \<le> length xs - 1"
+proof (induct xs)
+ case (Cons a xs)
+ then show ?case
+ by simp (metis Poly.simps(1) Suc_le_eq Suc_pred
+ le_imp_less_Suc length_greater_0_conv)
+qed simp
+
+lemma of_int_mod_ring_eq_0:
+ "((of_int_mod_ring x :: 'a mod_ring) = 0) \<longleftrightarrow>
+ (x mod q = 0)"
+by (metis CARD_a mod_0 of_int_code(2)
+ of_int_mod_ring.abs_eq of_int_mod_ring.rep_eq
+ of_int_of_int_mod_ring)
+
+lemma dropWhile_mod_ring:
+ "dropWhile ((=)0) (map of_int_mod_ring xs :: 'a mod_ring list) =
+ map of_int_mod_ring (dropWhile (\<lambda>x. x mod q = 0) xs)"
+proof (induct xs)
+ case (Cons x xs)
+ have "dropWhile ((=) 0) (map of_int_mod_ring (x # xs)) =
+ dropWhile ((=) 0) ((of_int_mod_ring x :: 'a mod_ring) #
+ (map of_int_mod_ring xs))"
+ by auto
+ also have "\<dots> = (if 0 = (of_int_mod_ring x :: 'a mod_ring)
+ then dropWhile ((=) 0) (map of_int_mod_ring xs)
+ else map of_int_mod_ring (x # xs))"
+ unfolding dropWhile.simps(2)[of "((=) 0)"
+ "of_int_mod_ring x :: 'a mod_ring" "map of_int_mod_ring xs"]
+ by auto
+ also have "\<dots> = (if x mod q = 0
+ then map of_int_mod_ring (dropWhile (\<lambda>x. x mod q = 0) xs)
+ else map of_int_mod_ring (x # xs))"
+ using of_int_mod_ring_eq_0 unfolding Cons.hyps by auto
+ also have "\<dots> = map of_int_mod_ring (dropWhile (\<lambda>x. x mod q = 0)
+ (x # xs))"
+ unfolding dropWhile.simps(2) by auto
+ finally show ?case by blast
+qed simp
+
+lemma strip_while_mod_ring:
+"(strip_while ((=) 0) (map of_int_mod_ring xs :: 'a mod_ring list)) =
+ map of_int_mod_ring (strip_while (\<lambda>x. x mod q = 0) xs)"
+unfolding strip_while_def comp_def rev_map dropWhile_mod_ring by auto
+
+
+lemma of_qr_to_qr_Poly:
+ assumes "length (xs :: int list) < Suc (nat n)"
+ "xs \<noteq> []"
+ shows "of_qr (to_qr
+ (Poly (map (of_int_mod_ring :: int \<Rightarrow> 'a mod_ring) xs))) =
+ Poly (map (of_int_mod_ring :: int \<Rightarrow> 'a mod_ring) xs)"
+ (is "_ = ?Poly")
+proof -
+ have deg: "degree (?Poly) < n"
+ using deg_Poly'[of "map of_int_mod_ring xs"] assms
+ by (smt (verit, del_insts) One_nat_def Suc_pred degree_0
+ length_greater_0_conv length_map less_Suc_eq_le
+ order_less_le_trans zless_nat_eq_int_zless)
+ then show ?thesis
+ using of_qr_to_qr[of "?Poly"] deg_mod_qr_poly[of "?Poly"]
+ deg_qr_n by (smt (verit, best) of_nat_less_imp_less)
+qed
+
+lemma telescope_stripped:
+ assumes "length (xs :: int list) < Suc (nat n)"
+ "strip_while (\<lambda>x. x mod q = 0) xs = xs"
+ "set xs \<subseteq> {0..<q}"
+ shows "(map to_int_mod_ring)
+ (coeffs (of_qr (to_qr (Poly
+ (map (of_int_mod_ring :: int \<Rightarrow> 'a mod_ring) xs))))) = xs"
+proof (cases "xs = []")
+case False
+ have ge_zero: "0\<le>x" and lt_q:"x < int CARD ('a)"
+ if "x\<in>set xs" for x
+ using assms(3) CARD_a atLeastLessThan_iff that by auto
+ have to_int_of_int: "map (to_int_mod_ring \<circ>
+ (of_int_mod_ring :: int \<Rightarrow> 'a mod_ring)) xs = xs"
+ using to_int_mod_ring_of_int_mod_ring[OF ge_zero lt_q]
+ by (simp add: map_idI)
+ show ?thesis using assms(2)
+ of_qr_to_qr_Poly[OF assms(1) False]
+ by (auto simp add: to_int_of_int strip_while_mod_ring)
+qed (simp)
+
+lemma map_to_of_mod_ring:
+ assumes "set xs \<subseteq> {0..<q}"
+ shows "map (to_int_mod_ring \<circ>
+ (of_int_mod_ring :: int \<Rightarrow> 'a mod_ring)) xs = xs"
+using assms by (induct xs) (simp_all add: CARD_a)
+
+lemma telescope:
+ assumes "length (xs :: int list) < Suc (nat n)"
+ "set xs \<subseteq> {0..<q}"
+ shows "(map to_int_mod_ring)
+ (coeffs (of_qr (to_qr (Poly
+ (map (of_int_mod_ring :: int \<Rightarrow> 'a mod_ring) xs))))) =
+ strip_while (\<lambda>x. x mod q = 0) xs"
+proof (cases "xs = strip_while (\<lambda>x. x mod q = 0) xs")
+case True
+ then show ?thesis using telescope_stripped assms
+ by auto
+next
+case False
+ let ?of_int = "(map (of_int_mod_ring ::
+ int \<Rightarrow> 'a mod_ring) xs)"
+ have "xs \<noteq> []" using False by auto
+ then have "(map to_int_mod_ring)
+ (coeffs (of_qr (to_qr (Poly ?of_int)))) =
+ (map to_int_mod_ring) (coeffs (Poly ?of_int))"
+ using of_qr_to_qr_Poly[OF assms(1)] by auto
+ also have "\<dots> = (map to_int_mod_ring)
+ (strip_while ((=) 0) ?of_int)"
+ by auto
+ also have "\<dots> = map (to_int_mod_ring \<circ>
+ (of_int_mod_ring :: int \<Rightarrow> 'a mod_ring))
+ (strip_while (\<lambda>x. x mod q = 0) xs)"
+ using strip_while_mod_ring by auto
+ also have "\<dots> = strip_while (\<lambda>x. x mod q = 0) xs"
+ using assms(2) proof (induct xs rule: rev_induct)
+ case (snoc y ys)
+ let ?to_of_mod_ring = "to_int_mod_ring \<circ>
+ (of_int_mod_ring :: int \<Rightarrow> 'a mod_ring)"
+ have "map ?to_of_mod_ring
+ (strip_while (\<lambda>x. x mod q = 0) (ys @ [y])) =
+ (if y mod q = 0
+ then map ?to_of_mod_ring (strip_while (\<lambda>x. x mod q = 0) ys)
+ else map ?to_of_mod_ring ys @ [?to_of_mod_ring y])"
+ by (subst strip_while_snoc) auto
+ also have "\<dots> = (if y mod q = 0
+ then strip_while (\<lambda>x. x mod q = 0) ys
+ else map ?to_of_mod_ring ys @ [?to_of_mod_ring y])"
+ using snoc by fastforce
+ also have "\<dots> = (if y mod q = 0
+ then strip_while (\<lambda>x. x mod q = 0) ys
+ else ys @ [y])"
+ using map_to_of_mod_ring[OF snoc(2)] by auto
+ also have "\<dots> = strip_while (\<lambda>x. x mod q = 0) (ys @ [y])"
+ by auto
+ finally show ?case .
+ qed simp
+ finally show ?thesis by auto
+qed
+
+lemma length_coeffs_of_qr:
+ "length (coeffs (of_qr (x ::'a qr))) < Suc (nat n)"
+proof (cases "x=0")
+case False
+ then have "of_qr x \<noteq> 0" by simp
+ then show ?thesis
+ using length_coeffs_degree[of "of_qr x"] deg_of_qr[of x]
+ using deg_qr_n by fastforce
+qed (auto simp add: n_gt_zero)
+
+lemma strip_while_change:
+ assumes "\<And>x. P x \<longrightarrow> S x" "\<And>x. (\<not> P x) \<longrightarrow> (\<not> S x)"
+ shows "strip_while P xs = strip_while S xs"
+proof (induct xs rule: rev_induct)
+case (snoc x xs)
+ have "P x = S x" using assms[of x] by blast
+ then show ?case by (simp add: snoc.hyps)
+qed simp
+
+lemma strip_while_change_subset:
+ assumes "set xs \<subseteq> s"
+ "\<forall>x\<in>s. P x \<longrightarrow> S x"
+ "\<forall>x\<in>s. (\<not> P x) \<longrightarrow> (\<not> S x)"
+ shows "strip_while P xs = strip_while S xs"
+using assms(1) proof (induct xs rule: rev_induct)
+case (snoc x xs)
+ have "x\<in>s" using snoc(2) by simp
+ then have "P x \<longrightarrow> S x" and "(\<not> P x) \<longrightarrow> (\<not> S x)"
+ using assms(2) assms(3) by auto
+ then have "P x = S x" by blast
+ then show ?case
+ using snoc.hyps snoc.prems by auto
+qed simp
+
+text \<open>Estimate for decompress compress for polynomials. Using the inequality for integers,
+ chain it up to the level of polynomials.\<close>
+
+lemma decompress_compress_poly:
+ assumes "of_nat d < \<lceil>(log 2 q)::real\<rceil>"
+ "d>0"
+ shows "let x' = decompress_poly d (compress_poly d x) in
+ abs_infty_poly (x - x') \<le>
+ round ( real_of_int q / real_of_int (2^(d+1)) )"
+proof -
+ let ?x' = "decompress_poly d (compress_poly d x)"
+ have "abs_infty_q (poly.coeff (of_qr (x - ?x')) xa)
+ \<le> round (real_of_int q / real_of_int (2 ^ (d + 1)))"
+ for xa
+ proof -
+ let ?telescope = "(\<lambda>xs. (map to_int_mod_ring)
+ (coeffs (of_qr (to_qr (Poly
+ (map (of_int_mod_ring :: int \<Rightarrow> 'a mod_ring) xs))))))"
+ define compress_x where
+ "compress_x = map (compress d \<circ> to_int_mod_ring)
+ (coeffs (of_qr x))"
+ let ?to_Poly = "(\<lambda>a. Poly (map ((of_int_mod_ring ::
+ int \<Rightarrow> 'a mod_ring) \<circ> decompress d) a))"
+ have "abs_infty_q (poly.coeff (of_qr x) xa -
+ poly.coeff (of_qr (to_qr (?to_Poly
+ (?telescope compress_x)))) xa ) =
+ abs_infty_q (poly.coeff (of_qr x) xa -
+ poly.coeff (of_qr (to_qr (?to_Poly
+ (strip_while (\<lambda>x. x = 0) compress_x)))) xa )"
+ proof (cases "x = 0")
+ case True
+ then have "compress_x = []"
+ unfolding compress_x_def by auto
+ then show ?thesis by simp
+ next
+ case False
+ then have nonempty:"compress_x \<noteq> []"
+ unfolding compress_x_def by simp
+ have "length compress_x < Suc (nat n)"
+ by (auto simp add: compress_x_def length_coeffs_of_qr)
+ moreover have "set compress_x \<subseteq> {0..<q}"
+ proof -
+ have to: "to_int_mod_ring (s::'a mod_ring) \<in>
+ {0..q - 1}" for s
+ using to_int_mod_ring_range by auto
+ have "compress d (to_int_mod_ring (s::'a mod_ring)) \<in>
+ {0..<q}" for s
+ using range_compress[OF to assms(1), of s]
+ twod_lt_q[OF assms(1)]
+ by (simp add: powr_realpow)
+ then show ?thesis unfolding compress_x_def by auto
+ qed
+ ultimately have "?telescope compress_x =
+ strip_while (\<lambda>x. x mod q = 0) compress_x"
+ by (intro telescope[of "compress_x"]) simp
+ moreover have "strip_while (\<lambda>x. x mod q = 0) compress_x =
+ strip_while (\<lambda>x. x = 0) compress_x"
+ proof -
+ have "compress d s = 0"
+ if "compress d s mod q = 0" for s
+ using that unfolding compress_def using twod_lt_q
+ by (smt (verit, ccfv_threshold)
+ Euclidean_Division.pos_mod_bound
+ Euclidean_Division.pos_mod_sign assms(1)
+ compress_def mod_pos_pos_trivial of_int_add
+ of_int_hom.hom_one of_int_power_less_of_int_cancel_iff
+ powr_realpow that zero_less_power)
+ then have right: "\<And>s. compress d s mod q = 0 \<longrightarrow>
+ compress d s = 0" by simp
+ have "\<not> (compress d s = 0)"
+ if "\<not> (compress d s mod q = 0)" for s
+ using twod_lt_q compress_def that by force
+ then have left: "\<And>s. \<not> (compress d s mod q = 0) \<longrightarrow>
+ \<not> (compress d s = 0)" by simp
+ have "strip_while (\<lambda>x. x mod q = 0) compress_x =
+ strip_while (\<lambda>x. x mod q = 0) (map (compress d)
+ (map to_int_mod_ring (coeffs (of_qr x))))"
+ (is "_ = strip_while (\<lambda>x. x mod q = 0)
+ (map (compress d) ?rest)")
+ unfolding compress_x_def by simp
+ also have "\<dots> = map (compress d)
+ (strip_while ((\<lambda>y. y mod q = 0) \<circ> compress d)
+ (map to_int_mod_ring (coeffs (of_qr x))))"
+ using strip_while_map[of "\<lambda>y. y mod q = 0" "compress d"]
+ by blast
+ also have "\<dots> = map (compress d)
+ (strip_while ((\<lambda>y. y = 0) \<circ> compress d)
+ (map to_int_mod_ring (coeffs (of_qr x))))"
+ by (smt (verit, best) comp_eq_dest_lhs left right
+ strip_while_change)
+ also have "\<dots> = strip_while (\<lambda>x. x = 0)
+ (map (compress d) ?rest)"
+ using strip_while_map[of "\<lambda>y. y = 0"
+ "compress d", symmetric] by blast
+ finally show ?thesis
+ unfolding compress_x_def by auto
+ qed
+ ultimately show ?thesis by auto
+ qed
+ also have "\<dots> = abs_infty_q (poly.coeff (of_qr x) xa -
+ poly.coeff (?to_Poly (strip_while (\<lambda>x. x = 0) compress_x)) xa)"
+ proof (cases "?to_Poly (strip_while (\<lambda>x. x = 0) compress_x) = 0")
+ case False
+ have "degree (?to_Poly (strip_while (\<lambda>x. x = 0) compress_x)) \<le>
+ length (map ((of_int_mod_ring :: int \<Rightarrow> 'a mod_ring) \<circ>
+ decompress d) (strip_while (\<lambda>x. x = 0) compress_x)) - 1"
+ using deg_Poly'[OF False] .
+ moreover have "length (map (of_int_mod_ring \<circ> decompress d)
+ (strip_while (\<lambda>x. x = 0) compress_x)) \<le>
+ length (coeffs (of_qr x))"
+ unfolding compress_x_def
+ by (metis length_map length_strip_while_le)
+ moreover have "length (coeffs (of_qr x)) - 1 < deg_qr TYPE('a)"
+ using deg_of_qr degree_eq_length_coeffs by metis
+ ultimately have deg:
+ "degree (?to_Poly (strip_while (\<lambda>x. x = 0) compress_x)) <
+ deg_qr TYPE('a)" by auto
+ show ?thesis using of_qr_to_qr'
+ by (simp add: of_qr_to_qr'[OF deg])
+ qed simp
+ also have "\<dots> = abs_infty_q (poly.coeff (of_qr x) xa -
+ poly.coeff (Poly (map of_int_mod_ring (strip_while (\<lambda>x. x = 0)
+ (map (decompress d) compress_x)))) xa )"
+ proof -
+ have "s = 0" if "decompress d s = 0" "s \<in> {0..2^d - 1}" for s
+ using decompress_zero_unique[OF that assms(1)] .
+ then have right: "\<forall>s \<in> {0..2^d-1}. decompress d s = 0 \<longrightarrow>
+ s = 0" by simp
+ have left: "\<forall> s \<in> {0..2^d-1}. decompress d s \<noteq> 0 \<longrightarrow> s \<noteq> 0"
+ using decompress_zero[of d] by auto
+ have compress_x_range: "set compress_x \<subseteq> {0..2^d - 1}"
+ unfolding compress_x_def compress_def by auto
+ have "map (decompress d) (strip_while (\<lambda>x. x = 0) compress_x) =
+ map (decompress d) (strip_while (\<lambda>x. decompress d x = 0)
+ compress_x)"
+ using strip_while_change_subset[OF compress_x_range right left]
+ by auto
+ also have "\<dots> = strip_while (\<lambda>x. x = 0)
+ (map (decompress d) compress_x)"
+ proof -
+ have "(\<lambda>x. x = 0) \<circ> decompress d = (\<lambda>x. decompress d x = 0)"
+ using comp_def by blast
+ then show ?thesis
+ using strip_while_map[symmetric, of "decompress d"
+ "\<lambda>x. x=0" compress_x] by auto
+ qed
+ finally have "map (decompress d) (strip_while (\<lambda>x. x = 0)
+ compress_x) = strip_while (\<lambda>x. x = 0) (map (decompress d)
+ compress_x)" by auto
+ then show ?thesis by (metis map_map)
+ qed
+ also have "\<dots> = abs_infty_q (poly.coeff (of_qr x) xa -
+ poly.coeff (Poly (map of_int_mod_ring (strip_while
+ (\<lambda>x. x mod q = 0) (map (decompress d) compress_x)))) xa )"
+ proof -
+ have range: "set (map (decompress d) compress_x) \<subseteq> {0..<q}"
+ unfolding compress_x_def compress_def
+ using range_decompress[OF _ assms(1)] by auto
+ have right: " \<forall>x\<in>{0..<q}. x = 0 \<longrightarrow> x mod q = 0" by auto
+ have left: "\<forall>x\<in>{0..<q}. \<not> x = 0 \<longrightarrow> \<not> x mod q = 0" by auto
+ have "strip_while (\<lambda>x. x = 0) (map (decompress d) compress_x) =
+ strip_while (\<lambda>x. x mod q = 0) (map (decompress d) compress_x)"
+ using strip_while_change_subset[OF range right left] by auto
+ then show ?thesis by auto
+ qed
+ also have "\<dots> = abs_infty_q (poly.coeff (of_qr x) xa -
+ poly.coeff (Poly (map of_int_mod_ring
+ (map (decompress d) compress_x))) xa )"
+ by (metis Poly_coeffs coeffs_Poly strip_while_mod_ring)
+ also have "\<dots> = abs_infty_q (poly.coeff (of_qr x) xa -
+ ((of_int_mod_ring :: int \<Rightarrow> 'a mod_ring) \<circ> decompress d \<circ>
+ compress d \<circ> to_int_mod_ring) (poly.coeff (of_qr x) xa))"
+ using coeffs_Poly
+ proof (cases "xa < length (coeffs (?to_Poly compress_x))")
+ case True
+ have "poly.coeff (?to_Poly compress_x) xa =
+ coeffs (?to_Poly compress_x) ! xa"
+ using nth_coeffs_coeff[OF True] by simp
+ also have "\<dots> = strip_while ((=) 0) (map (
+ (of_int_mod_ring :: int \<Rightarrow> 'a mod_ring) \<circ> decompress d)
+ compress_x) ! xa"
+ using coeffs_Poly by auto
+ also have "\<dots> = (map ((of_int_mod_ring :: int \<Rightarrow> 'a mod_ring) \<circ>
+ decompress d) compress_x) ! xa"
+ using True by (metis coeffs_Poly nth_strip_while)
+ also have "\<dots> = ((of_int_mod_ring :: int \<Rightarrow> 'a mod_ring) \<circ>
+ decompress d \<circ> compress d \<circ> to_int_mod_ring)
+ (coeffs (of_qr x) ! xa)"
+ unfolding compress_x_def
+ by (smt (z3) True coeffs_Poly compress_x_def length_map
+ length_strip_while_le map_map not_less nth_map order_trans)
+ also have "\<dots> = ((of_int_mod_ring :: int \<Rightarrow> 'a mod_ring) \<circ>
+ decompress d \<circ> compress d \<circ> to_int_mod_ring)
+ (poly.coeff (of_qr x) xa)"
+ by (metis (no_types, lifting) True coeffs_Poly compress_x_def
+ length_map length_strip_while_le not_less nth_coeffs_coeff
+ order.trans)
+ finally have no_coeff: "poly.coeff (?to_Poly compress_x) xa =
+ ((of_int_mod_ring :: int \<Rightarrow> 'a mod_ring) \<circ> decompress d \<circ>
+ compress d \<circ> to_int_mod_ring) (poly.coeff (of_qr x) xa)"
+ by auto
+ show ?thesis unfolding compress_x_def
+ by (metis compress_x_def map_map no_coeff)
+ next
+ case False
+ then have "poly.coeff (?to_Poly compress_x) xa = 0"
+ by (metis Poly_coeffs coeff_Poly_eq nth_default_def)
+ moreover have "((of_int_mod_ring :: int \<Rightarrow> 'a mod_ring) \<circ>
+ decompress d \<circ> compress d \<circ> to_int_mod_ring)
+ (poly.coeff (of_qr x) xa) = 0"
+ proof (cases "poly.coeff (of_qr x) xa = 0")
+ case True
+ then show ?thesis using compress_zero decompress_zero
+ by auto
+ next
+ case False
+ then show ?thesis
+ proof (subst ccontr, goal_cases)
+ case 1
+ then have "poly.coeff (?to_Poly compress_x) xa \<noteq> 0"
+ by (subst coeff_Poly) (metis (no_types, lifting) comp_apply
+ compress_x_def compress_zero decompress_zero map_map
+ nth_default_coeffs_eq nth_default_map_eq
+ of_int_mod_ring_hom.hom_zero to_int_mod_ring_hom.hom_zero)
+ then show ?case using \<open>poly.coeff (?to_Poly compress_x) xa = 0\<close>
+ by auto
+ qed auto
+ qed
+ ultimately show ?thesis by auto
+ qed
+ also have "\<dots> = abs_infty_q (
+ ((of_int_mod_ring :: int \<Rightarrow> 'a mod_ring) \<circ> decompress d \<circ>
+ compress d \<circ> to_int_mod_ring) (poly.coeff (of_qr x) xa) -
+ poly.coeff (of_qr x) xa)"
+ using abs_infty_q_minus by (metis minus_diff_eq)
+ also have "\<dots> = \<bar>((decompress d \<circ> compress d \<circ> to_int_mod_ring)
+ (poly.coeff (of_qr x) xa) -
+ to_int_mod_ring (poly.coeff (of_qr x) xa)) mod+- q\<bar>"
+ unfolding abs_infty_q_def
+ using to_int_mod_ring_of_int_mod_ring
+ by (smt (verit, best) CARD_a comp_apply mod_plus_minus_def
+ of_int_diff of_int_mod_ring.rep_eq
+ of_int_mod_ring_to_int_mod_ring of_int_of_int_mod_ring)
+ also have "\<dots> \<le> round (real_of_int q / real_of_int (2 ^ (d + 1)))"
+ proof -
+ have range_to_int_mod_ring:
+ "to_int_mod_ring (poly.coeff (of_qr x) xa) \<in> {0..<q}"
+ using to_int_mod_ring_range by auto
+ then show ?thesis
+ unfolding abs_infty_q_def Let_def
+ using decompress_compress[OF range_to_int_mod_ring assms]
+ by simp
+ qed
+ finally have "abs_infty_q (poly.coeff (of_qr x) xa - poly.coeff
+ (of_qr (to_qr (?to_Poly (?telescope compress_x)))) xa )
+ \<le> round (real_of_int q / real_of_int (2 ^ (d + 1)))" by auto
+ then show ?thesis unfolding compress_x_def decompress_poly_def
+ compress_poly_def by (auto simp add: o_assoc)
+ qed
+ moreover have finite:
+ "finite (range (abs_infty_q \<circ> poly.coeff (of_qr (x - ?x'))))"
+ by (metis finite_Max image_comp image_image)
+ ultimately show ?thesis unfolding abs_infty_poly_def
+ using Max_le_iff[OF finite] by auto
+qed
+
+
+
+text \<open>More properties of compress and decompress, used for returning message at the end.\<close>
+
+lemma compress_1:
+ shows "compress 1 x \<in> {0,1}"
+unfolding compress_def by auto
+
+lemma compress_poly_1:
+ shows "\<forall>i. poly.coeff (of_qr (compress_poly 1 x)) i \<in> {0,1}"
+proof -
+ have "poly.coeff (of_qr (compress_poly 1 x)) i \<in> {0,1}"
+ for i
+ proof -
+ have "set (map (compress 1)
+ ((map to_int_mod_ring \<circ> coeffs \<circ> of_qr) x)) \<subseteq> {0,1}"
+ using compress_1 by auto
+ then have "set ((map (compress 1) \<circ> map to_int_mod_ring \<circ>
+ coeffs \<circ> of_qr) x) \<subseteq> {0,1}"
+ (is "set (?compressed_1) \<subseteq> _")
+ by auto
+ then have "set (map (of_int_mod_ring :: int \<Rightarrow> 'a mod_ring)
+ ?compressed_1) \<subseteq> {0,1}"
+ (is "set (?of_int_compressed_1)\<subseteq>_")
+ by (smt (verit, best) imageE insert_iff of_int_mod_ring_hom.hom_zero
+ of_int_mod_ring_to_int_mod_ring set_map singletonD subsetD subsetI
+ to_int_mod_ring_hom.hom_one)
+ then have "nth_default 0 (?of_int_compressed_1) i
+ \<in> {0,1}"
+ by (smt (verit, best) comp_apply compress_1 compress_zero
+ insert_iff nth_default_map_eq of_int_mod_ring_hom.hom_zero
+ of_int_mod_ring_to_int_mod_ring singleton_iff
+ to_int_mod_ring_hom.hom_one)
+ moreover have "Poly (?of_int_compressed_1)
+ = Poly (?of_int_compressed_1) mod qr_poly"
+ proof -
+ have "degree (Poly (?of_int_compressed_1)) < deg_qr TYPE('a)"
+ proof (cases "Poly ?of_int_compressed_1 \<noteq> 0")
+ case True
+ have "degree (Poly ?of_int_compressed_1) \<le>
+ length (map (of_int_mod_ring :: int \<Rightarrow> 'a mod_ring)
+ ?compressed_1) - 1"
+ using deg_Poly'[OF True] by simp
+ also have "\<dots> = length ((coeffs \<circ> of_qr) x) - 1"
+ by simp
+ also have "\<dots> < n" unfolding comp_def
+ using length_coeffs_of_qr
+ by (metis deg_qr_n deg_of_qr degree_eq_length_coeffs
+ nat_int zless_nat_conj)
+ finally have "degree (Poly ?of_int_compressed_1) < n"
+ using True \<open>int (length ((coeffs \<circ> of_qr) x) - 1) < n\<close>
+ deg_Poly' by fastforce
+ then show ?thesis using deg_qr_n by simp
+ next
+ case False
+ then show ?thesis
+ using deg_qr_pos by auto
+ qed
+ then show ?thesis
+ using deg_mod_qr_poly[of "Poly (?of_int_compressed_1)",
+ symmetric] by auto
+ qed
+ ultimately show ?thesis unfolding compress_poly_def comp_def
+ using of_qr_to_qr[of "Poly (?of_int_compressed_1)"]
+ by auto
+ qed
+ then show ?thesis by auto
+qed
+
+lemma of_int_mod_ring_mult:
+ "of_int_mod_ring (a*b) = of_int_mod_ring a * of_int_mod_ring b"
+unfolding of_int_mod_ring_def
+by (metis (mono_tags, lifting) Rep_mod_ring_inverse mod_mult_eq
+ of_int_mod_ring.rep_eq of_int_mod_ring_def times_mod_ring.rep_eq)
+
+
+lemma decompress_1:
+ assumes "a\<in>{0,1}"
+ shows "decompress 1 a = round(real_of_int q/2) * a"
+unfolding decompress_def using assms by auto
+
+lemma decompress_poly_1:
+ assumes "\<forall>i. poly.coeff (of_qr x) i \<in> {0,1}"
+ shows "decompress_poly 1 x =
+ to_module (round((real_of_int q)/2)) * x"
+proof -
+ have "poly.coeff (of_qr (decompress_poly 1 x)) i =
+ poly.coeff (of_qr (to_module (round((real_of_int q)/2)) * x)) i"
+ for i
+ proof -
+ have "set (map to_int_mod_ring (coeffs (of_qr x))) \<subseteq> {0,1}"
+ (is "set (?int_coeffs) \<subseteq> _")
+ proof -
+ have "set (coeffs (of_qr x)) \<subseteq> {0,1}" using assms
+ by (meson forall_coeffs_conv insert_iff subset_code(1))
+ then show ?thesis by auto
+ qed
+ then have "map (decompress 1) (?int_coeffs) =
+ map ((*) (round (real_of_int q/2))) (?int_coeffs)"
+ proof (induct "?int_coeffs")
+ case (Cons a xa)
+ then show ?case using decompress_1
+ by (meson map_eq_conv subsetD)
+ qed simp
+ then have "poly.coeff (of_qr (decompress_poly 1 x)) i =
+ poly.coeff (of_qr (to_qr (Poly (map of_int_mod_ring
+ (map (\<lambda>a. round(real_of_int q/2) * a)
+ (?int_coeffs)))))) i"
+ unfolding decompress_poly_def comp_def by presburger
+ also have "\<dots> = poly.coeff (of_qr (to_qr (Poly
+ (map (\<lambda>a. of_int_mod_ring ((round(real_of_int q/2)) * a))
+ (?int_coeffs))))) i"
+ using map_map[of of_int_mod_ring "((*) (round (real_of_int q/2)))"]
+ by (smt (z3) map_eq_conv o_apply)
+ also have "\<dots> = poly.coeff (of_qr (to_qr (Poly
+ (map (\<lambda>a. of_int_mod_ring (round(real_of_int q/2)) *
+ of_int_mod_ring a) (?int_coeffs))))) i"
+ by (simp add: of_int_mod_ring_mult[of "(round(real_of_int q/2))"])
+ also have "\<dots> = poly.coeff (of_qr (to_qr (Poly
+ (map (\<lambda>a. of_int_mod_ring (round(real_of_int q/2)) * a)
+ (map of_int_mod_ring (?int_coeffs)))))) i"
+ using map_map[symmetric, of
+ "(\<lambda>a. of_int_mod_ring (round (real_of_int q/2)) * a ::'a mod_ring)"
+ "of_int_mod_ring"] unfolding comp_def by presburger
+ also have "\<dots> = poly.coeff (of_qr (to_qr
+ (Polynomial.smult (of_int_mod_ring (round(real_of_int q/2)))
+ (Poly (map of_int_mod_ring (?int_coeffs)))))) i"
+ using smult_Poly[symmetric, of
+ "(of_int_mod_ring (round (real_of_int q/2)))"]
+ by metis
+ also have "\<dots> = poly.coeff (of_qr ((to_module
+ (round (real_of_int q/2)) *
+ to_qr (Poly (map of_int_mod_ring (?int_coeffs)))))) i"
+ unfolding to_module_def
+ using to_qr_smult_to_module
+ [of "of_int_mod_ring (round (real_of_int q/2))"]
+ by metis
+ also have "\<dots> = poly.coeff (of_qr
+ (to_module (round (real_of_int q/2)) *
+ to_qr (Poly (coeffs (of_qr x)))))i"
+ by (subst map_map[of of_int_mod_ring to_int_mod_ring],
+ unfold comp_def)(subst of_int_mod_ring_to_int_mod_ring, auto)
+ also have "\<dots> = poly.coeff (of_qr
+ (to_module (round (real_of_int q/2)) * x))i"
+ by (subst Poly_coeffs) (subst to_qr_of_qr, simp)
+ finally show ?thesis by auto
+ qed
+ then have eq: "of_qr (decompress_poly 1 x) =
+ of_qr (to_module (round((real_of_int q)/2)) * x)"
+ by (simp add: poly_eq_iff)
+ show ?thesis using arg_cong[OF eq, of "to_qr"]
+ to_qr_of_qr[of "decompress_poly 1 x"]
+ to_qr_of_qr[of "to_module (round (real_of_int q/2)) * x"]
+ by auto
+qed
+
+text \<open>Compression and decompression for vectors.\<close>
+
+definition map_vector ::
+ "('b \<Rightarrow> 'b) \<Rightarrow> ('b, 'n) vec \<Rightarrow> ('b, 'n::finite) vec" where
+ "map_vector f v = (\<chi> i. f (vec_nth v i))"
+
+text \<open>Compression and decompression of vectors in \<open>\<int>_q[X]/(X^n+1)\<close>.\<close>
+
+definition compress_vec ::
+ "nat \<Rightarrow> ('a qr, 'k) vec \<Rightarrow> ('a qr, 'k) vec" where
+ "compress_vec d = map_vector (compress_poly d)"
+
+definition decompress_vec ::
+ "nat \<Rightarrow> ('a qr, 'k) vec \<Rightarrow> ('a qr, 'k) vec" where
+ "decompress_vec d = map_vector (decompress_poly d)"
+
+end
+
+end
diff --git a/thys/CRYSTALS-Kyber/Crypto_Scheme.thy b/thys/CRYSTALS-Kyber/Crypto_Scheme.thy
new file mode 100644
--- /dev/null
+++ b/thys/CRYSTALS-Kyber/Crypto_Scheme.thy
@@ -0,0 +1,298 @@
+theory Crypto_Scheme
+
+imports Kyber_spec
+ Compress
+ Abs_Qr
+
+begin
+section \<open>$(1-\delta)$-Correctness Proof of the Kyber Crypto Scheme\<close>
+context kyber_spec
+begin
+
+text \<open>In the following the key generation, encryption and decryption algorithms
+ of Kyber are stated. Here, the variables have the meaning:
+ \begin{itemize}
+ \item $A$: matrix, part of Alices public key
+ \item $s$: vector, Alices secret key
+ \item $t$: is the key generated by Alice qrom $A$ and $s$ in \<open>key_gen\<close>
+ \item $r$: Bobs "secret" key, randomly picked vector
+ \item $m$: message bits, $m\in \{0,1\}^{256}$
+ \item $(u,v)$: encrypted message
+ \item $dt$, $du$, $dv$: the compression parameters for $t$, $u$ and $v$ respectively.
+ Notice that \<open>0 < d < \<lceil>log_2 q\<rceil>\<close>. The $d$ values are public knowledge.
+ \item $e$, $e1$ and $e2$: error parameters to obscure the message.
+ We need to make certain that an eavesdropper cannot distinguish
+ the encrypted message qrom uniformly random input.
+ Notice that $e$ and $e1$ are vectors while $e2$ is a mere element in \<open>\<int>_q[X]/(X^n+1).\<close>
+ \end{itemize}
+\<close>
+
+
+definition key_gen ::
+ "nat \<Rightarrow> (('a qr, 'k) vec, 'k) vec \<Rightarrow> ('a qr, 'k) vec \<Rightarrow>
+ ('a qr, 'k) vec \<Rightarrow> ('a qr, 'k) vec" where
+"key_gen dt A s e = compress_vec dt (A *v s + e)"
+
+definition encrypt ::
+ "('a qr, 'k) vec \<Rightarrow> (('a qr, 'k) vec, 'k) vec \<Rightarrow>
+ ('a qr, 'k) vec \<Rightarrow> ('a qr, 'k) vec \<Rightarrow> ('a qr) \<Rightarrow>
+ nat \<Rightarrow> nat \<Rightarrow> nat \<Rightarrow> 'a qr \<Rightarrow>
+ (('a qr, 'k) vec) * ('a qr)" where
+"encrypt t A r e1 e2 dt du dv m =
+ (compress_vec du ((transpose A) *v r + e1),
+ compress_poly dv (scalar_product (decompress_vec dt t) r +
+ e2 + to_module (round((real_of_int q)/2)) * m)) "
+
+
+definition decrypt ::
+ "('a qr, 'k) vec \<Rightarrow> ('a qr) \<Rightarrow> ('a qr, 'k) vec \<Rightarrow>
+ nat \<Rightarrow> nat \<Rightarrow> 'a qr" where
+"decrypt u v s du dv = compress_poly 1 ((decompress_poly dv v) -
+ scalar_product s (decompress_vec du u))"
+
+
+
+text \<open>Lifting a function to the quotient ring\<close>
+fun f_int_to_poly :: "(int \<Rightarrow> int) \<Rightarrow> ('a qr) \<Rightarrow> ('a qr)" where
+ "f_int_to_poly f =
+ to_qr \<circ>
+ Poly \<circ>
+ (map of_int_mod_ring) \<circ>
+ (map f) \<circ>
+ (map to_int_mod_ring) \<circ>
+ coeffs \<circ>
+ of_qr"
+
+
+text \<open>Error of compression and decompression.\<close>
+definition compress_error_poly ::
+ "nat \<Rightarrow> 'a qr \<Rightarrow> 'a qr" where
+"compress_error_poly d y =
+ decompress_poly d (compress_poly d y) - y"
+
+definition compress_error_vec ::
+ "nat \<Rightarrow> ('a qr, 'k) vec \<Rightarrow> ('a qr, 'k) vec" where
+"compress_error_vec d y =
+ decompress_vec d (compress_vec d y) - y"
+
+
+text \<open>Lemmas for scalar product\<close>
+lemma scalar_product_linear_left:
+ "scalar_product (a+b) c =
+ scalar_product a c + scalar_product b (c :: ('a qr, 'k) vec)"
+unfolding scalar_product_def
+by auto (metis (no_types, lifting) distrib_right sum.cong sum.distrib)
+
+lemma scalar_product_linear_right:
+ "scalar_product a (b+c) =
+ scalar_product a b + scalar_product a (c :: ('a qr, 'k) vec)"
+unfolding scalar_product_def
+by auto (metis (no_types, lifting) distrib_left sum.cong sum.distrib)
+
+lemma scalar_product_assoc:
+ "scalar_product (A *v s) (r :: ('a qr, 'k) vec ) =
+ scalar_product s (r v* A)"
+unfolding scalar_product_def matrix_vector_mult_def
+ vector_matrix_mult_def
+proof auto
+ have "(\<Sum>i\<in>UNIV. (\<Sum>j\<in>UNIV. (vec_nth (vec_nth A i) j) *
+ (vec_nth s j)) * (vec_nth r i)) =
+ (\<Sum>i\<in>UNIV. (\<Sum>j\<in>UNIV. (vec_nth (vec_nth A i) j) *
+ (vec_nth s j) * (vec_nth r i)))"
+ by (simp add: sum_distrib_right)
+ also have "\<dots> = (\<Sum>j\<in>UNIV. (\<Sum>i\<in>UNIV. (vec_nth (vec_nth A i) j) *
+ (vec_nth s j) * (vec_nth r i)))"
+ using sum.swap .
+ also have "\<dots> = (\<Sum>j\<in>UNIV. (\<Sum>i\<in>UNIV. (vec_nth s j) *
+ (vec_nth (vec_nth A i) j) * (vec_nth r i)))"
+ by (metis (no_types, lifting) mult_commute_abs sum.cong)
+ also have "\<dots> = (\<Sum>j\<in>UNIV. (vec_nth s j) *
+ (\<Sum>i\<in>UNIV. (vec_nth (vec_nth A i) j) * (vec_nth r i)))"
+ by (metis (no_types, lifting) mult.assoc sum.cong sum_distrib_left)
+ finally show "(\<Sum>i\<in>UNIV. (\<Sum>j\<in>UNIV. (vec_nth (vec_nth A i) j) *
+ (vec_nth s j)) * (vec_nth r i)) = (\<Sum>j\<in>UNIV. (vec_nth s j) *
+ (\<Sum>i\<in>UNIV. (vec_nth (vec_nth A i) j) * (vec_nth r i)))"
+ by blast
+qed
+
+text \<open>Lemma about coeff Poly\<close>
+
+lemma coeffs_in_coeff:
+ assumes "\<forall>i. poly.coeff x i \<in> A"
+ shows "set (coeffs x) \<subseteq> A"
+by (simp add: assms coeffs_def image_subsetI)
+
+lemma set_coeff_Poly: "set ((coeffs \<circ> Poly) xs) \<subseteq> set xs"
+proof -
+ have "x \<in> set (strip_while ((=) 0) xs) \<Longrightarrow> x \<in> set xs"
+ for x
+ by (metis append.assoc append_Cons in_set_conv_decomp
+ split_strip_while_append)
+ then show ?thesis by auto
+qed
+
+text \<open>We now want to show the deterministic correctness of the algorithm.
+ That means, after choosing the variables correctly, generating the public key, encrypting
+ and decrypting, we get back the original message.\<close>
+
+lemma kyber_correct:
+ fixes A s r e e1 e2 dt du dv ct cu cv t u v
+ assumes
+ t_def: "t = key_gen dt A s e"
+ and u_v_def: "(u,v) = encrypt t A r e1 e2 dt du dv m"
+ and ct_def: "ct = compress_error_vec dt (A *v s + e)"
+ and cu_def: "cu = compress_error_vec du
+ ((transpose A) *v r + e1)"
+ and cv_def: "cv = compress_error_poly dv
+ (scalar_product (decompress_vec dt t) r + e2 +
+ to_module (round((real_of_int q)/2)) * m)"
+ and delta: "abs_infty_poly (scalar_product e r + e2 + cv -
+ scalar_product s e1 + scalar_product ct r -
+ scalar_product s cu) < round (real_of_int q / 4)"
+ and m01: "set ((coeffs \<circ> of_qr) m) \<subseteq> {0,1}"
+ shows "decrypt u v s du dv = m"
+proof -
+ text \<open>First, show that the calculations are performed correctly.\<close>
+ have t_correct: "decompress_vec dt t = A *v s + e + ct "
+ using t_def ct_def unfolding compress_error_vec_def
+ key_gen_def by simp
+ have u_correct: "decompress_vec du u =
+ (transpose A) *v r + e1 + cu"
+ using u_v_def cu_def unfolding encrypt_def
+ compress_error_vec_def by simp
+ have v_correct: "decompress_poly dv v =
+ scalar_product (decompress_vec dt t) r + e2 +
+ to_module (round((real_of_int q)/2)) * m + cv"
+ using u_v_def cv_def unfolding encrypt_def
+ compress_error_poly_def by simp
+ have v_correct': "decompress_poly dv v =
+ scalar_product (A *v s + e) r + e2 +
+ to_module (round((real_of_int q)/2)) * m + cv +
+ scalar_product ct r"
+ using t_correct v_correct
+ by (auto simp add: scalar_product_linear_left)
+ let ?t = "decompress_vec dt t"
+ let ?u = "decompress_vec du u"
+ let ?v = "decompress_poly dv v"
+ text \<open>Define w as the error term of the message encoding.
+ Have $\|w\|_{\infty ,q} < \lceil q/4 \rfloor$\<close>
+ define w where "w = scalar_product e r + e2 + cv -
+ scalar_product s e1 + scalar_product ct r -
+ scalar_product s cu"
+ have w_length: "abs_infty_poly w < round (real_of_int q / 4)"
+ unfolding w_def using delta by auto
+ moreover have "abs_infty_poly w = abs_infty_poly (-w)"
+ unfolding abs_infty_poly_def
+ using neg_mod_plus_minus[OF q_odd q_gt_zero]
+ using abs_infty_q_def abs_infty_q_minus by auto
+ ultimately have minus_w_length:
+ "abs_infty_poly (-w) < round (real_of_int q / 4)"
+ by auto
+ have vsu: "?v - scalar_product s ?u =
+ w + to_module (round((real_of_int q)/2)) * m"
+ unfolding w_def by (auto simp add: u_correct v_correct'
+ scalar_product_linear_left scalar_product_linear_right
+ scalar_product_assoc)
+ text \<open>Set m' as the actual result of the decryption.
+ It remains to show that $m' = m$.\<close>
+ define m' where "m' = decrypt u v s du dv"
+ have coeffs_m': "\<forall>i. poly.coeff (of_qr m') i \<in> {0,1}"
+ unfolding m'_def decrypt_def using compress_poly_1 by auto
+ text \<open>Show $\| v - s^Tu - \lceil q/2 \rfloor m' \|_{\infty, q}
+ \leq \lceil q/4 \rfloor$\<close>
+ have "abs_infty_poly (?v - scalar_product s ?u -
+ to_module (round((real_of_int q)/2)) * m')
+ = abs_infty_poly (?v - scalar_product s ?u -
+ decompress_poly 1 (compress_poly 1 (?v - scalar_product s ?u)))"
+ by (auto simp flip: decompress_poly_1[of m', OF coeffs_m'])
+ (simp add:m'_def decrypt_def)
+ also have "\<dots> \<le> round (real_of_int q / 4)"
+ using decompress_compress_poly[of 1 "?v - scalar_product s ?u"]
+ q_gt_two by fastforce
+ finally have "abs_infty_poly (?v - scalar_product s ?u -
+ to_module (round((real_of_int q)/2)) * m') \<le>
+ round (real_of_int q / 4)"
+ by auto
+ text \<open>Show $\| \lceil q/2 \rfloor (m-m')) \|_{\infty, q} <
+ 2 \lceil q/4 \rfloor $\<close>
+ then have "abs_infty_poly (w + to_module
+ (round((real_of_int q)/2)) * m - to_module
+ (round((real_of_int q)/2)) * m') \<le> round (real_of_int q / 4)"
+ using vsu by auto
+ then have w_mm': "abs_infty_poly (w +
+ to_module (round((real_of_int q)/2)) * (m - m'))
+ \<le> round (real_of_int q / 4)"
+ by (smt (verit) add_uminus_conv_diff is_num_normalize(1)
+ right_diff_distrib')
+ have "abs_infty_poly (to_module
+ (round((real_of_int q)/2)) * (m - m')) =
+ abs_infty_poly (w + to_module
+ (round((real_of_int q)/2)) * (m - m') - w)"
+ by auto
+ also have "\<dots> \<le> abs_infty_poly
+ (w + to_module (round((real_of_int q)/2)) * (m - m'))
+ + abs_infty_poly (- w)"
+ using abs_infty_poly_triangle_ineq[of
+ "w+to_module (round((real_of_int q)/2)) * (m - m')" "-w"]
+ by auto
+ also have "\<dots> < 2 * round (real_of_int q / 4)"
+ using w_mm' minus_w_length by auto
+ finally have error_lt: "abs_infty_poly (to_module (round((real_of_int q)/2)) * (m - m')) <
+ 2 * round (real_of_int q / 4)"
+ by auto
+ text \<open>Finally show that $m-m'$ is small enough, ie that it is
+ an integer smaller than one.
+ Here, we need that $q \cong 1\mod 4$.\<close>
+ have coeffs_m':"set ((coeffs \<circ> of_qr) m') \<subseteq> {0,1}"
+ proof -
+ have "compress 1 a \<in> {0,1}" for a
+ unfolding compress_def by auto
+ then have "poly.coeff (of_qr (compress_poly 1 a)) i \<in> {0,1}"
+ for a i
+ using compress_poly_1 by presburger
+ then have "set (coeffs (of_qr (compress_poly 1 a))) \<subseteq> {0,1}"
+ for a
+ using coeffs_in_coeff[of "of_qr (compress_poly 1 a)" "{0,1}"]
+ by simp
+ then show ?thesis unfolding m'_def decrypt_def by simp
+ qed
+ have coeff_0pm1: "set ((coeffs \<circ> of_qr) (m-m')) \<subseteq>
+ {of_int_mod_ring (-1),0,1}"
+ proof -
+ have "poly.coeff (of_qr m) i \<in> {0,1}"
+ for i using m01 coeff_in_coeffs
+ by (metis comp_def insertCI le_degree subset_iff
+ zero_poly.rep_eq)
+ moreover have "poly.coeff (of_qr m') i \<in> {0,1}" for i
+ using coeffs_m' coeff_in_coeffs
+ by (metis comp_def insertCI le_degree subset_iff zero_poly.rep_eq)
+ ultimately have "poly.coeff (of_qr m - of_qr m') i \<in> {of_int_mod_ring (- 1), 0, 1}" for i
+ by (metis (no_types, lifting) coeff_diff diff_zero
+ eq_iff_diff_eq_0 insert_iff of_int_hom.hom_one of_int_minus
+ of_int_of_int_mod_ring singleton_iff verit_minus_simplify(3))
+ then have "set (coeffs (of_qr m - of_qr m')) \<subseteq> {of_int_mod_ring (- 1), 0, 1}"
+ by (simp add: coeffs_in_coeff)
+ then show ?thesis using m01 of_qr_diff[of m m'] by simp
+ qed
+ have "set ((coeffs \<circ> of_qr) (m-m')) \<subseteq> {0}"
+ proof (rule ccontr)
+ assume "\<not>set ((coeffs \<circ> of_qr) (m-m')) \<subseteq> {0}"
+ then have "\<exists>i. poly.coeff (of_qr (m-m')) i \<in>
+ {of_int_mod_ring (-1),1}"
+ using coeff_0pm1
+ by (smt (z3) coeff_in_coeffs comp_apply insert_iff
+ leading_coeff_0_iff order_refl
+ set_coeffs_subset_singleton_0_iff subsetD)
+ then have error_ge: "abs_infty_poly (to_module
+ (round((real_of_int q)/2)) * (m-m')) \<ge>
+ 2 * round (real_of_int q / 4)"
+ using abs_infty_poly_ineq_pm_1 by simp
+ show False using error_lt error_ge by simp
+ qed
+ then show ?thesis by (simp flip: m'_def) (metis to_qr_of_qr)
+qed
+
+
+end
+
+end
diff --git a/thys/CRYSTALS-Kyber/Crypto_Scheme_NTT.thy b/thys/CRYSTALS-Kyber/Crypto_Scheme_NTT.thy
new file mode 100644
--- /dev/null
+++ b/thys/CRYSTALS-Kyber/Crypto_Scheme_NTT.thy
@@ -0,0 +1,95 @@
+theory Crypto_Scheme_NTT
+
+imports Crypto_Scheme
+ NTT_Scheme
+
+begin
+
+section \<open>Kyber Algorithm using NTT for Fast Multiplication\<close>
+
+context kyber_ntt
+begin
+
+definition mult_ntt:: "'a qr \<Rightarrow> 'a qr \<Rightarrow> 'a qr" (infixl "*\<^bsub>ntt\<^esub>" 70) where
+ "mult_ntt f g = inv_ntt_poly (ntt_poly f \<star> ntt_poly g)"
+
+lemma mult_ntt:
+ "f*g = f *\<^bsub>ntt\<^esub> g"
+ unfolding mult_ntt_def using convolution_thm_ntt_poly by auto
+
+definition scalar_prod_ntt:: "('a qr, 'k) vec \<Rightarrow> ('a qr, 'k) vec \<Rightarrow> 'a qr" (infixl "\<bullet>\<^bsub>ntt\<^esub>" 70) where
+ "scalar_prod_ntt v w =
+ (\<Sum>i\<in>(UNIV::'k set). (vec_nth v i) *\<^bsub>ntt\<^esub> (vec_nth w i))"
+
+lemma scalar_prod_ntt:
+ "scalar_product v w = scalar_prod_ntt v w"
+ unfolding scalar_product_def scalar_prod_ntt_def using mult_ntt by auto
+
+definition mat_vec_mult_ntt::
+ "(('a qr, 'k) vec, 'k) vec \<Rightarrow> ('a qr, 'k) vec \<Rightarrow> ('a qr, 'k) vec" (infixl "\<cdot>\<^bsub>ntt\<^esub>" 70) where
+ "mat_vec_mult_ntt A v = vec_lambda (\<lambda>i.
+ (\<Sum>j\<in>UNIV. (vec_nth (vec_nth A i) j) *\<^bsub>ntt\<^esub> (vec_nth v j)))"
+
+
+lemma mat_vec_mult_ntt:
+ "A *v v = mat_vec_mult_ntt A v"
+ unfolding matrix_vector_mult_def mat_vec_mult_ntt_def using mult_ntt by auto
+
+text \<open>Refined algorithm using NTT for multiplications\<close>
+
+definition key_gen_ntt ::
+ "nat \<Rightarrow> (('a qr, 'k) vec, 'k) vec \<Rightarrow> ('a qr, 'k) vec \<Rightarrow>
+ ('a qr, 'k) vec \<Rightarrow> ('a qr, 'k) vec" where
+ "key_gen_ntt dt A s e = compress_vec dt (A \<cdot>\<^bsub>ntt\<^esub> s + e)"
+
+lemma key_gen_ntt:
+ "key_gen_ntt dt A s e = key_gen dt A s e"
+ unfolding key_gen_ntt_def key_gen_def mat_vec_mult_ntt by auto
+
+definition encrypt_ntt ::
+ "('a qr, 'k) vec \<Rightarrow> (('a qr, 'k) vec, 'k) vec \<Rightarrow>
+ ('a qr, 'k) vec \<Rightarrow> ('a qr, 'k) vec \<Rightarrow> ('a qr) \<Rightarrow>
+ nat \<Rightarrow> nat \<Rightarrow> nat \<Rightarrow> 'a qr \<Rightarrow>
+ (('a qr, 'k) vec) * ('a qr)" where
+ "encrypt_ntt t A r e1 e2 dt du dv m =
+ (compress_vec du ((transpose A) \<cdot>\<^bsub>ntt\<^esub> r + e1),
+ compress_poly dv ((decompress_vec dt t) \<bullet>\<^bsub>ntt\<^esub> r +
+ e2 + to_module (round((real_of_int q)/2)) *\<^bsub>ntt\<^esub> m)) "
+
+lemma encrypt_ntt:
+ "encrypt_ntt t A r e1 e2 dt du dv m = encrypt t A r e1 e2 dt du dv m"
+ unfolding encrypt_ntt_def encrypt_def mat_vec_mult_ntt scalar_prod_ntt mult_ntt by auto
+
+definition decrypt_ntt ::
+ "('a qr, 'k) vec \<Rightarrow> ('a qr) \<Rightarrow> ('a qr, 'k) vec \<Rightarrow>
+ nat \<Rightarrow> nat \<Rightarrow> 'a qr" where
+ "decrypt_ntt u v s du dv = compress_poly 1 ((decompress_poly dv v) -
+ s \<bullet>\<^bsub>ntt\<^esub> (decompress_vec du u))"
+
+lemma decrypt_ntt:
+ "decrypt_ntt u v s du dv = decrypt u v s du dv"
+ unfolding decrypt_ntt_def decrypt_def scalar_prod_ntt by auto
+
+text \<open>$(1-\delta)$-correctness for the refined algorithm\<close>
+
+lemma kyber_correct_ntt:
+ fixes A s r e e1 e2 dt du dv ct cu cv t u v
+ assumes
+ t_def: "t = key_gen_ntt dt A s e"
+ and u_v_def: "(u,v) = encrypt_ntt t A r e1 e2 dt du dv m"
+ and ct_def: "ct = compress_error_vec dt (A \<cdot>\<^bsub>ntt\<^esub> s + e)"
+ and cu_def: "cu = compress_error_vec du
+ ((transpose A) \<cdot>\<^bsub>ntt\<^esub> r + e1)"
+ and cv_def: "cv = compress_error_poly dv
+ ((decompress_vec dt t) \<bullet>\<^bsub>ntt\<^esub> r + e2 +
+ to_module (round((real_of_int q)/2)) *\<^bsub>ntt\<^esub> m)"
+ and delta: "abs_infty_poly (e \<bullet>\<^bsub>ntt\<^esub> r + e2 + cv -
+ s \<bullet>\<^bsub>ntt\<^esub> e1 + ct \<bullet>\<^bsub>ntt\<^esub> r -
+ s \<bullet>\<^bsub>ntt\<^esub> cu) < round (real_of_int q / 4)"
+ and m01: "set ((coeffs \<circ> of_qr) m) \<subseteq> {0,1}"
+ shows "decrypt_ntt u v s du dv = m"
+using assms unfolding key_gen_ntt encrypt_ntt decrypt_ntt mat_vec_mult_ntt[symmetric]
+scalar_prod_ntt[symmetric] mult_ntt[symmetric] using kyber_correct by auto
+
+end
+end
\ No newline at end of file
diff --git a/thys/CRYSTALS-Kyber/Kyber_NTT_Values.thy b/thys/CRYSTALS-Kyber/Kyber_NTT_Values.thy
new file mode 100644
--- /dev/null
+++ b/thys/CRYSTALS-Kyber/Kyber_NTT_Values.thy
@@ -0,0 +1,83 @@
+theory Kyber_NTT_Values
+
+imports Kyber_Values
+ NTT_Scheme
+ Powers3844
+
+begin
+section \<open>Specification of Kyber with NTT\<close>
+text \<open>Calculations for NTT specifications\<close>
+
+lemma "3844 * 6584 = (1 :: fin7681 mod_ring)"
+ by simp
+
+lemma "62 * 1115 = (1 :: fin7681 mod_ring)"
+ by simp
+
+lemma "256 * 7651 = (1:: fin7681 mod_ring)"
+ by simp
+
+lemma "7681 = 30 * 256 + (1::int)" by simp
+
+
+lemma powr256: "3844 ^ 256 = (1::fin7681 mod_ring)"
+proof -
+ have calc1: "3844^16 = (7154::fin7681 mod_ring)" by simp
+ have calc2: "7154^16 = (1::fin7681 mod_ring)" by simp
+ have "(3844::fin7681 mod_ring)^256 = (3844^16)^16"
+ by (metis (mono_tags, opaque_lifting) num_double numeral_times_numeral power_mult)
+ also have "\<dots> = 1" unfolding calc1 calc2 by auto
+ finally show ?thesis by blast
+qed
+
+
+
+lemma powr256':
+ "62 ^ 256 = (- 1::fin7681 mod_ring)"
+proof -
+ have calc1: "62^16 = (1366::fin7681 mod_ring)" by simp
+ have calc2: "1366^16 = (-1::fin7681 mod_ring)" by simp
+ have "(62::fin7681 mod_ring)^256 = (62^16)^16"
+ by (metis (mono_tags, opaque_lifting) num_double numeral_times_numeral power_mult)
+ also have "\<dots> = -1" unfolding calc1 calc2 by auto
+ finally show ?thesis by blast
+qed
+
+(*
+powrs 3844^l for l=1..<256 in Powrs_3844 file"
+*)
+
+
+interpretation kyber7681_ntt: kyber_ntt 256 7681 3 8
+ "TYPE(fin7681)" "TYPE(3)" 3844 6584 62 1115 7651 30
+proof (unfold_locales, goal_cases)
+ case 5
+ then show ?case using kyber7681.q_prime by fastforce
+next
+ case 7
+ then show ?case using kyber7681.CARD_k by blast
+next
+ case 8
+ then show ?case by (simp add: qr_poly'_fin7681_def)
+next
+ case 9
+ then show ?case using powr256 by blast
+next
+ case 11
+ then show ?case proof (safe, goal_cases)
+ case (1 m)
+ then show ?case using powr_less256[OF 1(2)]
+ using linorder_not_less by blast
+ qed
+next
+ case 15
+ then show ?case using powr256' by blast
+next
+ case 17
+ have mult: "256 * 7651 = (1::fin7681 mod_ring)" by simp
+ have of_int: "of_int_mod_ring (int 256) = 256"
+ by (metis o_def of_nat_numeral of_nat_of_int_mod_ring)
+ show ?case unfolding of_int mult by simp
+qed (auto)
+
+end
\ No newline at end of file
diff --git a/thys/CRYSTALS-Kyber/Kyber_Values.thy b/thys/CRYSTALS-Kyber/Kyber_Values.thy
new file mode 100644
--- /dev/null
+++ b/thys/CRYSTALS-Kyber/Kyber_Values.thy
@@ -0,0 +1,153 @@
+theory Kyber_Values
+ imports
+ Crypto_Scheme
+ (* Check_Prime *)
+ (* NTT_Scheme *)
+begin
+
+section \<open>Specification for Kyber\<close>
+
+typedef fin7681 = "{0..<7681::int}"
+ morphisms fin7681_rep fin7681_abs
+ by (rule_tac x = 0 in exI, simp)
+
+setup_lifting type_definition_fin7681
+
+
+lemma CARD_fin7681 [simp]: "CARD (fin7681) = 7681"
+ unfolding type_definition.card [OF type_definition_fin7681]
+ by simp
+
+lemma fin7681_nontriv [simp]: "1 < CARD(fin7681)"
+ unfolding CARD_fin7681 by auto
+
+lemma prime_7681: "prime (7681::nat)" by eval
+
+instantiation fin7681 :: comm_ring_1
+begin
+
+lift_definition zero_fin7681 :: "fin7681" is "0" by simp
+
+lift_definition one_fin7681 :: "fin7681" is "1" by simp
+
+lift_definition plus_fin7681 :: "fin7681 \<Rightarrow> fin7681 \<Rightarrow> fin7681"
+ is "(\<lambda>x y. (x+y) mod 7681)"
+ by auto
+
+lift_definition uminus_fin7681 :: "fin7681 \<Rightarrow> fin7681"
+ is "(\<lambda>x. (uminus x) mod 7681)"
+ by auto
+
+lift_definition minus_fin7681 :: "fin7681 \<Rightarrow> fin7681 \<Rightarrow> fin7681"
+ is "(\<lambda>x y. (x-y) mod 7681)"
+ by auto
+
+lift_definition times_fin7681 :: "fin7681 \<Rightarrow> fin7681 \<Rightarrow> fin7681"
+ is "(\<lambda>x y. (x*y) mod 7681)"
+ by auto
+
+
+instance
+proof
+ fix a b c ::fin7681
+ show "a * b * c = a * (b * c)"
+ by (transfer, simp add: algebra_simps mod_mult_left_eq mod_mult_right_eq)
+ show "a + b + c = a + (b + c)"
+ by (transfer, simp add: algebra_simps mod_add_left_eq mod_add_right_eq)
+ show "(a + b) * c = a * c + b * c"
+ by (transfer, simp add: algebra_simps mod_add_right_eq mod_mult_right_eq)
+qed (transfer; simp add: algebra_simps mod_add_right_eq; fail)+
+
+end
+
+
+instantiation fin7681 :: finite
+begin
+instance
+proof
+ show "finite (UNIV :: fin7681 set)" unfolding type_definition.univ [OF type_definition_fin7681]
+ by auto
+qed
+end
+
+
+instantiation fin7681 :: equal
+begin
+lift_definition equal_fin7681 :: "fin7681 \<Rightarrow> fin7681 \<Rightarrow> bool" is "(=)" .
+instance by (intro_classes, transfer, auto)
+end
+
+instantiation fin7681 :: nontriv
+begin
+instance
+proof
+ show "1 < CARD(fin7681)" unfolding CARD_fin7681 by auto
+qed
+end
+
+instantiation fin7681 :: prime_card
+begin
+instance
+proof
+ show "prime CARD(fin7681)" unfolding CARD_fin7681 using prime_7681
+ by blast
+qed
+end
+
+instantiation fin7681 :: qr_spec
+begin
+
+definition qr_poly'_fin7681:: "fin7681 itself \<Rightarrow> int poly" where
+ "qr_poly'_fin7681 \<equiv> (\<lambda>_. Polynomial.monom (1::int) 256 + 1)"
+
+instance proof
+ have "lead_coeff (qr_poly' TYPE(fin7681)) = 1" unfolding qr_poly'_fin7681_def
+ by (simp add: degree_add_eq_left degree_monom_eq)
+ then show "\<not> int CARD(fin7681) dvd
+ lead_coeff (qr_poly' TYPE(fin7681))"
+ unfolding CARD_fin7681 by auto
+next
+ have "degree (qr_poly' TYPE(fin7681)) = 256" unfolding qr_poly'_fin7681_def
+ by (simp add: degree_add_eq_left degree_monom_eq)
+ then show "0 < degree (qr_poly' TYPE(fin7681))" by auto
+qed
+end
+
+lift_definition to_int_fin7681 :: "fin7681 \<Rightarrow> int" is "\<lambda>x. x" .
+
+lift_definition of_int_fin7681 :: "int \<Rightarrow> fin7681" is "\<lambda>x. (x mod 7681)"
+ by simp
+
+interpretation to_int_fin7681_hom: inj_zero_hom to_int_fin7681
+ by (unfold_locales; transfer, auto)
+
+interpretation of_int_fin7681_hom: zero_hom of_int_fin7681
+ by (unfold_locales, transfer, auto)
+
+lemma to_int_fin7681_of_int_fin7681 [simp]:
+ "to_int_fin7681 (of_int_fin7681 x) = x mod 7681"
+ using of_int_fin7681.rep_eq to_int_fin7681.rep_eq by presburger
+
+lemma of_int_fin7681_to_int_fin7681 [simp]:
+ "of_int_fin7681 (to_int_fin7681 x) = x"
+ using fin7681_rep to_int_fin7681.rep_eq to_int_fin7681_hom.injectivity
+ to_int_fin7681_of_int_fin7681 by force
+
+lemma of_int_mod_ring_eq_iff [simp]:
+ "(of_int_fin7681 a = of_int_fin7681 b) \<longleftrightarrow>
+ ((a mod 7681) = (b mod 7681))"
+ by (metis of_int_fin7681.abs_eq of_int_fin7681.rep_eq)
+
+interpretation kyber7681: kyber_spec "TYPE(fin7681)" "TYPE(3)" 256 7681 3 8
+proof (unfold_locales, goal_cases)
+ case 5
+ then show ?case using prime_7681 prime_int_numeral_eq by blast
+next
+ case 6
+ then show ?case using CARD_fin7681 by auto
+next
+ case 8
+ then show ?case unfolding qr_poly'_fin7681_def by auto
+qed auto
+
+end
\ No newline at end of file
diff --git a/thys/CRYSTALS-Kyber/Kyber_spec.thy b/thys/CRYSTALS-Kyber/Kyber_spec.thy
new file mode 100644
--- /dev/null
+++ b/thys/CRYSTALS-Kyber/Kyber_spec.thy
@@ -0,0 +1,421 @@
+theory Kyber_spec
+imports Main "HOL-Computational_Algebra.Computational_Algebra"
+ "HOL-Computational_Algebra.Polynomial_Factorial"
+ "Berlekamp_Zassenhaus.Poly_Mod"
+ "Berlekamp_Zassenhaus.Poly_Mod_Finite_Field"
+
+begin
+section \<open>Type Class for Factorial Ring $\mathbb{Z}_q[x]/(x^n+1)$.\<close>
+text \<open>The Kyber algorithms work over the quotient ring $\mathbb{Z}_q[x]/(x^n+1)$
+where $q$ is a prime with $q\equiv 1 \mod 4$ and $n$ is a power of $2$.
+We encode this quotient ring as a type. In order to do so, we first look at the
+finite field $\mathbb{Z}_q$ implemented by \<open>('a::prime_card) mod_ring\<close>.
+Then we define polynomials using the constructor \<open>poly\<close>.
+For factoring out $x^n+1$, we define an equivalence relation on the polynomial ring
+$\mathbb{Z}_q[x]$ via the modulo operation with modulus $x^n+1$.
+Finally, we build the quotient of the equivalence relation using the construction
+\<open>quotient_type\<close>.\<close>
+text \<open>The module $\mathbb{Z}_q[x]/(x^n+1)$ was formalized with help from Manuel Eberl.\<close>
+
+text \<open>Modulo relation between two polynomials. \<close>
+lemma of_int_mod_ring_eq_0_iff:
+ "(of_int n :: ('n :: {finite, nontriv} mod_ring)) = 0 \<longleftrightarrow>
+ int (CARD('n)) dvd n"
+ by transfer auto
+
+lemma of_int_mod_ring_eq_of_int_iff:
+ "(of_int n :: ('n :: {finite, nontriv} mod_ring)) = of_int m \<longleftrightarrow>
+ [n = m] (mod (int (CARD('n))))"
+ by transfer (auto simp: cong_def)
+
+definition mod_poly_rel :: "nat \<Rightarrow> int poly \<Rightarrow> int poly \<Rightarrow> bool" where
+ "mod_poly_rel m p q \<longleftrightarrow>
+ (\<forall>n. [poly.coeff p n = poly.coeff q n] (mod (int m)))"
+
+lemma mod_poly_rel_altdef:
+ "mod_poly_rel CARD('n :: nontriv) p q \<longleftrightarrow>
+ (of_int_poly p) = (of_int_poly q :: 'n mod_ring poly)"
+ by (auto simp: poly_eq_iff mod_poly_rel_def
+ of_int_mod_ring_eq_of_int_iff)
+
+definition mod_poly_is_unit :: "nat \<Rightarrow> int poly \<Rightarrow> bool" where
+ "mod_poly_is_unit m p \<longleftrightarrow> (\<exists>r. mod_poly_rel m (p * r) 1)"
+
+lemma mod_poly_is_unit_altdef:
+ "mod_poly_is_unit CARD('n :: nontriv) p \<longleftrightarrow>
+ (of_int_poly p :: 'n mod_ring poly) dvd 1"
+proof
+ assume "mod_poly_is_unit CARD('n) p"
+ thus "(of_int_poly p :: 'n mod_ring poly) dvd 1"
+ by (auto simp: mod_poly_is_unit_def dvd_def mod_poly_rel_altdef
+ of_int_poly_hom.hom_mult)
+next
+ assume "(of_int_poly p :: 'n mod_ring poly) dvd 1"
+ then obtain q where q: "(of_int_poly p :: 'n mod_ring poly) * q = 1"
+ by auto
+ also have "q = of_int_poly (map_poly to_int_mod_ring q)"
+ by (simp add: of_int_of_int_mod_ring poly_eqI)
+ also have "of_int_poly p * \<dots> =
+ of_int_poly (p * map_poly to_int_mod_ring q)"
+ by (simp add: of_int_poly_hom.hom_mult)
+ finally show "mod_poly_is_unit CARD('n) p"
+ by (auto simp: mod_poly_is_unit_def mod_poly_rel_altdef)
+qed
+
+definition mod_poly_irreducible :: "nat \<Rightarrow> int poly \<Rightarrow> bool" where
+ "mod_poly_irreducible m Q \<longleftrightarrow>
+ \<not>mod_poly_rel m Q 0 \<and>
+ \<not>mod_poly_is_unit m Q \<and>
+ (\<forall>a b. mod_poly_rel m Q (a * b) \<longrightarrow>
+ mod_poly_is_unit m a \<or> mod_poly_is_unit m b)"
+
+lemma of_int_poly_to_int_poly: "of_int_poly (to_int_poly p) = p"
+ by (simp add: of_int_of_int_mod_ring poly_eqI)
+
+lemma mod_poly_irreducible_altdef:
+ "mod_poly_irreducible CARD('n :: nontriv) p \<longleftrightarrow>
+ irreducible (of_int_poly p :: 'n mod_ring poly)"
+proof
+ assume "irreducible (of_int_poly p :: 'n mod_ring poly)"
+ thus "mod_poly_irreducible CARD('n) p"
+ by (auto simp: mod_poly_irreducible_def mod_poly_rel_altdef
+ mod_poly_is_unit_altdef irreducible_def of_int_poly_hom.hom_mult)
+next
+ assume *: "mod_poly_irreducible CARD('n) p"
+ show "irreducible (of_int_poly p :: 'n mod_ring poly)"
+ unfolding irreducible_def
+ proof (intro conjI impI allI)
+ fix a b assume ab: "(of_int_poly p :: 'n mod_ring poly) = a * b"
+ have "of_int_poly (map_poly to_int_mod_ring a *
+ map_poly to_int_mod_ring b) =
+ of_int_poly (map_poly to_int_mod_ring a) *
+ (of_int_poly (map_poly to_int_mod_ring b) :: 'n mod_ring poly)"
+ by (simp add: of_int_poly_hom.hom_mult)
+ also have "\<dots> = a * b"
+ by (simp add: of_int_poly_to_int_poly)
+ also have "\<dots> = of_int_poly p"
+ using ab by simp
+ finally have "(of_int_poly p :: 'n mod_ring poly) =
+ of_int_poly (to_int_poly a * to_int_poly b)" ..
+ hence "of_int_poly (to_int_poly a) dvd (1 :: 'n mod_ring poly) \<or>
+ of_int_poly (to_int_poly b) dvd (1 :: 'n mod_ring poly)"
+ using * unfolding mod_poly_irreducible_def mod_poly_rel_altdef
+ mod_poly_is_unit_altdef by blast
+ thus "(a dvd (1 :: 'n mod_ring poly)) \<or>
+ (b dvd (1 :: 'n mod_ring poly))"
+ by (simp add: of_int_poly_to_int_poly)
+ qed (use * in \<open>auto simp: mod_poly_irreducible_def
+ mod_poly_rel_altdef mod_poly_is_unit_altdef\<close>)
+qed
+
+text \<open>Type class for quotient ring $\mathbb{Z}_q[x]/(p)$.
+ The polynomial p is represented as \<open>qr_poly'\<close> (an polynomial over the integers).\<close>
+
+class qr_spec = prime_card +
+ fixes qr_poly' :: "'a itself \<Rightarrow> int poly"
+ assumes not_dvd_lead_coeff_qr_poly':
+ "\<not>int CARD('a) dvd lead_coeff (qr_poly' TYPE('a))"
+ and deg_qr'_pos : "degree (qr_poly' TYPE('a)) > 0"
+
+text \<open>\<open>qr_poly\<close> is the respective polynomial in $\mathbb{Z}_q[x]$.\<close>
+definition qr_poly :: "'a :: qr_spec mod_ring poly" where
+ "qr_poly = of_int_poly (qr_poly' TYPE('a))"
+
+text \<open>Functions to get the degree of the polynomials to be factored out.\<close>
+definition (in qr_spec) deg_qr :: "'a itself \<Rightarrow> nat" where
+ "deg_qr _ = degree (qr_poly' TYPE('a))"
+
+lemma degree_qr_poly':
+ "degree (qr_poly' TYPE('a :: qr_spec)) = deg_qr (TYPE('a))"
+ by (simp add: deg_qr_def)
+
+lemma degree_of_int_poly':
+ assumes "of_int (lead_coeff p) \<noteq> (0 :: 'a :: ring_1)"
+ shows "degree (of_int_poly p :: 'a poly) = degree p"
+proof (intro antisym)
+ show "degree (of_int_poly p) \<le> degree p"
+ by (intro degree_le) (auto simp: coeff_eq_0)
+ show "degree (of_int_poly p :: 'a poly) \<ge> degree p"
+ using assms by (intro le_degree) auto
+qed
+
+lemma degree_qr_poly:
+ "degree (qr_poly :: 'a :: qr_spec mod_ring poly) = deg_qr (TYPE('a))"
+ unfolding qr_poly_def
+ using not_dvd_lead_coeff_qr_poly'[where ?'a = 'a]
+ by (subst degree_of_int_poly')
+ (auto simp: of_int_mod_ring_eq_0_iff degree_qr_poly')
+
+lemma deg_qr_pos : "deg_qr TYPE('a :: qr_spec) > 0"
+by (metis deg_qr'_pos degree_qr_poly')
+
+text \<open>The factor polynomial is non-zero.\<close>
+lemma qr_poly_nz [simp]: "qr_poly \<noteq> 0"
+ using deg_qr_pos[where ?'a = 'a] by (auto simp flip: degree_qr_poly)
+
+text \<open>Thus, when factoring out $p$, it has no effect on the neutral element $1$.\<close>
+lemma one_mod_qr_poly [simp]:
+ "1 mod (qr_poly :: 'a :: qr_spec mod_ring poly) = 1"
+proof -
+ have "2 ^ 1 \<le> (2 ^ deg_qr TYPE('a) :: nat)"
+ using deg_qr_pos[where ?'a = 'a]
+ by (intro power_increasing) auto
+ thus ?thesis
+ by (intro mod_eqI[where q = 0])
+ (auto simp: euclidean_size_poly_def degree_qr_poly)
+qed
+
+text \<open>We define a modulo relation for polynomials modulo a polynomial $p=$\<open>qr_poly\<close>.\<close>
+definition qr_rel :: "'a :: qr_spec mod_ring poly \<Rightarrow> 'a mod_ring poly \<Rightarrow> bool" where
+ "qr_rel P Q \<longleftrightarrow> [P = Q] (mod qr_poly)"
+
+lemma equivp_qr_rel: "equivp qr_rel"
+ by (intro equivpI sympI reflpI transpI)
+ (auto simp: qr_rel_def cong_sym intro: cong_trans)
+
+text \<open>Using this equivalence relation, we can define the quotient ring as a \<open>quotient_type\<close>.\<close>
+quotient_type (overloaded) 'a qr = "'a :: qr_spec mod_ring poly" / qr_rel
+ by (rule equivp_qr_rel)
+
+text \<open>Defining the conversion functions.\<close>
+lift_definition to_qr :: "'a :: qr_spec mod_ring poly \<Rightarrow> 'a qr"
+ is "\<lambda>x. (x :: 'a mod_ring poly)" .
+
+lift_definition of_qr :: "'a qr \<Rightarrow> 'a :: qr_spec mod_ring poly"
+ is "\<lambda>P::'a mod_ring poly. P mod qr_poly"
+ by (simp add: qr_rel_def cong_def)
+
+text \<open>Simplification lemmas on conversion functions.\<close>
+lemma of_qr_to_qr: "of_qr (to_qr (x)) = x mod qr_poly"
+ apply (auto simp add: of_qr_def to_qr_def)
+ by (metis of_qr.abs_eq of_qr.rep_eq)
+
+
+lemma to_qr_of_qr: "to_qr (of_qr (x)) = x"
+ apply (auto simp add: of_qr_def to_qr_def)
+ by (metis (mono_tags, lifting) Quotient3_abs_rep Quotient3_qr
+ Quotient3_rel cong_def qr_rel_def mod_mod_trivial)
+
+lemma eq_to_qr: "x = y \<Longrightarrow> to_qr x = to_qr y" by auto
+
+
+
+
+
+text \<open>Type class instantiation for \<open>qr\<close> (quotient ring).\<close>
+instantiation qr :: (qr_spec) comm_ring_1
+begin
+
+lift_definition zero_qr :: "'a qr" is "0" .
+
+lift_definition one_qr :: "'a qr" is "1" .
+
+lift_definition plus_qr :: "'a qr \<Rightarrow> 'a qr \<Rightarrow> 'a qr"
+ is "(+)"
+ unfolding qr_rel_def using cong_add by blast
+
+lift_definition uminus_qr :: "'a qr \<Rightarrow> 'a qr"
+ is "uminus"
+ unfolding qr_rel_def using cong_minus_minus_iff by blast
+
+lift_definition minus_qr :: "'a qr \<Rightarrow> 'a qr \<Rightarrow> 'a qr"
+ is "(-)"
+ unfolding qr_rel_def using cong_diff by blast
+
+lift_definition times_qr :: "'a qr \<Rightarrow> 'a qr \<Rightarrow> 'a qr"
+ is "(*)"
+ unfolding qr_rel_def using cong_mult by blast
+
+instance
+proof
+ show "0 \<noteq> (1 :: 'a qr)"
+ by transfer (simp add: qr_rel_def cong_def)
+qed (transfer; simp add: qr_rel_def algebra_simps; fail)+
+
+end
+
+lemma of_qr_0 [simp]: "of_qr 0 = 0"
+ and of_qr_1 [simp]: "of_qr 1 = 1"
+ and of_qr_uminus [simp]: "of_qr (-p) = -of_qr p"
+ and of_qr_add [simp]: "of_qr (p + q) = of_qr p + of_qr q"
+ and of_qr_diff [simp]: "of_qr (p - q) = of_qr p - of_qr q"
+ by (transfer; simp add: poly_mod_add_left poly_mod_diff_left; fail)+
+
+lemma to_qr_0 [simp]: "to_qr 0 = 0"
+ and to_qr_1 [simp]: "to_qr 1 = 1"
+ and to_qr_uminus [simp]: "to_qr (-p) = -to_qr p"
+ and to_qr_add [simp]: "to_qr (p + q) = to_qr p + to_qr q"
+ and to_qr_diff [simp]: "to_qr (p - q) = to_qr p - to_qr q"
+ and to_qr_mult [simp]: "to_qr (p * q) = to_qr p * to_qr q"
+ by (transfer'; simp; fail)+
+
+lemma to_qr_of_nat [simp]: "to_qr (of_nat n) = of_nat n"
+ by (induction n) auto
+
+lemma to_qr_of_int [simp]: "to_qr (of_int n) = of_int n"
+ by (induction n) auto
+
+lemma of_qr_of_nat [simp]: "of_qr (of_nat n) = of_nat n"
+ by (induction n) auto
+
+lemma of_qr_of_int [simp]: "of_qr (of_int n) = of_int n"
+ by (induction n) auto
+
+lemma of_qr_eq_0_iff [simp]: "of_qr p = 0 \<longleftrightarrow> p = 0"
+ by transfer (simp add: qr_rel_def cong_def)
+
+lemma to_qr_eq_0_iff:
+ "to_qr p = 0 \<longleftrightarrow> qr_poly dvd p"
+ by transfer (auto simp: qr_rel_def cong_def)
+
+
+text \<open>Some more lemmas that will probably be useful.\<close>
+
+lemma to_qr_eq_iff [simp]:
+ "to_qr P = (to_qr Q :: 'a :: qr_spec qr) \<longleftrightarrow> [P = Q] (mod qr_poly)"
+ by transfer (auto simp: qr_rel_def)
+
+text \<open>Reduction modulo $x^n + 1$ is injective on polynomials of degree less than $n$
+ in particular, this means that \<open>card(QR(q^n)) = q^n\<close>. \<close>
+lemma inj_on_to_qr:
+ "inj_on
+ (to_qr :: 'a :: qr_spec mod_ring poly \<Rightarrow> 'a qr)
+ {P. degree P < deg_qr TYPE('a)}"
+ by (intro inj_onI) (auto simp: cong_def mod_poly_less
+ simp flip: degree_qr_poly)
+
+text \<open>Characteristic of quotient ring is exactly q.\<close>
+
+lemma of_int_qr_eq_0_iff [simp]:
+ "of_int n = (0 :: 'a :: qr_spec qr) \<longleftrightarrow> int (CARD('a)) dvd n"
+proof -
+ have "of_int n = (0 :: 'a qr) \<longleftrightarrow> (of_int n :: 'a mod_ring poly) = 0"
+ by (smt (z3) of_qr_eq_0_iff of_qr_of_int)
+ also have "\<dots> \<longleftrightarrow> (of_int n :: 'a mod_ring) = 0"
+ by (simp add: of_int_poly)
+ also have "\<dots> \<longleftrightarrow> int (CARD('a)) dvd n"
+ by (simp add: of_int_mod_ring_eq_0_iff)
+ finally show ?thesis .
+qed
+
+lemma of_int_qr_eq_of_int_iff:
+ "of_int n = (of_int m :: 'a :: qr_spec qr) \<longleftrightarrow>
+ [n = m] (mod (int (CARD('a))))"
+ using of_int_qr_eq_0_iff[of "n - m", where ?'a = 'a]
+ by (simp del: of_int_qr_eq_0_iff add: cong_iff_dvd_diff)
+
+lemma of_nat_qr_eq_of_nat_iff:
+ "of_nat n = (of_nat m :: 'a :: qr_spec qr) \<longleftrightarrow>
+ [n = m] (mod CARD('a))"
+ using of_int_qr_eq_of_int_iff[of "int n" "int m"]
+ by (simp add: cong_int_iff)
+
+lemma of_nat_qr_eq_0_iff [simp]:
+ "of_nat n = (0 :: 'a :: qr_spec qr) \<longleftrightarrow> CARD('a) dvd n"
+ using of_int_qr_eq_0_iff[of "int n"] by simp
+
+
+section \<open>Specification of Kyber\<close>
+text \<open>
+We now define a locale for the specification parameters of Kyber as in \cite{kyber}.
+The specifications use the parameters:
+
+\begin{tabular}{r l}
+$n$ & $=256 = 2^{n'}$\\
+$n'$ & $= 8$\\
+$q$ & $= 7681$ or $3329$\\
+$k$ & $= 3$\\
+\end{tabular}
+
+It is important, that $q$ is a prime with the property $q\equiv 1\mod 4$.
+\<close>
+
+
+
+
+locale kyber_spec =
+fixes "type_a" :: "('a :: qr_spec) itself"
+ and "type_k" :: "('k ::finite) itself"
+ and n q::int and k n'::nat
+assumes
+n_powr_2: "n = 2 ^ n'" and
+n'_gr_0: "n' > 0" and
+q_gr_two: "q > 2" and
+q_mod_4: "q mod 4 = 1" and
+q_prime : "prime q" and
+CARD_a: "int (CARD('a :: qr_spec)) = q" and
+CARD_k: "int (CARD('k :: finite)) = k" and
+qr_poly'_eq: "qr_poly' TYPE('a) = Polynomial.monom 1 (nat n) + 1"
+
+begin
+text \<open>Some properties of the modulus q.\<close>
+
+lemma q_nonzero: "q \<noteq> 0"
+using kyber_spec_axioms kyber_spec_def by (smt (z3))
+
+lemma q_gt_zero: "q>0"
+using kyber_spec_axioms kyber_spec_def by (smt (z3))
+
+lemma q_gt_two: "q>2"
+using kyber_spec_axioms kyber_spec_def by (smt (z3))
+
+lemma q_odd: "odd q"
+using kyber_spec_axioms kyber_spec_def
+ prime_odd_int by blast
+
+lemma nat_q: "nat q = q"
+using q_gt_zero by force
+
+text \<open>Some properties of the degree n.\<close>
+
+lemma n_gt_1: "n > 1"
+using kyber_spec_axioms kyber_spec_def
+ by (simp add: n'_gr_0 n_powr_2)
+
+lemma n_nonzero: "n \<noteq> 0"
+using n_gt_1 by auto
+
+lemma n_gt_zero: "n>0"
+using n_gt_1 by auto
+
+lemma nat_n: "nat n = n"
+using n_gt_zero by force
+
+text \<open>Properties in the ring \<open>'a qr\<close>. A good representative has degree up to n.\<close>
+lemma deg_mod_qr_poly:
+ assumes "degree x < deg_qr TYPE('a)"
+ shows "x mod (qr_poly :: 'a mod_ring poly) = x"
+using mod_poly_less[of x qr_poly] unfolding deg_qr_def
+by (metis assms degree_qr_poly)
+
+lemma of_qr_to_qr':
+ assumes "degree x < deg_qr TYPE('a)"
+ shows "of_qr (to_qr x) = (x ::'a mod_ring poly)"
+using deg_mod_qr_poly[OF assms] of_qr_to_qr[of x] by simp
+
+lemma deg_qr_n:
+ "deg_qr TYPE('a) = n"
+unfolding deg_qr_def using qr_poly'_eq n_gt_1
+by (simp add: degree_add_eq_left degree_monom_eq)
+
+lemma deg_of_qr:
+ "degree (of_qr (x ::'a qr)) < deg_qr TYPE('a)"
+by (metis deg_qr_pos degree_0 degree_qr_poly degree_mod_less'
+ qr_poly_nz of_qr.rep_eq)
+
+definition to_module :: "int \<Rightarrow> 'a qr" where
+ "to_module x = to_qr (Poly [of_int_mod_ring x ::'a mod_ring])"
+
+lemma to_qr_smult_to_module:
+ "to_qr (Polynomial.smult a p) = (to_qr (Poly [a])) * (to_qr p)"
+by (metis Poly.simps(1) Poly.simps(2) mult.left_neutral
+ mult_smult_left smult_one to_qr_mult)
+
+lemma of_qr_to_qr_smult:
+ "of_qr (to_qr (Polynomial.smult a p)) =
+ Polynomial.smult a (of_qr (to_qr p))"
+by (simp add: mod_smult_left of_qr_to_qr)
+
+
+end
+end
\ No newline at end of file
diff --git a/thys/CRYSTALS-Kyber/Mod_Plus_Minus.thy b/thys/CRYSTALS-Kyber/Mod_Plus_Minus.thy
new file mode 100755
--- /dev/null
+++ b/thys/CRYSTALS-Kyber/Mod_Plus_Minus.thy
@@ -0,0 +1,122 @@
+theory Mod_Plus_Minus
+
+imports Kyber_spec
+
+begin
+section \<open>Re-centered Modulo Operation\<close>
+text \<open>To define the compress and decompress functions,
+ we need some special form of modulo. It returns the
+ representation of the equivalence class in \<open>(-q div 2, q div 2]\<close>.
+ Using these representatives, we ensure that the norm of the
+ representative is as small as possible.\<close>
+
+definition mod_plus_minus :: "int \<Rightarrow> int \<Rightarrow> int"
+ (infixl "mod+-" 70) where
+"m mod+- b =
+ ((m + \<lfloor> real_of_int b / 2 \<rfloor>) mod b) - \<lfloor> real_of_int b / 2 \<rfloor>"
+
+lemma mod_range: "b>0 \<Longrightarrow> (a::int) mod (b::int) \<in> {0..b-1}"
+using range_mod by auto
+
+lemma mod_rangeE:
+ assumes "(a::int)\<in>{0..<b}"
+ shows "a = a mod b"
+using assms by auto
+
+lemma mod_plus_minus_range:
+ assumes "b>0"
+ shows "y mod+- b \<in> {-\<lfloor>b/2\<rfloor>..\<lfloor>b/2\<rfloor>}"
+unfolding mod_plus_minus_def
+using mod_range[OF assms, of "(y + \<lfloor>real_of_int b / 2\<rfloor>)"]
+by (auto)(linarith)
+
+lemma odd_smaller_b:
+ assumes "odd b"
+ shows "\<lfloor> real_of_int b / 2 \<rfloor> + \<lfloor> real_of_int b / 2 \<rfloor> < b"
+using assms
+by (smt (z3) floor_divide_of_int_eq odd_two_times_div_two_succ
+ of_int_hom.hom_add of_int_hom.hom_one)
+
+lemma mod_plus_minus_rangeE:
+ assumes "y \<in> {-\<lfloor>real_of_int b/2\<rfloor>..<\<lfloor>real_of_int b/2\<rfloor>}"
+ "odd b"
+ shows "y = y mod+- b"
+proof -
+ have "(y + \<lfloor> real_of_int b / 2 \<rfloor>) \<in> {0..<b}"
+ using assms(1) odd_smaller_b[OF assms(2)] by auto
+ then have "(y + \<lfloor> real_of_int b / 2 \<rfloor>) mod b =
+ (y + \<lfloor> real_of_int b / 2 \<rfloor>)"
+ using mod_rangeE by auto
+ then show ?thesis unfolding mod_plus_minus_def by auto
+qed
+
+lemma mod_plus_minus_rangeE':
+ assumes "y \<in> {-\<lfloor>real_of_int b/2\<rfloor>..\<lfloor>real_of_int b/2\<rfloor>}"
+ "odd b"
+ shows "y = y mod+- b"
+proof -
+ have "(y + \<lfloor> real_of_int b / 2 \<rfloor>) \<in> {0..<b}"
+ using assms(1) odd_smaller_b[OF assms(2)] by auto
+ then have "(y + \<lfloor> real_of_int b / 2 \<rfloor>) mod b =
+ (y + \<lfloor> real_of_int b / 2 \<rfloor>)"
+ using mod_rangeE by auto
+ then show ?thesis unfolding mod_plus_minus_def by auto
+qed
+
+lemma mod_plus_minus_zero:
+ assumes "x mod+- b = 0"
+ shows "x mod b = 0"
+using assms unfolding mod_plus_minus_def
+by (metis add.commute add.right_neutral bits_mod_0
+ diff_add_cancel group_cancel.add1 mod_add_left_eq)
+
+lemma mod_plus_minus_zero':
+ assumes "b>0" "odd b"
+ shows "0 mod+- b = (0::int)"
+using mod_plus_minus_rangeE[of 0]
+by (smt (verit, best) assms(1) assms(2) atLeastAtMost_iff
+ atLeastLessThan_iff mod_plus_minus_range)
+
+
+lemma neg_mod_plus_minus:
+ assumes "odd b"
+ "b>0"
+ shows "(- x) mod+- b = - (x mod+- b)"
+proof -
+ obtain k :: int where k_def: "(-x) mod+- b = (-x)+ k* b"
+ using mod_plus_minus_def
+ proof -
+ assume a1: "\<And>k. - x mod+- b = - x + k * b \<Longrightarrow> thesis"
+ have "\<exists>i. i mod b + - (x + i) = - x mod+- b"
+ by (metis (no_types) add.commute diff_add_cancel diff_minus_eq_add
+ floor_divide_of_int_eq mod_plus_minus_def of_int_numeral)
+ then show ?thesis
+ using a1 by (metis (no_types) diff_add_cancel diff_diff_add
+ diff_minus_eq_add minus_diff_eq minus_mult_div_eq_mod
+ mult.commute mult_minus_left)
+ qed
+ then have "(-x) mod+- b = -(x - k*b)" using k_def by auto
+ also have "\<dots> = - ((x-k*b) mod+- b)"
+ proof -
+ have range_xkb:"x - k * b \<in>
+ {- \<lfloor>real_of_int b / 2\<rfloor>..\<lfloor>real_of_int b / 2\<rfloor>}"
+ using k_def mod_plus_minus_range[OF assms(2)]
+ by (smt (verit, ccfv_SIG) atLeastAtMost_iff)
+ have "x - k*b = (x - k*b) mod+- b"
+ using mod_plus_minus_rangeE'[OF range_xkb assms(1)] by auto
+ then show ?thesis by auto
+ qed
+ also have "-((x - k*b) mod+- b) = -(x mod+- b)"
+ unfolding mod_plus_minus_def
+ by (smt (verit, best) mod_mult_self1)
+ finally show ?thesis by auto
+qed
+
+
+lemma mod_plus_minus_rep:
+ obtains k where "x = k*b + x mod+- b"
+unfolding mod_plus_minus_def
+by (metis add.commute add_diff_eq diff_eq_eq
+ minus_mult_div_eq_mod mult.commute)
+
+end
\ No newline at end of file
diff --git a/thys/CRYSTALS-Kyber/Mod_Ring_Numeral.thy b/thys/CRYSTALS-Kyber/Mod_Ring_Numeral.thy
new file mode 100644
--- /dev/null
+++ b/thys/CRYSTALS-Kyber/Mod_Ring_Numeral.thy
@@ -0,0 +1,67 @@
+theory Mod_Ring_Numeral
+imports
+ "Berlekamp_Zassenhaus.Poly_Mod"
+ "Berlekamp_Zassenhaus.Poly_Mod_Finite_Field"
+ "HOL-Library.Numeral_Type"
+
+begin
+section \<open>Lemmas for Simplification of Modulo Equivalences\<close>
+lemma to_int_mod_ring_of_int [simp]:
+ "to_int_mod_ring (of_int n :: 'a :: nontriv mod_ring) = n mod int CARD('a)"
+ by transfer auto
+
+lemma to_int_mod_ring_of_nat [simp]:
+ "to_int_mod_ring (of_nat n :: 'a :: nontriv mod_ring) = n mod CARD('a)"
+ by transfer (auto simp: of_nat_mod)
+
+lemma to_int_mod_ring_numeral [simp]:
+ "to_int_mod_ring (numeral n :: 'a :: nontriv mod_ring) = numeral n mod CARD('a)"
+ by (metis of_nat_numeral to_int_mod_ring_of_nat)
+
+lemma of_int_mod_ring_eq_iff [simp]:
+ "((of_int a :: 'a :: nontriv mod_ring) = of_int b) \<longleftrightarrow>
+ ((a mod CARD('a)) = (b mod CARD('a)))"
+ by (metis to_int_mod_ring_hom.eq_iff to_int_mod_ring_of_int)
+
+lemma of_nat_mod_ring_eq_iff [simp]:
+ "((of_nat a :: 'a :: nontriv mod_ring) = of_nat b) \<longleftrightarrow>
+ ((a mod CARD('a)) = (b mod CARD('a)))"
+ by (metis of_nat_eq_iff to_int_mod_ring_hom.eq_iff to_int_mod_ring_of_nat)
+
+lemma one_eq_numeral_mod_ring_iff [simp]:
+ "(1 :: 'a :: nontriv mod_ring) = numeral a \<longleftrightarrow> (1 mod CARD('a)) = (numeral a mod CARD('a))"
+ using of_nat_mod_ring_eq_iff[of 1 "numeral a", where ?'a = 'a]
+ by (simp del: of_nat_mod_ring_eq_iff)
+
+lemma numeral_eq_one_mod_ring_iff [simp]:
+ "numeral a = (1 :: 'a :: nontriv mod_ring) \<longleftrightarrow> (numeral a mod CARD('a)) = (1 mod CARD('a))"
+ using of_nat_mod_ring_eq_iff[of "numeral a" 1, where ?'a = 'a]
+ by (simp del: of_nat_mod_ring_eq_iff)
+
+lemma zero_eq_numeral_mod_ring_iff [simp]:
+ "(0 :: 'a :: nontriv mod_ring) = numeral a \<longleftrightarrow> 0 = (numeral a mod CARD('a))"
+ using of_nat_mod_ring_eq_iff[of 0 "numeral a", where ?'a = 'a]
+ by (simp del: of_nat_mod_ring_eq_iff)
+
+lemma numeral_eq_zero_mod_ring_iff [simp]:
+ "numeral a = (0 :: 'a :: nontriv mod_ring) \<longleftrightarrow> (numeral a mod CARD('a)) = 0"
+ using of_nat_mod_ring_eq_iff[of "numeral a" 0, where ?'a = 'a]
+ by (simp del: of_nat_mod_ring_eq_iff)
+
+lemma numeral_mod_ring_eq_iff [simp]:
+ "((numeral a :: 'a :: nontriv mod_ring) = numeral b) \<longleftrightarrow>
+ ((numeral a mod CARD('a)) = (numeral b mod CARD('a)))"
+ using of_nat_mod_ring_eq_iff[of "numeral a" "numeral b", where ?'a = 'a]
+ by (simp del: of_nat_mod_ring_eq_iff)
+
+
+instantiation bit1 :: (finite) nontriv
+begin
+instance proof
+ show "1 < CARD('a bit1)" by simp
+qed
+end
+
+
+
+end
\ No newline at end of file
diff --git a/thys/CRYSTALS-Kyber/NTT_Scheme.thy b/thys/CRYSTALS-Kyber/NTT_Scheme.thy
new file mode 100644
--- /dev/null
+++ b/thys/CRYSTALS-Kyber/NTT_Scheme.thy
@@ -0,0 +1,1050 @@
+theory NTT_Scheme
+
+imports Crypto_Scheme
+ Mod_Ring_Numeral
+ "Number_Theoretic_Transform.NTT"
+
+begin
+section \<open>Number Theoretic Transform for Kyber\<close>
+
+lemma Poly_strip_while:
+"Poly (strip_while ((=) 0) x) = Poly x"
+by (metis Poly_coeffs coeffs_Poly)
+
+
+
+locale kyber_ntt = kyber_spec "TYPE('a :: qr_spec)" "TYPE('k::finite)" +
+fixes type_a :: "('a :: qr_spec) itself"
+ and type_k :: "('k ::finite) itself"
+ and \<omega> :: "('a::qr_spec) mod_ring"
+ and \<mu> :: "'a mod_ring"
+ and \<psi> :: "'a mod_ring"
+ and \<psi>inv :: "'a mod_ring"
+ and ninv :: "'a mod_ring"
+ and mult_factor :: int
+assumes
+ omega_properties: "\<omega>^n = 1" "\<omega> \<noteq> 1" "(\<forall> m. \<omega>^m = 1 \<and> m\<noteq>0 \<longrightarrow> m \<ge> n)"
+ and mu_properties: "\<mu> * \<omega> = 1" "\<mu> \<noteq> 1"
+ and psi_properties: "\<psi>^2 = \<omega>" "\<psi>^n = -1"
+ and psi_psiinv: "\<psi> * \<psi>inv = 1"
+ and n_ninv: "(of_int_mod_ring n) * ninv = 1"
+ and q_split: "q = mult_factor * n + 1"
+begin
+text \<open>Some properties of the roots $\omega$ and $\psi$ and their inverses $\mu$ and $\psi_inv$.\<close>
+lemma mu_prop:
+ "(\<forall> m. \<mu>^m = 1 \<and> m\<noteq>0 \<longrightarrow> m \<ge> n)"
+by (metis mu_properties(1) mult.commute mult.right_neutral
+ omega_properties(3) power_mult_distrib power_one)
+
+lemma mu_prop':
+assumes "\<mu>^m' = 1" "m'\<noteq>0" shows "m' \<ge> n"
+using mu_prop assms by blast
+
+lemma omega_prop':
+assumes "\<omega>^m' = 1" "m'\<noteq>0" shows "m' \<ge> n"
+using omega_properties(3) assms by blast
+
+lemma psi_props:
+shows "\<psi>^(2*n) = 1"
+ "\<psi>^(n*(2*a+1)) = -1"
+ "\<psi>\<noteq>1"
+proof -
+ show "\<psi>^(2*n) = 1"
+ by (simp add: omega_properties(1) power_mult psi_properties)
+ show "\<psi>^(n*(2*a+1)) = -1"
+ by (metis (no_types, lifting) mult.commute mult_1 power_add
+ power_minus1_even power_mult psi_properties(2))
+ show "\<psi>\<noteq>1"
+ using omega_properties(2) one_power2 psi_properties(1) by blast
+qed
+
+lemma psi_inv_exp:
+"\<psi>^i * \<psi>inv ^i = 1"
+using left_right_inverse_power psi_psiinv by blast
+
+lemma inv_psi_exp:
+"\<psi>inv^i * \<psi> ^i = 1"
+by (simp add: mult.commute psi_inv_exp)
+
+
+lemma negative_psi:
+assumes "i<j"
+shows "\<psi>^j * \<psi>inv ^i = \<psi>^(j-i)"
+proof -
+ have j: "\<psi>^j = \<psi>^(j-i) * \<psi>^i" using assms
+ by (metis add.commute le_add_diff_inverse nat_less_le power_add)
+ show ?thesis unfolding j
+ by (simp add: left_right_inverse_power psi_psiinv)
+qed
+
+lemma negative_psi':
+assumes "i\<le>j"
+shows "\<psi>inv^i * \<psi> ^j = \<psi>^(j-i)"
+proof -
+ have j: "\<psi>^j = \<psi>^i * \<psi>^(j-i)" using assms
+ by (metis le_add_diff_inverse power_add)
+ show ?thesis unfolding j mult.assoc[symmetric] using inv_psi_exp[of i] by simp
+qed
+
+lemma psiinv_prop:
+shows "\<psi>inv^2 = \<mu>"
+proof -
+ show "\<psi>inv^2 = \<mu>"
+ by (metis (mono_tags, lifting) mu_properties(1) mult.commute
+ mult_cancel_right mult_cancel_right2 power_mult_distrib psi_properties(1) psi_psiinv)
+qed
+
+lemma n_ninv':
+"ninv * (of_int_mod_ring n) = 1"
+using n_ninv
+by (simp add: mult.commute)
+
+
+text \<open>The \<open>map2\<close> function for polynomials.\<close>
+definition map2_poly :: "('a mod_ring \<Rightarrow> 'a mod_ring \<Rightarrow> 'a mod_ring) \<Rightarrow>
+ 'a mod_ring poly \<Rightarrow> 'a mod_ring poly \<Rightarrow> 'a mod_ring poly" where
+"map2_poly f p1 p2 =
+ Poly (map2 f (map (poly.coeff p1) [0..<nat n]) (map (poly.coeff p2) [0..<nat n]))"
+
+text \<open>Additional lemmas on polynomials.\<close>
+lemma Poly_map_coeff:
+assumes "degree f < num"
+shows "Poly (map (poly.coeff (f)) [0..<num]) = f"
+proof (subst poly_eq_iff, safe)
+ fix j
+ show "poly.coeff (Poly (map (poly.coeff f) [0..<num])) j = poly.coeff f j"
+ proof (cases "j<num")
+ case True
+ then show ?thesis
+ unfolding coeff_Poly by (subst nth_default_nth, auto)
+ next
+ case False
+ then have "j>degree f" using assms by auto
+ then show ?thesis unfolding coeff_Poly using False
+ by (simp add: coeff_eq_0 nth_default_beyond)
+ qed
+qed
+
+lemma map_upto_n_mod:
+"(Poly (map f [0..<n]) mod qr_poly) = (Poly (map f [0..<n]) :: 'a mod_ring poly)"
+proof -
+ have "degree (Poly (map f [0::nat..<n])) < n"
+ by (metis Suc_pred' deg_Poly' deg_qr_n deg_qr_pos degree_0 diff_zero le_imp_less_Suc
+ length_map length_upt nat_int)
+ then show ?thesis
+ by (subst deg_mod_qr_poly, use deg_qr_n in \<open>auto\<close>)
+qed
+
+
+lemma coeff_of_qr_zero:
+assumes "i\<ge>n"
+shows "poly.coeff (of_qr (f :: 'a qr)) i = 0"
+proof -
+ have "degree (of_qr f) < i"
+ using deg_of_qr deg_qr_n assms order_less_le_trans by auto
+ then show ?thesis by (subst coeff_eq_0, auto)
+qed
+
+text \<open>Definition of NTT on polynomials.
+ In contrast to the ordinary NTT, we use a different exponent on the root of unity $\psi$.\<close>
+definition ntt_coeff_poly :: "'a qr \<Rightarrow> nat \<Rightarrow> 'a mod_ring" where
+ "ntt_coeff_poly g i = (\<Sum>j\<in>{0..<n}. (poly.coeff (of_qr g) j) * \<psi>^(j * (2*i+1)))"
+
+definition ntt_coeffs :: "'a qr \<Rightarrow> 'a mod_ring list" where
+ "ntt_coeffs g = map (ntt_coeff_poly g) [0..<n]"
+
+definition ntt_poly :: "'a qr \<Rightarrow> 'a qr" where
+"ntt_poly g = to_qr (Poly (ntt_coeffs g))"
+
+text \<open>Definition of inverse NTT on polynomials.
+ The inverse transformed is already scaled such that it is the true inverse of the NTT.\<close>
+definition inv_ntt_coeff_poly :: "'a qr \<Rightarrow> nat \<Rightarrow> 'a mod_ring" where
+ "inv_ntt_coeff_poly g' i = ninv *
+ (\<Sum>j\<in>{0..<n}. (poly.coeff (of_qr g') j) * \<psi>inv^(i*(2*j+1)))"
+
+definition inv_ntt_coeffs :: "'a qr \<Rightarrow> 'a mod_ring list" where
+ "inv_ntt_coeffs g' = map (inv_ntt_coeff_poly g') [0..<n]"
+
+definition inv_ntt_poly :: "'a qr \<Rightarrow> 'a qr" where
+ "inv_ntt_poly g = to_qr (Poly (inv_ntt_coeffs g))"
+
+
+text \<open>Kyber is indeed in the NTT-domain with root of unity $\omega$.
+Note, that our ntt on polynomials uses a slightly different exponent.
+The root of unity $\omega$ defines an alternative NTT in Kyber.\<close>
+text \<open>Have $7681 = 30*256 + 1$ and $3329 = 13 * 256 + 1$.\<close>
+interpretation kyber_ntt: ntt "nat q" "nat n" "nat mult_factor" \<omega> \<mu>
+proof (unfold_locales, goal_cases)
+ case 2
+ then show ?case using q_gt_two by linarith
+next
+ case 3
+ then show ?case
+ by (smt (verit, del_insts) int_nat_eq mult.commute nat_int_add
+ nat_mult_distrib of_nat_1 q_gt_two q_split zadd_int_left)
+next
+ case 4
+ then show ?case using n_gt_1 by linarith
+qed (use CARD_a nat_int in \<open>auto simp add: omega_properties mu_properties\<close>)
+
+
+text \<open>Multiplication in of polynomials in $R_q$ is a negacyclic convolution
+(because we factored by $x^n + 1$, thus $x^n\equiv -1 \mod x^n+1$).
+This is the reason why we needed to adapt the exponent in the NTT.\<close>
+definition qr_mult_coeffs :: "'a qr \<Rightarrow> 'a qr \<Rightarrow> 'a qr" (infixl "\<star>" 70) where
+ "qr_mult_coeffs f g = to_qr (map2_poly (*) (of_qr f) (of_qr g))"
+
+
+text \<open>The definition of the exponentiation \<open>^\<close> only allows for natural exponents,
+thus we need to cheat a bit by introducing \<open>conv_sign x\<close>$\equiv (-1)^x$.\<close>
+definition conv_sign :: "int \<Rightarrow> 'a mod_ring" where
+"conv_sign x = (if x mod 2 = 0 then 1 else -1)"
+
+text \<open>The definition of the negacyclic convolution.\<close>
+definition negacycl_conv :: "'a qr \<Rightarrow> 'a qr \<Rightarrow> 'a qr" where
+"negacycl_conv f g =
+ to_qr (Poly (map
+ (\<lambda>i. \<Sum>j<n. conv_sign ((int i - int j) div n) *
+ poly.coeff (of_qr f) j * poly.coeff (of_qr g) (nat ((int i - int j) mod n)))
+ [0..<n]))"
+
+lemma negacycl_conv_mod_qr_poly:
+"of_qr (negacycl_conv f g) mod qr_poly = of_qr (negacycl_conv f g)"
+unfolding negacycl_conv_def of_qr_to_qr by auto
+
+
+text \<open>Representation of f modulo \<open>qr_poly\<close>.\<close>
+lemma mod_div_qr_poly:
+"(f :: 'a mod_ring poly) = (f mod qr_poly) + qr_poly * (f div qr_poly)"
+by simp
+
+text \<open>\<open>take_deg\<close> returns the first $n$ coefficients of a polynomial.\<close>
+definition take_deg :: "nat \<Rightarrow> ('b::zero) poly \<Rightarrow> 'b poly" where
+"take_deg = (\<lambda>n. \<lambda>f. Poly (take n (coeffs f)))"
+
+text \<open>\<open>drop_deg\<close> returns the coefficients of a polynomial strarting from the $n$-th coefficient.\<close>
+definition drop_deg :: "nat \<Rightarrow> ('b::zero) poly \<Rightarrow> 'b poly" where
+"drop_deg = (\<lambda>n. \<lambda>f. Poly (drop n (coeffs f)))"
+
+text \<open>\<open>take_deg\<close> and \<open>drop_deg\<close> return the modulo and divisor representants.\<close>
+lemma take_deg_monom_drop_deg:
+assumes "degree f \<ge> n"
+shows "(f :: 'a mod_ring poly) = take_deg n f + (Polynomial.monom 1 n) * drop_deg n f"
+proof -
+ have "min (length (coeffs f)) n = n" using assms
+ by (metis bot_nat_0.not_eq_extremum degree_0 le_imp_less_Suc
+ length_coeffs_degree min.absorb1 min.absorb4)
+ then show ?thesis
+ unfolding take_deg_def drop_deg_def
+ apply (subst Poly_coeffs[of f,symmetric])
+ apply (subst append_take_drop_id[of n "coeffs f", symmetric])
+ apply (subst Poly_append)
+ by (auto)
+qed
+
+lemma split_mod_qr_poly:
+assumes "degree f \<ge> n"
+shows "(f :: 'a mod_ring poly) = take_deg n f - drop_deg n f + qr_poly * drop_deg n f"
+proof -
+ have "(Polynomial.monom 1 n + 1) * drop_deg n f =
+ Polynomial.monom 1 n * drop_deg n f + drop_deg n f"
+ by (simp add: mult_poly_add_left)
+ then show ?thesis
+ apply (subst take_deg_monom_drop_deg[OF assms])
+ apply (unfold qr_poly_def qr_poly'_eq of_int_hom.map_poly_hom_add)
+ by auto
+qed
+
+text \<open>Lemmas on the degrees of \<open>take_deg\<close> and \<open>drop_deg\<close>.\<close>
+lemma degree_drop_n:
+"degree (drop_deg n f) = degree f - n"
+unfolding drop_deg_def
+by (simp add: degree_eq_length_coeffs)
+
+lemma degree_drop_2n:
+assumes "degree f < 2*n"
+shows "degree (drop_deg n f) < n"
+using assms unfolding degree_drop_n by auto
+
+lemma degree_take_n:
+"degree (take_deg n f) < n"
+unfolding take_deg_def
+by (metis coeff_Poly_eq deg_qr_n deg_qr_pos degree_0 leading_coeff_0_iff
+ nth_default_take of_nat_eq_iff)
+
+lemma deg_mult_of_qr:
+"degree (of_qr (f ::'a qr) * of_qr g) < 2 * n"
+by (metis add_less_mono deg_of_qr deg_qr_n degree_0 degree_mult_eq
+ mult_2 mult_eq_0_iff nat_int_comparison(1))
+
+text \<open>Representation of a polynomial modulo \<open>qr_poly\<close> using \<open>take_deg\<close> and \<open>drop_deg\<close>.\<close>
+lemma mod_qr_poly:
+assumes "degree f \<ge> n" "degree f < 2*n"
+shows "(f :: 'a mod_ring poly) mod qr_poly = take_deg n f - drop_deg n f "
+proof -
+ have "degree (take_deg n f - drop_deg n f) < deg_qr TYPE('a)"
+ using degree_diff_le_max[of "take_deg n f" "drop_deg n f"]
+ degree_drop_2n[OF assms(2)] degree_take_n
+ by (metis deg_qr_n degree_diff_less nat_int)
+ then have "(take_deg n f - drop_deg n f) mod qr_poly =
+ take_deg n f - drop_deg n f" by (subst deg_mod_qr_poly, auto)
+ then show ?thesis
+ by (subst split_mod_qr_poly[OF assms(1)], auto)
+qed
+
+text \<open>Coefficients of \<open>take_deg\<close>, \<open>drop_deg\<close> and the modulo representant.\<close>
+lemma coeff_take_deg:
+assumes "i<n"
+shows "poly.coeff (take_deg n f) i = poly.coeff (f::'a mod_ring poly) i"
+using assms unfolding take_deg_def
+by (simp add: nth_default_coeffs_eq nth_default_take)
+
+lemma coeff_drop_deg:
+assumes "i<n"
+shows "poly.coeff (drop_deg n f) i = poly.coeff (f::'a mod_ring poly) (i+n)"
+using assms unfolding drop_deg_def
+by (simp add: nth_default_coeffs_eq nth_default_drop)
+
+lemma coeff_mod_qr_poly:
+assumes "degree (f::'a mod_ring poly) \<ge> n" "degree f < 2*n" "i<n"
+shows "poly.coeff (f mod qr_poly) i = poly.coeff f i - poly.coeff f (i+n)"
+apply (subst mod_qr_poly[OF assms(1) assms(2)])
+apply (subst coeff_diff)
+apply (unfold coeff_take_deg[OF assms(3)] coeff_drop_deg[OF assms(3)])
+by auto
+
+text \<open>More lemmas on the splitting of sums.\<close>
+
+lemma sum_leq_split:
+"(\<Sum>ia\<le>i+n. f ia) = (\<Sum>ia<n. f ia) + (\<Sum>ia\<in>{n..i+n}. f ia)"
+proof -
+ have *: "{..i + n} - {..<n} = {n..i + n}"
+ by (metis atLeastLessThanSuc_atLeastAtMost lessThan_Suc_atMost lessThan_minus_lessThan)
+ show ?thesis
+ by (subst sum.subset_diff[of "{..<n}" "{..i+n}" f]) (auto simp add: * add.commute)
+qed
+
+lemma less_diff:
+assumes "l1<l2"
+shows "{..<l2} - {..l1} = {l1<..<l2::nat}"
+by (metis atLeastSucLessThan_greaterThanLessThan lessThan_Suc_atMost lessThan_minus_lessThan)
+
+lemma sum_less_split:
+assumes "l1<(l2::nat)"
+shows "sum f {..<l2} = sum f {..l1} + sum f {l1<..<l2}"
+by (subst sum.subset_diff[of "{..l1}" "{..<l2}" f])
+ (auto simp add: assms add.commute order_le_less_trans less_diff[OF assms])
+
+lemma div_minus_1:
+assumes "(x::int) \<in> {-b..<0}"
+shows "x div b = -1"
+using assms
+by (smt (verit, ccfv_SIG) atLeastLessThan_iff div_minus_minus div_pos_neg_trivial)
+
+text \<open>A coefficient of polynomial multiplication is a coefficient of the negacyclic convolution.\<close>
+lemma coeff_conv:
+fixes f :: "'a qr"
+assumes "i<n"
+shows "poly.coeff ((of_qr f) * (of_qr g) mod qr_poly) i =
+ (\<Sum>j<n. conv_sign ((int i - int j) div n) *
+ poly.coeff (of_qr f) j * poly.coeff (of_qr g) (nat ((int i - int j) mod n)))"
+proof (cases "degree (of_qr f) + degree (of_qr g)<n")
+ case True
+ then have True':"degree ((of_qr f) * (of_qr g)) <n" using degree_mult_le
+ using order_le_less_trans by blast
+ have "poly.coeff ((of_qr f) * (of_qr g) mod qr_poly) i =
+ poly.coeff ((of_qr f) * (of_qr g)) i" using True'
+ by (metis deg_qr_n degree_qr_poly mod_poly_less nat_int)
+ also have "\<dots> = (\<Sum>ia\<le>i. poly.coeff (of_qr f) ia * poly.coeff (of_qr g) (i - ia))"
+ unfolding coeff_mult by auto
+ also have "\<dots> = (\<Sum>ia\<le>i. conv_sign ((int i - int ia) div int n) *
+ poly.coeff (of_qr f) ia *
+ poly.coeff (of_qr g) (nat ((int i - int ia) mod n)))"
+ proof -
+ have "i-ia = nat ((int i - int ia) mod n)" if "ia \<le> i" for ia
+ using assms that by force
+ moreover have "conv_sign ((int i - int ia) div int n) = 1"
+ if "ia \<le> i" for ia unfolding conv_sign_def
+ using assms that by force
+ ultimately show ?thesis by auto
+ qed
+ also have "\<dots> = (\<Sum>ia<n. conv_sign ((int i - int ia) div int n) *
+ poly.coeff (of_qr f) ia *
+ poly.coeff (of_qr g) (nat ((int i - int ia) mod n)))"
+ proof -
+ have "poly.coeff (of_qr f) ia *
+ poly.coeff (of_qr g) (nat ((int i - int ia) mod int n)) = 0"
+ if "ia \<in> {i<..<n}" for ia
+ proof (subst mult_eq_0_iff, safe, goal_cases)
+ case 1
+ have deg_g: "nat ((int i - int ia) mod int n) \<le> degree (of_qr g)"
+ using le_degree[OF 1] by auto
+ have "ia > degree (of_qr f)"
+ proof (rule ccontr)
+ assume "\<not> degree (of_qr f) < ia"
+ then have as: "ia \<le> degree (of_qr f)" by auto
+ then have ni: "nat ((int i - int ia) mod int n) + ia = n + i"
+ using that by (smt (verit, ccfv_threshold) True deg_g
+ greaterThanLessThan_iff int_nat_eq less_imp_of_nat_less
+ mod_add_self1 mod_pos_pos_trivial of_nat_0_le_iff of_nat_add
+ of_nat_mono)
+ have "n + i \<le> degree (of_qr f) + degree (of_qr g)"
+ unfolding ni[symmetric] using as deg_g by auto
+ then show False using True by auto
+ qed
+ then show ?case
+ using coeff_eq_0 by blast
+ qed
+ then show ?thesis
+ by (subst sum_less_split[OF \<open>i<n\<close>]) (simp add: sum.neutral)
+ qed
+ finally show ?thesis by blast
+next
+ case False
+ then have *: "degree (of_qr f * of_qr g) \<ge> n"
+ by (metis add.right_neutral add_0 deg_of_qr deg_qr_n degree_0 degree_mult_eq
+ linorder_not_le nat_int)
+ have "poly.coeff (of_qr f * of_qr g) (i + n) = (\<Sum>ia<n.
+ poly.coeff (of_qr f) ia * poly.coeff (of_qr g) (i + n - ia))"
+ unfolding coeff_mult using coeff_of_qr_zero
+ by (subst sum_leq_split[of _ i]) (auto)
+ also have "\<dots> = (\<Sum>ia\<in>{i<..<n}.
+ poly.coeff (of_qr f) ia * poly.coeff (of_qr g) (i + n - ia))"
+ using coeff_of_qr_zero by (subst sum_less_split[OF \<open>i<n\<close>]) auto
+ also have "\<dots> = (\<Sum>ia\<in>{i<..<n}.
+ poly.coeff (of_qr f) ia * poly.coeff (of_qr g) (nat ((int i - ia) mod n)))"
+ proof -
+ have "int i - int ia + int n \<in>{0..<n}" if "ia \<in> {i<..<n}" for ia using assms that by auto
+ then have "int i + n-ia = (int i-ia) mod n" if "ia\<in>{i<..<n}" for ia
+ using \<open>i<n\<close> that by (smt (verit, best) mod_add_self1 mod_rangeE)
+ then have "i+n-ia = nat ((int i - ia) mod n)" if "ia\<in>{i<..<n}" for ia
+ by (metis int_minus nat_int of_nat_add that)
+ then show ?thesis by fastforce
+ qed
+ also have "\<dots> = - (\<Sum>ia\<in>{i<..<n}. conv_sign ((int i - int ia) div n) *
+ poly.coeff (of_qr f) ia * poly.coeff (of_qr g) (nat ((int i - ia) mod n)))"
+ proof -
+ have negative:"(int i - int ia) \<in> {-n..<0}" if "ia \<in>{i<..<n}" for ia
+ using that by auto
+ have "(int i - int ia) div n = -1" if "ia \<in>{i<..<n}" for ia
+ using div_minus_1[OF negative[OF that]] .
+ then have "conv_sign ((int i - int ia) div n) = -1" if "ia \<in>{i<..<n}" for ia
+ unfolding conv_sign_def using that by auto
+ then have *: "(\<Sum>ia\<in>{i<..<n}. foo ia) =
+ (\<Sum>x\<in>{i<..<n}. - (conv_sign ((int i - int x) div int n) * foo x))"
+ for foo by auto
+ show ?thesis
+ by (subst sum_negf[symmetric], subst *) (simp add: mult.assoc)
+ qed
+ finally have i_n: "poly.coeff (of_qr f * of_qr g) (i + n) =
+ - (\<Sum>ia\<in>{i<..<n}. conv_sign ((int i - int ia) div n) *
+ poly.coeff (of_qr f) ia * poly.coeff (of_qr g) (nat ((int i - ia) mod n)))"
+ by blast
+ have i_n': "poly.coeff (of_qr f * of_qr g) i =
+ (\<Sum>ia\<le>i. conv_sign ((int i - int ia) div n) *
+ poly.coeff (of_qr f) ia * poly.coeff (of_qr g) (nat ((int i - ia) mod n)))"
+ proof -
+ have "conv_sign ((int i - int ia) div n) = 1" if "ia \<le>i" for ia
+ using that assms conv_sign_def by force
+ moreover have "i-ia \<in>{0..<n}" if "ia \<le>i" for ia using that assms by auto
+ then have "i-ia = (nat ((int i - ia) mod n))" if "ia\<le>i" for ia
+ using assms that by force
+ ultimately show ?thesis unfolding coeff_mult
+ using assms less_imp_diff_less mod_less by auto
+ qed
+ have calc: "poly.coeff (of_qr f * of_qr g) i - poly.coeff (of_qr f * of_qr g) (i + n) =
+ (\<Sum>ia<n. conv_sign ((int i - int ia) div n) *
+ poly.coeff (of_qr f) ia * poly.coeff (of_qr g) (nat ((int i - ia) mod n)))"
+ by (subst i_n, subst i_n')
+ (metis (no_types, lifting) assms diff_minus_eq_add sum_less_split)
+ show ?thesis unfolding coeff_mod_qr_poly[OF * deg_mult_of_qr assms] calc
+ by auto
+qed
+
+text \<open>Polynomial multiplication in $R_q$ is the negacyclic convolution.\<close>
+
+lemma mult_negacycl:
+"f * g = negacycl_conv f g"
+proof -
+ have f_times_g: "f * g = to_qr ((of_qr f) * (of_qr g) mod qr_poly)"
+ by (metis of_qr_mult to_qr_of_qr)
+ have conv: "poly.coeff ((of_qr f) * (of_qr g) mod qr_poly) i =
+ (\<Sum>j<n. conv_sign ((int i - int j) div n) *
+ poly.coeff (of_qr f) j * poly.coeff (of_qr g) (nat ((int i - j) mod n)))"
+ if "i<n" for i using coeff_conv[OF that] by auto
+ have "poly.coeff (of_qr (f*g)) i =
+ poly.coeff (of_qr (negacycl_conv f g)) i" for i
+ proof (cases "i<n")
+ case True
+ then show ?thesis unfolding negacycl_conv_def f_times_g of_qr_to_qr
+ map_upto_n_mod mod_mod_trivial coeff_Poly_eq
+ using conv[OF True] by (subst nth_default_nth[of i], auto)
+ next
+ case False
+ then show ?thesis using coeff_of_qr_zero[of i "f*g"]
+ coeff_of_qr_zero[of i "negacycl_conv f g"] by auto
+ qed
+ then show ?thesis
+ using poly_eq_iff [of "of_qr (f * g)" "of_qr (negacycl_conv f g)"]
+ by (metis to_qr_of_qr)
+qed
+
+text \<open>Additional lemmas on \<open>ntt_coeffs\<close>.\<close>
+
+lemma length_ntt_coeffs:
+"length (ntt_coeffs f) \<le> n"
+unfolding ntt_coeffs_def by auto
+
+lemma degree_Poly_ntt_coeffs:
+"degree (Poly (ntt_coeffs f)) < n"
+using length_ntt_coeffs
+by (smt (verit) deg_Poly' degree_0 degree_take_n diff_diff_cancel
+ diff_is_0_eq le_neq_implies_less less_nat_zero_code nat_le_linear
+ order.strict_trans1 power_0_left power_eq_0_iff)
+
+lemma Poly_ntt_coeffs_mod_qr_poly:
+ "Poly (ntt_coeffs f) mod qr_poly = Poly (ntt_coeffs f)"
+using map_upto_n_mod ntt_coeffs_def by presburger
+
+
+lemma nth_default_map:
+assumes "i<na"
+shows "nth_default x (map f [0..<na]) i = f i"
+using assms
+by (simp add: nth_default_nth)
+
+
+lemma nth_coeffs_negacycl:
+assumes "j<n"
+shows "poly.coeff (of_qr (negacycl_conv f g)) j =
+ (\<Sum>i<n. conv_sign ((int j - int i) div int n) * poly.coeff (of_qr f) i *
+ poly.coeff (of_qr g) (nat ((int j - int i) mod int n)))"
+unfolding negacycl_conv_def of_qr_to_qr map_upto_n_mod coeff_Poly_eq
+ nth_default_map[OF assms] by auto
+
+
+text \<open>Writing the convolution sign as a conditional if statement.\<close>
+lemma conv_sign_if:
+assumes "x<n" "y<n"
+shows "conv_sign ((int x - int y) div int n) = (if int x - int y < 0 then -1 else 1)"
+unfolding conv_sign_def
+proof (split if_splits, safe, goal_cases)
+ case 1
+ then have "int x - int y \<in> {-n..<0}" using assms by simp
+ then have "(int x - int y) div int n mod 2 = 1"
+ using div_minus_1 by presburger
+ then show ?case by auto
+next
+ case 2
+ then have "(int x - int y) div int n mod 2 = 0"
+ using assms(1) by force
+ then show ?case by auto
+qed
+
+text \<open>The convolution theorem on coefficients.\<close>
+
+lemma ntt_coeff_poly_mult:
+assumes "l<n"
+shows "ntt_coeff_poly (f*g) l = ntt_coeff_poly f l * ntt_coeff_poly g l"
+proof -
+ define f1 where "f1 = (\<lambda>x. \<lambda> y.
+ conv_sign ((int x - int y) div int n) *
+ poly.coeff (of_qr f) y *
+ poly.coeff (of_qr g) (nat ((int x - int y) mod int n)))"
+ have "ntt_coeff_poly (f*g) l = (\<Sum>j = 0..<n. poly.coeff (of_qr (negacycl_conv f g)) j *
+ \<psi>^(j*(2*l+1)))" unfolding ntt_coeff_poly_def mult_negacycl by auto
+ also have "\<dots> = (\<Sum>j=0..<n. (\<Sum>i<n. f1 j i * \<psi>^(j*(2*l+1))))"
+ proof (subst sum.cong[of "{0..<n}" "{0..<n}"
+ "(\<lambda>j. poly.coeff (of_qr (negacycl_conv f g)) j * \<psi>^(j*(2*l+1)))"
+ "(\<lambda>j. (\<Sum>i<n. f1 j i * \<psi>^(j*(2*l+1))))"],
+ goal_cases)
+ case (2 j)
+ then have "j<n" by auto
+ have "poly.coeff (of_qr (negacycl_conv f g)) j * \<psi> ^ (j * (2 * l + 1)) =
+ (\<Sum>na<n. (conv_sign ((int j - int na) div int n) *
+ poly.coeff (of_qr f) na * poly.coeff (of_qr g) (nat ((int j - int na) mod int n))) *
+ \<psi> ^ (j * (2 * l + 1)))"
+ apply (subst nth_coeffs_negacycl[OF \<open>j<n\<close>])
+ apply (subst sum_distrib_right)
+ by auto
+ also have "\<dots> = (\<Sum>na<n. f1 j na * \<psi> ^ (j * (2 * l + 1)))"
+ unfolding f1_def by auto
+ finally show ?case by blast
+ qed auto
+ also have "\<dots> = (\<Sum>i<n. \<Sum>j<n. f1 j i * \<psi> ^ (j * (2 * l + 1))) "
+ by (subst atLeast0LessThan, subst sum.swap, auto)
+ also have "\<dots> = (\<Sum>i<n. poly.coeff (of_qr f) i * \<psi> ^ (i * (2 * l + 1)) *
+ (\<Sum>j<n. poly.coeff (of_qr g) (nat ((int j - int i) mod int n)) *
+ (if int j - int i < 0 then -1 else 1) *
+ \<psi>inv ^ (i * (2 * l + 1)) * \<psi> ^ (j * (2 * l + 1))))"
+ proof (subst sum.cong[of "{..<n}" "{..<n}" "(\<lambda>i. (\<Sum>j<n. f1 j i * \<psi> ^ (j * (2 * l + 1))))"
+ "(\<lambda>i. poly.coeff (of_qr f) i * \<psi> ^ (i * (2 * l + 1)) *
+ (\<Sum>j<n. poly.coeff (of_qr g) (nat ((int j - int i) mod int n)) *
+ (if int j - int i < 0 then -1 else 1) *
+ \<psi>inv ^ (i * (2 * l + 1)) * \<psi> ^ (j * (2 * l + 1))))"], goal_cases)
+ case (2 i)
+ then show ?case
+ proof (subst sum_distrib_left, subst sum.cong[of "{..<n}" "{..<n}"
+ "(\<lambda>j. f1 j i * \<psi> ^ (j * (2 * l + 1)))"
+ "(\<lambda>j. poly.coeff (of_qr f) i * \<psi> ^ (i * (2 * l + 1)) *
+ (poly.coeff (of_qr g) (nat ((int j - int i) mod int n)) *
+ (if int j - int i < 0 then - 1 else 1) *
+ \<psi>inv ^ (i * (2 * l + 1)) * \<psi> ^ (j * (2 * l + 1))))"], goal_cases)
+ case (2 j)
+ then have *: "conv_sign ((int j - int i) div int n) =
+ (if int j - int i < 0 then - 1 else 1)" using conv_sign_if by auto
+ have "f1 j i * \<psi> ^ (j * (2 * l + 1)) =
+ \<psi> ^ (i * (2 * l + 1)) * f1 j i * \<psi>inv ^ (i * (2 * l + 1)) * \<psi> ^ (j * (2 * l + 1))"
+ using psi_psiinv
+ by (simp add: left_right_inverse_power)
+ also have "\<dots> = poly.coeff (of_qr f) i * \<psi> ^ (i * (2 * l + 1)) *
+ (poly.coeff (of_qr g) (nat ((int j - int i) mod int n)) *
+ (if int j - int i < 0 then - 1 else 1) * \<psi>inv ^ (i * (2 * l + 1)) * \<psi> ^ (j * (2 * l + 1)))"
+ unfolding f1_def mult.assoc
+ by (simp add: "*" mult.left_commute)
+ finally show ?case by blast
+ qed auto
+ qed auto
+ also have "\<dots> = (\<Sum>i<n. poly.coeff (of_qr f) i * \<psi> ^ (i * (2 * l + 1)) *
+ (\<Sum>x<n. poly.coeff (of_qr g) x * \<psi> ^ (x * (2 * l + 1))))"
+ proof -
+ define x' where "x' = (\<lambda>j i. nat ((int j - int i) mod int n))"
+ let ?if_inv = "(\<lambda>i j. (if int j - int i < 0 then - 1 else 1) *
+ \<psi>inv ^ (i * (2 * l + 1)) * \<psi> ^ (j * (2 * l + 1)))"
+ have rewrite: "(if int j - int i < 0 then - 1 else 1) *
+ \<psi>inv ^ (i * (2 * l + 1)) * \<psi> ^ (j * (2 * l + 1)) =
+ \<psi> ^ ((x' j i) * (2 * l + 1))" if "i<n" "j<n" for i j
+ proof (cases "int j - int i <0")
+ case True
+ have lt: "i * (2 * l + 1) < n * (2 * l + 1)" using \<open>i<n\<close>
+ by (metis One_nat_def add_gr_0 lessI mult_less_mono1)
+ have "?if_inv i j = (-1) * \<psi>inv ^ (i * (2 * l + 1)) * \<psi> ^ (j * (2 * l + 1))"
+ using True by (auto split: if_splits)
+ also have "\<dots> = \<psi>^((n-i+j)* (2 * l + 1))" unfolding psi_props(2)[of l, symmetric]
+ negative_psi[OF lt]
+ by (metis comm_semiring_class.distrib diff_mult_distrib power_add)
+ also have "\<dots> = \<psi> ^ ((x' j i) * (2 * l + 1))" unfolding x'_def
+ by (smt (verit, best) True mod_add_self2 mod_pos_pos_trivial nat_int_add
+ nat_less_le of_nat_0_le_iff of_nat_diff that(1))
+ finally show ?thesis by blast
+ next
+ case False
+ then have "i\<le>j" by auto
+ have lt: "i * (2 * l + 1) \<le> j * (2 * l + 1)" using \<open>i\<le>j\<close>
+ using add_gr_0 less_one mult_less_mono1
+ using mult_le_cancel2 by presburger
+ have "?if_inv i j = \<psi>inv ^ (i * (2 * l + 1)) * \<psi> ^ (j * (2 * l + 1))"
+ using False by (auto split: if_splits)
+ also have "\<dots> = \<psi>^((j-i)* (2 * l + 1))"
+ using negative_psi'[OF lt] diff_mult_distrib by presburger
+ also have "\<dots> = \<psi> ^ ((x' j i) * (2 * l + 1))" unfolding x'_def
+ by (metis \<open>i \<le> j\<close> less_imp_diff_less mod_pos_pos_trivial nat_int
+ of_nat_0_le_iff of_nat_diff of_nat_less_iff that(2))
+ finally show ?thesis by blast
+ qed
+ then have "(\<Sum>j<n. poly.coeff (of_qr g) (nat ((int j - int i) mod int n)) *
+ (if int j - int i < 0 then - 1 else 1) *
+ \<psi>inv ^ (i * (2 * l + 1)) * \<psi> ^ (j * (2 * l + 1))) =
+ (\<Sum>x<n. poly.coeff (of_qr g) x * \<psi> ^ (x * (2 * l + 1)))"
+ (is "(\<Sum>j<n. ?left j i) = _") if "i<n" for i
+ proof -
+ have *: "(\<Sum>j<n. ?left j i) =
+ (\<Sum>j<n. poly.coeff (of_qr g) (x' j i) * \<psi> ^ ((x' j i) * (2 * l + 1)))"
+ using rewrite[OF that] x'_def
+ by (smt (verit, ccfv_SIG) lessThan_iff mult.assoc sum.cong)
+ have eq: "(\<lambda>j. x' j i) ` {..<n} = {..<n}" unfolding x'_def
+ proof (safe, goal_cases)
+ case (1 _ j)
+ then show ?case
+ using Euclidean_Division.pos_mod_bound Euclidean_Division.pos_mod_sign
+ n_gt_zero nat_less_iff by blast
+ next
+ case (2 x)
+ define j where "j = (x+i) mod n"
+ have "j\<in>{..<n}"
+ by (metis j_def lessThan_iff mod_less_divisor n_gt_zero of_nat_0_less_iff)
+ moreover have "x = nat ((int j - int i) mod int n)" unfolding j_def
+ by (simp add: "2" mod_diff_cong zmod_int)
+ ultimately show ?case by auto
+ qed
+ have inj: "inj_on (\<lambda>j. x' j i) {..<n}" unfolding x'_def inj_on_def
+ proof (safe, goal_cases)
+ case (1 x y)
+ then show ?case
+ by (smt (verit, best) Euclidean_Division.pos_mod_sign int_nat_eq
+ less_imp_le_nat mod_diff_cong mod_pos_pos_trivial of_nat_0_less_iff
+ of_nat_diff of_nat_eq_iff of_nat_less_0_iff zero_less_diff)
+ qed
+ show ?thesis unfolding * by (subst sum.reindex_cong[OF inj eq[symmetric],
+ of "(\<lambda>x. poly.coeff (of_qr g) x * \<psi> ^ (x * (2 * l + 1)))"
+ "(\<lambda>j. poly.coeff (of_qr g) (x' j i) * \<psi> ^ (x' j i * (2 * l + 1)))"], auto)
+ qed
+ then show ?thesis by force
+ qed
+ also have "\<dots> = (\<Sum>i<n. poly.coeff (of_qr f) i * \<psi> ^ (i * (2 * l + 1))) *
+ (\<Sum>x'<n. poly.coeff (of_qr g) x' * \<psi> ^ (x' * (2 * l + 1)))"
+ unfolding sum_distrib_right by auto
+ also have "\<dots> = ntt_coeff_poly f l * ntt_coeff_poly g l"
+ unfolding ntt_coeff_poly_def atLeast0LessThan by auto
+ finally show ?thesis by blast
+qed
+
+
+lemma ntt_coeffs_mult:
+assumes "i<n"
+shows "ntt_coeffs (f*g) !i = ntt_coeffs f! i * ntt_coeffs g ! i"
+unfolding ntt_coeffs_def using ntt_coeff_poly_mult[OF assms]
+by (simp add: assms)
+
+text \<open>Steps towards the convolution theorem.\<close>
+
+lemma nth_default_ntt_coeff_mult:
+"nth_default 0 (ntt_coeffs (f * g)) i =
+ nth_default 0 (map2 (*)
+ (map (poly.coeff (Poly (ntt_coeffs f))) [0..<nat (int n)])
+ (map (poly.coeff (Poly (ntt_coeffs g))) [0..<nat (int n)])) i"
+(is "?left i = ?right i")
+proof (cases "i\<in>{0..<n}")
+ case True
+ then have l: "?left i = ntt_coeffs (f * g) ! i"
+ by (simp add: nth_default_nth ntt_coeffs_def)
+ have *: "?right i = (poly.coeff (Poly (ntt_coeffs f)) i) * (poly.coeff (Poly (ntt_coeffs g)) i)"
+ using True
+ by (metis (no_types, lifting) coeff_Poly_eq diff_zero length_map length_upt
+ map_nth_default mult_hom.hom_zero nat_int nth_default_map2 ntt_coeffs_def)
+ then have r: "?right i = (ntt_coeffs f) ! i * (ntt_coeffs g) ! i"
+ unfolding * unfolding coeff_Poly using nth_default_nth
+ by (metis True atLeastLessThan_iff diff_zero length_map length_upt ntt_coeffs_def)
+ show ?thesis unfolding l r using ntt_coeffs_mult True by auto
+next
+ case False
+ then have "?left i = 0" unfolding ntt_coeffs_def
+ by (simp add: nth_default_beyond)
+ moreover have "?right i = 0" using False
+ by (simp add: nth_default_def)
+ ultimately show ?thesis by presburger
+qed
+
+lemma Poly_ntt_coeffs_mult:
+"Poly (ntt_coeffs (f * g)) = Poly (map2 (*)
+ (map (poly.coeff (Poly (ntt_coeffs f))) [0..<nat (int n)])
+ (map (poly.coeff (Poly (ntt_coeffs g))) [0..<nat (int n)]))"
+apply (intro poly_eqI) apply (unfold coeff_Poly)
+using nth_default_ntt_coeff_mult[of f g] by auto
+
+
+text \<open>Convolution theorem for NTT\<close>
+lemma ntt_mult:
+"ntt_poly (f * g) = qr_mult_coeffs (ntt_poly f) (ntt_poly g)"
+proof -
+ have "Poly (ntt_coeffs (f*g)) mod qr_poly =
+ Poly (ntt_coeffs (f*g))"
+ using Poly_ntt_coeffs_mod_qr_poly by force
+ also have "\<dots> = Poly (coeffs (map2_poly (*) (Poly (ntt_coeffs f)) (Poly (ntt_coeffs g))))"
+ unfolding map2_poly_def coeffs_Poly Poly_strip_while
+ using Poly_ntt_coeffs_mult by auto
+ also have "\<dots> = (map2_poly (*) (of_qr (to_qr (Poly (ntt_coeffs f))))
+ (of_qr (to_qr (Poly (ntt_coeffs g))))) mod qr_poly"
+ unfolding of_qr_to_qr map_poly_def Poly_ntt_coeffs_mod_qr_poly
+ by (metis Poly_coeffs Poly_ntt_coeffs_mod_qr_poly calculation)
+ finally have "[Poly (ntt_coeffs (f * g)) =
+ (map2_poly (*) (of_qr (to_qr (Poly (ntt_coeffs f))))
+ (of_qr (to_qr (Poly (ntt_coeffs g)))))] (mod qr_poly)"
+ using cong_def by blast
+ then have "to_qr (Poly (ntt_coeffs (f * g))) =
+ to_qr (map2_poly (*) (of_qr (to_qr (Poly (ntt_coeffs f))))
+ (of_qr (to_qr (Poly (ntt_coeffs g)))))"
+ using of_qr_to_qr by auto
+ then show ?thesis
+ unfolding ntt_poly_def qr_mult_coeffs_def
+ by auto
+qed
+
+text \<open>Correctness of NTT on polynomials.\<close>
+
+lemma inv_ntt_poly_correct:
+"inv_ntt_poly (ntt_poly f) = f"
+proof -
+ have rew_sum: "(\<Sum>j = 0..<n. nth_default 0
+ (map (\<lambda>i. \<Sum>j = 0..<n. poly.coeff (of_qr f) j * \<psi> ^ (j * (2 * i + 1))) [0..<n])
+ j * \<psi>inv ^ (i * (2 * j + 1))) =
+ (\<Sum>j = 0..<n. (\<Sum>j' = 0..<n. poly.coeff (of_qr f) j' * \<psi> ^ (j' * (2 * j + 1)))
+ * \<psi>inv ^ (i * (2 * j + 1)))"
+ (is "(\<Sum>j = 0..<n. ?left j) = (\<Sum>j = 0..<n. ?right j)") for i
+ proof (subst sum.cong[of "{0..<n}" "{0..<n}" ?left ?right], goal_cases)
+ case (2 x)
+ then show ?case by (subst nth_default_map[of x n], auto)
+ qed auto
+ have "(\<Sum>j = 0..<n. \<Sum>j' = 0..<n. poly.coeff (of_qr f) j' *
+ \<psi> ^ (j' * (2 * j + 1)) * \<psi>inv ^ (i * (2 * j + 1))) =
+ (of_int_mod_ring n) * poly.coeff (of_qr f) i" if "i<n" for i
+ proof -
+ have rew_psi: "\<psi> ^ (j * (2 * j' + 1)) * \<psi>inv ^ (i * (2 * j' + 1)) =
+ \<psi> ^ j * \<psi>inv ^ i * (\<psi> ^ (j * 2) * \<psi>inv ^ (i * 2)) ^ j'"
+ if "j'<n" "j<n" for j' j
+ by (smt (verit, ccfv_threshold) kyber_ntt.exp_rule mult.commute
+ power_add power_mult power_one_right)
+ have "(\<Sum>j = 0..<n. \<Sum>j' = 0..<n. poly.coeff (of_qr f) j' *
+ \<psi> ^ (j' * (2 * j + 1)) * \<psi>inv ^ (i * (2 * j + 1))) =
+ (\<Sum>j' = 0..<n. poly.coeff (of_qr f) j' * \<psi>^j' * \<psi>inv^i *
+ (\<Sum>j = 0..<n. (\<psi> ^ (j' * 2) * \<psi>inv ^ (i * 2))^j))"
+ apply (subst sum_distrib_left, subst sum.swap)
+ proof (subst sum.cong[of "{0..<n}" "{0..<n}"
+ "(\<lambda>j. \<Sum>ia = 0..<n. poly.coeff (of_qr f) j * \<psi> ^ (j * (2 * ia + 1)) *
+ \<psi>inv ^ (i * (2 * ia + 1)))"
+ "(\<lambda>j. \<Sum>ia = 0..<n. poly.coeff (of_qr f) j * \<psi> ^ j * \<psi>inv ^ i *
+ (\<psi> ^ (j * 2) * \<psi>inv ^ (i * 2)) ^ ia)"], goal_cases)
+ case (2 j)
+ then show ?case proof (subst sum.cong[of "{0..<n}" "{0..<n}"
+ "(\<lambda>ia. poly.coeff (of_qr f) j * \<psi> ^ (j * (2 * ia + 1)) *
+ \<psi>inv ^ (i * (2 * ia + 1)))"
+ "(\<lambda>ia. poly.coeff (of_qr f) j * \<psi> ^ j * \<psi>inv ^ i *
+ (\<psi> ^ (j * 2) * \<psi>inv ^ (i * 2)) ^ ia)"], goal_cases)
+ case (2 j')
+ then show ?case using rew_psi[of j' j] by simp
+ qed auto
+ qed auto
+ also have "\<dots> = (\<Sum>j' = 0..<n.
+ (if j' = i then poly.coeff (of_qr f) j' * \<psi>^j' * \<psi>inv^i * (of_int_mod_ring n) else 0))"
+ proof (subst sum.cong[of "{0..<n}" "{0..<n}"
+ "(\<lambda>j'. poly.coeff (of_qr f) j' * \<psi> ^ j' * \<psi>inv ^ i *
+ (\<Sum>j=0..<n. (\<psi> ^ (j' * 2) * \<psi>inv ^ (i * 2))^j))"
+ "(\<lambda>j'. (if j' = i then poly.coeff (of_qr f) j' * \<psi>^j' * \<psi>inv^i *
+ (of_int_mod_ring n) else 0))"], goal_cases)
+ case (2 j')
+ then show ?case proof (cases "j' = i")
+ case True
+ then have "(\<Sum>j=0..<n. (\<psi> ^ (j' * 2) * \<psi>inv ^ (i * 2))^j) = of_int_mod_ring n"
+ unfolding True psi_inv_exp
+ by (metis kyber_ntt.sum_rules(5) mult.right_neutral power_one sum.cong)
+ then show ?thesis using True by auto
+ next
+ case False
+ have not1: "\<psi> ^ (j' * 2) * \<psi>inv ^ (i * 2) \<noteq> 1"
+ proof -
+ have "\<omega>^j' * \<mu> ^i \<noteq> 1"
+ proof (cases "j'<i")
+ case True
+ have *: "\<omega>^j' * \<mu> ^i = \<mu>^(i-j')" using True
+ by (metis (no_types, lifting) le_add_diff_inverse less_or_eq_imp_le
+ mult.assoc mult_cancel_right2 power_add power_mult psi_inv_exp
+ psi_properties(1) psiinv_prop)
+ show ?thesis proof (unfold *, rule ccontr)
+ assume "\<not> \<mu> ^ (i - j') \<noteq> 1"
+ then have 1: "\<mu> ^ (i - j') = 1" by auto
+ show False using mu_prop'[OF 1] \<open>j'\<noteq>i\<close>
+ using True less_imp_diff_less that diff_is_0_eq leD by blast
+ qed
+ next
+ case False
+ have 2: "\<omega>^j' * \<mu> ^i = \<omega>^(j'-i)" using False
+ by (smt (verit) Nat.add_diff_assoc ab_semigroup_mult_class.mult_ac(1)
+ add_diff_cancel_left' left_right_inverse_power linorder_not_less
+ mu_properties(1) mult.commute mult_numeral_1_right numeral_One power_add)
+ show ?thesis proof (unfold 2, rule ccontr)
+ assume "\<not> \<omega> ^ (j' - i) \<noteq> 1"
+ then have 1: "\<omega> ^ (j' - i) = 1" by auto
+ have "n > j' - i" using \<open>j' \<in> {0..<n}\<close> by auto
+ then show False using omega_prop'[OF 1] \<open>j'\<noteq>i\<close>
+ using False
+ by (meson diff_is_0_eq leD order_le_imp_less_or_eq)
+ qed
+ qed
+ then show ?thesis
+ by (metis mult.commute power_mult psi_properties(1) psiinv_prop)
+ qed
+ have "(1 - \<psi> ^ (j' * 2) * \<psi>inv ^ (i * 2)) *
+ (\<Sum>j=0..<n. (\<psi> ^ (j' * 2) * \<psi>inv ^ (i * 2))^j) = 0"
+ proof (subst kyber_ntt.geo_sum, goal_cases)
+ case 1
+ then show ?case using not1 by auto
+ next
+ case 2
+ then show ?case
+ by (metis (no_types, opaque_lifting) cancel_comm_monoid_add_class.diff_cancel
+ mu_properties(1) mult.commute omega_properties(1) power_mult power_mult_distrib
+ power_one psi_properties(1) psiinv_prop)
+ qed
+ then have "(\<Sum>j=0..<n. (\<psi> ^ (j' * 2) * \<psi>inv ^ (i * 2))^j) = 0"
+ using not1 by auto
+ then show ?thesis using False by auto
+ qed
+ qed auto
+ also have "\<dots> = poly.coeff (of_qr f) i * \<psi>^i * \<psi>inv^i * (of_int_mod_ring n)"
+ by (subst sum.delta[of "{0..<n}" i], use \<open>i<n\<close> in auto)
+ also have "\<dots> = (of_int_mod_ring n) * poly.coeff (of_qr f) i"
+ by (simp add: psi_inv_exp)
+ finally show ?thesis by blast
+ qed
+ then have rew_coeff: "(map (\<lambda>i. ninv * (\<Sum>j = 0..<n. \<Sum>n = 0..<n.
+ poly.coeff (of_qr f) n * \<psi> ^ (n * (2 * j + 1)) * \<psi>inv ^ (i * (2 * j + 1)))) [0..<n]) =
+ map (\<lambda>i. ninv * (of_int_mod_ring (int n) * poly.coeff (of_qr f) i)) [0..<n]"
+ unfolding map_eq_conv by auto
+ show ?thesis unfolding inv_ntt_poly_def ntt_poly_def inv_ntt_coeffs_def ntt_coeffs_def
+ inv_ntt_coeff_poly_def ntt_coeff_poly_def of_qr_to_qr map_upto_n_mod coeff_Poly
+ apply (subst rew_sum)
+ apply (subst sum_distrib_right)
+ apply (subst rew_coeff)
+ apply (subst mult.assoc[symmetric])
+ apply (subst n_ninv')
+ apply (subst mult_1)
+ apply (subst Poly_map_coeff)
+ subgoal using deg_of_qr deg_qr_n by fastforce
+ subgoal unfolding to_qr_of_qr by auto
+ done
+qed
+
+
+lemma ntt_inv_poly_correct:
+"ntt_poly (inv_ntt_poly f) = f"
+proof -
+ have rew_sum: "(\<Sum>j = 0..<n. nth_default 0 (map (\<lambda>i. ninv *
+ (\<Sum>j' = 0..<n. poly.coeff (of_qr f) j' * \<psi>inv ^ (i * (2 * j' + 1)))) [0..<n]) j *
+ \<psi> ^ (j * (2 * i + 1))) =
+ (\<Sum>j = 0..<n. ninv * (\<Sum>j' = 0..<n. poly.coeff (of_qr f) j' * \<psi>inv ^ (j * (2 * j' + 1)))
+ * \<psi> ^ (j * (2 * i + 1)))"
+ (is "(\<Sum>j = 0..<n. ?left j) = (\<Sum>j = 0..<n. ?right j)") for i
+ proof (subst sum.cong[of "{0..<n}" "{0..<n}" ?left ?right], goal_cases)
+ case (2 x)
+ then show ?case by (subst nth_default_map[of x n], auto)
+ qed auto
+ have "(\<Sum>j = 0..<n. \<Sum>n = 0..<n. ninv * (poly.coeff (of_qr f) n *
+ \<psi>inv ^ (j * (2 * n + 1))) * \<psi> ^ (j * (2 * i + 1))) =
+ ninv * (of_int_mod_ring (int n) * poly.coeff (of_qr f) i)" if "i<n" for i
+ proof -
+ have rew_psi: "\<psi>inv ^ (j' * (2 * j + 1)) * \<psi> ^ (j' * (2 * i + 1)) =
+ (\<psi>inv ^ (j * 2) * \<psi> ^ (i * 2)) ^ j'"
+ if "j'<n" "j<n" for j' j
+ proof -
+ have "\<psi>inv ^ (j' * (2 * j + 1)) * \<psi> ^ (j' * (2 * i + 1)) =
+ \<psi>inv ^ (j' * (2 * j)) * \<psi> ^ (j' * (2 * i)) * \<psi>inv ^ j' * \<psi> ^ j' "
+ by (simp add: power_add)
+ also have "\<dots> = (\<psi>inv ^ (2 * j) * \<psi> ^ (2 * i))^ j'"
+ by (smt (verit, best) inv_psi_exp kyber_ntt.exp_rule mult.assoc
+ mult.commute mult.right_neutral power_mult)
+ also have "\<dots> = (\<psi>inv ^ (j * 2) * \<psi> ^ (i * 2)) ^ j'"
+ by (simp add: mult.commute)
+ finally show ?thesis by blast
+ qed
+ have "(\<Sum>j = 0..<n. \<Sum>j' = 0..<n. ninv * (poly.coeff (of_qr f) j' *
+ \<psi>inv ^ (j * (2 * j' + 1))) * \<psi> ^ (j * (2 * i + 1))) =
+ (\<Sum>j' = 0..<n. ninv * poly.coeff (of_qr f) j' *
+ (\<Sum>j = 0..<n. (\<psi>inv ^ (j' * 2) * \<psi> ^ (i * 2))^j))"
+ apply (subst sum_distrib_left, subst sum.swap, unfold mult.assoc[symmetric])
+ proof (subst sum.cong[of "{0..<n}" "{0..<n}"
+ "(\<lambda>j. \<Sum>ia = 0..<n. ninv * poly.coeff (of_qr f) j * \<psi>inv ^ (ia * (2 * j + 1)) *
+ \<psi> ^ (ia * (2 * i + 1)))"
+ "(\<lambda>j. \<Sum>n = 0..<n. ninv * poly.coeff (of_qr f) j *
+ (\<psi>inv ^ (j * 2) * \<psi> ^ (i * 2)) ^ n)"], goal_cases)
+ case (2 j)
+ then show ?case
+ proof (subst sum.cong[of "{0..<n}" "{0..<n}"
+ "(\<lambda>ia. ninv * poly.coeff (of_qr f) j * \<psi>inv ^ (ia * (2 * j + 1)) *
+ \<psi> ^ (ia * (2 * i + 1)))"
+ "(\<lambda>ia. ninv * poly.coeff (of_qr f) j *
+ (\<psi>inv ^ (j * 2) * \<psi> ^ (i * 2)) ^ ia)"], goal_cases)
+ case (2 j')
+ then show ?case using rew_psi[of j' j] by simp
+ qed auto
+ qed auto
+ also have "\<dots> = (\<Sum>j' = 0..<n.
+ (if j' = i then ninv * poly.coeff (of_qr f) j' *
+ \<psi>inv^j' * \<psi>^i * (of_int_mod_ring n) else 0))"
+ (is "(\<Sum>j' = 0..<n. ?right j') = (\<Sum>j' = 0..<n. ?left j')")
+ proof (subst sum.cong[of "{0..<n}" "{0..<n}" "?right" "?left"], goal_cases)
+ case (2 j')
+ then show ?case proof (cases "j' = i")
+ case True
+ then have "(\<Sum>j=0..<n. (\<psi>inv ^ (j' * 2) * \<psi> ^ (i * 2))^j) = of_int_mod_ring n"
+ unfolding True psi_inv_exp
+ by (metis kyber_ntt.sum_const mult.commute mult.right_neutral
+ power_one psi_inv_exp sum.cong)
+ then show ?thesis using True
+ by (simp add: inv_psi_exp)
+ next
+ case False
+ have not1: "\<psi>inv ^ (j' * 2) * \<psi> ^ (i * 2) \<noteq> 1"
+ proof -
+ have "\<mu>^j' * \<omega> ^i \<noteq> 1"
+ proof (cases "j'<i")
+ case True
+ have *: "\<mu>^j' * \<omega> ^i = \<omega>^(i-j')" using True
+ by (smt (verit, best) add.commute kyber_ntt.omega_properties(1)
+ le_add_diff_inverse left_right_inverse_power less_or_eq_imp_le
+ mu_properties(1) mult.left_commute mult_cancel_right1 power_add)
+ show ?thesis proof (unfold *, rule ccontr)
+ assume "\<not> \<omega> ^ (i - j') \<noteq> 1"
+ then have 1: "\<omega> ^ (i - j') = 1" by auto
+ show False using omega_prop'[OF 1] \<open>j'\<noteq>i\<close>
+ using True less_imp_diff_less that diff_is_0_eq leD by blast
+ qed
+ next
+ case False
+ have 2: "\<mu>^j' * \<omega> ^i = \<mu>^(j'-i)" using False
+ by (smt (verit) Nat.add_diff_assoc ab_semigroup_mult_class.mult_ac(1)
+ add_diff_cancel_left' left_right_inverse_power linorder_not_less
+ mu_properties(1) mult.commute mult_numeral_1_right numeral_One power_add)
+ show ?thesis proof (unfold 2, rule ccontr)
+ assume "\<not> \<mu> ^ (j' - i) \<noteq> 1"
+ then have 1: "\<mu> ^ (j' - i) = 1" by auto
+ have "n > j' - i" using \<open>j' \<in> {0..<n}\<close> by auto
+ then show False using mu_prop'[OF 1] \<open>j'\<noteq>i\<close>
+ using False
+ by (meson diff_is_0_eq leD order_le_imp_less_or_eq)
+ qed
+ qed
+ then show ?thesis
+ by (metis mult.commute power_mult psi_properties(1) psiinv_prop)
+ qed
+ have "(1 - \<psi>inv ^ (j' * 2) * \<psi> ^ (i * 2)) *
+ (\<Sum>j=0..<n. (\<psi>inv ^ (j' * 2) * \<psi> ^ (i * 2))^j) = 0"
+ proof (subst kyber_ntt.geo_sum, goal_cases)
+ case 1
+ then show ?case using not1 by auto
+ next
+ case 2
+ then show ?case
+ by (metis (no_types, opaque_lifting) cancel_comm_monoid_add_class.diff_cancel
+ mu_properties(1) mult.commute omega_properties(1) power_mult power_mult_distrib
+ power_one psi_properties(1) psiinv_prop)
+ qed
+ then have "(\<Sum>j=0..<n. (\<psi>inv ^ (j' * 2) * \<psi> ^ (i * 2))^j) = 0"
+ using not1 by auto
+ then show ?thesis using False by auto
+ qed
+ qed auto
+ also have "\<dots> = ninv * poly.coeff (of_qr f) i * \<psi>inv^i * \<psi>^i * (of_int_mod_ring n)"
+ by (subst sum.delta[of "{0..<n}" i], use \<open>i<n\<close> in auto)
+ also have "\<dots> = ninv * ((of_int_mod_ring n) * poly.coeff (of_qr f) i)"
+ by (simp add: psi_inv_exp mult.commute)
+ finally show ?thesis by blast
+ qed
+ then have rew_coeff: "(map (\<lambda>i. \<Sum>j = 0..<n. \<Sum>n = 0..<n. ninv * (poly.coeff (of_qr f) n *
+ \<psi>inv ^ (j * (2 * n + 1))) * \<psi> ^ (j * (2 * i + 1))) [0..<n]) =
+ map (\<lambda>i. ninv * (of_int_mod_ring (int n) * poly.coeff (of_qr f) i)) [0..<n]"
+ unfolding map_eq_conv by auto
+ show ?thesis unfolding inv_ntt_poly_def ntt_poly_def inv_ntt_coeffs_def ntt_coeffs_def
+ inv_ntt_coeff_poly_def ntt_coeff_poly_def of_qr_to_qr map_upto_n_mod coeff_Poly
+ apply (subst rew_sum)
+ apply (subst sum_distrib_left)
+ apply (subst sum_distrib_right)
+ apply (subst rew_coeff)
+ apply (subst mult.assoc[symmetric])
+ apply (subst n_ninv')
+ apply (subst mult_1)
+ apply (subst Poly_map_coeff)
+ subgoal using deg_of_qr deg_qr_n by fastforce
+ subgoal unfolding to_qr_of_qr by auto
+ done
+qed
+
+text \<open>The multiplication of two polynomials can be computed by the NTT.\<close>
+
+lemma convolution_thm_ntt_poly:
+ "f*g = inv_ntt_poly (qr_mult_coeffs (ntt_poly f) (ntt_poly g))"
+unfolding ntt_mult[symmetric] inv_ntt_poly_correct by auto
+
+
+
+end
+end
\ No newline at end of file
diff --git a/thys/CRYSTALS-Kyber/Powers3844.thy b/thys/CRYSTALS-Kyber/Powers3844.thy
new file mode 100644
--- /dev/null
+++ b/thys/CRYSTALS-Kyber/Powers3844.thy
@@ -0,0 +1,43 @@
+theory Powers3844
+
+imports Main Kyber_Values
+
+begin
+section \<open>Checking Powers of Root of Unity\<close>
+text \<open>In order to check, that $3844$ is indeed a root of unity, we need to calculate all powers
+and show that they are not equal to one.\<close>
+fun fast_exp_7681 ::" int \<Rightarrow> nat \<Rightarrow> int" where
+"fast_exp_7681 x 0 = 1" |
+"fast_exp_7681 x (Suc e) = (x * (fast_exp_7681 x e)) mod 7681"
+
+lemma list_all_fast_exp_7681:
+"list_all (\<lambda>l. fast_exp_7681 (3844::int) l \<noteq> 1) [1..<256]"
+by (subst upt_conv_Cons, simp, subst list_all_simps(1), intro conjI, eval)+
+ force
+
+lemma fast_exp_7681_to_mod_ring:
+"fast_exp_7681 x e = to_int_mod_ring ((of_int_mod_ring x :: fin7681 mod_ring)^e)"
+proof (induct e arbitrary: x rule: fast_exp_7681.induct)
+ case (2 x e)
+ then show ?case
+ by (metis Suc_inject fast_exp_7681.elims kyber7681.CARD_a kyber7681.of_int_mod_ring_mult
+ nat.discI of_int_mod_ring.rep_eq of_int_mod_ring_to_int_mod_ring power_Suc
+ to_int_mod_ring.rep_eq)
+qed auto
+
+lemma fast_exp_7681_less256:
+assumes "0<l" "l<256"
+shows "fast_exp_7681 3844 l \<noteq> 1"
+using list_all_fast_exp_7681 assms
+by (smt (verit, ccfv_threshold) Ball_set One_nat_def atLeastLessThan_iff
+ bot_nat_0.not_eq_extremum fast_exp_7681.elims less_Suc_numeral less_nat_zero_code
+ not_less numeral_One numeral_less_iff set_upt)
+
+lemma powr_less256:
+assumes "0<l" "l<256"
+shows "(3844::fin7681 mod_ring)^l \<noteq> 1"
+using fast_exp_7681_less256[OF assms] unfolding fast_exp_7681_to_mod_ring
+by (metis of_int_numeral of_int_of_int_mod_ring to_int_mod_ring_hom.hom_one)
+
+
+end
\ No newline at end of file
diff --git a/thys/CRYSTALS-Kyber/ROOT b/thys/CRYSTALS-Kyber/ROOT
new file mode 100755
--- /dev/null
+++ b/thys/CRYSTALS-Kyber/ROOT
@@ -0,0 +1,14 @@
+chapter AFP
+
+session "CRYSTALS-Kyber" (AFP) = "Berlekamp_Zassenhaus" +
+ options [timeout = 600]
+ sessions
+ "Number_Theoretic_Transform"
+ theories
+ Crypto_Scheme
+ Kyber_Values
+ Crypto_Scheme_NTT
+ Kyber_NTT_Values
+ document_files
+ "root.bib"
+ "root.tex"
diff --git a/thys/CRYSTALS-Kyber/document/root.bib b/thys/CRYSTALS-Kyber/document/root.bib
new file mode 100755
--- /dev/null
+++ b/thys/CRYSTALS-Kyber/document/root.bib
@@ -0,0 +1,39 @@
+@INPROCEEDINGS{kyber,
+
+ author={Joppe Bos and L{\'e}o Ducas and Eike Kiltz and Tancr{\`e}de Lepoint and Vadim Lyubashevsky and John M. Schanck and Peter Schwabe and Gregor Seiler and Damien Stehl{\'e}},
+ booktitle={2018 IEEE European Symposium on Security and Privacy},
+ title={{CRYSTALS --- Kyber: A CCA-Secure Module-Lattice-Based KEM}},
+ year={2018},
+ volume={},
+ number={},
+ pages={353-367},
+}
+
+@inproceedings{KyberAS,
+ title={{CRYSTALS-Kyber Algorithm Specifications And Supporting Documentation}},
+ author={Roberto Maria Avanzi and Joppe W. Bos and L{\'e}o Ducas and Eike Kiltz and Tancr{\`e}de Lepoint and Vadim Lyubashevsky and John M. Schanck and Peter Schwabe and Gregor Seiler and Damien Stehl{\'e}},
+ year={2017}
+}
+
+
+@misc{report3rdroundNIST,
+ author = {Gorjan Alagic and David A. Cooper and Quynh Dang and Thinh Dang and John M. Kelsey and Jacob Lichtinger and Yi-Kai Liu and Carl A. Miller and Dustin Moody and Rene Peralta and Ray Perlner and Angela Robinson and Daniel Smith-Tone and Daniel Apon},
+ title = {{Status Report on the Third Round of the NIST Post-Quantum Cryptography Standardization Process}},
+ year = {2022},
+ month = {2022-07-05 04:07:00},
+ publisher = {NIST Interagency/Internal Report (NISTIR), National Institute of Standards and Technology, Gaithersburg, MD},
+ language = {en},
+}
+
+@article{NTT,
+ author = {Thomas Ammer and Katharina Kreuzer},
+ title = {Number Theoretic Transform},
+ journal = {Archive of Formal Proofs},
+ month = {August},
+ year = {2022},
+ note = {\url{https://isa-afp.org/entries/Number_Theoretic_Transform.html},
+ Formal proof development},
+ ISSN = {2150-914x},
+}
+
+@misc{dummy}
diff --git a/thys/CRYSTALS-Kyber/document/root.tex b/thys/CRYSTALS-Kyber/document/root.tex
new file mode 100755
--- /dev/null
+++ b/thys/CRYSTALS-Kyber/document/root.tex
@@ -0,0 +1,72 @@
+\documentclass[11pt,a4paper]{article}
+\usepackage{isabelle,isabellesym}
+\usepackage{amsfonts, amsmath, amssymb}
+\usepackage[T1]{fontenc}
+
+% this should be the last package used
+\usepackage{pdfsetup}
+\usepackage[shortcuts]{extdash}
+
+% urls in roman style, theory text in math-similar italics
+\urlstyle{rm}
+\isabellestyle{rm}
+
+
+\begin{document}
+
+\title{$(1-\delta)$-Correctness Proof of CRYSTALS-KYBER with Number Theoretic Transform}
+\author{Katharina Kreuzer}
+\maketitle
+
+\begin{abstract}
+This article formalizes the specification and the algorithm of the cryptographic scheme CRYSTALS-KYBER with multiplication using the Number Theoretic Transform and verifies its $(1-\delta)$-correctness proof.
+CRYSTALS-KYBER is a key encapsulation mechanism in lattice-based post-quantum cryptography.
+
+This entry formalizes the key generation, encryption and decryption algorithms and shows that the algorithm decodes correctly under a highly probable assumption ($(1-\delta)$-correctness). Moreover, the Number Theoretic Transform (NTT) in the case of Kyber and the convolution theorem thereon is formalized.
+\end{abstract}
+
+
+\newpage
+\tableofcontents
+
+\newpage
+\parindent 0pt\parskip 0.5ex
+
+\section{Introduction}
+CRYSTALS-KYBER is a cryptographic key encapsulation mechanism and one of the finalists of the third round in the NIST standardization project for post-quantum cryptography \cite{report3rdroundNIST}. That is, even with feasible quantum computers, Kyber is thought to be hard to crack. It was introduced in \cite{kyber} and its documentation can be found in \cite{KyberAS}.
+
+Kyber is based on algebraic lattices and the module-LWE (Learning with Errors) Problem.
+Working over the quotient ring $R_q := \mathbb{Z}_q[x]/(x^{2^{n'}}+1)$ and vectors thereof, Kyber takes advantage of:
+\begin{itemize}
+\item properties both from polynomials and vectors
+\item cyclic properties of $\mathbb{Z}_q$ (where $q$ is a prime)
+\item cyclic properties of the quotient ring
+\item the splitting of $x^{2^{n'}}+1$ as a reducible, cyclotomic polynomial over $\mathbb{Z}_q$
+\end{itemize}
+
+The algorithm in Kyber is quite simple:
+\begin{enumerate}
+\item Let Alice have a public key $A \in R_q^{k\times k}$ and a secret $s\in R_q^k$. Then she generates a second public key $t = Av + e$ using an error vector $e\in R_q^k$.
+\item Bob (who wants to send a message to Alice) takes Alice's public keys $A$ and $t$ as well as his secret key $r\in R_q^k$, the message $m\in\{0,1\}^{256}$ and two random errors $e_1\in R_q^k$ and $e_2\in R_q$. He then computes the values
+$u = A^Tr + e_1$ and $v = t^r + e_2 + \lceil q/2\rfloor m$ and sends them to Alice.
+\item Knowing her secret $s$, Alice can recover the message $m$ from $u$ and $v$ By calculating $v-s^Tu$. Any eavesdropper however cannot distinguish the encoded message from random samples.
+\end{enumerate}
+
+The Number Theoretic Transform (NTT) is an analogue to the Discrete Fourier Transform in the setting of finite fields.
+As an extension to the AFP-entry "Number\_Theoretic\_Transform" \cite{NTT}, a special version of the NTT on $R_q$ is formalized.
+The main difference is that the NTT used in Kyber has a "twiddle" factor, allowing for an easier implementation but requirng a $2n$-th root of unity instead of a $n$-th root of unity.
+Moreover, the structure of $R_q$ is negacyclic, since $x^n\equiv -1\mod x^n+1$, instead of a cyclic convolution of the normal NTT.
+Additionally, the convolution theorem for the NTT in Kyber was formalized. It states $NTT (f\cdot g) = NTT(f) \cdot NTT(g)$.
+
+In this work, we formalize the algorithms and verify the $(1-\delta)$-correctness of Kyber and refine the algorithms to compute fast multiplication using the NTT.
+
+\vspace{1cm}
+\input{session}
+
+%\nocite{kyber}
+
+\bibliographystyle{abbrv}
+\bibliography{root}
+
+\end{document}
+
diff --git a/thys/Hales_Jewett/Hales_Jewett.thy b/thys/Hales_Jewett/Hales_Jewett.thy
new file mode 100644
--- /dev/null
+++ b/thys/Hales_Jewett/Hales_Jewett.thy
@@ -0,0 +1,2309 @@
+theory "Hales_Jewett"
+ imports Main "HOL-Library.Disjoint_Sets" "HOL-Library.FuncSet"
+begin
+
+section \<open>Preliminaries\<close>
+
+text \<open>
+ The Hales--Jewett Theorem is at its core a statement about sets of tuples called the
+$n$-dimensional cube over $t$ elements (denoted by $C^n_t$); i.e.\ the set $\{0,\ldots,t - 1\}^n$, where
+$\{0,\ldots,t - 1\}$ is called the base.
+ We represent tuples by functions $f : \{0,\ldots,n - 1\} \rightarrow \{0,\ldots,t - 1\}$ because
+they're easier to deal with. The set of tuples then becomes the function space
+$\{0,\ldots,t - 1\}^{\{0,\ldots,n - 1\}}$.
+ Furthermore, $r$-colourings of the cube are represented by mappings from the function space to the
+set $\{0,\ldots, r-1\}$.
+\<close>
+
+subsection \<open>The $n$-dimensional cube over $t$ elements\<close>
+
+text \<open>
+ Function spaces in Isabelle are supported by the library component FuncSet.
+ In essence, \<^prop>\<open>f \<in> A \<rightarrow>\<^sub>E B\<close> means \<^prop>\<open>a \<in> A \<Longrightarrow> f a \<in> B\<close> and \<^prop>\<open>a \<notin> A \<Longrightarrow> f a = undefined\<close>
+\<close>
+
+text \<open>The (canonical) $n$-dimensional cube over $t$ elements is defined in the following using the variables:
+
+\begin{tabular}{lcp{8cm}}
+$n$:& \<^typ>\<open>nat\<close>& dimension\\
+$t$:& \<^typ>\<open>nat\<close>& number of elements\\
+\end{tabular}\<close>
+definition cube :: "nat \<Rightarrow> nat \<Rightarrow> (nat \<Rightarrow> nat) set"
+ where "cube n t \<equiv> {..<n} \<rightarrow>\<^sub>E {..<t}"
+
+text \<open>
+ For any function $f$ whose image under a set $A$ is a subset of another set $B$, there's
+a unique function $g$ in the function space $B^A$ that equals $f$ everywhere in $A$.
+ The function $g$ is usually written as $f|_A$ in the mathematical literature.
+\<close>
+lemma PiE_uniqueness: "f ` A \<subseteq> B \<Longrightarrow> \<exists>!g \<in> A
+\<rightarrow>\<^sub>E B. \<forall>a\<in>A. g a = f a"
+ using exI[of "\<lambda>x. x \<in> A \<rightarrow>\<^sub>E B \<and> (\<forall>a\<in>A. x a = f a)"
+ "restrict f A"] PiE_ext PiE_iff by fastforce
+
+
+text \<open>Any prefix of length $j$ of an $n$-tuple (i.e.\ element of $C^n_t$) is a $j$-tuple
+(i.e.\ element of $C^j_t$).\<close>
+lemma cube_restrict:
+ assumes "j < n"
+ and "y \<in> cube n t"
+ shows "(\<lambda>g \<in> {..<j}. y g) \<in> cube j t" using assms unfolding cube_def by force
+
+text \<open>Narrowing down the obvious fact $B^A \subseteq C^A$ if $B \subseteq C$ to a specific case for cubes. \<close>
+lemma cube_subset: "cube n t \<subseteq> cube n (t + 1)"
+ unfolding cube_def using PiE_mono[of "{..<n}" "\<lambda>x. {..<t}" "\<lambda>x. {..<t+1}"]
+ by simp
+
+text \<open>A simplifying definition for the 0-dimensional cube.\<close>
+lemma cube0_alt_def: "cube 0 t = {\<lambda>x. undefined}"
+ unfolding cube_def by simp
+
+text \<open>
+ The cardinality of the \<open>n\<close>-dimensional over \<open>t\<close> elements is simply a consequence of the overarching
+definition of the cardinality of function spaces (over finite sets).\<close>
+lemma cube_card: "card ({..<n::nat} \<rightarrow>\<^sub>E {..<t::nat}) = t ^ n"
+ by (simp add: card_PiE)
+
+text \<open>A simplifying definition for the \<open>n\<close>-dimensional cube over
+a single element, i.e.\ the single \<open>n\<close>-dimensional point \<open>(0, \<dots>, 0)\<close>.\<close>
+lemma cube1_alt_def: "cube n 1 = {\<lambda>x\<in>{..<n}. 0}" unfolding cube_def by (simp add: lessThan_Suc)
+
+subsection \<open>Lines\<close>
+
+text \<open>The property of being a line in $C^n_t$ is defined in the following using the variables:
+
+\begin{tabular}{llp{8cm}}
+$L$:& \<^typ>\<open>nat \<Rightarrow> (nat \<Rightarrow> nat)\<close>& line\\
+$n$:& \<^typ>\<open>nat\<close>& dimension of cube\\
+$t$:& \<^typ>\<open>nat\<close>& the size of the cube's base\\
+\end{tabular}\<close>
+definition is_line :: "(nat \<Rightarrow> (nat \<Rightarrow> nat)) \<Rightarrow> nat \<Rightarrow>
+nat \<Rightarrow> bool"
+ where "is_line L n t \<equiv> (L \<in> {..<t} \<rightarrow>\<^sub>E cube n t \<and>
+ ((\<forall>j<n. (\<forall>x<t. \<forall>y<t. L x j = L y j) \<or> (\<forall>s<t. L s j = s))
+ \<and> (\<exists>j < n. (\<forall>s < t. L s j = s))))"
+
+text \<open>We introduce an elimination rule to relate lines with the more general definition of a
+subspace (see below). \<close>
+lemma is_line_elim_t_1:
+ assumes "is_line L n t" and "t = 1"
+ obtains B\<^sub>0 B\<^sub>1
+ where "B\<^sub>0 \<union> B\<^sub>1 = {..<n} \<and> B\<^sub>0 \<inter> B\<^sub>1 = {} \<and>
+ B\<^sub>0 \<noteq> {} \<and> (\<forall>j \<in> B\<^sub>1. (\<forall>x<t. \<forall>y<t. L x j = L y
+ j)) \<and> (\<forall>j \<in> B\<^sub>0. (\<forall>s<t. L s j = s))"
+proof -
+ define B0 where "B0 = {..<n}"
+ define B1 where "B1 = ({}::nat set)"
+ have "B0 \<union> B1 = {..<n}" unfolding B0_def B1_def by simp
+ moreover have "B0 \<inter> B1 = {}" unfolding B0_def B1_def by simp
+ moreover have "B0 \<noteq> {}" using assms unfolding B0_def is_line_def by auto
+ moreover have "(\<forall>j \<in> B1. (\<forall>x<t. \<forall>y<t. L x j = L y j))" unfolding B1_def by simp
+ moreover have "(\<forall>j \<in> B0. (\<forall>s<t. L s j = s))" using assms(1, 2) cube1_alt_def
+ unfolding B0_def is_line_def by auto
+ ultimately show ?thesis using that by simp
+qed
+
+
+text \<open>The next two lemmas are used to simplify proofs by enabling us to use the resulting
+facts directly. This avoids having to unfold the definition of \<^const>\<open>is_line\<close> each
+time.\<close>
+lemma line_points_in_cube:
+ assumes "is_line L n t"
+ and "s < t"
+ shows "L s \<in> cube n t"
+ using assms unfolding cube_def is_line_def
+ by auto
+
+lemma line_points_in_cube_unfolded:
+ assumes "is_line L n t"
+ and "s < t"
+ and "j < n"
+ shows "L s j \<in> {..<t}"
+ using assms line_points_in_cube unfolding cube_def by blast
+
+text \<open>The incrementation of all elements of a set is defined in the following using the variables:
+
+\begin{tabular}{llp{8cm}}
+$n$:& \<^typ>\<open>nat\<close>& increment size\\
+$S$:& \<^typ>\<open>nat set\<close>& set\\
+\end{tabular}\<close>
+definition set_incr :: "nat \<Rightarrow> nat set \<Rightarrow> nat set"
+ where
+ "set_incr n S \<equiv> (\<lambda>a. a + n) ` S"
+
+lemma set_incr_disjnt:
+ assumes "disjnt A B"
+ shows "disjnt (set_incr n A) (set_incr n B)"
+ using assms unfolding disjnt_def set_incr_def by force
+
+lemma set_incr_disjoint_family:
+ assumes "disjoint_family_on B {..k}"
+ shows " disjoint_family_on (\<lambda>i. set_incr n (B i)) {..k}"
+ using assms set_incr_disjnt unfolding disjoint_family_on_def by (meson disjnt_def)
+
+lemma set_incr_altdef: "set_incr n S = (+) n ` S"
+ by (auto simp: set_incr_def)
+
+lemma set_incr_image:
+ assumes "(\<Union>i\<in>{..k}. B i) = {..<n}"
+ shows "(\<Union>i\<in>{..k}. set_incr m (B i)) = {m..<m+n}"
+ using assms by (simp add: set_incr_altdef add.commute flip: image_UN atLeast0LessThan)
+
+text \<open>Each tuple of dimension $k+1$ can be split into a tuple of dimension $1$ (the first
+entry) and a tuple of dimension $k$ (the remaining entries).\<close>
+lemma split_cube:
+ assumes "x \<in> cube (k+1) t"
+ shows "(\<lambda>y \<in> {..<1}. x y) \<in> cube 1 t"
+ and "(\<lambda>y \<in> {..<k}. x (y + 1)) \<in> cube k t"
+ using assms unfolding cube_def by auto
+
+subsection \<open>Subspaces\<close>
+
+text \<open>The property of being a $k$-dimensional subspace of $C^n_t$ is defined in the following using the variables:
+
+\begin{tabular}{llp{8cm}}
+$S$:& \<^typ>\<open>(nat \<Rightarrow> nat) \<Rightarrow> (nat \<Rightarrow> nat)\<close>& the subspace\\
+$k$:& \<^typ>\<open>nat\<close>& the dimension of the subspace\\
+$n$:& \<^typ>\<open>nat\<close>& the dimension of the cube\\
+$t$:& \<^typ>\<open>nat\<close>& the size of the cube's base
+\end{tabular}\<close>
+definition is_subspace
+ where "is_subspace S k n t \<equiv> (\<exists>B f. disjoint_family_on B {..k} \<and> \<Union>(B `
+ {..k}) = {..<n} \<and> ({} \<notin> B ` {..<k}) \<and> f \<in> (B k) \<rightarrow>\<^sub>E {..<t}
+ \<and> S \<in> (cube k t) \<rightarrow>\<^sub>E (cube n t) \<and> (\<forall>y \<in> cube k t.
+ (\<forall>i \<in> B k. S y i = f i) \<and> (\<forall>j<k. \<forall>i \<in> B j. (S y) i = y j)))"
+
+text \<open>A $k$-dimensional subspace of $C^n_t$ can be thought of as an embedding of the $C^k_t$
+into $C^n_t$, akin to how a $k$-dimensional vector subspace of $\mathbf{R}^n$ may be thought of as
+an embedding of $\mathbf{R}^k$ into $\mathbf{R}^n$.\<close>
+lemma subspace_inj_on_cube:
+ assumes "is_subspace S k n t"
+ shows "inj_on S (cube k t)"
+proof
+ fix x y
+ assume a: "x \<in> cube k t" "y \<in> cube k t" "S x = S y"
+ from assms obtain B f where Bf_props: "disjoint_family_on B {..k} \<and> \<Union>(B ` {..k}) =
+ {..<n} \<and> ({} \<notin> B ` {..<k}) \<and> f \<in> (B k) \<rightarrow>\<^sub>E {..<t} \<and>
+ S \<in> (cube k t) \<rightarrow>\<^sub>E (cube n t) \<and> (\<forall>y \<in> cube k t.
+ (\<forall>i \<in> B k. S y i = f i) \<and> (\<forall>j<k. \<forall>i \<in> B j. (S y) i = y j))"
+ unfolding is_subspace_def by auto
+ have "\<forall>i<k. x i = y i"
+ proof (intro allI impI)
+ fix j assume "j < k"
+ then have "B j \<noteq> {}" using Bf_props by auto
+ then obtain i where i_prop: "i \<in> B j" by blast
+ then have "y j = S y i" using Bf_props a(2) \<open>j < k\<close> by auto
+ also have " ... = S x i" using a by simp
+ also have " ... = x j" using Bf_props a(1) \<open>j < k\<close> i_prop by blast
+ finally show "x j = y j" by simp
+ qed
+ then show "x = y" using a(1,2) unfolding cube_def by (meson PiE_ext lessThan_iff)
+qed
+
+text \<open>The following is required to handle base cases in the key lemmas.\<close>
+lemma dim0_subspace_ex:
+ assumes "t > 0"
+ shows "\<exists>S. is_subspace S 0 n t"
+proof-
+ define B where "B \<equiv> (\<lambda>x::nat. undefined)(0:={..<n})"
+
+ have "{..<t} \<noteq> {}" using assms by auto
+ then have "\<exists>f. f \<in> (B 0) \<rightarrow>\<^sub>E {..<t}"
+ by (meson PiE_eq_empty_iff all_not_in_conv)
+ then obtain f where f_prop: "f \<in> (B 0) \<rightarrow>\<^sub>E {..<t}" by blast
+ define S where "S \<equiv> (\<lambda>x::(nat \<Rightarrow> nat). undefined)((\<lambda>x. undefined):=f)"
+
+ have "disjoint_family_on B {..0}" unfolding disjoint_family_on_def by simp
+ moreover have "\<Union>(B ` {..0}) = {..<n}" unfolding B_def by simp
+ moreover have "({} \<notin> B ` {..<0})" by simp
+ moreover have "S \<in> (cube 0 t) \<rightarrow>\<^sub>E (cube n t)"
+ using f_prop PiE_I unfolding B_def cube_def S_def by auto
+ moreover have "(\<forall>y \<in> cube 0 t. (\<forall>i \<in> B 0. S y i = f i) \<and>
+ (\<forall>j<0. \<forall>i \<in> B j. (S y) i = y j))" unfolding cube_def S_def by force
+ ultimately have "is_subspace S 0 n t" using f_prop unfolding is_subspace_def by blast
+ then show "\<exists>S. is_subspace S 0 n t" by auto
+qed
+
+subsection \<open>Equivalence classes\<close>
+text \<open>Defining the equivalence classes of \<^term>\<open>cube n (t + 1)\<close>:
+\<open>{classes n t 0, \<dots>, classes n t n}\<close>\<close>
+definition classes
+ where "classes n t \<equiv> (\<lambda>i. {x . x \<in> (cube n (t + 1)) \<and> (\<forall>u \<in>
+ {(n-i)..<n}. x u = t) \<and> t \<notin> x ` {..<(n - i)}})"
+
+lemma classes_subset_cube: "classes n t i \<subseteq> cube n (t+1)" unfolding classes_def by blast
+
+definition layered_subspace
+ where "layered_subspace S k n t r \<chi> \<equiv> (is_subspace S k n (t + 1) \<and> (\<forall>i
+ \<in> {..k}. \<exists>c<r. \<forall>x \<in> classes k t i. \<chi> (S x) = c)) \<and> \<chi> \<in>
+ cube n (t + 1) \<rightarrow>\<^sub>E {..<r}"
+
+lemma layered_eq_classes:
+ assumes "layered_subspace S k n t r \<chi>"
+ shows "\<forall>i \<in> {..k}. \<forall>x \<in> classes k t i. \<forall>y \<in> classes k t i.
+ \<chi> (S x) = \<chi> (S y)"
+proof (safe)
+ fix i x y
+ assume a: "i \<le> k" "x \<in> classes k t i" "y \<in> classes k t i"
+ then obtain c where "c < r \<and> \<chi> (S x) = c \<and> \<chi> (S y) = c" using assms unfolding
+ layered_subspace_def by fast
+ then show "\<chi> (S x) = \<chi> (S y)" by simp
+qed
+
+lemma dim0_layered_subspace_ex:
+ assumes "\<chi> \<in> (cube n (t + 1)) \<rightarrow>\<^sub>E {..<r::nat}"
+ shows "\<exists>S. layered_subspace S (0::nat) n t r \<chi>"
+proof-
+ obtain S where S_prop: "is_subspace S (0::nat) n (t+1)" using dim0_subspace_ex by auto
+ have "classes (0::nat) t 0 = cube 0 (t+1)" unfolding classes_def by simp
+ moreover have "(\<forall>i \<in> {..0::nat}. \<exists>c<r. \<forall>x \<in> classes (0::nat) t i. \<chi> (S x) = c)"
+ proof(safe)
+ fix i
+ have "\<forall>x \<in> classes 0 t 0. \<chi> (S x) = \<chi> (S (\<lambda>x. undefined))" using cube0_alt_def
+ using \<open>classes 0 t 0 = cube 0 (t + 1)\<close> by auto
+ moreover have "S (\<lambda>x. undefined) \<in> cube n (t+1)" using S_prop cube0_alt_def
+ unfolding is_subspace_def by auto
+ moreover have "\<chi> (S (\<lambda>x. undefined)) < r" using assms calculation by auto
+ ultimately show "\<exists>c<r. \<forall>x\<in>classes 0 t 0. \<chi> (S x) = c" by auto
+ qed
+ ultimately have "layered_subspace S 0 n t r \<chi>" using S_prop assms unfolding layered_subspace_def by blast
+ then show "\<exists>S. layered_subspace S (0::nat) n t r \<chi>" by auto
+qed
+
+lemma disjoint_family_onI [intro]:
+ assumes "\<And>m n. m \<in> S \<Longrightarrow> n \<in> S \<Longrightarrow> m \<noteq> n
+ \<Longrightarrow> A m \<inter> A n = {}"
+ shows "disjoint_family_on A S"
+ using assms by (auto simp: disjoint_family_on_def)
+
+lemma fun_ex: "a \<in> A \<Longrightarrow> b \<in> B \<Longrightarrow> \<exists>f \<in> A
+\<rightarrow>\<^sub>E B. f a = b"
+proof-
+ assume assms: "a \<in> A" "b \<in> B"
+ then obtain g where g_def: "g \<in> A \<rightarrow> B \<and> g a = b" by fast
+ then have "restrict g A \<in> A \<rightarrow>\<^sub>E B \<and> (restrict g A) a = b" using assms(1) by auto
+ then show ?thesis by blast
+qed
+
+lemma ex_bij_betw_nat_finite_2:
+ assumes "card A = n"
+ and "n > 0"
+ shows "\<exists>f. bij_betw f A {..<n}"
+ using assms ex_bij_betw_finite_nat[of A] atLeast0LessThan card_ge_0_finite by auto
+
+lemma one_dim_cube_eq_nat_set: "bij_betw (\<lambda>f. f 0) (cube 1 k) {..<k}"
+proof (unfold bij_betw_def)
+ have *: "(\<lambda>f. f 0) ` cube 1 k = {..<k}"
+ proof(safe)
+ fix x f
+ assume "f \<in> cube 1 k"
+ then show "f 0 < k" unfolding cube_def by blast
+ next
+ fix x
+ assume "x < k"
+ then have "x \<in> {..<k}" by simp
+ moreover have "0 \<in> {..<1::nat}" by simp
+ ultimately have "\<exists>y \<in> {..<1::nat} \<rightarrow>\<^sub>E {..<k}. y 0 = x" using
+ fun_ex[of "0" "{..<1::nat}" "x" "{..<k}"] by auto
+ then show "x \<in> (\<lambda>f. f 0) ` cube 1 k" unfolding cube_def by blast
+ qed
+ moreover
+ {
+ have "card (cube 1 k) = k" using cube_card by (simp add: cube_def)
+ moreover have "card {..<k} = k" by simp
+ ultimately have "inj_on (\<lambda>f. f 0) (cube 1 k)" using * eq_card_imp_inj_on[of "cube 1 k" "\<lambda>f. f 0"]
+ by force
+ }
+ ultimately show "inj_on (\<lambda>f. f 0) (cube 1 k) \<and> (\<lambda>f. f 0) ` cube 1 k = {..<k}" by simp
+qed
+
+text \<open>An alternative introduction rule for the $\exists!x$ quantifier, which means "there
+exists exactly one $x$".\<close>
+lemma ex1I_alt: "(\<exists>x. P x \<and> (\<forall>y. P y \<longrightarrow> x = y)) \<Longrightarrow> (\<exists>!x. P x)"
+ by auto
+lemma nat_set_eq_one_dim_cube: "bij_betw (\<lambda>x. \<lambda>y\<in>{..<1::nat}. x) {..<k::nat} (cube 1 k)"
+proof (unfold bij_betw_def)
+ have *: "(\<lambda>x. \<lambda>y\<in>{..<1::nat}. x) ` {..<k} = cube 1 k"
+ proof (safe)
+ fix x y
+ assume "y < k"
+ then show "(\<lambda>z\<in>{..<1}. y) \<in> cube 1 k" unfolding cube_def by simp
+ next
+ fix x
+ assume "x \<in> cube 1 k"
+ have "x = (\<lambda>z. \<lambda>y\<in>{..<1::nat}. z) (x 0::nat)"
+ proof
+ fix j
+ consider "j \<in> {..<1}" | "j \<notin> {..<1::nat}" by linarith
+ then show "x j = (\<lambda>z. \<lambda>y\<in>{..<1::nat}. z) (x 0::nat) j" using \<open>x
+ \<in> cube 1 k\<close> unfolding cube_def by auto
+ qed
+ moreover have "x 0 \<in> {..<k}" using \<open>x \<in> cube 1 k\<close> by (auto simp add: cube_def)
+ ultimately show "x \<in> (\<lambda>z. \<lambda>y\<in>{..<1}. z) ` {..<k}" by blast
+ qed
+ moreover
+ {
+ have "card (cube 1 k) = k" using cube_card by (simp add: cube_def)
+ moreover have "card {..<k} = k" by simp
+ ultimately have "inj_on (\<lambda>x. \<lambda>y\<in>{..<1::nat}. x) {..<k}" using *
+ eq_card_imp_inj_on[of "{..<k}" "\<lambda>x. \<lambda>y\<in>{..<1::nat}. x"] by force
+ }
+ ultimately show "inj_on (\<lambda>x. \<lambda>y\<in>{..<1::nat}. x) {..<k} \<and> (\<lambda>x.
+ \<lambda>y\<in>{..<1::nat}. x) ` {..<k} = cube 1 k" by blast
+qed
+
+text \<open>A bijection $f$ between domains $A_1$ and $A_2$ creates a correspondence between
+functions in $A_1 \rightarrow B$ and $A_2 \rightarrow B$.\<close>
+lemma bij_domain_PiE:
+ assumes "bij_betw f A1 A2"
+ and "g \<in> A2 \<rightarrow>\<^sub>E B"
+ shows "(restrict (g \<circ> f) A1) \<in> A1 \<rightarrow>\<^sub>E B"
+ using bij_betwE assms by fastforce
+
+text \<open>The following three lemmas relate lines to $1$-dimensional subspaces (in the natural
+way). This is a direct consequence of the elimination rule \<open>is_line_elim\<close> introduced
+above.\<close>
+lemma line_is_dim1_subspace_t_1:
+ assumes "n > 0"
+ and "is_line L n 1"
+ shows "is_subspace (restrict (\<lambda>y. L (y 0)) (cube 1 1)) 1 n 1"
+proof -
+ obtain B\<^sub>0 B\<^sub>1 where B_props: "B\<^sub>0 \<union> B\<^sub>1 = {..<n} \<and> B\<^sub>0
+ \<inter> B\<^sub>1 = {} \<and> B\<^sub>0 \<noteq> {} \<and> (\<forall>j \<in> B\<^sub>1.
+ (\<forall>x<1. \<forall>y<1. L x j = L y j)) \<and> (\<forall>j \<in> B\<^sub>0. (\<forall>s<1. L
+ s j = s))" using is_line_elim_t_1[of L n 1] assms by auto
+ define B where "B \<equiv> (\<lambda>i::nat. {}::nat set)(0:=B\<^sub>0, 1:=B\<^sub>1)"
+ define f where "f \<equiv> (\<lambda>i \<in> B 1. L 0 i)"
+ have *: "L 0 \<in> {..<n} \<rightarrow>\<^sub>E {..<1}" using assms(2) unfolding cube_def is_line_def by auto
+ have "disjoint_family_on B {..1}" unfolding B_def using B_props
+ by (simp add: Int_commute disjoint_family_onI)
+ moreover have "\<Union> (B ` {..1}) = {..<n}" unfolding B_def using B_props by auto
+ moreover have "{} \<notin> B ` {..<1}" unfolding B_def using B_props by auto
+ moreover have " f \<in> B 1 \<rightarrow>\<^sub>E {..<1}" using * calculation(2) unfolding f_def by auto
+ moreover have "(restrict (\<lambda>y. L (y 0)) (cube 1 1)) \<in> cube 1 1 \<rightarrow>\<^sub>E cube n 1"
+ using assms(2) cube1_alt_def unfolding is_line_def by auto
+ moreover have "(\<forall>y\<in>cube 1 1. (\<forall>i\<in>B 1. (restrict (\<lambda>y. L (y 0)) (cube 1 1)) y i = f i)
+ \<and> (\<forall>j<1. \<forall>i\<in>B j. (restrict (\<lambda>y. L (y 0)) (cube 1 1)) y i = y j))"
+ using cube1_alt_def B_props * unfolding B_def f_def by auto
+ ultimately show ?thesis unfolding is_subspace_def by blast
+qed
+
+lemma line_is_dim1_subspace_t_ge_1:
+ assumes "n > 0"
+ and "t > 1"
+ and "is_line L n t"
+ shows "is_subspace (restrict (\<lambda>y. L (y 0)) (cube 1 t)) 1 n t"
+proof -
+ let ?B1 = "{i::nat . i < n \<and> (\<forall>x<t. \<forall>y<t. L x i = L y i)}"
+ let ?B0 = "{i::nat . i < n \<and> (\<forall>s < t. L s i = s)}"
+ define B where "B \<equiv> (\<lambda>i::nat. {}::nat set)(0:=?B0, 1:=?B1)"
+ let ?L = "(\<lambda>y \<in> cube 1 t. L (y 0))"
+ have "?B0 \<noteq> {}" using assms(3) unfolding is_line_def by simp
+
+ have L1: "?B0 \<union> ?B1 = {..<n}" using assms(3) unfolding is_line_def by auto
+ {
+ have "(\<forall>s < t. L s i = s) \<longrightarrow> \<not>(\<forall>x<t. \<forall>y<t. L x i =
+ L y i)" if "i < n" for i using assms(2) less_trans by auto
+ then have *:"i \<notin> ?B0" if "i \<in> ?B1" for i using that by blast
+ }
+ moreover
+ {
+ have "(\<forall>x<t. \<forall>y<t. L x i = L y i) \<longrightarrow> \<not>(\<forall>s < t. L s i = s)"
+ if "i < n" for i using that calculation by blast
+ then have **: "\<forall>i \<in> ?B0. i \<notin> ?B1"
+ by blast
+ }
+ ultimately have L2: "?B0 \<inter> ?B1 = {}" by blast
+
+ let ?f = "(\<lambda>i. if i \<in> B 1 then L 0 i else undefined)"
+ {
+ have "{..1::nat} = {0, 1}" by auto
+ then have "\<Union>(B ` {..1::nat}) = B 0 \<union> B 1" by simp
+ then have "\<Union>(B ` {..1::nat}) = ?B0 \<union> ?B1" unfolding B_def by simp
+ then have A1: "disjoint_family_on B {..1::nat}" using L2
+ by (simp add: B_def Int_commute disjoint_family_onI)
+ }
+ moreover
+ {
+ have "\<Union>(B ` {..1::nat}) = B 0 \<union> B 1" unfolding B_def by auto
+ then have "\<Union>(B ` {..1::nat}) = {..<n}" using L1 unfolding B_def by simp
+ }
+ moreover
+ {
+ have "\<forall>i \<in> {..<1::nat}. B i \<noteq> {}"
+ using \<open>{i. i < n \<and> (\<forall>s<t. L s i = s)} \<noteq> {}\<close> fun_upd_same lessThan_iff less_one
+ unfolding B_def by auto
+ then have "{} \<notin> B ` {..<1::nat}" by blast
+ }
+ moreover
+ {
+ have "?f \<in> (B 1) \<rightarrow>\<^sub>E {..<t}"
+ proof
+ fix i
+ assume asm: "i \<in> (B 1)"
+ have "L a b \<in> {..<t}" if "a < t" and "b < n" for a b using assms(3) that unfolding is_line_def cube_def by auto
+ then have "L 0 i \<in> {..<t}" using assms(2) asm calculation(2) by blast
+ then show "?f i \<in> {..<t}" using asm by presburger
+ qed (auto)
+ }
+
+ moreover
+ {
+ have "L \<in> {..<t} \<rightarrow>\<^sub>E (cube n t)" using assms(3) by (simp add: is_line_def)
+ then have "?L \<in> (cube 1 t) \<rightarrow>\<^sub>E (cube n t)"
+ using bij_domain_PiE[of "(\<lambda>f. f 0)" "(cube 1 t)" "{..<t}" "L" "cube n t"] one_dim_cube_eq_nat_set[of "t"]
+ by auto
+ }
+ moreover
+ {
+ have "\<forall>y \<in> cube 1 t. (\<forall>i \<in> B 1. ?L y i = ?f i) \<and> (\<forall>j < 1.
+ \<forall>i \<in> B j. (?L y) i = y j)"
+ proof
+ fix y
+ assume "y \<in> cube 1 t"
+ then have "y 0 \<in> {..<t}" unfolding cube_def by blast
+
+ have "(\<forall>i \<in> B 1. ?L y i = ?f i)"
+ proof
+ fix i
+ assume "i \<in> B 1"
+ then have "?f i = L 0 i"
+ by meson
+ moreover have "?L y i = L (y 0) i" using \<open>y \<in> cube 1 t\<close> by simp
+ moreover have "L (y 0) i = L 0 i"
+ proof -
+ have "i \<in> ?B1" using \<open>i \<in> B 1\<close> unfolding B_def fun_upd_def by presburger
+ then have "(\<forall>x<t. \<forall>y<t. L x i = L y i)" by blast
+ then show "L (y 0) i = L 0 i" using \<open>y 0 \<in> {..<t}\<close> by blast
+ qed
+ ultimately show "?L y i = ?f i" by simp
+ qed
+
+ moreover have "(?L y) i = y j" if "j < 1" and "i \<in> B j" for i j
+ proof-
+ have "i \<in> B 0" using that by blast
+ then have "i \<in> ?B0" unfolding B_def by auto
+ then have "(\<forall>s < t. L s i = s)" by blast
+ moreover have "y 0 < t" using \<open>y \<in> cube 1 t\<close> unfolding cube_def by auto
+ ultimately have "L (y 0) i = y 0" by simp
+ then show "?L y i = y j" using that using \<open>y \<in> cube 1 t\<close> by force
+ qed
+
+ ultimately show "(\<forall>i \<in> B 1. ?L y i = ?f i) \<and> (\<forall>j < 1. \<forall>i
+ \<in> B j. (?L y) i = y j)"
+ by blast
+ qed
+ }
+ ultimately show "is_subspace ?L 1 n t" unfolding is_subspace_def by blast
+qed
+
+lemma line_is_dim1_subspace:
+ assumes "n > 0"
+ and "t > 0"
+ and "is_line L n t"
+ shows "is_subspace (restrict (\<lambda>y. L (y 0)) (cube 1 t)) 1 n t"
+ using line_is_dim1_subspace_t_1[of n L] line_is_dim1_subspace_t_ge_1[of n t L] assms not_less_iff_gr_or_eq by blast
+
+text \<open>The key property of the existence of a minimal dimension $N$, such that for any
+$r$-colouring in $C^{N'}_t$ (for $N' \geq N$) there exists a monochromatic line is defined in the
+following using the variables:
+
+\begin{tabular}{llp{8cm}}
+$r$:& \<^typ>\<open>nat\<close>& the number of colours\\
+$t$:& \<^typ>\<open>nat\<close>& the size of of the base
+\end{tabular}\<close>
+definition hj
+ where "hj r t \<equiv> (\<exists>N>0. \<forall>N' \<ge> N. \<forall>\<chi>. \<chi> \<in> (cube N'
+ t) \<rightarrow>\<^sub>E {..<r::nat} \<longrightarrow> (\<exists>L. \<exists>c<r. is_line L N' t
+ \<and> (\<forall>y \<in> L ` {..<t}. \<chi> y = c)))"
+
+text \<open>The key property of the existence of a minimal dimension $N$, such that for any
+$r$-colouring in $C^{N'}_t$ (for $N' \geq N$) there exists a layered subspace of dimension $k$ is
+defined in the following using the variables:
+
+\begin{tabular}{llp{8cm}}
+$r$:& \<^typ>\<open>nat\<close>& the number of colours\\
+$t$:& \<^typ>\<open>nat\<close>& the size of of the base\\
+$k$:& \<^typ>\<open>nat\<close>& the dimension of the subspace
+\end{tabular}\<close>
+definition lhj
+ where "lhj r t k \<equiv> (\<exists>N > 0. \<forall>N' \<ge> N. \<forall>\<chi>. \<chi> \<in>
+ (cube N' (t + 1)) \<rightarrow>\<^sub>E {..<r::nat} \<longrightarrow> (\<exists>S.
+ layered_subspace S k N' t r \<chi>))"
+
+text \<open>We state some useful facts about $1$-dimensional subspaces.\<close>
+lemma dim1_subspace_elims:
+ assumes "disjoint_family_on B {..1::nat}" and "\<Union>(B ` {..1::nat}) = {..<n}" and "({}
+ \<notin> B ` {..<1::nat})" and "f \<in> (B 1) \<rightarrow>\<^sub>E {..<t}" and "S \<in> (cube 1
+ t) \<rightarrow>\<^sub>E (cube n t)" and "(\<forall>y \<in> cube 1 t. (\<forall>i \<in> B 1. S y i
+ = f i) \<and> (\<forall>j<1. \<forall>i \<in> B j. (S y) i = y j))"
+ shows "B 0 \<union> B 1 = {..<n}"
+ and "B 0 \<inter> B 1 = {}"
+ and "(\<forall>y \<in> cube 1 t. (\<forall>i \<in> B 1. S y i = f i) \<and> (\<forall>i \<in> B 0. (S y) i = y 0))"
+ and "B 0 \<noteq> {}"
+proof -
+ have "{..1} = {0::nat, 1}" by auto
+ then show "B 0 \<union> B 1 = {..<n}" using assms(2) by simp
+next
+ show "B 0 \<inter> B 1 = {}" using assms(1) unfolding disjoint_family_on_def by simp
+next
+ show "(\<forall>y \<in> cube 1 t. (\<forall>i \<in> B 1. S y i = f i) \<and> (\<forall>i \<in> B 0. (S y) i = y 0))"
+ using assms(6) by simp
+next
+ show "B 0 \<noteq> {}" using assms(3) by auto
+qed
+
+text \<open>We state some properties of cubes.\<close>
+lemma cube_props:
+ assumes "s < t"
+ shows "\<exists>p \<in> cube 1 t. p 0 = s"
+ and "(SOME p. p \<in> cube 1 t \<and> p 0 = s) 0 = s"
+ and "(\<lambda>s\<in>{..<t}. S (SOME p. p\<in>cube 1 t \<and> p 0 = s)) s =
+ (\<lambda>s\<in>{..<t}. S (SOME p. p\<in>cube 1 t \<and> p 0 = s)) ((SOME p. p \<in> cube 1 t
+ \<and> p 0 = s) 0)"
+ and "(SOME p. p \<in> cube 1 t \<and> p 0 = s) \<in> cube 1 t"
+proof -
+ show 1: "\<exists>p \<in> cube 1 t. p 0 = s" using assms unfolding cube_def by (simp add: fun_ex)
+ show 2: "(SOME p. p \<in> cube 1 t \<and> p 0 = s) 0 = s" using assms 1 someI_ex[of "\<lambda>x. x
+ \<in> cube 1 t \<and> x 0 = s"] by blast
+ show 3: "(\<lambda>s\<in>{..<t}. S (SOME p. p\<in>cube 1 t \<and> p 0 = s)) s =
+ (\<lambda>s\<in>{..<t}. S (SOME p. p\<in>cube 1 t \<and> p 0 = s)) ((SOME p. p \<in> cube 1 t
+ \<and> p 0 = s) 0)" using 2 by simp
+ show 4: "(SOME p. p \<in> cube 1 t \<and> p 0 = s) \<in> cube 1 t" using 1 someI_ex[of
+ "\<lambda>p. p \<in> cube 1 t \<and> p 0 = s"] assms by blast
+qed
+
+text \<open>The following lemma relates $1$-dimensional subspaces to lines, thus establishing a
+bidirectional correspondence between the two together with
+\<open>line_is_dim1_subspace\<close>.\<close>
+lemma dim1_subspace_is_line:
+ assumes "t > 0"
+ and "is_subspace S 1 n t"
+ shows "is_line (\<lambda>s\<in>{..<t}. S (SOME p. p\<in>cube 1 t \<and> p 0 = s)) n t"
+proof-
+ define L where "L \<equiv> (\<lambda>s\<in>{..<t}. S (SOME p. p\<in>cube 1 t \<and> p 0 = s))"
+ have "{..1} = {0::nat, 1}" by auto
+ obtain B f where Bf_props: "disjoint_family_on B {..1::nat} \<and> \<Union>(B ` {..1::nat}) =
+ {..<n} \<and> ({} \<notin> B ` {..<1::nat}) \<and> f \<in> (B 1) \<rightarrow>\<^sub>E {..<t}
+ \<and> S \<in> (cube 1 t) \<rightarrow>\<^sub>E (cube n t) \<and> (\<forall>y \<in> cube 1 t.
+ (\<forall>i \<in> B 1. S y i = f i) \<and> (\<forall>j<1. \<forall>i \<in> B j. (S y) i = y j))"
+ using assms(2) unfolding is_subspace_def by auto
+ then have 1: "B 0 \<union> B 1 = {..<n} \<and> B 0 \<inter> B 1 = {}" using dim1_subspace_elims(1,
+ 2)[of B n f t S] by simp
+
+ have "L \<in> {..<t} \<rightarrow>\<^sub>E cube n t"
+ proof
+ fix s assume a: "s \<in> {..<t}"
+ then have "L s = S (SOME p. p\<in>cube 1 t \<and> p 0 = s)" unfolding L_def by simp
+ moreover have "(SOME p. p\<in>cube 1 t \<and> p 0 = s) \<in> cube 1 t" using cube_props(1) a
+ someI_ex[of "\<lambda>p. p \<in> cube 1 t \<and> p 0 = s"] by blast
+ moreover have "S (SOME p. p\<in>cube 1 t \<and> p 0 = s) \<in> cube n t"
+ using assms(2) calculation(2) is_subspace_def by auto
+ ultimately show "L s \<in> cube n t" by simp
+ next
+ fix s assume a: "s \<notin> {..<t}"
+ then show "L s = undefined" unfolding L_def by simp
+ qed
+ moreover have "(\<forall>x<t. \<forall>y<t. L x j = L y j) \<or> (\<forall>s<t. L s j = s)" if "j < n" for j
+ proof-
+ consider "j \<in> B 0" | "j \<in> B 1" using \<open>j < n\<close> 1 by blast
+ then show "(\<forall>x<t. \<forall>y<t. L x j = L y j) \<or> (\<forall>s<t. L s j = s)"
+ proof (cases)
+ case 1
+ have "L s j = s" if "s < t" for s
+ proof-
+ have "\<forall>y \<in> cube 1 t. (S y) j = y 0" using Bf_props 1 by simp
+ then show "L s j = s" using that cube_props(2,4) unfolding L_def by auto
+ qed
+ then show ?thesis by blast
+ next
+ case 2
+ have "L x j = L y j" if "x < t" and "y < t" for x y
+ proof-
+ have *: "S y j = f j" if "y \<in> cube 1 t" for y using 2 that Bf_props by simp
+ then have "L y j = f j" using that(2) cube_props(2,4) lessThan_iff restrict_apply unfolding L_def by fastforce
+ moreover from * have "L x j = f j" using that(1) cube_props(2,4) lessThan_iff restrict_apply unfolding L_def
+ by fastforce
+ ultimately show "L x j = L y j" by simp
+ qed
+ then show ?thesis by blast
+ qed
+ qed
+ moreover have "(\<exists>j<n. \<forall>s<t. (L s j = s))"
+ proof -
+ obtain j where j_prop: "j \<in> B 0 \<and> j < n" using Bf_props by blast
+ then have "(S y) j = y 0" if "y \<in> cube 1 t" for y using that Bf_props by auto
+ then have "L s j = s" if "s < t" for s using that cube_props(2,4) unfolding L_def by auto
+ then show "\<exists>j<n. \<forall>s<t. (L s j = s)" using j_prop by blast
+ qed
+ ultimately show "is_line (\<lambda>s\<in>{..<t}. S (SOME p. p\<in>cube 1 t \<and> p 0 = s)) n t"
+ unfolding L_def is_line_def by auto
+qed
+
+lemma bij_unique_inv:
+ assumes "bij_betw f A B"
+ and "x \<in> B"
+ shows "\<exists>!y \<in> A. (the_inv_into A f) x = y"
+ using assms unfolding bij_betw_def inj_on_def the_inv_into_def
+ by blast
+
+lemma inv_into_cube_props:
+ assumes "s < t"
+ shows "the_inv_into (cube 1 t) (\<lambda>f. f 0) s \<in> cube 1 t"
+ and "the_inv_into (cube 1 t) (\<lambda>f. f 0) s 0 = s"
+ using assms bij_unique_inv one_dim_cube_eq_nat_set f_the_inv_into_f_bij_betw
+ by fastforce+
+
+lemma some_inv_into:
+ assumes "s < t"
+ shows "(SOME p. p\<in>cube 1 t \<and> p 0 = s) = (the_inv_into (cube 1 t) (\<lambda>f. f 0) s)"
+ using inv_into_cube_props[of s t] one_dim_cube_eq_nat_set[of t] assms unfolding bij_betw_def inj_on_def by auto
+
+lemma some_inv_into_2:
+ assumes "s < t"
+ shows "(SOME p. p\<in>cube 1 (t+1) \<and> p 0 = s) = (the_inv_into (cube 1 t) (\<lambda>f. f 0) s)"
+proof-
+ have *: "(SOME p. p\<in>cube 1 (t+1) \<and> p 0 = s) \<in> cube 1 (t+1)" using cube_props assms by simp
+ then have "(SOME p. p\<in>cube 1 (t+1) \<and> p 0 = s) 0 = s" using cube_props assms by simp
+ moreover
+ {
+ have "(SOME p. p\<in>cube 1 (t+1) \<and> p 0 = s) ` {..<1} \<subseteq> {..<t}" using calculation assms by force
+ then have "(SOME p. p\<in>cube 1 (t+1) \<and> p 0 = s) \<in> cube 1 t" using * unfolding cube_def by auto
+ }
+ moreover have "inj_on (\<lambda>f. f 0) (cube 1 t)" using one_dim_cube_eq_nat_set[of t]
+ unfolding bij_betw_def inj_on_def by auto
+ ultimately show "(SOME p. p\<in>cube 1 (t+1) \<and> p 0 = s) = (the_inv_into (cube 1 t) (\<lambda>f. f 0) s)"
+ using the_inv_into_f_eq [of "\<lambda>f. f 0" "cube 1 t" "(SOME p. p\<in>cube 1 (t+1) \<and> p 0 = s)" s] by auto
+qed
+
+lemma dim1_layered_subspace_as_line:
+ assumes "t > 0"
+ and "layered_subspace S 1 n t r \<chi>"
+ shows "\<exists>c1 c2. c1<r \<and> c2<r \<and> (\<forall>s<t. \<chi> (S (SOME p. p\<in>cube 1
+ (t+1) \<and> p 0 = s)) = c1) \<and> \<chi> (S (SOME p. p\<in>cube 1 (t+1) \<and> p 0 = t)) = c2"
+proof -
+ have "x u < t" if "x \<in> classes 1 t 0" and "u < 1" for x u
+ proof -
+ have "x \<in> cube 1 (t+1)" using that unfolding classes_def by blast
+ then have "x u \<in> {..<t+1}" using that unfolding cube_def by blast
+ then have "x u \<in> {..<t}" using that
+ using that less_Suc_eq unfolding classes_def by auto
+ then show "x u < t" by simp
+ qed
+ then have "classes 1 t 0 \<subseteq> cube 1 t" unfolding cube_def classes_def by auto
+ moreover have "cube 1 t \<subseteq> classes 1 t 0" using cube_subset[of 1 t] unfolding cube_def classes_def by auto
+ ultimately have X: "classes 1 t 0 = cube 1 t" by blast
+
+ obtain c1 where c1_prop: "c1 < r \<and> (\<forall>x\<in>classes 1 t 0. \<chi> (S x) = c1)" using assms(2)
+ unfolding layered_subspace_def by blast
+ then have "(\<chi> (S x) = c1)" if "x \<in> cube 1 t" for x using X that by blast
+ then have "\<chi> (S (the_inv_into (cube 1 t) (\<lambda>f. f 0) s)) = c1" if "s < t" for s
+ using one_dim_cube_eq_nat_set[of t] by (meson that bij_betwE bij_betw_the_inv_into lessThan_iff)
+ then have K1: "\<chi> (S (SOME p. p\<in>cube 1 (t+1) \<and> p 0 = s)) = c1" if "s < t" for s
+ using that some_inv_into_2 by simp
+
+ have *: "\<exists>c<r. \<forall>x \<in> classes 1 t 1. \<chi> (S x) = c"
+ using assms(2) unfolding layered_subspace_def by blast
+
+ have "x 0 = t" if "x \<in> classes 1 t 1" for x using that unfolding classes_def by simp
+ moreover have "\<exists>!x \<in> cube 1 (t+1). x 0 = t" using one_dim_cube_eq_nat_set[of "t+1"]
+ unfolding bij_betw_def inj_on_def using inv_into_cube_props(1) inv_into_cube_props(2) by force
+ moreover have **: "\<exists>!x. x \<in> classes 1 t 1" unfolding classes_def using calculation(2) by simp
+ ultimately have "the_inv_into (cube 1 (t+1)) (\<lambda>f. f 0) t \<in> classes 1 t 1"
+ using inv_into_cube_props[of t "t+1"] unfolding classes_def by simp
+
+ then have "\<exists>c2. c2 < r \<and> \<chi> (S (the_inv_into (cube 1 (t+1)) (\<lambda>f. f 0) t)) = c2"
+ using * ** by blast
+ then have K2: "\<exists>c2. c2 < r \<and> \<chi> (S (SOME p. p\<in>cube 1 (t+1) \<and> p 0 = t)) = c2"
+ using some_inv_into by simp
+
+ from K1 K2 show ?thesis
+ using c1_prop by blast
+qed
+
+lemma dim1_layered_subspace_mono_line:
+ assumes "t > 0"
+ and "layered_subspace S 1 n t r \<chi>"
+ shows "\<forall>s<t. \<forall>l<t. \<chi> (S (SOME p. p\<in>cube 1 (t+1) \<and> p 0 = s)) =
+ \<chi> (S (SOME p. p\<in>cube 1 (t+1) \<and> p 0 = l)) \<and> \<chi> (S (SOME p. p\<in>cube 1
+ (t+1) \<and> p 0 = s)) < r"
+ using dim1_layered_subspace_as_line[of t S n r \<chi>] assms by auto
+
+definition join :: "(nat \<Rightarrow> 'a) \<Rightarrow> (nat \<Rightarrow> 'a) \<Rightarrow> nat
+\<Rightarrow> nat \<Rightarrow> (nat \<Rightarrow> 'a)"
+ where
+ "join f g n m \<equiv> (\<lambda>x. if x \<in> {..<n} then f x else (if x \<in> {n..<n+m} then g
+ (x - n) else undefined))"
+
+lemma join_cubes:
+ assumes "f \<in> cube n (t+1)"
+ and "g \<in> cube m (t+1)"
+ shows "join f g n m \<in> cube (n+m) (t+1)"
+proof (unfold cube_def; intro PiE_I)
+ fix i
+ assume "i \<in> {..<n+m}"
+ then consider "i < n" | "i \<ge> n \<and> i < n+m" by fastforce
+ then show "join f g n m i \<in> {..<t + 1}"
+ proof (cases)
+ case 1
+ then have "join f g n m i = f i" unfolding join_def by simp
+ moreover have "f i \<in> {..<t+1}" using assms(1) 1 unfolding cube_def by blast
+ ultimately show ?thesis by simp
+ next
+ case 2
+ then have "join f g n m i = g (i - n)" unfolding join_def by simp
+ moreover have "i - n \<in> {..<m}" using 2 by auto
+ moreover have "g (i - n) \<in> {..<t+1}" using calculation(2) assms(2) unfolding cube_def by blast
+ ultimately show ?thesis by simp
+ qed
+next
+ fix i
+ assume "i \<notin> {..<n+m}"
+ then show "join f g n m i = undefined" unfolding join_def by simp
+qed
+
+lemma subspace_elems_embed:
+ assumes "is_subspace S k n t"
+ shows "S ` (cube k t) \<subseteq> cube n t"
+ using assms unfolding cube_def is_subspace_def by blast
+
+
+section \<open>Core proofs\<close>
+text\<open>The numbering of the theorems has been borrowed from the textbook~\cite{thebook}.\<close>
+
+subsection \<open>Theorem 4\<close>
+subsubsection \<open>Base case of Theorem 4\<close>
+lemma hj_imp_lhj_base:
+ fixes r t
+ assumes "t > 0"
+ and "\<And>r'. hj r' t"
+ shows "lhj r t 1"
+proof-
+ from assms(2) obtain N where N_def: "N > 0 \<and> (\<forall>N' \<ge> N. \<forall>\<chi>. \<chi>
+ \<in> (cube N' t) \<rightarrow>\<^sub>E {..<r::nat} \<longrightarrow> (\<exists>L. \<exists>c<r.
+ is_line L N' t \<and> (\<forall>y \<in> L ` {..<t}. \<chi> y = c)))" unfolding hj_def by blast
+
+ have "(\<exists>S. is_subspace S 1 N' (t + 1) \<and> (\<forall>i \<in> {..1}. \<exists>c < r.
+ (\<forall>x \<in> classes 1 t i. \<chi> (S x) = c)))" if asm: "N' \<ge> N" "\<chi> \<in> (cube N'
+ (t + 1)) \<rightarrow>\<^sub>E {..<r::nat}" for N' \<chi>
+ proof-
+ have N'_props: "N' > 0 \<and> (\<forall>\<chi>. \<chi> \<in> (cube N' t) \<rightarrow>\<^sub>E
+ {..<r::nat} \<longrightarrow> (\<exists>L. \<exists>c<r. is_line L N' t \<and> (\<forall>y \<in>
+ L ` {..<t}. \<chi> y = c)))" using asm N_def by simp
+ let ?chi_t = "\<lambda>x \<in> cube N' t. \<chi> x"
+ have "?chi_t \<in> cube N' t \<rightarrow>\<^sub>E {..<r::nat}" using cube_subset asm by auto
+ then obtain L where L_def: "is_line L N' t \<and> (\<exists>c<r. (\<forall>y \<in> L ` {..<t}. ?chi_t y = c))"
+ using N'_props by blast
+
+ have "is_subspace (restrict (\<lambda>y. L (y 0)) (cube 1 t)) 1 N' t" using line_is_dim1_subspace N'_props L_def
+ using assms(1) by auto
+ then obtain B f where Bf_defs: "disjoint_family_on B {..1} \<and> \<Union>(B ` {..1}) = {..<N'}
+ \<and> ({} \<notin> B ` {..<1}) \<and> f \<in> (B 1) \<rightarrow>\<^sub>E {..<t} \<and>
+ (restrict (\<lambda>y. L (y 0)) (cube 1 t)) \<in> (cube 1 t) \<rightarrow>\<^sub>E (cube N' t)
+ \<and> (\<forall>y \<in> cube 1 t. (\<forall>i \<in> B 1. (restrict (\<lambda>y. L (y 0)) (cube
+ 1 t)) y i = f i) \<and> (\<forall>j<1. \<forall>i \<in> B j. ((restrict (\<lambda>y. L (y 0))
+ (cube 1 t)) y) i = y j))" unfolding is_subspace_def by auto
+
+ have "{..1::nat} = {0, 1}" by auto
+ then have B_props: "B 0 \<union> B 1 = {..<N'} \<and> (B 0 \<inter> B 1 = {})"
+ using Bf_defs unfolding disjoint_family_on_def by auto
+ define L' where "L' \<equiv> L(t:=(\<lambda>j. if j \<in> B 1 then L (t - 1) j else (if j \<in>
+ B 0 then t else undefined)))"
+ text \<open>\<open>S1\<close> is the corresponding $1$-dimensional subspace of \<open>L'\<close>.\<close>
+ define S1 where "S1 \<equiv> restrict (\<lambda>y. L' (y (0::nat))) (cube 1 (t+1))"
+ have line_prop: "is_line L' N' (t + 1)"
+ proof-
+ have A1: "L' \<in> {..<t+1} \<rightarrow>\<^sub>E cube N' (t + 1)"
+ proof
+ fix x
+ assume asm: "x \<in> {..<t + 1}"
+ then show "L' x \<in> cube N' (t + 1)"
+ proof (cases "x < t")
+ case True
+ then have "L' x = L x" by (simp add: L'_def)
+ then have "L' x \<in> cube N' t" using L_def True unfolding is_line_def by auto
+ then show "L' x \<in> cube N' (t + 1)" using cube_subset by blast
+ next
+ case False
+ then have "x = t" using asm by simp
+ show "L' x \<in> cube N' (t + 1)"
+ proof(unfold cube_def, intro PiE_I)
+ fix j
+ assume "j \<in> {..<N'}"
+ have "j \<in> B 1 \<or> j \<in> B 0 \<or> j \<notin> (B 0 \<union> B 1)" by blast
+ then show "L' x j \<in> {..<t + 1}"
+ proof (elim disjE)
+ assume "j \<in> B 1"
+ then have "L' x j = L (t - 1) j"
+ by (simp add: \<open>x = t\<close> L'_def)
+ have "L (t - 1) \<in> cube N' t" using line_points_in_cube L_def
+ by (meson assms(1) diff_less less_numeral_extra(1))
+ then have "L (t - 1) j < t" using \<open>j \<in> {..<N'}\<close> unfolding cube_def by auto
+ then show "L' x j \<in> {..<t + 1}" using \<open>L' x j = L (t - 1) j\<close> by simp
+ next
+ assume "j \<in> B 0"
+ then have "j \<notin> B 1" using Bf_defs unfolding disjoint_family_on_def by auto
+ then have "L' x j = t" by (simp add: \<open>j \<in> B 0\<close> \<open>x = t\<close> L'_def)
+ then show "L' x j \<in> {..<t + 1}" by simp
+ next
+ assume a: "j \<notin> (B 0 \<union> B 1)"
+ have "{..1::nat} = {0, 1}" by auto
+ then have "B 0 \<union> B 1 = (\<Union>(B ` {..1::nat}))" by simp
+ then have "B 0 \<union> B 1 = {..<N'}" using Bf_defs unfolding partition_on_def by simp
+ then have "\<not>(j \<in> {..<N'})" using a by simp
+ then have False using \<open>j \<in> {..<N'}\<close> by simp
+ then show ?thesis by simp
+ qed
+ next
+ fix j
+ assume "j \<notin> {..<N'}"
+ then have "j \<notin> (B 0) \<and> j \<notin> B 1" using Bf_defs unfolding partition_on_def by auto
+ then show "L' x j = undefined" using \<open>x = t\<close> by (simp add: L'_def)
+ qed
+ qed
+ next
+ fix x
+ assume asm: "x \<notin> {..<t+1}"
+ then have "x \<notin> {..<t} \<and> x \<noteq> t" by simp
+ then show "L' x = undefined" using L_def unfolding L'_def is_line_def by auto
+ qed
+ have A2: "(\<exists>j<N'. (\<forall>s < (t + 1). L' s j = s))"
+ proof (cases "t = 1")
+ case True
+ obtain j where j_prop: "j \<in> B 0 \<and> j < N'" using Bf_defs by blast
+ then have "L' s j = L s j" if "s < t" for s using that by (auto simp: L'_def)
+ moreover have "L s j = 0" if "s < t" for s using that True L_def j_prop line_points_in_cube_unfolded[of L N' t]
+ by simp
+ moreover have "L' s j = s" if "s < t" for s using True calculation that by simp
+ moreover have "L' t j = t" using j_prop B_props by (auto simp: L'_def)
+ ultimately show ?thesis unfolding L'_def using j_prop by auto
+ next
+ case False
+ then show ?thesis
+ proof-
+ have "(\<exists>j<N'. (\<forall>s < t. L' s j = s))" using L_def unfolding is_line_def by (auto simp: L'_def)
+ then obtain j where j_def: "j < N' \<and> (\<forall>s < t. L' s j = s)" by blast
+ have "j \<notin> B 1"
+ proof
+ assume a:"j \<in> B 1"
+ then have "(restrict (\<lambda>y. L (y 0)) (cube 1 t)) y j = f j" if "y \<in> cube 1 t" for y
+ using Bf_defs that by simp
+ then have "L (y 0) j = f j" if "y \<in> cube 1 t" for y using that by simp
+ moreover have "\<exists>!i. i < t \<and> y 0 = i" if "y \<in> cube 1 t" for y
+ using that one_dim_cube_eq_nat_set[of "t"] unfolding bij_betw_def by blast
+ moreover have "\<exists>!y. y \<in> cube 1 t \<and> y 0 = i" if "i < t" for i
+ proof (intro ex1I_alt)
+ define y where "y \<equiv> (\<lambda>x::nat. \<lambda>y\<in>{..<1::nat}. x)"
+ have "y i \<in> (cube 1 t)" using that unfolding cube_def y_def by simp
+ moreover have "y i 0 = i" unfolding y_def by simp
+ moreover have "z = y i" if "z \<in> cube 1 t" and "z 0 = i" for z
+ proof (rule ccontr)
+ assume "z \<noteq> y i"
+ then obtain l where l_prop: "z l \<noteq> y i l" by blast
+ consider "l \<in> {..<1::nat}" | "l \<notin> {..<1::nat}" by blast
+ then show False
+ proof cases
+ case 1
+ then show ?thesis using l_prop that(2) unfolding y_def by auto
+ next
+ case 2
+ then have "z l = undefined" using that unfolding cube_def by blast
+ moreover have "y i l = undefined" unfolding y_def using 2 by auto
+ ultimately show ?thesis using l_prop by presburger
+ qed
+ qed
+ ultimately show "\<exists>y. (y \<in> cube 1 t \<and> y 0 = i) \<and> (\<forall>ya. ya
+ \<in> cube 1 t \<and> ya 0 = i \<longrightarrow> y = ya)" by blast
+ qed
+
+ moreover have "L i j = f j" if "i < t" for i using that calculation by blast
+ moreover have "(\<exists>j<N'. (\<forall>s < t. L s j = s))" using
+ \<open>(\<exists>j<N'. (\<forall>s < t. L' s j = s))\<close> by (auto simp: L'_def)
+ ultimately show False using False
+ by (metis (no_types, lifting) L'_def assms(1) fun_upd_apply j_def less_one nat_neq_iff)
+ qed
+ then have "j \<in> B 0" using \<open>j \<notin> B 1\<close> j_def B_props by auto
+
+ then have "L' t j = t" using \<open>j \<notin> B 1\<close> by (auto simp: L'_def)
+ then have "L' s j = s" if "s < t + 1" for s using j_def that by (auto simp: L'_def)
+ then show ?thesis using j_def by blast
+ qed
+ qed
+ have A3: "(\<forall>x<t+1. \<forall>y<t+1. L' x j = L' y j) \<or> (\<forall>s<t+1. L' s j = s)" if "j < N'" for j
+ proof-
+ consider "j \<in> B 1" | "j \<in> B 0" using \<open>j < N'\<close> B_props by auto
+ then show "(\<forall>x<t+1. \<forall>y<t+1. L' x j = L' y j) \<or> (\<forall>s<t+1. L' s j = s)"
+ proof (cases)
+ case 1
+ then have "(restrict (\<lambda>y. L (y 0)) (cube 1 t)) y j = f j" if "y \<in> cube 1 t" for y
+ using that Bf_defs by simp
+ moreover have "\<exists>!i. i < t \<and> y 0 = i" if "y \<in> cube 1 t" for y
+ using that one_dim_cube_eq_nat_set[of "t"] unfolding bij_betw_def by blast
+ moreover have "\<exists>!y. y \<in> cube 1 t \<and> y 0 = i" if "i < t" for i
+ proof (intro ex1I_alt)
+ define y where "y \<equiv> (\<lambda>x::nat. \<lambda>y\<in>{..<1::nat}. x)"
+ have "y i \<in> (cube 1 t)" using that unfolding cube_def y_def by simp
+ moreover have "y i 0 = i" unfolding y_def by auto
+ moreover have "z = y i" if "z \<in> cube 1 t" and "z 0 = i" for z
+ proof (rule ccontr)
+ assume "z \<noteq> y i"
+ then obtain l where l_prop: "z l \<noteq> y i l" by blast
+ consider "l \<in> {..<1::nat}" | "l \<notin> {..<1::nat}" by blast
+ then show False
+ proof cases
+ case 1
+ then show ?thesis using l_prop that(2) unfolding y_def by auto
+ next
+ case 2
+ then have "z l = undefined" using that unfolding cube_def by blast
+ moreover have "y i l = undefined" unfolding y_def using 2 by auto
+ ultimately show ?thesis using l_prop by presburger
+ qed
+ qed
+ ultimately show "\<exists>y. (y \<in> cube 1 t \<and> y 0 = i) \<and> (\<forall>ya. ya
+ \<in> cube 1 t \<and> ya 0 = i \<longrightarrow> y = ya)" by blast
+
+ qed
+ moreover have "L i j = f j" if "i < t" for i using calculation that by force
+ moreover have "L i j = L x j" if "x < t" "i < t" for x i using that calculation by simp
+ moreover have "L' x j = L x j" if "x < t" for x using that fun_upd_other[of x t L
+ "\<lambda>j. if j \<in> B 1 then L (t - 1) j else if j \<in> B 0 then t else undefined"]
+ unfolding L'_def by simp
+ ultimately have *: "L' x j = L' y j" if "x < t" "y < t" for x y using that by presburger
+
+ have "L' t j = L' (t - 1) j" using \<open>j \<in> B 1\<close> by (auto simp: L'_def)
+ also have "... = L' x j" if "x < t" for x using * by (simp add: assms(1) that)
+ finally have **: "L' t j = L' x j" if "x < t" for x using that by auto
+ have "L' x j = L' y j" if "x < t + 1" "y < t + 1" for x y
+ proof-
+ consider "x < t \<and> y = t" | "y < t \<and> x = t" | "x = t \<and> y = t" | "x < t \<and> y < t"
+ using \<open>x < t + 1\<close> \<open>y < t + 1\<close> by linarith
+ then show "L' x j = L' y j"
+ proof cases
+ case 1
+ then show ?thesis using ** by auto
+ next
+ case 2
+ then show ?thesis using ** by auto
+ next
+ case 3
+ then show ?thesis by simp
+ next
+ case 4
+ then show ?thesis using * by auto
+ qed
+ qed
+ then show ?thesis by blast
+ next
+ case 2
+ then have "\<forall>y \<in> cube 1 t. ((restrict (\<lambda>y. L (y 0)) (cube 1 t)) y) j = y 0"
+ using \<open>j \<in> B 0\<close> Bf_defs by auto
+ then have "\<forall>y \<in> cube 1 t. L (y 0) j = y 0" by auto
+ moreover have "\<exists>!y. y \<in> cube 1 t \<and> y 0 = i" if "i < t" for i
+ proof (intro ex1I_alt)
+ define y where "y \<equiv> (\<lambda>x::nat. \<lambda>y\<in>{..<1::nat}. x)"
+ have "y i \<in> (cube 1 t)" using that unfolding cube_def y_def by simp
+ moreover have "y i 0 = i" unfolding y_def by auto
+ moreover have "z = y i" if "z \<in> cube 1 t" and "z 0 = i" for z
+ proof (rule ccontr)
+ assume "z \<noteq> y i"
+ then obtain l where l_prop: "z l \<noteq> y i l" by blast
+ consider "l \<in> {..<1::nat}" | "l \<notin> {..<1::nat}" by blast
+ then show False
+ proof cases
+ case 1
+ then show ?thesis using l_prop that(2) unfolding y_def by auto
+ next
+ case 2
+ then have "z l = undefined" using that unfolding cube_def by blast
+ moreover have "y i l = undefined" unfolding y_def using 2 by auto
+ ultimately show ?thesis using l_prop by presburger
+ qed
+ qed
+ ultimately show "\<exists>y. (y \<in> cube 1 t \<and> y 0 = i) \<and> (\<forall>ya. ya
+ \<in> cube 1 t \<and> ya 0 = i \<longrightarrow> y = ya)" by blast
+
+ qed
+ ultimately have "L s j = s" if "s < t" for s using that by blast
+ then have "L' s j = s" if "s < t" for s using that by (auto simp: L'_def)
+ moreover have "L' t j = t" using 2 B_props by (auto simp: L'_def)
+ ultimately have "L' s j = s" if "s < t+1" for s using that by (auto simp: L'_def)
+ then show ?thesis by blast
+ qed
+ qed
+ from A1 A2 A3 show ?thesis unfolding is_line_def by simp
+ qed
+ then have F1: "is_subspace S1 1 N' (t + 1)" unfolding S1_def
+ using line_is_dim1_subspace[of "N'" "t+1"] N'_props assms(1) by force
+ moreover have F2: "\<exists>c < r. (\<forall>x \<in> classes 1 t i. \<chi> (S1 x) = c)" if "i \<le> 1" for i
+ proof-
+ have "\<exists>c < r. (\<forall>y \<in> L' ` {..<t}. ?chi_t y = c)" unfolding L'_def using L_def by fastforce
+ have "\<forall>x \<in> (L ` {..<t}). x \<in> cube N' t" using L_def
+ using line_points_in_cube by blast
+ then have "\<forall>x \<in> (L' ` {..<t}). x \<in> cube N' t" by (auto simp: L'_def)
+ then have *:"\<forall>x \<in> (L' ` {..<t}). \<chi> x = ?chi_t x" by simp
+ then have "?chi_t ` (L' ` {..<t}) = \<chi> ` (L' ` {..<t})" by force
+ then have "\<exists>c < r. (\<forall>y \<in> L' ` {..<t}. \<chi> y = c)" using
+ \<open>\<exists>c < r. (\<forall>y \<in> L' ` {..<t}. ?chi_t y = c)\<close> by fastforce
+ then obtain linecol where lc_def: "linecol < r \<and> (\<forall>y \<in> L' ` {..<t}. \<chi> y = linecol)" by blast
+ consider "i = 0" | "i = 1" using \<open>i \<le> 1\<close> by linarith
+ then show "\<exists>c < r. (\<forall>x \<in> classes 1 t i. \<chi> (S1 x) = c)"
+ proof (cases)
+ case 1
+ assume "i = 0"
+ have *: "\<forall>a t. a \<in> {..<t+1} \<and> a \<noteq> t \<longleftrightarrow> a \<in> {..<(t::nat)}" by auto
+ from \<open>i = 0\<close> have "classes 1 t 0 = {x . x \<in> (cube 1 (t + 1)) \<and>
+ (\<forall>u \<in> {((1::nat) - 0)..<1}. x u = t) \<and> t \<notin> x ` {..<(1 - (0::nat))}}"
+ using classes_def by simp
+ also have "... = {x . x \<in> cube 1 (t+1) \<and> t \<notin> x ` {..<(1::nat)}}" by simp
+ also have "... = {x . x \<in> cube 1 (t+1) \<and> (x 0 \<noteq> t)}" by blast
+ also have " ... = {x . x \<in> cube 1 (t+1) \<and> (x 0 \<in> {..<t+1} \<and> x 0 \<noteq> t)}"
+ unfolding cube_def by blast
+ also have " ... = {x . x \<in> cube 1 (t+1) \<and> (x 0 \<in> {..<t})}" using * by simp
+ finally have redef: "classes 1 t 0 = {x . x \<in> cube 1 (t+1) \<and> (x 0 \<in> {..<t})}" by simp
+ have "{x 0 | x . x \<in> classes 1 t 0} \<subseteq> {..<t}" using redef by auto
+ moreover have "{..<t} \<subseteq> {x 0 | x . x \<in> classes 1 t 0}"
+ proof
+ fix x assume x: "x \<in> {..<t}"
+ hence "\<exists>a\<in>cube 1 t. a 0 = x"
+ unfolding cube_def by (intro fun_ex) auto
+ then show "x \<in> {x 0 |x. x \<in> classes 1 t 0}"
+ using x cube_subset unfolding redef by auto
+ qed
+ ultimately have **: "{x 0 | x . x \<in> classes 1 t 0} = {..<t}" by blast
+
+ have "\<chi> (S1 x) = linecol" if "x \<in> classes 1 t 0" for x
+ proof-
+ have "x \<in> cube 1 (t+1)" unfolding classes_def using that redef by blast
+ then have "S1 x = L' (x 0)" unfolding S1_def by simp
+ moreover have "x 0 \<in> {..<t}" using ** using \<open>x \<in> classes 1 t 0\<close> by blast
+ ultimately show "\<chi> (S1 x) = linecol" using lc_def using fun_upd_triv image_eqI by blast
+ qed
+ then show ?thesis using lc_def \<open>i = 0\<close> by auto
+ next
+ case 2
+ assume "i = 1"
+ have "classes 1 t 1 = {x . x \<in> (cube 1 (t + 1)) \<and> (\<forall>u \<in> {0::nat..<1}. x
+ u = t) \<and> t \<notin> x ` {..<0}}" unfolding classes_def by simp
+ also have " ... = {x . x \<in> cube 1 (t+1) \<and> (\<forall>u \<in> {0}. x u = t)}" by simp
+ finally have redef: "classes 1 t 1 = {x . x \<in> cube 1 (t+1) \<and> (x 0 = t)}" by auto
+ have "\<forall>s \<in> {..<t+1}. \<exists>!x \<in> cube 1 (t+1). (\<lambda>p.
+ \<lambda>y\<in>{..<1::nat}. p) s = x" using nat_set_eq_one_dim_cube[of "t+1"]
+ unfolding bij_betw_def by blast
+ then have "\<exists>!x \<in>cube 1 (t+1). (\<lambda>p. \<lambda>y\<in>{..<1::nat}. p) t = x" by auto
+ then obtain x where x_prop: "x \<in> cube 1 (t+1)" and "(\<lambda>p.
+ \<lambda>y\<in>{..<1::nat}. p) t = x" and "\<forall>z \<in> cube 1 (t+1). (\<lambda>p.
+ \<lambda>y\<in>{..<1::nat}. p) t = z \<longrightarrow> z = x" by blast
+ then have "(\<lambda>p. \<lambda>y\<in>{0}. p) t = x \<and> (\<forall>z \<in> cube 1
+ (t+1). (\<lambda>p. \<lambda>y\<in>{0}. p) t = z \<longrightarrow> z = x)" by force
+ then have *:"((\<lambda>p. \<lambda>y\<in>{0}. p) t) 0 = x 0 \<and> (\<forall>z \<in> cube
+ 1 (t+1). (\<lambda>p. \<lambda>y\<in>{0}. p) t = z \<longrightarrow> z = x)"
+ using x_prop by force
+
+ then have "\<exists>!y \<in> cube 1 (t + 1). y 0 = t"
+ proof (intro ex1I_alt)
+ define y where "y \<equiv> (\<lambda>x::nat. \<lambda>y\<in>{..<1::nat}. x)"
+ have "y t \<in> (cube 1 (t + 1))" unfolding cube_def y_def by simp
+ moreover have "y t 0 = t" unfolding y_def by auto
+ moreover have "z = y t" if "z \<in> cube 1 (t + 1)" and "z 0 = t" for z
+ proof (rule ccontr)
+ assume "z \<noteq> y t"
+ then obtain l where l_prop: "z l \<noteq> y t l" by blast
+ consider "l \<in> {..<1::nat}" | "l \<notin> {..<1::nat}" by blast
+ then show False
+ proof cases
+ case 1
+ then show ?thesis using l_prop that(2) unfolding y_def by auto
+ next
+ case 2
+ then have "z l = undefined" using that unfolding cube_def by blast
+ moreover have "y t l = undefined" unfolding y_def using 2 by auto
+ ultimately show ?thesis using l_prop by presburger
+ qed
+ qed
+ ultimately show "\<exists>y. (y \<in> cube 1 (t + 1) \<and> y 0 = t) \<and> (\<forall>ya.
+ ya \<in> cube 1 (t + 1) \<and> ya 0 = t \<longrightarrow> y = ya)" by blast
+ qed
+ then have "\<exists>!x \<in> classes 1 t 1. True" using redef by simp
+ then obtain x where x_def: "x \<in> classes 1 t 1 \<and> (\<forall>y \<in> classes 1 t 1. x = y)" by auto
+
+ have "\<chi> (S1 y) < r" if "y \<in> classes 1 t 1" for y
+ proof-
+ have "y = x" using x_def that by auto
+ then have "\<chi> (S1 y) = \<chi> (S1 x)" by auto
+ moreover have "S1 x \<in> cube N' (t+1)" unfolding S1_def is_line_def
+ using line_prop line_points_in_cube redef x_def by fastforce
+ ultimately show "\<chi> (S1 y) < r" using asm unfolding cube_def by auto
+ qed
+ then show ?thesis using lc_def \<open>i = 1\<close> using x_def by fast
+ qed
+ qed
+ ultimately show "(\<exists>S. is_subspace S 1 N' (t + 1) \<and> (\<forall>i \<in> {..1}.
+ \<exists>c < r. (\<forall>x \<in> classes 1 t i. \<chi> (S x) = c)))" by blast
+ qed
+ then show ?thesis using N_def unfolding layered_subspace_def lhj_def by auto
+qed
+
+subsubsection \<open>Induction step of theorem 4\<close>
+text \<open>The proof has four parts:
+\begin{enumerate}
+\item We obtain two layered subspaces of dimension 1 and k (respectively), whose existence is
+guaranteed by the assumption \<^const>\<open>lhj\<close> (i.e.\ the induction hypothesis).
+Additionally, we prove some useful facts about these.
+\item We construct a \<open>k+1\<close>-dimensional subspace with the goal of showing that it is layered.
+\item We prove that our construction is a subspace in the first place.
+\item We prove that it is a layered subspace.
+\end{enumerate}\<close>
+
+lemma hj_imp_lhj_step:
+ fixes r k
+ assumes "t > 0"
+ and "k \<ge> 1"
+ and "True"
+ and "(\<And>r k'. k' \<le> k \<Longrightarrow> lhj r t k')"
+ and "r > 0"
+ shows "lhj r t (k+1)"
+proof-
+ obtain m where m_props: "(m > 0 \<and> (\<forall>M' \<ge> m. \<forall>\<chi>. \<chi> \<in> (cube
+ M' (t + 1)) \<rightarrow>\<^sub>E {..<r::nat} \<longrightarrow> (\<exists>S. layered_subspace S k
+ M' t r \<chi>)))" using assms(4)[of "k" "r"] unfolding lhj_def by blast
+ define s where "s \<equiv> r^((t + 1)^m)"
+ obtain n' where n'_props: "(n' > 0 \<and> (\<forall>N \<ge> n'. \<forall>\<chi>. \<chi> \<in>
+ (cube N (t + 1)) \<rightarrow>\<^sub>E {..<s::nat} \<longrightarrow> (\<exists>S. layered_subspace
+ S 1 N t s \<chi>)))" using assms(2) assms(4)[of "1" "s"] unfolding lhj_def by auto
+
+ have "(\<exists>T. layered_subspace T (k + 1) (M') t r \<chi>)" if \<chi>_prop: "\<chi> \<in> cube
+ M' (t + 1) \<rightarrow>\<^sub>E {..<r}" and M'_prop: "M' \<ge> n' + m" for \<chi> M'
+ proof -
+ define d where "d \<equiv> M' - (n' + m)"
+ define n where "n \<equiv> n' + d"
+ have "n \<ge> n'" unfolding n_def d_def by simp
+ have "n + m = M'" unfolding n_def d_def using M'_prop by simp
+ have line_subspace_s: "\<exists>S. layered_subspace S 1 n t s \<chi> \<and> is_line
+ (\<lambda>s\<in>{..<t+1}. S (SOME p. p\<in>cube 1 (t+1) \<and> p 0 = s)) n (t+1)" if "\<chi>
+ \<in> (cube n (t + 1)) \<rightarrow>\<^sub>E {..<s::nat}" for \<chi>
+ proof-
+ have "\<exists>S. layered_subspace S 1 n t s \<chi>" using that n'_props \<open>n \<ge> n'\<close> by blast
+ then obtain L where "layered_subspace L 1 n t s \<chi>" by blast
+ then have "is_subspace L 1 n (t+1)" unfolding layered_subspace_def by simp
+ then have "is_line (\<lambda>s\<in>{..<t+1}. L (SOME p. p\<in>cube 1 (t+1) \<and> p 0 = s)) n (t + 1)"
+ using dim1_subspace_is_line[of "t+1" "L" "n"] assms(1) by simp
+ then show "\<exists>S. layered_subspace S 1 n t s \<chi> \<and> is_line (\<lambda>s\<in>{..<t
+ + 1}. S (SOME p. p \<in> cube 1 (t+1) \<and> p 0 = s)) n (t + 1)" using
+ \<open>layered_subspace L 1 n t s \<chi>\<close> by auto
+ qed
+
+ paragraph \<open>Part 1: Obtaining the subspaces \<open>L\<close> and \<open>S\<close>\\\<close>
+ text \<open>Recall that @{term lhj} claims the existence of a layered subspace for any colouring
+ (of a fixed size, where the size of a colouring refers to the number of colours). Therefore, the
+ colourings have to be defined first, before the layered subspaces can be obtained. The colouring
+ \<open>\<chi>L\<close> here is $\chi^*$ in the book~\cite{thebook}, an
+ \<open>s\<close>-colouring; see the fact \<open>s_coloured\<close> a couple of lines
+ below.\<close>
+
+ define \<chi>L where "\<chi>L \<equiv> (\<lambda>x \<in> cube n (t+1). (\<lambda>y \<in> cube m
+ (t + 1). \<chi> (join x y n m)))"
+ have A: "\<forall>x \<in> cube n (t+1). \<forall>y \<in> cube m (t+1). \<chi> (join x y n m) \<in> {..<r}"
+ proof(safe)
+ fix x y
+ assume "x \<in> cube n (t+1)" "y \<in> cube m (t+1)"
+ then have "join x y n m \<in> cube (n+m) (t+1)" using join_cubes[of x n t y m] by simp
+ then show "\<chi> (join x y n m) < r" using \<chi>_prop \<open>n + m = M'\<close> by blast
+ qed
+ have \<chi>L_prop: "\<chi>L \<in> cube n (t+1) \<rightarrow>\<^sub>E cube m (t+1) \<rightarrow>\<^sub>E {..<r}"
+ using A by (auto simp: \<chi>L_def)
+
+ have "card (cube m (t+1) \<rightarrow>\<^sub>E {..<r}) = (card {..<r}) ^ (card (cube m (t+1)))"
+ using card_PiE[of "cube m (t + 1)" "\<lambda>_. {..<r}"] by (simp add: cube_def finite_PiE)
+ also have "... = r ^ (card (cube m (t+1)))" by simp
+ also have "... = r ^ ((t+1)^m)" using cube_card unfolding cube_def by simp
+ finally have "card (cube m (t+1) \<rightarrow>\<^sub>E {..<r}) = r ^ ((t+1)^m)" .
+ then have s_coloured: "card (cube m (t+1) \<rightarrow>\<^sub>E {..<r}) = s" unfolding s_def by simp
+ have "s > 0" using assms(5) unfolding s_def by simp
+ then obtain \<phi> where \<phi>_prop: "bij_betw \<phi> (cube m (t+1) \<rightarrow>\<^sub>E {..<r}) {..<s}"
+ using assms(5) ex_bij_betw_nat_finite_2[of "cube m (t+1) \<rightarrow>\<^sub>E {..<r}" "s"] s_coloured by blast
+ define \<chi>L_s where "\<chi>L_s \<equiv> (\<lambda>x\<in>cube n (t+1). \<phi> (\<chi>L x))"
+ have "\<chi>L_s \<in> cube n (t+1) \<rightarrow>\<^sub>E {..<s}"
+ proof
+ fix x assume a: "x \<in> cube n (t+1)"
+ then have "\<chi>L_s x = \<phi> (\<chi>L x)" unfolding \<chi>L_s_def by simp
+ moreover have "\<chi>L x \<in> (cube m (t+1) \<rightarrow>\<^sub>E {..<r})"
+ using a \<chi>L_def \<chi>L_prop unfolding \<chi>L_def by blast
+ moreover have "\<phi> (\<chi>L x) \<in> {..<s}" using \<phi>_prop calculation(2) unfolding bij_betw_def by blast
+ ultimately show "\<chi>L_s x \<in> {..<s}" by auto
+ qed (auto simp: \<chi>L_s_def)
+ text \<open>L is the layered line which we obtain from the monochromatic line guaranteed to
+ exist by the assumption \<open>hj s t\<close>.\<close>
+ then obtain L where L_prop: "layered_subspace L 1 n t s \<chi>L_s" using line_subspace_s by blast
+ define L_line where "L_line \<equiv> (\<lambda>s\<in>{..<t+1}. L (SOME p. p\<in>cube 1 (t+1) \<and> p 0 = s))"
+ have L_line_base_prop: "\<forall>s \<in> {..<t+1}. L_line s \<in> cube n (t+1)"
+ using assms(1) dim1_subspace_is_line[of "t+1" "L" "n"] L_prop line_points_in_cube[of L_line n "t+1"]
+ unfolding layered_subspace_def L_line_def by auto
+
+ text \<open>Here, \<open>\<chi>S\<close> is $\chi^{**}$ in the book~\cite{thebook}, an r-colouring.\<close>
+ define \<chi>S where "\<chi>S \<equiv> (\<lambda>y\<in>cube m (t+1). \<chi> (join (L_line 0) y n m))"
+ have "\<chi>S \<in> (cube m (t + 1)) \<rightarrow>\<^sub>E {..<r::nat}"
+ proof
+ fix x assume a: "x \<in> cube m (t+1)"
+ then have "\<chi>S x = \<chi> (join (L_line 0) x n m)" unfolding \<chi>S_def by simp
+ moreover have "L_line 0 = L (SOME p. p\<in>cube 1 (t+1) \<and> p 0 = 0)"
+ using L_prop assms(1) unfolding L_line_def by simp
+ moreover have "(SOME p. p\<in>cube 1 (t+1) \<and> p 0 = 0) \<in> cube 1 (t+1)" using cube_props(4)[of 0 "t+1"]
+ using assms(1) by auto
+ moreover have "L \<in> cube 1 (t+1) \<rightarrow>\<^sub>E cube n (t+1)"
+ using L_prop unfolding layered_subspace_def is_subspace_def by blast
+ moreover have "L (SOME p. p\<in>cube 1 (t+1) \<and> p 0 = 0) \<in> cube n (t+1)"
+ using calculation (3,4) unfolding cube_def by auto
+ moreover have "join (L_line 0) x n m \<in> cube (n + m) (t+1)" using join_cubes a calculation(2, 5) by auto
+ ultimately show "\<chi>S x \<in> {..<r}" using A a by fastforce
+ qed (auto simp: \<chi>S_def)
+ text \<open>\<open>S\<close> is the $k$-dimensional layered subspace that arises as a
+ consequence of the induction hypothesis. Note that the colouring is \<open>\<chi>S\<close>, an
+ \<open>r\<close>-colouring.\<close>
+ then obtain S where S_prop: "layered_subspace S k m t r \<chi>S" using assms(4) m_props by blast
+ text \<open>Remark: \<open>L_Line i\<close> returns the i-th point of the line.\<close>
+
+ paragraph \<open>Part 2: Constructing the $(k+1)$-dimensional subspace \<open>T\<close>\\\<close>
+
+ text \<open>Below, \<open>Tset\<close> is the set as defined in the book~\cite{thebook}. It
+ represents the $(k+1)$-dimensional subspace. In this construction, subspaces (e.g.
+ \<open>T\<close>) are functions whose image is a set. See the fact \<open>im_T_eq_Tset\<close>
+ below.\<close>
+
+ text\<open>Having obtained our subspaces \<open>S\<close> and \<open>L\<close>, we define the
+ $(k+1)$-dimensional subspace very straightforwardly Namely, T = L \times S. Since we represent
+ tuples by function sets, we need an appropriate operator that mirrors the Cartesian product
+ $\times$ for these. We call this \<open>join\<close> and define it for elements of a function
+ set.\<close>
+ define Tset where "Tset \<equiv> {join (L_line i) s n m | i s . i \<in> {..<t+1} \<and> s \<in> S ` (cube k (t+1))}"
+ define T' where "T' \<equiv> (\<lambda>x \<in> cube 1 (t+1). \<lambda>y \<in> cube k (t+1). join
+ (L_line (x 0)) (S y) n m)"
+ have T'_prop: "T' \<in> cube 1 (t+1) \<rightarrow>\<^sub>E cube k (t+1) \<rightarrow>\<^sub>E cube (n + m) (t+1)"
+ proof
+ fix x assume a: "x \<in> cube 1 (t+1)"
+ show "T' x \<in> cube k (t + 1) \<rightarrow>\<^sub>E cube (n + m) (t + 1)"
+ proof
+ fix y assume b: "y \<in> cube k (t+1)"
+ then have "T' x y = join (L_line (x 0)) (S y) n m" using a unfolding T'_def by simp
+ moreover have "L_line (x 0) \<in> cube n (t+1)" using a L_line_base_prop unfolding cube_def by blast
+ moreover have "S y \<in> cube m (t+1)"
+ using subspace_elems_embed[of "S" "k" "m" "t+1"] S_prop b unfolding layered_subspace_def by blast
+ ultimately show "T' x y \<in> cube (n + m) (t + 1)" using join_cubes by presburger
+ next
+ qed (unfold T'_def; use a in simp)
+ qed (auto simp: T'_def)
+
+ define T where "T \<equiv> (\<lambda>x \<in> cube (k + 1) (t+1). T' (\<lambda>y \<in> {..<1}. x
+ y) (\<lambda>y \<in> {..<k}. x (y + 1)))"
+ have T_prop: "T \<in> cube (k+1) (t+1) \<rightarrow>\<^sub>E cube (n+m) (t+1)"
+ proof
+ fix x assume a: "x \<in> cube (k+1) (t+1)"
+ then have "T x = T' (\<lambda>y \<in> {..<1}. x y) (\<lambda>y \<in> {..<k}. x (y + 1))" unfolding T_def by auto
+ moreover have "(\<lambda>y \<in> {..<1}. x y) \<in> cube 1 (t+1)" using a unfolding cube_def by auto
+ moreover have "(\<lambda>y \<in> {..<k}. x (y + 1)) \<in> cube k (t+1)" using a unfolding cube_def by auto
+ moreover have "T' (\<lambda>y \<in> {..<1}. x y) (\<lambda>y \<in> {..<k}. x (y + 1)) \<in> cube (n + m) (t+1)"
+ using T'_prop calculation unfolding T'_def by blast
+ ultimately show "T x \<in> cube (n + m) (t+1)" by argo
+ qed (auto simp: T_def)
+
+ have im_T_eq_Tset: "T ` cube (k+1) (t+1) = Tset"
+ proof
+ show "T ` cube (k + 1) (t + 1) \<subseteq> Tset"
+ proof
+ fix x assume "x \<in> T ` cube (k+1) (t+1)"
+ then obtain y where y_prop: "y \<in> cube (k+1) (t+1) \<and> x = T y" by blast
+ then have "T y = T' (\<lambda>i \<in> {..<1}. y i) (\<lambda>i \<in> {..<k}. y (i + 1))" unfolding T_def by simp
+ moreover have "(\<lambda>i \<in> {..<1}. y i) \<in> cube 1 (t+1)" using y_prop unfolding cube_def by auto
+ moreover have "(\<lambda>i \<in> {..<k}. y (i + 1)) \<in> cube k (t+1)" using y_prop unfolding cube_def by auto
+ moreover have " T' (\<lambda>i \<in> {..<1}. y i) (\<lambda>i \<in> {..<k}. y (i + 1)) =
+ join (L_line ((\<lambda>i \<in> {..<1}. y i) 0)) (S (\<lambda>i \<in> {..<k}. y (i + 1))) n m"
+ using calculation unfolding T'_def by auto
+ ultimately have *: "T y = join (L_line ((\<lambda>i \<in> {..<1}. y i) 0))
+ (S (\<lambda>i \<in> {..<k}. y (i + 1))) n m" by simp
+
+ have "(\<lambda>i \<in> {..<1}. y i) 0 \<in> {..<t+1}" using y_prop unfolding cube_def by auto
+ moreover have "S (\<lambda>i \<in> {..<k}. y (i + 1)) \<in> S ` (cube k (t+1))"
+ using \<open>(\<lambda>i\<in>{..<k}. y (i + 1)) \<in> cube k (t + 1)\<close> by blast
+ ultimately have "T y \<in> Tset" using * unfolding Tset_def by blast
+ then show "x \<in> Tset" using y_prop by simp
+ qed
+
+ show "Tset \<subseteq> T ` cube (k + 1) (t + 1)"
+ proof
+ fix x assume "x \<in> Tset"
+ then obtain i sx sxinv where isx_prop: "x = join (L_line i) sx n m \<and> i \<in> {..<t+1}
+ \<and> sx \<in> S ` (cube k (t+1)) \<and> sxinv \<in> cube k (t+1) \<and> S sxinv = sx"
+ unfolding Tset_def by blast
+ let ?f1 = "(\<lambda>j \<in> {..<1::nat}. i)"
+ let ?f2 = "sxinv"
+ have "?f1 \<in> cube 1 (t+1)" using isx_prop unfolding cube_def by simp
+ moreover have "?f2 \<in> cube k (t+1)" using isx_prop by blast
+ moreover have "x = join (L_line (?f1 0)) (S ?f2) n m" by (simp add: isx_prop)
+ ultimately have *: "x = T' ?f1 ?f2" unfolding T'_def by simp
+
+ define f where "f \<equiv> (\<lambda>j \<in> {1..<k+1}. ?f2 (j - 1))(0:=i)"
+ have "f \<in> cube (k+1) (t+1)"
+ proof (unfold cube_def; intro PiE_I)
+ fix j assume "j \<in> {..<k+1}"
+ then consider "j = 0" | "j \<in> {1..<k+1}" by fastforce
+ then show "f j \<in> {..<t+1}"
+ proof (cases)
+ case 1
+ then have "f j = i" unfolding f_def by simp
+ then show ?thesis using isx_prop by simp
+ next
+ case 2
+ then have "j - 1 \<in> {..<k}" by auto
+ moreover have "f j = ?f2 (j - 1)" using 2 unfolding f_def by simp
+ moreover have "?f2 (j - 1) \<in> {..<t+1}" using calculation(1) isx_prop unfolding cube_def by blast
+ ultimately show ?thesis by simp
+ qed
+ qed (auto simp: f_def)
+ have "?f1 = (\<lambda>j \<in> {..<1}. f j)" unfolding f_def using isx_prop by auto
+ moreover have "?f2 = (\<lambda>j\<in>{..<k}. f (j+1))"
+ using calculation isx_prop unfolding cube_def f_def by fastforce
+ ultimately have "T' ?f1 ?f2 = T f" using \<open>f \<in> cube (k+1) (t+1)\<close> unfolding T_def by simp
+ then show "x \<in> T ` cube (k + 1) (t + 1)" using *
+ using \<open>f \<in> cube (k + 1) (t + 1)\<close> by blast
+ qed
+
+
+ qed
+ have "Tset \<subseteq> cube (n + m) (t+1)"
+ proof
+ fix x assume a: "x\<in>Tset"
+ then obtain i sx where isx_props: "x = join (L_line i) sx n m \<and> i \<in> {..<t+1} \<and>
+ sx \<in> S ` (cube k (t+1))" unfolding Tset_def by blast
+ then have "L_line i \<in> cube n (t+1)" using L_line_base_prop by blast
+ moreover have "sx \<in> cube m (t+1)"
+ using subspace_elems_embed[of "S" "k" "m" "t+1"] S_prop isx_props unfolding layered_subspace_def by blast
+ ultimately show "x \<in> cube (n + m) (t+1)" using join_cubes[of "L_line i" "n" "t" sx m] isx_props by simp
+ qed
+
+
+ paragraph \<open>Part 3: Proving that \<open>T\<close> is a subspace\\\<close>
+
+ text \<open>To prove something is a subspace, we have to provide the \<open>B\<close> and \<open>f\<close>
+ satisfying the subspace properties.
+ We construct \<open>BT\<close> and \<open>fT\<close> from \<open>BS\<close>, \<open>fS\<close> and
+ \<open>BL\<close>, \<open>fL\<close>, which correspond to the $k$-dimensional subspace \<open>S\<close>
+ and the $1$-dimensional subspace (i.e.\ line) \<open>L\<close>, respectively.\<close>
+ obtain BS fS where BfS_props: "disjoint_family_on BS {..k}" "\<Union>(BS ` {..k}) = {..<m}" "({}
+ \<notin> BS ` {..<k})" " fS \<in> (BS k) \<rightarrow>\<^sub>E {..<t+1}" "S \<in> (cube k (t+1))
+ \<rightarrow>\<^sub>E (cube m (t+1)) " "(\<forall>y \<in> cube k (t+1). (\<forall>i \<in> BS k.
+ S y i = fS i) \<and> (\<forall>j<k. \<forall>i \<in> BS j. (S y) i = y j))" using S_prop
+ unfolding layered_subspace_def is_subspace_def by auto
+
+ obtain BL fL where BfL_props: "disjoint_family_on BL {..1}" "\<Union>(BL ` {..1}) = {..<n}"
+ "({} \<notin> BL ` {..<1})" "fL \<in> (BL 1) \<rightarrow>\<^sub>E {..<t+1}" "L \<in> (cube 1
+ (t+1)) \<rightarrow>\<^sub>E (cube n (t+1))" "(\<forall>y \<in> cube 1 (t+1). (\<forall>i \<in>
+ BL 1. L y i = fL i) \<and> (\<forall>j<1. \<forall>i \<in> BL j. (L y) i = y j))" using L_prop
+ unfolding layered_subspace_def is_subspace_def by auto
+
+ define Bstat where "Bstat \<equiv> set_incr n (BS k) \<union> BL 1"
+ define Bvar where "Bvar \<equiv> (\<lambda>i::nat. (if i = 0 then BL 0 else set_incr n (BS (i - 1))))"
+ define BT where "BT \<equiv> (\<lambda>i \<in> {..<k+1}. Bvar i)((k+1):=Bstat)"
+ define fT where "fT \<equiv> (\<lambda>x. (if x \<in> BL 1 then fL x else (if x \<in> set_incr n
+ (BS k) then fS (x - n) else undefined)))"
+
+ have fact1: "set_incr n (BS k) \<inter> BL 1 = {}" using BfL_props BfS_props unfolding set_incr_def by auto
+ have fact2: "BL 0 \<inter> (\<Union>i\<in>{..<k}. set_incr n (BS i)) = {}"
+ using BfL_props BfS_props unfolding set_incr_def by auto
+ have fact3: "\<forall>i \<in> {..<k}. BL 0 \<inter> set_incr n (BS i) = {}"
+ using BfL_props BfS_props unfolding set_incr_def by auto
+ have fact4: "\<forall>i \<in> {..<k+1}. \<forall>j \<in> {..<k+1}. i \<noteq> j
+ \<longrightarrow> set_incr n (BS i) \<inter> set_incr n (BS j) = {}"
+ using set_incr_disjoint_family[of BS k] BfS_props unfolding disjoint_family_on_def by simp
+ have fact5: "\<forall>i \<in> {..<k+1}. Bvar i \<inter> Bstat = {}"
+ proof
+ fix i assume a: "i \<in> {..<k+1}"
+ show "Bvar i \<inter> Bstat = {}"
+ proof (cases i)
+ case 0
+ then have "Bvar i = BL 0" unfolding Bvar_def by simp
+ moreover have "BL 0 \<inter> BL 1 = {}" using BfL_props unfolding disjoint_family_on_def by simp
+ moreover have "set_incr n (BS k) \<inter> BL 0 = {}" using BfL_props BfS_props unfolding set_incr_def by auto
+ ultimately show ?thesis unfolding Bstat_def by blast
+ next
+ case (Suc nat)
+ then have "Bvar i = set_incr n (BS nat)" unfolding Bvar_def by simp
+ moreover have "set_incr n (BS nat) \<inter> BL 1 = {}" using BfS_props BfL_props a Suc unfolding set_incr_def
+ by auto
+ moreover have "set_incr n (BS nat) \<inter> set_incr n (BS k) = {}" using a Suc fact4 by simp
+ ultimately show ?thesis unfolding Bstat_def by blast
+ qed
+ qed
+
+ text \<open>The facts \<open>F1\<close>, ..., \<open>F5\<close> are the disjuncts in the subspace definition.\<close>
+ have "Bvar ` {..<k+1} = BL ` {..<1} \<union> Bvar ` {1..<k+1}" unfolding Bvar_def by force
+ also have " ... = BL ` {..<1} \<union> {set_incr n (BS i) | i . i \<in> {..<k}} " unfolding Bvar_def by fastforce
+ moreover have "{} \<notin> BL ` {..<1}" using BfL_props by auto
+ moreover have "{} \<notin> {set_incr n (BS i) | i . i \<in> {..<k}}" using BfS_props(2, 3) set_incr_def by fastforce
+ ultimately have "{} \<notin> Bvar ` {..<k+1}" by simp
+ then have F1: "{} \<notin> BT ` {..<k+1}" unfolding BT_def by simp
+ moreover
+ {
+ have F2_aux: "disjoint_family_on Bvar {..<k+1}"
+ proof (unfold disjoint_family_on_def; safe)
+ fix m n x assume a: "m < k + 1" "n < k + 1" "m \<noteq> n" "x \<in> Bvar m" "x \<in> Bvar n"
+ show "x \<in> {}"
+ proof (cases "n")
+ case 0
+ then show ?thesis using a fact3 unfolding Bvar_def by auto
+ next
+ case (Suc nnat)
+ then have *: "n = Suc nnat" by simp
+ then show ?thesis
+ proof (cases m)
+ case 0
+ then show ?thesis using a fact3 unfolding Bvar_def by auto
+ next
+ case (Suc mnat)
+ then show ?thesis using a fact4 * unfolding Bvar_def by fastforce
+ qed
+ qed
+ qed
+
+ have F2: "disjoint_family_on BT {..k+1}"
+ proof
+ fix m n assume a: "m\<in>{..k+1}" "n\<in>{..k+1}" "m \<noteq> n"
+ have "\<forall>x. x \<in> BT m \<inter> BT n \<longrightarrow> x \<in> {}"
+ proof (intro allI impI)
+ fix x assume b: "x \<in> BT m \<inter> BT n"
+ have "m < k + 1 \<and> n < k + 1 \<or> m = k + 1 \<and> n = k + 1 \<or> m < k + 1
+ \<and> n = k + 1 \<or> m = k + 1 \<and> n < k + 1" using a le_eq_less_or_eq by auto
+ then show "x \<in> {}"
+ proof (elim disjE)
+ assume c: "m < k + 1 \<and> n < k + 1"
+ then have "BT m = Bvar m \<and> BT n = Bvar n" unfolding BT_def by simp
+ then show "x \<in> {}" using a b c fact4 F2_aux unfolding Bvar_def disjoint_family_on_def by auto
+ qed (use a b fact5 in \<open>auto simp: BT_def\<close>)
+ qed
+ then show "BT m \<inter> BT n = {}" by auto
+ qed
+ }
+ moreover have F3: "\<Union>(BT ` {..k+1}) = {..<n + m}"
+ proof
+ show "\<Union> (BT ` {..k + 1}) \<subseteq> {..<n + m}"
+ proof
+ fix x assume "x \<in> \<Union> (BT ` {..k + 1})"
+ then obtain i where i_prop: "i \<in> {..k+1} \<and> x \<in> BT i" by blast
+ then consider "i = k +1" | "i \<in> {..<k+1}" by fastforce
+ then show "x \<in> {..<n + m}"
+ proof (cases)
+ case 1
+ then have "x \<in> Bstat" using i_prop unfolding BT_def by simp
+ then have "x \<in> BL 1 \<or> x \<in> set_incr n (BS k)" unfolding Bstat_def by blast
+ then have "x \<in> {..<n} \<or> x \<in> {n..<n+m}" using BfL_props BfS_props(2) set_incr_image[of BS k m n]
+ by blast
+ then show ?thesis by auto
+ next
+ case 2
+ then have "x \<in> Bvar i" using i_prop unfolding BT_def by simp
+ then have "x \<in> BL 0 \<or> x \<in> set_incr n (BS (i - 1))" unfolding Bvar_def by presburger
+ then show ?thesis
+ proof (elim disjE)
+ assume "x \<in> BL 0"
+ then have "x \<in> {..<n}" using BfL_props by auto
+ then show "x \<in> {..<n + m}" by simp
+ next
+ assume a: "x \<in> set_incr n (BS (i - 1))"
+ then have "i - 1 \<le> k"
+ by (meson atMost_iff i_prop le_diff_conv)
+ then have "set_incr n (BS (i - 1)) \<subseteq> {n..<n+m}" using set_incr_image[of BS k m n] BfS_props
+ by auto
+ then show "x \<in> {..<n+m}" using a by auto
+ qed
+ qed
+ qed
+ next
+ show "{..<n + m} \<subseteq> \<Union> (BT ` {..k + 1})"
+ proof
+ fix x assume "x \<in> {..<n + m}"
+ then consider "x \<in> {..<n}" | "x \<in> {n..<n+m}" by fastforce
+ then show "x \<in> \<Union> (BT ` {..k + 1})"
+ proof (cases)
+ case 1
+ have *: "{..1::nat} = {0, 1::nat}" by auto
+ from 1 have "x \<in> \<Union> (BL ` {..1::nat})" using BfL_props by simp
+ then have "x \<in> BL 0 \<or> x \<in> BL 1" using * by simp
+ then show ?thesis
+ proof (elim disjE)
+ assume "x \<in> BL 0"
+ then have "x \<in> Bvar 0" unfolding Bvar_def by simp
+ then have "x \<in> BT 0" unfolding BT_def by simp
+ then show "x \<in> \<Union> (BT ` {..k + 1})" by auto
+ next
+ assume "x \<in> BL 1"
+ then have "x \<in> Bstat" unfolding Bstat_def by simp
+ then have "x \<in> BT (k+1)" unfolding BT_def by simp
+ then show "x \<in> \<Union> (BT ` {..k + 1})" by auto
+ qed
+ next
+ case 2
+ then have "x \<in> (\<Union>i\<le>k. set_incr n (BS i))" using set_incr_image[of BS k m n] BfS_props by simp
+ then obtain i where i_prop: "i \<le> k \<and> x \<in> set_incr n (BS i)" by blast
+ then consider "i = k" | "i < k" by fastforce
+ then show ?thesis
+ proof (cases)
+ case 1
+ then have "x \<in> Bstat" unfolding Bstat_def using i_prop by auto
+ then have "x \<in> BT (k+1)" unfolding BT_def by simp
+ then show ?thesis by auto
+ next
+ case 2
+ then have "x \<in> Bvar (i + 1)" unfolding Bvar_def using i_prop by simp
+ then have "x \<in> BT (i + 1)" unfolding BT_def using 2 by force
+ then show ?thesis using 2 by auto
+ qed
+ qed
+ qed
+ qed
+
+ moreover have F4: "fT \<in> (BT (k+1)) \<rightarrow>\<^sub>E {..<t+1}"
+ proof
+ fix x assume "x \<in> BT (k+1)"
+ then have "x \<in> Bstat" unfolding BT_def by simp
+ then have "x \<in> BL 1 \<or> x \<in> set_incr n (BS k)" unfolding Bstat_def by auto
+ then show "fT x \<in> {..<t + 1}"
+ proof (elim disjE)
+ assume "x \<in> BL 1"
+ then have "fT x = fL x" unfolding fT_def by simp
+ then show "fT x \<in> {..<t+1}" using BfL_props \<open>x \<in> BL 1\<close> by auto
+ next
+ assume a: "x \<in> set_incr n (BS k)"
+ then have "fT x = fS (x - n)" using fact1 unfolding fT_def by auto
+ moreover have "x - n \<in> BS k" using a unfolding set_incr_def by auto
+ ultimately show "fT x \<in> {..<t+1}" using BfS_props by auto
+ qed
+ qed(auto simp: BT_def Bstat_def fT_def)
+ moreover have F5: "((\<forall>i \<in> BT (k + 1). T y i = fT i) \<and> (\<forall>j<k+1.
+ \<forall>i \<in> BT j. (T y) i = y j))" if "y \<in> cube (k + 1) (t + 1)" for y
+ proof(intro conjI allI impI ballI)
+ fix i assume "i \<in> BT (k + 1)"
+ then have "i \<in> Bstat" unfolding BT_def by simp
+ then consider "i \<in> set_incr n (BS k)" | "i \<in> BL 1" unfolding Bstat_def by blast
+ then show "T y i = fT i"
+ proof (cases)
+ case 1
+ then have "\<exists>s<m. i = n + s" unfolding set_incr_def using BfS_props(2) by auto
+ then obtain s where s_prop: "s < m \<and> i = n + s" by blast
+ then have *: " i \<in> {n..<n+m}" by simp
+ have "i \<notin> BL 1" using 1 fact1 by auto
+ then have "fT i = fS (i - n)" using 1 unfolding fT_def by simp
+ then have **: "fT i = fS s" using s_prop by simp
+
+ have XX: "(\<lambda>z \<in> {..<k}. y (z + 1)) \<in> cube k (t+1)" using split_cube that by simp
+ have XY: "s \<in> BS k" using s_prop 1 unfolding set_incr_def by auto
+
+ from that have "T y i = (T' (\<lambda>z \<in> {..<1}. y z) (\<lambda>z \<in> {..<k}. y (z + 1))) i"
+ unfolding T_def by auto
+ also have "... = (join (L_line ((\<lambda>z \<in> {..<1}. y z) 0)) (S (\<lambda>z \<in>
+ {..<k}. y (z + 1))) n m) i" using split_cube that unfolding T'_def by simp
+ also have "... = (join (L_line (y 0)) (S (\<lambda>z \<in> {..<k}. y (z + 1))) n m) i" by simp
+ also have "... = (S (\<lambda>z \<in> {..<k}. y (z + 1))) s" using * s_prop unfolding join_def by simp
+ also have "... = fS s" using XX XY BfS_props(6) by blast
+ finally show ?thesis using ** by simp
+ next
+ case 2
+ have XZ: "y 0 \<in> {..<t+1}" using that unfolding cube_def by auto
+ have XY: "i \<in> {..<n}" using 2 BfL_props(2) by blast
+ have XX: "(\<lambda>z \<in> {..<1}. y z) \<in> cube 1 (t+1)" using that split_cube by simp
+
+ have some_eq_restrict: "(SOME p. p\<in>cube 1 (t+1) \<and> p 0 = ((\<lambda>z \<in> {..<1}.
+ y z) 0)) = (\<lambda>z \<in> {..<1}. y z)"
+ proof
+ show "restrict y {..<1} \<in> cube 1 (t + 1) \<and> restrict y {..<1} 0 = restrict y {..<1} 0"
+ using XX by simp
+ next
+ fix p
+ assume "p \<in> cube 1 (t+1) \<and> p 0 = restrict y {..<1} 0"
+ moreover have "p u = restrict y {..<1} u" if "u \<notin> {..<1}" for u
+ using that calculation XX unfolding cube_def
+ using PiE_arb[of "restrict y {..<1}" "{..<1}" "\<lambda>x. {..<t + 1}" u]
+ PiE_arb[of p "{..<1}" "\<lambda>x. {..<t + 1}" u] by simp
+ ultimately show "p = restrict y {..<1}" by auto
+ qed
+
+ from that have "T y i = (T' (\<lambda>z \<in> {..<1}. y z) (\<lambda>z \<in> {..<k}. y (z + 1))) i"
+ unfolding T_def by auto
+ also have "... = (join (L_line ((\<lambda>z \<in> {..<1}. y z) 0)) (S (\<lambda>z \<in> {..<k}. y (z + 1))) n m) i"
+ using split_cube that unfolding T'_def by simp
+ also have "... = (L_line ((\<lambda>z \<in> {..<1}. y z) 0)) i" using XY unfolding join_def by simp
+ also have "... = L (SOME p. p\<in>cube 1 (t+1) \<and> p 0 = ((\<lambda>z \<in> {..<1}. y z) 0)) i"
+ using XZ unfolding L_line_def by auto
+ also have "... = L (\<lambda>z \<in> {..<1}. y z) i" using some_eq_restrict by simp
+ also have "... = fL i" using BfL_props(6) XX 2 by blast
+ also have "... = fT i" using 2 unfolding fT_def by simp
+ finally show ?thesis .
+ qed
+ next
+ fix j i assume "j < k + 1" "i \<in> BT j"
+ then have i_prop: "i \<in> Bvar j" unfolding BT_def by auto
+ consider "j = 0" | "j > 0" by auto
+ then show "T y i = y j"
+ proof cases
+ case 1
+ then have "i \<in> BL 0" using i_prop unfolding Bvar_def by auto
+ then have XY: "i \<in> {..<n}" using 1 BfL_props(2) by blast
+ have XX: "(\<lambda>z \<in> {..<1}. y z) \<in> cube 1 (t+1)" using that split_cube by simp
+ have XZ: "y 0 \<in> {..<t+1}" using that unfolding cube_def by auto
+
+ have some_eq_restrict: "(SOME p. p\<in>cube 1 (t+1) \<and> p 0 = ((\<lambda>z \<in> {..<1}.
+ y z) 0)) = (\<lambda>z \<in> {..<1}. y z)"
+ proof
+ show "restrict y {..<1} \<in> cube 1 (t + 1) \<and> restrict y {..<1} 0 = restrict y {..<1} 0" using XX by simp
+ next
+ fix p
+ assume "p \<in> cube 1 (t+1) \<and> p 0 = restrict y {..<1} 0"
+ moreover have "p u = restrict y {..<1} u" if "u \<notin> {..<1}" for u
+ using that calculation XX unfolding cube_def
+ using PiE_arb[of "restrict y {..<1}" "{..<1}" "\<lambda>x. {..<t + 1}" u]
+ PiE_arb[of p "{..<1}" "\<lambda>x. {..<t + 1}" u] by simp
+ ultimately show "p = restrict y {..<1}" by auto
+ qed
+
+ from that have "T y i = (T' (\<lambda>z \<in> {..<1}. y z) (\<lambda>z \<in> {..<k}. y (z + 1))) i"
+ unfolding T_def by auto
+ also have "... = (join (L_line ((\<lambda>z \<in> {..<1}. y z) 0)) (S (\<lambda>z \<in> {..<k}. y (z + 1))) n m) i"
+ using split_cube that unfolding T'_def by simp
+ also have "... = (L_line ((\<lambda>z \<in> {..<1}. y z) 0)) i" using XY unfolding join_def by simp
+ also have "... = L (SOME p. p\<in>cube 1 (t+1) \<and> p 0 = ((\<lambda>z \<in> {..<1}. y z) 0)) i"
+ using XZ unfolding L_line_def by auto
+ also have "... = L (\<lambda>z \<in> {..<1}. y z) i" using some_eq_restrict by simp
+ also have "... = (\<lambda>z \<in> {..<1}. y z) j" using BfL_props(6) XX 1 \<open>i \<in> BL 0\<close> by blast
+ also have "... = (\<lambda>z \<in> {..<1}. y z) 0" using 1 by blast
+ also have "... = y 0" by simp
+ also have "... = y j" using 1 by simp
+ finally show ?thesis .
+ next
+ case 2
+ then have "i \<in> set_incr n (BS (j - 1))" using i_prop unfolding Bvar_def by simp
+ then have "\<exists>s<m. n + s = i" using BfS_props(2) \<open>j < k + 1\<close> unfolding set_incr_def by force
+ then obtain s where s_prop: "s < m" "i = s + n" by auto
+ then have *: " i \<in> {n..<n+m}" by simp
+
+ have XX: "(\<lambda>z \<in> {..<k}. y (z + 1)) \<in> cube k (t+1)" using split_cube that by simp
+ have XY: "s \<in> BS (j - 1)" using s_prop 2 \<open>i \<in> set_incr n (BS (j - 1))\<close>
+ unfolding set_incr_def by force
+
+ from that have "T y i = (T' (\<lambda>z \<in> {..<1}. y z) (\<lambda>z \<in> {..<k}. y (z + 1))) i"
+ unfolding T_def by auto
+ also have "... = (join (L_line ((\<lambda>z \<in> {..<1}. y z) 0)) (S (\<lambda>z \<in> {..<k}. y (z + 1))) n m) i"
+ using split_cube that unfolding T'_def by simp
+ also have "... = (join (L_line (y 0)) (S (\<lambda>z \<in> {..<k}. y (z + 1))) n m) i" by simp
+ also have "... = (S (\<lambda>z \<in> {..<k}. y (z + 1))) s" using * s_prop unfolding join_def by simp
+ also have "... = (\<lambda>z \<in> {..<k}. y (z + 1)) (j-1)"
+ using XX XY BfS_props(6) 2 \<open>j < k + 1\<close> by auto
+ also have "... = y j" using 2 \<open>j < k + 1\<close> by force
+ finally show ?thesis .
+ qed
+ qed
+
+ ultimately have subspace_T: "is_subspace T (k+1) (n+m) (t+1)" unfolding is_subspace_def using T_prop by metis
+
+ paragraph \<open>Part 4: Proving \<open>T\<close> is layered\\\<close>
+ text \<open>The following redefinition of the classes makes proving the layered property easier.\<close>
+ define T_class where "T_class \<equiv> (\<lambda>j\<in>{..k}. {join (L_line i) s n m | i s . i
+ \<in> {..<t} \<and> s \<in> S ` (classes k t j)})(k+1:= {join (L_line t) (SOME s. s \<in> S `
+ (cube m (t+1))) n m})"
+ have classprop: "T_class j = T ` classes (k + 1) t j" if j_prop: "j \<le> k" for j
+ proof
+ show "T_class j \<subseteq> T ` classes (k + 1) t j"
+ proof
+ fix x assume "x \<in> T_class j"
+ from that have "T_class j = {join (L_line i) s n m | i s . i \<in> {..<t} \<and> s \<in> S ` (classes k t j)}"
+ unfolding T_class_def by simp
+ then obtain i s where is_defs: "x = join (L_line i) s n m \<and> i < t \<and> s \<in> S ` (classes k t j)"
+ using \<open>x \<in> T_class j\<close> unfolding T_class_def by auto
+ moreover have *:"classes k t j \<subseteq> cube k (t+1)" unfolding classes_def by simp
+ moreover have "\<exists>!y. y \<in> classes k t j \<and> s = S y"
+ using subspace_inj_on_cube[of S k m "t+1"] S_prop inj_onD[of S "cube k (t+1)"] calculation
+ unfolding layered_subspace_def inj_on_def by blast
+ ultimately obtain y where y_prop: "y \<in> classes k t j \<and> s = S y \<and>
+ (\<forall>z\<in>classes k t j. s = S z \<longrightarrow> y = z)" by auto
+
+ define p where "p \<equiv> join (\<lambda>g\<in>{..<1}. i) y 1 k"
+ have "(\<lambda>g\<in>{..<1}. i) \<in> cube 1 (t+1)" using is_defs unfolding cube_def by simp
+ then have p_in_cube: "p \<in> cube (k + 1) (t+1)"
+ using join_cubes[of "(\<lambda>g\<in>{..<1}. i)" 1 t y k] y_prop * unfolding p_def by auto
+ then have **: "p 0 = i \<and> (\<forall>l < k. p (l + 1) = y l)" unfolding p_def join_def by simp
+
+ have "t \<notin> y ` {..<(k - j)}" using y_prop unfolding classes_def by simp
+ then have "\<forall>u < k - j. y u \<noteq> t" by auto
+ then have "\<forall>u < k - j. p (u + 1) \<noteq> t" using ** by simp
+ moreover have "p 0 \<noteq> t" using is_defs ** by simp
+ moreover have "\<forall>u < k - j + 1. p u \<noteq> t"
+ using calculation by (auto simp: algebra_simps less_Suc_eq_0_disj)
+ ultimately have "\<forall>u < (k + 1) - j. p u \<noteq> t" using that by auto
+ then have A1: "t \<notin> p ` {..<((k+1) - j)}" by blast
+
+
+ have "p u = t" if "u \<in> {k - j + 1..<k+1}" for u
+ proof -
+ from that have "u - 1 \<in> {k - j..<k}" by auto
+ then have "y (u - 1) = t" using y_prop unfolding classes_def by blast
+ then show "p u = t" using ** that \<open>u - 1 \<in> {k - j..<k}\<close> by auto
+ qed
+ then have A2: "\<forall>u\<in>{(k+1) - j..<k+1}. p u = t" using that by auto
+
+ from A1 A2 p_in_cube have "p \<in> classes (k+1) t j" unfolding classes_def by blast
+
+ moreover have "x = T p"
+ proof-
+ have loc_useful:"(\<lambda>y \<in> {..<k}. p (y + 1)) = (\<lambda>z \<in> {..<k}. y z)" using ** by auto
+ have "T p = T' (\<lambda>y \<in> {..<1}. p y) (\<lambda>y \<in> {..<k}. p (y + 1))"
+ using p_in_cube unfolding T_def by auto
+
+ have "T' (\<lambda>y \<in> {..<1}. p y) (\<lambda>y \<in> {..<k}. p (y + 1))
+ = join (L_line ((\<lambda>y \<in> {..<1}. p y) 0)) (S (\<lambda>y \<in> {..<k}. p (y + 1))) n m"
+ using split_cube p_in_cube unfolding T'_def by simp
+ also have "... = join (L_line (p 0)) (S (\<lambda>y \<in> {..<k}. p (y + 1))) n m" by simp
+ also have "... = join (L_line i) (S (\<lambda>y \<in> {..<k}. p (y + 1))) n m" by (simp add: **)
+ also have "... = join (L_line i) (S (\<lambda>z \<in> {..<k}. y z)) n m" using loc_useful by simp
+ also have "... = join (L_line i) (S y) n m" using y_prop * unfolding cube_def by auto
+ also have "... = x" using is_defs y_prop by simp
+ finally show "x = T p"
+ using \<open>T p = T' (restrict p {..<1}) (\<lambda>y\<in>{..<k}. p (y + 1))\<close> by presburger
+ qed
+ ultimately show "x \<in> T ` classes (k + 1) t j" by blast
+ qed
+ next
+ show "T ` classes (k + 1) t j \<subseteq> T_class j"
+ proof
+ fix x assume "x \<in> T ` classes (k+1) t j"
+ then obtain y where y_prop: "y \<in> classes (k+1) t j \<and> T y = x" by blast
+ then have y_props: "(\<forall>u \<in> {((k+1)-j)..<k+1}. y u = t) \<and> t \<notin> y ` {..<(k+1) - j }"
+ unfolding classes_def by blast
+
+ define z where "z \<equiv> (\<lambda>v \<in> {..<k}. y (v+1))"
+ have "z \<in> cube k (t+1)" using y_prop classes_subset_cube[of "k+1" t j] unfolding z_def cube_def by auto
+ moreover
+ {
+ have "z ` {..<k - j} = y ` ((+) 1 ` {..<k-j}) " unfolding z_def by fastforce
+ also have "... = y ` {1..<k-j+1}" by (simp add: atLeastLessThanSuc_atLeastAtMost image_Suc_lessThan)
+ also have "... = y ` {1..<(k+1)-j}" using j_prop by auto
+ finally have "z ` {..<k - j} \<subseteq> y ` {..<(k+1)-j}" by auto
+ then have "t \<notin> z ` {..<k - j}" using y_props by blast
+
+ }
+ moreover have "\<forall>u \<in> {k-j..<k}. z u = t" unfolding z_def using y_props by auto
+ ultimately have z_in_classes: "z \<in> classes k t j" unfolding classes_def by blast
+
+ have "y 0 \<noteq> t"
+ proof-
+ from that have "0 \<in> {..<k + 1 - j}" by simp
+ then show "y 0 \<noteq> t" using y_props by blast
+ qed
+ then have tr: "y 0 < t" using y_prop classes_subset_cube[of "k+1" t j] unfolding cube_def by fastforce
+
+ have "(\<lambda>g \<in> {..<1}. y g) \<in> cube 1 (t+1)"
+ using y_prop classes_subset_cube[of "k+1" t j] cube_restrict[of 1 "(k+1)" y "t+1"] assms(2) by auto
+ then have "T y = T' (\<lambda>g \<in> {..<1}. y g) z" using y_prop classes_subset_cube[of "k+1" t j]
+ unfolding T_def z_def by auto
+ also have " ... = join (L_line ((\<lambda>g \<in> {..<1}. y g) 0)) (S z) n m"
+ unfolding T'_def
+ using \<open>(\<lambda>g \<in> {..<1}. y g) \<in> cube 1 (t+1)\<close> \<open>z \<in> cube k (t+1)\<close>
+ by auto
+ also have " ... = join (L_line (y 0)) (S z) n m" by simp
+ also have " ... \<in> T_class j" using tr z_in_classes that unfolding T_class_def by force
+ finally show "x \<in> T_class j" using y_prop by simp
+ qed
+ qed
+
+ text \<open>The core case $i \leq k$. The case $i = k+1$ is trivial since $k+1$ has only one point.\<close>
+ have "\<chi> x = \<chi> y \<and> \<chi> x < r" if a: "i \<le> k" "x \<in> T ` classes (k+1) t i"
+ "y \<in> T ` classes (k+1) t i" for i x y
+ proof-
+ from a have *: "T ` classes (k+1) t i = T_class i" by (simp add: classprop)
+ then have "x \<in> T_class i " using that by simp
+ moreover have **: "T_class i = {join (L_line l) s n m | l s . l \<in> {..<t} \<and> s \<in> S ` (classes k t i)}"
+ using a unfolding T_class_def by simp
+ ultimately obtain xs xi where xdefs: "x = join (L_line xi) xs n m \<and> xi < t \<and> xs \<in> S ` (classes k t i)"
+ by blast
+
+ from * ** obtain ys yi where ydefs: "y = join (L_line yi) ys n m \<and> yi < t \<and> ys \<in> S ` (classes k t i)"
+ using a by auto
+
+ have "(L_line xi) \<in> cube n (t+1)" using L_line_base_prop xdefs by simp
+ moreover have "xs \<in> cube m (t+1)"
+ using xdefs S_prop subspace_elems_embed imageE image_subset_iff mem_Collect_eq
+ unfolding layered_subspace_def classes_def by blast
+ ultimately have AA1: "\<chi> x = \<chi>L (L_line xi) xs" using xdefs unfolding \<chi>L_def by simp
+
+ have "(L_line yi) \<in> cube n (t+1)" using L_line_base_prop ydefs by simp
+ moreover have "ys \<in> cube m (t+1)"
+ using ydefs S_prop subspace_elems_embed imageE image_subset_iff mem_Collect_eq
+ unfolding layered_subspace_def classes_def by blast
+ ultimately have AA2: "\<chi> y = \<chi>L (L_line yi) ys" using ydefs unfolding \<chi>L_def by simp
+
+ have "\<forall>s<t. \<forall>l < t. \<chi>L_s (L (SOME p. p\<in>cube 1 (t+1) \<and> p 0 = s))
+ = \<chi>L_s (L (SOME p. p\<in>cube 1 (t+1) \<and> p 0 = l))" using
+ dim1_layered_subspace_mono_line[of t L n s \<chi>L_s] L_prop assms(1) by blast
+ then have key_aux: "\<chi>L_s (L_line s) = \<chi>L_s (L_line l)" if "s \<in> {..<t}" "l \<in> {..<t}" for s l
+ using that unfolding L_line_def
+ by (metis (no_types, lifting) add.commute
+ lessThan_iff less_Suc_eq plus_1_eq_Suc restrict_apply)
+ have key: "\<chi>L (L_line s) = \<chi>L (L_line l)" if "s < t" "l < t" for s l
+ proof-
+ have L1: "\<chi>L (L_line s) \<in> cube m (t + 1) \<rightarrow>\<^sub>E {..<r}" unfolding \<chi>L_def
+ using A L_line_base_prop \<open>s < t\<close> by simp
+ have L2: "\<chi>L (L_line l) \<in> cube m (t + 1) \<rightarrow>\<^sub>E {..<r}" unfolding \<chi>L_def
+ using A L_line_base_prop \<open>l < t\<close> by simp
+ have "\<phi> (\<chi>L (L_line s)) = \<chi>L_s (L_line s)" unfolding \<chi>L_s_def
+ using \<open>s < t\<close> L_line_base_prop by simp
+ also have " ... = \<chi>L_s (L_line l)" using key_aux \<open>s <t\<close> \<open>l < t\<close> by blast
+ also have " ... = \<phi> (\<chi>L (L_line l))" unfolding \<chi>L_s_def using L_line_base_prop \<open>l<t\<close>
+ by simp
+ finally have "\<phi> (\<chi>L (L_line s)) = \<phi> (\<chi>L (L_line l))" by simp
+ then show "\<chi>L (L_line s) = \<chi>L (L_line l)"
+ using \<phi>_prop L_line_base_prop L1 L2 unfolding bij_betw_def inj_on_def by blast
+ qed
+ then have "\<chi>L (L_line xi) xs = \<chi>L (L_line 0) xs" using xdefs assms(1) by metis
+ also have " ... = \<chi>S xs" unfolding \<chi>S_def \<chi>L_def using xdefs L_line_base_prop by auto
+ also have " ... = \<chi>S ys" using xdefs ydefs layered_eq_classes[of S k m t r \<chi>S] S_prop a by blast
+ also have " ... = \<chi>L (L_line 0) ys" unfolding \<chi>S_def \<chi>L_def using xdefs L_line_base_prop
+ by auto
+ also have " ... = \<chi>L (L_line yi) ys" using ydefs key assms(1) by metis
+ finally have core_prop: "\<chi>L (L_line xi) xs = \<chi>L (L_line yi) ys" by simp
+ then have "\<chi> x = \<chi> y" using AA1 AA2 by simp
+ then show " \<chi> x = \<chi> y \<and> \<chi> x < r"
+ using xdefs AA1 key assms(1) A
+ \<open>L_line xi \<in> cube n (t + 1)\<close> \<open>xs \<in> cube m (t + 1)\<close> by blast
+ qed
+ then have "\<exists>c<r. \<forall>x \<in> T ` classes (k+1) t i. \<chi> x = c" if "i \<le> k" for i
+ using that assms(5) by blast
+
+ moreover have "\<exists>c<r. \<forall>x \<in> T ` classes (k+1) t (k+1). \<chi> x = c"
+ proof -
+ have "\<forall>x \<in> classes (k+1) t (k+1). \<forall>u < k + 1. x u = t" unfolding classes_def by auto
+ have "(\<lambda>u. t) ` {..<k + 1} \<subseteq> {..<t + 1}" by auto
+ then have "\<exists>!y \<in> cube (k+1) (t+1). (\<forall>u < k + 1. y u = t)"
+ using PiE_uniqueness[of "(\<lambda>u. t)" "{..<k+1}" "{..<t+1}"] unfolding cube_def by auto
+ then have "\<exists>!y \<in> classes (k+1) t (k+1). (\<forall>u < k + 1. y u = t)"
+ unfolding classes_def using classes_subset_cube[of "k+1" t "k+1"] by auto
+ then have "\<exists>!y. y \<in> classes (k+1) t (k+1)"
+ using \<open>\<forall>x \<in> classes (k+1) t (k+1). \<forall>u < k + 1. x u = t\<close> by auto
+ have "\<exists>c<r. \<forall>y \<in> classes (k+1) t (k+1). \<chi> (T y) = c"
+ proof -
+ have "\<forall>y \<in> classes (k+1) t (k+1). T y \<in> cube (n+m) (t+1)" using T_prop classes_subset_cube
+ by blast
+ then have "\<forall>y \<in> classes (k+1) t (k+1). \<chi> (T y) < r" using \<chi>_prop
+ unfolding n_def d_def using M'_prop by auto
+ then show "\<exists>c<r. \<forall>y \<in> classes (k+1) t (k+1). \<chi> (T y) = c"
+ using \<open>\<exists>!y. y \<in> classes (k+1) t (k+1)\<close> by blast
+ qed
+ then show "\<exists>c<r. \<forall>x \<in> T ` classes (k+1) t (k+1). \<chi> x = c" by blast
+ qed
+ ultimately have "\<exists>c<r. \<forall>x \<in> T ` classes (k+1) t i. \<chi> x = c" if "i \<le> k + 1" for i
+ using that by (metis Suc_eq_plus1 le_Suc_eq)
+ then have "\<exists>c<r. \<forall>x \<in> classes (k+1) t i. \<chi> (T x) = c" if "i \<le> k + 1" for i
+ using that by simp
+ then have "layered_subspace T (k+1) (n + m) t r \<chi>" using subspace_T that(1) \<open>n + m = M'\<close>
+ unfolding layered_subspace_def by blast
+ then show ?thesis using \<open>n + m = M'\<close> by blast
+ qed
+ then show ?thesis unfolding lhj_def
+ using m_props
+ exI[of "\<lambda>M. \<forall>M'\<ge>M. \<forall>\<chi>. \<chi> \<in> cube M' (t + 1)
+ \<rightarrow>\<^sub>E {..<r} \<longrightarrow> (\<exists>S. layered_subspace S (k + 1) M' t r
+ \<chi>)" m]
+ by blast
+qed
+
+theorem hj_imp_lhj:
+ fixes k
+ assumes "\<And>r'. hj r' t"
+ shows "lhj r t k"
+proof (induction k arbitrary: r rule: less_induct)
+ case (less k)
+ consider "k = 0" | "k = 1" | "k \<ge> 2" by linarith
+ then show ?case
+ proof (cases)
+ case 1
+ then show ?thesis using dim0_layered_subspace_ex unfolding lhj_def by auto
+ next
+ case 2
+ then show ?thesis
+ proof (cases "t > 0")
+ case True
+ then show ?thesis using hj_imp_lhj_base[of "t"] assms 2 by blast
+ next
+ case False
+ then show ?thesis using assms unfolding hj_def lhj_def cube_def by fastforce
+ qed
+ next
+ case 3
+ note less
+ then show ?thesis
+ proof (cases "t > 0 \<and> r > 0")
+ case True
+ then show ?thesis using hj_imp_lhj_step[of t "k-1" r]
+ using assms less.IH 3 One_nat_def Suc_pred by fastforce
+ next
+ case False
+ then consider "t = 0" | "t > 0 \<and> r = 0" | "t = 0 \<and> r = 0" by fastforce
+ then show ?thesis
+ proof cases
+ case 1
+ then show ?thesis using assms unfolding hj_def lhj_def cube_def by fastforce
+ next
+ case 2
+ then obtain N where N_props: "N > 0" "\<forall>N'\<ge>N. \<forall>\<chi> \<in> cube N' t
+ \<rightarrow>\<^sub>E {..<r}. (\<exists>L c. c < r \<and> is_line L N' t \<and> (\<forall>y
+ \<in> L ` {..<t}. \<chi> y = c))" using assms[of r] unfolding hj_def by force
+ have "cube N' (t + 1) \<rightarrow>\<^sub>E {..<r} = {}" if "N' \<ge> N" for N'
+ proof-
+ have "cube N' t \<noteq> {}" using N_props(2) that 2 by fastforce
+ then have "cube N' (t + 1) \<noteq> {}" using cube_subset[of N' t] by blast
+ then show ?thesis using 2 by blast
+ qed
+ then show ?thesis unfolding lhj_def using N_props(1) by blast
+ next
+ case 3
+ then have "(\<exists>L c. c < r \<and> is_line L N' t \<and> (\<forall>y \<in> L ` {..<t}. \<chi> y = c))
+ \<Longrightarrow> False" for N' \<chi> by blast
+ then have False using assms 3 unfolding hj_def cube_def by fastforce
+ then show ?thesis by blast
+ qed
+
+ qed
+ qed
+qed
+
+
+subsection \<open>Theorem 5\<close>
+
+text \<open>We provide a way to construct a monochromatic line in $C^n_{t + 1}$ from a $k$-dimensional $k$-coloured
+layered subspace \<open>S\<close> in $C^n_{t + 1}$.
+The idea is to rely on the fact that there are $k+1$ classes in \<open>S\<close>, but only $k$ colours. It thus follows
+from the Pigeonhole Principle that two classes must share the same colour. The way classes are defined allows for a
+straightforward construction of a line with points only from those two classes. Thus we have our monochromatic
+line.\<close>
+theorem layered_subspace_to_mono_line:
+ assumes "layered_subspace S k n t k \<chi>"
+ and "t > 0"
+ shows "(\<exists>L. \<exists>c<k. is_line L n (t+1) \<and> (\<forall>y \<in> L ` {..<t+1}. \<chi> y = c))"
+proof-
+ define x where "x \<equiv> (\<lambda>i\<in>{..k}. \<lambda>j\<in>{..<k}. (if j < k - i then 0 else t))"
+
+ have A: "x i \<in> cube k (t + 1)" if "i \<le> k" for i using that unfolding cube_def x_def by simp
+ then have "S (x i) \<in> cube n (t+1)" if "i \<le> k" for i using that assms(1)
+ unfolding layered_subspace_def is_subspace_def by fast
+
+ have "\<chi> \<in> cube n (t + 1) \<rightarrow>\<^sub>E {..<k}" using assms unfolding layered_subspace_def by linarith
+ then have "\<chi> ` (cube n (t+1)) \<subseteq> {..<k}" by blast
+ then have "card (\<chi> ` (cube n (t+1))) \<le> card {..<k}"
+ by (meson card_mono finite_lessThan)
+ then have *: "card (\<chi> ` (cube n (t+1))) \<le> k" by auto
+ have "k > 0" using assms(1) unfolding layered_subspace_def by auto
+ have "inj_on x {..k}"
+ proof -
+ have *:"x i1 (k - i2) \<noteq> x i2 (k - i2)" if "i1 \<le> k" "i2 \<le> k" "i1 \<noteq> i2" "i1 < i2" for i1 i2
+ using that assms(2) unfolding x_def by auto
+ have "\<exists>j<k. x i1 j \<noteq> x i2 j" if "i1 \<le> k" "i2 \<le> k" "i1 \<noteq> i2" for i1 i2
+ proof (cases "i1 \<le> i2")
+ case True
+ then have "k - i2 < k"
+ using \<open>0 < k\<close> that(3) by linarith
+ then show ?thesis using that *
+ by (meson True nat_less_le)
+ next
+ case False
+ then have "i2 < i1" by simp
+ then show ?thesis using that *[of i2 i1] \<open>k > 0\<close>
+ by (metis diff_less gr_implies_not0 le0 nat_less_le)
+ qed
+ then have "x i1 \<noteq> x i2" if "i1 \<le> k" "i2 \<le> k" "i1 \<noteq> i2" "i1 < i2" for i1 i2 using that
+ by fastforce
+ then show ?thesis unfolding inj_on_def by (metis atMost_iff linorder_cases)
+ qed
+ then have "card (x ` {..k}) = card {..k}" using card_image by blast
+ then have B: "card (x ` {..k}) = k+1" by simp
+ have "x ` {..k} \<subseteq> cube k (t+1)" using A by blast
+ then have "S ` x ` {..k} \<subseteq> S ` cube k (t+1)" by fast
+ also have "... \<subseteq> cube n (t+1)"
+ by (meson assms(1) layered_subspace_def subspace_elems_embed)
+ finally have "S ` x ` {..k} \<subseteq> cube n (t+1)" by blast
+ then have "\<chi> ` S ` x ` {..k} \<subseteq> \<chi> ` cube n (t+1)" by auto
+ then have "card (\<chi> ` S ` x ` {..k}) \<le> card (\<chi> ` cube n (t+1))"
+ by (simp add: card_mono cube_def finite_PiE)
+ also have " ... \<le> k" using * by blast
+ also have " ... < k + 1" by auto
+ also have " ... = card {..k}" by simp
+ also have " ... = card (x ` {..k})" using B by auto
+ also have " ... = card (S ` x ` {..k})"
+ using subspace_inj_on_cube[of S k n "t+1"] card_image[of S "x ` {..k}"]
+ inj_on_subset[of S "cube k (t+1)" "x ` {..k}"] assms(1) \<open>x ` {..k} \<subseteq> cube k (t + 1)\<close>
+ unfolding layered_subspace_def by simp
+ finally have "card (\<chi> ` S ` x ` {..k}) < card (S ` x ` {..k})" by blast
+ then have "\<not>inj_on \<chi> (S ` x ` {..k})" using pigeonhole[of \<chi> "S ` x ` {..k}"] by blast
+ then have "\<exists>a b. a \<in> S ` x ` {..k} \<and> b \<in> S ` x ` {..k} \<and> a \<noteq> b \<and> \<chi> a =
+ \<chi> b" unfolding inj_on_def by auto
+ then obtain ax bx where ab_props: "ax \<in> S ` x ` {..k} \<and> bx \<in> S ` x ` {..k} \<and> ax \<noteq> bx \<and>
+ \<chi> ax = \<chi> bx" by blast
+ then have "\<exists>u v. u \<in> {..k} \<and> v \<in> {..k} \<and> u \<noteq> v \<and> \<chi> (S (x u)) = \<chi> (S (x
+ v))" by blast
+ then obtain u v where uv_props: "u \<in> {..k} \<and> v \<in> {..k} \<and> u < v \<and> \<chi> (S (x u))
+ = \<chi> (S (x v))" by (metis linorder_cases)
+
+ let ?f = "\<lambda>s. (\<lambda>i \<in> {..<k}. if i < k - v then 0 else (if i < k - u then s else t))"
+ define y where "y \<equiv> (\<lambda>s \<in> {..t}. S (?f s))"
+
+ have line1: "?f s \<in> cube k (t+1)" if "s \<le> t" for s unfolding cube_def using that by auto
+
+ have f_cube: "?f j \<in> cube k (t+1)" if "j < t+1" for j using line1 that by simp
+ have f_classes_u: "?f j \<in> classes k t u" if j_prop: "j < t" for j
+ using that j_prop uv_props f_cube unfolding classes_def by auto
+ have f_classes_v: "?f j \<in> classes k t v" if j_prop: "j = t" for j
+ using that j_prop uv_props assms(2) f_cube unfolding classes_def by auto
+
+ obtain B f where Bf_props: "disjoint_family_on B {..k}" "\<Union>(B ` {..k}) = {..<n}" "({} \<notin> B ` {..<k})"
+ "f \<in> (B k) \<rightarrow>\<^sub>E {..<t+1}" "S \<in> (cube k (t+1)) \<rightarrow>\<^sub>E (cube n (t+1))"
+ "(\<forall>y \<in> cube k (t+1). (\<forall>i \<in> B k. S y i = f i) \<and> (\<forall>j<k. \<forall>i \<in> B j.
+ (S y) i = y j))"
+ using assms(1) unfolding layered_subspace_def is_subspace_def by auto
+
+ have "y \<in> {..<t+1} \<rightarrow>\<^sub>E cube n (t+1)" unfolding y_def using line1 \<open>S ` cube k (t + 1)
+ \<subseteq> cube n (t + 1)\<close> by auto
+ moreover have "(\<forall>u<t+1. \<forall>v<t+1. y u j = y v j) \<or> (\<forall>s<t+1. y s j = s)"
+ if j_prop: "j<n" for j
+ proof-
+ show "(\<forall>u<t+1. \<forall>v<t+1. y u j = y v j) \<or> (\<forall>s<t+1. y s j = s)"
+ proof -
+ consider "j \<in> B k" | "\<exists>ii<k. j \<in> B ii" using Bf_props(2) j_prop
+ by (metis UN_E atMost_iff le_neq_implies_less lessThan_iff)
+ then have "y a j = y b j \<or> y s j = s" if "a < t + 1" "b < t +1" "s < t +1" for a b s
+ proof cases
+ case 1
+ then have "y a j = S (?f a) j" using that(1) unfolding y_def by auto
+ also have " ... = f j" using Bf_props(6) f_cube 1 that(1) by auto
+ also have " ... = S (?f b) j" using Bf_props(6) f_cube 1 that(2) by auto
+ also have " ... = y b j" using that(2) unfolding y_def by simp
+ finally show ?thesis by simp
+ next
+ case 2
+ then obtain ii where ii_prop:" ii < k \<and> j \<in> B ii" by blast
+ then consider "ii < k - v" | "ii \<ge> k - v \<and> ii < k - u" | "ii \<ge> k - u \<and> ii < k" using not_less
+ by blast
+ then show ?thesis
+ proof cases
+ case 1
+ then have "y a j = S (?f a) j" using that(1) unfolding y_def by auto
+ also have " ... = (?f a) ii" using Bf_props(6) f_cube that(1) ii_prop by auto
+ also have " ... = 0" using 1 by (simp add: ii_prop)
+ also have " ... = (?f b) ii" using 1 by (simp add: ii_prop)
+ also have " ... = S (?f b) j" using Bf_props(6) f_cube that(2) ii_prop by auto
+ also have " ... = y b j" using that(2) unfolding y_def by auto
+ finally show ?thesis by simp
+ next
+ case 2
+ then have "y s j = S (?f s) j" using that(3) unfolding y_def by auto
+ also have " ... = (?f s) ii" using Bf_props(6) f_cube that(3) ii_prop by auto
+ also have " ... = s" using 2 by (simp add: ii_prop)
+ finally show ?thesis by simp
+ next
+ case 3
+ then have "y a j = S (?f a) j" using that(1) unfolding y_def by auto
+ also have " ... = (?f a) ii" using Bf_props(6) f_cube that(1) ii_prop by auto
+ also have " ... = t" using 3 uv_props by auto
+ also have " ... = (?f b) ii" using 3 uv_props by auto
+ also have " ... = S (?f b) j" using Bf_props(6) f_cube that(2) ii_prop by auto
+ also have " ... = y b j" using that(2) unfolding y_def by auto
+ finally show ?thesis by simp
+ qed
+ qed
+ then show ?thesis by blast
+ qed
+ qed
+ moreover have "\<exists>j < n. \<forall>s<t+1. y s j = s"
+ proof -
+ have "k > 0" using uv_props by simp
+ have "k - v < k" using uv_props by auto
+ have "k - v < k - u" using uv_props by auto
+ then have "B (k - v) \<noteq> {}" using Bf_props(3) uv_props by auto
+ then obtain j where j_prop: "j \<in> B (k - v) \<and> j < n" using Bf_props(2) uv_props by force
+ then have "y s j = s" if "s<t+1" for s
+ proof
+ have "y s j = S (?f s) j" using that unfolding y_def by auto
+ also have " ... = (?f s) (k - v)" using Bf_props(6) f_cube that j_prop \<open>k - v < k\<close> by fast
+ also have " ... = s" using that j_prop \<open>k - v < k - u\<close> by simp
+ finally show ?thesis .
+ qed
+ then show "\<exists>j < n. \<forall>s<t+1. y s j = s" using j_prop by blast
+ qed
+ ultimately have Z1: "is_line y n (t+1)" unfolding is_line_def by blast
+ moreover
+ {
+ have k_colour: "\<chi> e < k" if "e \<in> y ` {..<t+1}" for e
+ using \<open>y \<in> {..<t+1} \<rightarrow>\<^sub>E cube n (t + 1)\<close> \<open>\<chi> \<in> cube n (t + 1)
+ \<rightarrow>\<^sub>E {..<k}\<close> that by auto
+ have "\<chi> e1 = \<chi> e2 \<and> \<chi> e1 < k" if "e1 \<in> y ` {..<t+1}" "e2 \<in> y ` {..<t+1}" for e1 e2
+ proof
+ from that obtain i1 i2 where i_props: "i1 < t + 1" "i2 < t + 1" "e1 = y i1" "e2 = y i2" by blast
+ from i_props(1,2) have "\<chi> (y i1) = \<chi> (y i2)"
+ proof (induction i1 i2 rule: linorder_wlog)
+ case (le a b)
+ then show ?case
+ proof (cases "a = b")
+ case True
+ then show ?thesis by blast
+ next
+ case False
+ then have "a < b" using le by linarith
+ then consider "b = t" | "b < t" using le.prems(2) by linarith
+ then show ?thesis
+ proof cases
+ case 1
+ then have "y b \<in> S ` classes k t v"
+ proof -
+ have "y b = S (?f b)" unfolding y_def using \<open>b = t\<close> by auto
+ moreover have "?f b \<in> classes k t v" using \<open>b = t\<close> f_classes_v by blast
+ ultimately show "y b \<in> S ` classes k t v" by blast
+ qed
+ moreover have "x u \<in> classes k t u"
+ proof -
+ have "x u cord = t" if "cord \<in> {k - u..<k}" for cord using uv_props that unfolding x_def by simp
+ moreover
+ {
+ have "x u cord \<noteq> t" if "cord \<in> {..<k - u}" for cord
+ using uv_props that assms(2) unfolding x_def by auto
+ then have "t \<notin> x u ` {..<k - u}" by blast
+ }
+ ultimately show "x u \<in> classes k t u" unfolding classes_def
+ using \<open>x ` {..k} \<subseteq> cube k (t + 1)\<close> uv_props by blast
+ qed
+ moreover have "x v \<in> classes k t v"
+ proof -
+ have "x v cord = t" if "cord \<in> {k - v..<k}" for cord using uv_props that unfolding x_def by simp
+ moreover
+ {
+ have "x v cord \<noteq> t" if "cord \<in> {..<k - v}" for cord
+ using uv_props that assms(2) unfolding x_def by auto
+ then have "t \<notin> x v ` {..<k - v}" by blast
+ }
+ ultimately show "x v \<in> classes k t v" unfolding classes_def
+ using \<open>x ` {..k} \<subseteq> cube k (t + 1)\<close> uv_props by blast
+ qed
+ moreover have "\<chi> (y b) = \<chi> (S (x v))"
+ using assms(1) calculation(1, 3) unfolding layered_subspace_def by (metis imageE uv_props)
+ moreover have "y a \<in> S ` classes k t u"
+ proof -
+ have "y a = S (?f a)" unfolding y_def using \<open>a < b\<close> 1 by simp
+ moreover have "?f a \<in> classes k t u" using \<open>a < b\<close> 1 f_classes_u by blast
+ ultimately show "y a \<in> S ` classes k t u" by blast
+ qed
+ moreover have "\<chi> (y a) = \<chi> (S (x u))" using assms(1) calculation(2, 5)
+ unfolding layered_subspace_def by (metis imageE uv_props)
+ ultimately have "\<chi> (y a) = \<chi> (y b)" using uv_props by simp
+ then show ?thesis by blast
+ next
+ case 2
+ then have "a < t" using \<open>a < b\<close> less_trans by blast
+ then have "y a \<in> S ` classes k t u"
+ proof -
+ have "y a = S (?f a)" unfolding y_def using \<open>a < t\<close> by auto
+ moreover have "?f a \<in> classes k t u" using \<open>a < t\<close> f_classes_u by blast
+ ultimately show "y a \<in> S ` classes k t u" by blast
+ qed
+ moreover have "y b \<in> S ` classes k t u"
+ proof -
+ have "y b = S (?f b)" unfolding y_def using \<open>b < t\<close> by auto
+ moreover have "?f b \<in> classes k t u" using \<open>b < t\<close> f_classes_u by blast
+ ultimately show "y b \<in> S ` classes k t u" by blast
+ qed
+ ultimately have "\<chi> (y a) = \<chi> (y b)" using assms(1) uv_props unfolding layered_subspace_def
+ by (metis imageE)
+ then show ?thesis by blast
+ qed
+ qed
+ next
+ case (sym a b)
+ then show ?case by presburger
+ qed
+ then show "\<chi> e1 = \<chi> e2" using i_props(3,4) by blast
+ qed (use that(1) k_colour in blast)
+ then have Z2: "\<exists>c < k. \<forall>e \<in> y ` {..<t+1}. \<chi> e = c"
+ by (meson image_eqI lessThan_iff less_add_one)
+ }
+ ultimately show "\<exists>L c. c < k \<and> is_line L n (t + 1) \<and> (\<forall>y\<in>L ` {..<t + 1}. \<chi> y = c)"
+ by blast
+
+qed
+
+subsection \<open>Corollary 6\<close>
+corollary lhj_imp_hj:
+ assumes "(\<And>r k. lhj r t k)"
+ and "t>0"
+ shows "(hj r (t+1))"
+ using assms(1)[of r r] assms(2) unfolding lhj_def hj_def using layered_subspace_to_mono_line[of _ r _ t] by metis
+
+subsection \<open>Main result\<close>
+
+subsubsection \<open>Edge cases and auxiliary lemmas\<close>
+lemma single_point_line:
+ assumes "N > 0"
+ shows "is_line (\<lambda>s\<in>{..<1}. \<lambda>a\<in>{..<N}. 0) N 1"
+ using assms unfolding is_line_def cube_def by auto
+
+lemma single_point_line_is_monochromatic:
+ assumes "\<chi> \<in> cube N 1 \<rightarrow>\<^sub>E {..<r}" "N > 0"
+ shows "(\<exists>c < r. is_line (\<lambda>s\<in>{..<1}. \<lambda>a\<in>{..<N}. 0) N 1 \<and> (\<forall>i \<in>
+ (\<lambda>s\<in>{..<1}. \<lambda>a\<in>{..<N}. 0) ` {..<1}. \<chi> i = c))"
+proof -
+ have "is_line (\<lambda>s\<in>{..<1}. \<lambda>a\<in>{..<N}. 0) N 1" using assms(2) single_point_line by blast
+ moreover have "\<exists>c < r. \<chi> ((\<lambda>s\<in>{..<1}. \<lambda>a\<in>{..<N}. 0) j) = c"
+ if "(j::nat) < 1" for j using assms line_points_in_cube calculation that unfolding cube_def by blast
+ ultimately show ?thesis by auto
+qed
+
+
+lemma hj_r_nonzero_t_0:
+ assumes "r > 0"
+ shows "hj r 0"
+proof-
+ have "(\<exists>L c. c < r \<and> is_line L N' 0 \<and> (\<forall>y \<in> L ` {..<0::nat}. \<chi> y = c))"
+ if "N' \<ge> 1" "\<chi> \<in> cube N' 0 \<rightarrow>\<^sub>E {..<r}" for N' \<chi> using assms is_line_def that(1) by fastforce
+ then show ?thesis unfolding hj_def by auto
+qed
+
+text \<open>Any cube over 1 element always has a single point, which also forms the only line in the cube. Since it's a
+single point line, it's trivially monochromatic. We show the result for dimension 1.\<close>
+lemma hj_t_1: "hj r 1"
+ unfolding hj_def
+proof-
+ let ?N = 1
+ have "\<exists>L c. c < r \<and> is_line L N' 1 \<and> (\<forall>y\<in>L ` {..<1}. \<chi> y = c)" if "N' \<ge> ?N" "\<chi> \<in> cube N' 1 \<rightarrow>\<^sub>E {..<r}" for N' \<chi>
+ using single_point_line_is_monochromatic[of \<chi> N' r] that by force
+ then show "\<exists>N>0. \<forall>N'\<ge>N. \<forall>\<chi>. \<chi> \<in> cube N' 1 \<rightarrow>\<^sub>E {..<r} \<longrightarrow> (\<exists>L c. c < r \<and> is_line L N' 1 \<and> (\<forall>y\<in>L ` {..<1}. \<chi> y = c))"
+ by blast
+qed
+
+subsubsection \<open>Main theorem\<close>
+text \<open>We state the main result \<^prop>\<open>hj r t\<close>. The explanation for the choice of assumption is
+offered subsequently.\<close>
+theorem hales_jewett:
+ assumes "\<not>(r = 0 \<and> t = 0)"
+ shows "hj r t"
+ using assms
+proof (induction t arbitrary: r)
+ case 0
+ then show ?case using hj_r_nonzero_t_0[of r] by blast
+next
+ case (Suc t)
+ then show ?case using hj_t_1[of r] hj_imp_lhj[of t] lhj_imp_hj[of t r] by auto
+qed
+text \<open>We offer a justification for having excluded the special case $r = t = 0$ from the statement of the main
+theorem \<open>hales_jewett\<close>. The exclusion is a consequence of the fact that colourings are defined as members
+of the function set \<open>cube n t \<rightarrow>\<^sub>E {..<r}\<close>, which for $r = t = 0$ means there's a dummy
+colouring \<^term>\<open>\<lambda>x. undefined\<close>, even though \<^prop>\<open>cube n 0 = {}\<close> for $n > 0$.
+Hence, in this case, no line exists at all (let alone one monochromatic under the aforementioned colouring). This means
+\<^prop>\<open>hj 0 0 \<Longrightarrow> False\<close>---but only because of the quirky behaviour of the FuncSet
+\<open>cube n t \<rightarrow>\<^sub>E {..<r}\<close>. This could have been circumvented by letting colourings $\chi$ be
+arbitrary functions constraint only by \<^prop>\<open>\<chi> ` cube n t \<subseteq> {..<r}\<close>. We avoided this in
+order to have consistency with the cube's definition, for which FuncSets were crucial because the proof heavily relies
+on arguments about the cardinality of the cube. he constraint \<^prop>\<open>x ` {..<n} \<subseteq> {..<t}\<close> for
+elements \<open>x\<close> of $C^n_t$ would not have sufficed there, as there are infinitely many functions over the
+naturals satisfying it.\<close>
+
+end
diff --git a/thys/Hales_Jewett/ROOT b/thys/Hales_Jewett/ROOT
new file mode 100644
--- /dev/null
+++ b/thys/Hales_Jewett/ROOT
@@ -0,0 +1,11 @@
+chapter AFP
+
+session "Hales_Jewett" (AFP) = HOL +
+ options [timeout = 600]
+ sessions
+ "HOL-Library"
+ theories
+ Hales_Jewett
+ document_files
+ "root.tex"
+ "root.bib"
diff --git a/thys/Hales_Jewett/document/root.bib b/thys/Hales_Jewett/document/root.bib
new file mode 100644
--- /dev/null
+++ b/thys/Hales_Jewett/document/root.bib
@@ -0,0 +1,22 @@
+@book{thebook,
+ title = {Ramsey Theory, 2nd Edition},
+ author = {Graham, Ronald L. and Rothschild, Bruce L. and Spencer, Joel H.},
+ publisher = {Wiley-Interscience},
+ year = {1990},
+ month = {March},
+ day = {2},
+ isbn = {978-0471500469},
+ isbn10 = {0471500461},
+}
+
+@article{vdw,
+ author = {Katharina Kreuzer and Manuel Eberl},
+ title = {Van der {W}aerden's {T}heorem},
+ journal = {Archive of Formal Proofs},
+ month = {June},
+ year = {2021},
+ note = {\url{https://isa-afp.org/entries/Van_der_Waerden.html},
+ Formal proof development},
+ ISSN = {2150-914x},
+}
+
diff --git a/thys/Hales_Jewett/document/root.tex b/thys/Hales_Jewett/document/root.tex
new file mode 100644
--- /dev/null
+++ b/thys/Hales_Jewett/document/root.tex
@@ -0,0 +1,68 @@
+\documentclass[11pt,a4paper]{article}
+\usepackage{isabelle,isabellesym}
+
+% further packages required for unusual symbols (see also
+% isabellesym.sty), use only when needed
+
+%\usepackage{amssymb}
+ %for \<leadsto>, \<box>, \<diamond>, \<sqsupset>, \<mho>, \<Join>,
+ %\<lhd>, \<lesssim>, \<greatersim>, \<lessapprox>, \<greaterapprox>,
+ %\<triangleq>, \<yen>, \<lozenge>
+
+%\usepackage{eurosym}
+ %for \<euro>
+
+%\usepackage[only,bigsqcap]{stmaryrd}
+ %for \<Sqinter>
+
+%\usepackage{eufrak}
+ %for \<AA> ... \<ZZ>, \<aa> ... \<zz> (also included in amssymb)
+
+%\usepackage{textcomp}
+ %for \<onequarter>, \<onehalf>, \<threequarters>, \<degree>, \<cent>,
+ %\<currency>
+
+% this should be the last package used
+\usepackage{pdfsetup}
+
+% urls in roman style, theory text in math-similar italics
+\urlstyle{rm}
+\isabellestyle{it}
+
+% for uniform font size
+%\renewcommand{\isastyle}{\isastyleminor}
+
+
+\begin{document}
+\title{The Hales--Jewett Theorem}
+\author{Ujkan Sulejmani, Manuel Eberl, Katharina Kreuzer}
+\maketitle
+
+\begin{abstract}
+ This article is a formalisation of a proof of the Hales--Jewett theorem presented in the textbook \emph{Ramsey Theory} by Graham et al.~\cite{thebook}.
+
+ The Hales--Jewett theorem is a result in Ramsey Theory which states that, for any non-negative integers $r$ and $t$, there exists a minimal dimension $N$, such that any $r$-coloured $N'$-dimensional cube over $t$ elements (with $N' \geq N$) contains a monochromatic line. This theorem generalises Van der Waerden's Theorem, which has already been formalised in another AFP entry~\cite{vdw}.
+\end{abstract}
+
+
+\newpage
+\tableofcontents
+
+% sane default for proof documents
+\newpage
+\parindent 0pt\parskip 0.5ex
+
+% generated text of all theories
+\input{session}
+
+% optional bibliography
+\nocite{vdw}
+\bibliographystyle{abbrv}
+\bibliography{root}
+
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/thys/Khovanskii_Theorem/FiniteProduct.thy b/thys/Khovanskii_Theorem/FiniteProduct.thy
new file mode 100644
--- /dev/null
+++ b/thys/Khovanskii_Theorem/FiniteProduct.thy
@@ -0,0 +1,330 @@
+section \<open>Product Operator for Commutative Monoids\<close>
+
+(*
+ Finite products in group theory. This theory is largely based on HOL/Algebra/FiniteProduct.thy.
+ --L C Paulson
+*)
+
+theory FiniteProduct
+ imports
+ "Jacobson_Basic_Algebra.Group_Theory"
+
+begin
+
+subsection \<open>Products over Finite Sets\<close>
+
+context commutative_monoid begin
+
+definition "M_ify x \<equiv> if x \<in> M then x else \<one>"
+
+definition "fincomp f A \<equiv> if finite A then Finite_Set.fold (\<lambda>x y. f x \<cdot> M_ify y) \<one> A else \<one>"
+
+lemma fincomp_empty [simp]: "fincomp f {} = \<one>"
+ by (simp add: fincomp_def)
+
+lemma fincomp_infinite[simp]: "infinite A \<Longrightarrow> fincomp f A = \<one>"
+ by (simp add: fincomp_def)
+
+lemma left_commute: "\<lbrakk> a \<in> M; b \<in> M; c \<in> M \<rbrakk> \<Longrightarrow> b \<cdot> (a \<cdot> c) = a \<cdot> (b \<cdot> c)"
+ using commutative by force
+
+
+lemma comp_fun_commute_onI:
+ assumes "f \<in> F \<rightarrow> M"
+ shows "comp_fun_commute_on F (\<lambda>x y. f x \<cdot> M_ify y)"
+ using assms
+ by (auto simp add: comp_fun_commute_on_def Pi_iff M_ify_def left_commute)
+
+lemma fincomp_closed [simp]:
+ assumes "f \<in> F \<rightarrow> M"
+ shows "fincomp f F \<in> M"
+proof -
+ interpret comp_fun_commute_on F "\<lambda>x y. f x \<cdot> M_ify y"
+ by (simp add: assms comp_fun_commute_onI)
+ show ?thesis
+ unfolding fincomp_def
+ by (smt (verit, ccfv_threshold) M_ify_def Pi_iff fold_graph_fold assms composition_closed equalityE fold_graph_closed_lemma unit_closed)
+qed
+
+lemma fincomp_insert [simp]:
+ assumes F: "finite F" "a \<notin> F" and f: "f \<in> F \<rightarrow> M" "f a \<in> M"
+ shows "fincomp f (insert a F) = f a \<cdot> fincomp f F"
+proof -
+ interpret comp_fun_commute_on "insert a F" "\<lambda>x y. f x \<cdot> M_ify y"
+ by (simp add: comp_fun_commute_onI f)
+ show ?thesis
+ using assms fincomp_closed commutative_monoid.M_ify_def commutative_monoid_axioms
+ by (fastforce simp add: fincomp_def)
+qed
+
+lemma fincomp_unit_eqI: "(\<And>x. x \<in> A \<Longrightarrow> f x = \<one>) \<Longrightarrow> fincomp f A = \<one>"
+proof (induct A rule: infinite_finite_induct)
+ case empty show ?case by simp
+next
+ case (insert a A)
+ have "(\<lambda>i. \<one>) \<in> A \<rightarrow> M" by auto
+ with insert show ?case by simp
+qed simp
+
+lemma fincomp_unit [simp]: "fincomp (\<lambda>i. \<one>) A = \<one>"
+ by (simp add: fincomp_unit_eqI)
+
+lemma funcset_Int_left [simp, intro]:
+ "\<lbrakk>f \<in> A \<rightarrow> C; f \<in> B \<rightarrow> C\<rbrakk> \<Longrightarrow> f \<in> A Int B \<rightarrow> C"
+ by fast
+
+lemma funcset_Un_left [iff]:
+ "(f \<in> A Un B \<rightarrow> C) = (f \<in> A \<rightarrow> C \<and> f \<in> B \<rightarrow> C)"
+ by fast
+
+lemma fincomp_Un_Int:
+ "\<lbrakk>finite A; finite B; g \<in> A \<rightarrow> M; g \<in> B \<rightarrow> M\<rbrakk> \<Longrightarrow>
+ fincomp g (A \<union> B) \<cdot> fincomp g (A \<inter> B) =
+ fincomp g A \<cdot> fincomp g B"
+ \<comment> \<open>The reversed orientation looks more natural, but LOOPS as a simprule!\<close>
+proof (induct set: finite)
+ case empty then show ?case by simp
+next
+ case (insert a A)
+ then have "g a \<in> M" "g \<in> A \<rightarrow> M" by blast+
+ with insert show ?case
+ by (simp add: Int_insert_left associative insert_absorb left_commute)
+qed
+
+lemma fincomp_Un_disjoint:
+ "\<lbrakk>finite A; finite B; A \<inter> B = {}; g \<in> A \<rightarrow> M; g \<in> B \<rightarrow> M\<rbrakk>
+ \<Longrightarrow> fincomp g (A \<union> B) = fincomp g A \<cdot> fincomp g B"
+ by (metis Pi_split_domain fincomp_Un_Int fincomp_closed fincomp_empty right_unit)
+
+lemma fincomp_comp:
+ "\<lbrakk>f \<in> A \<rightarrow> M; g \<in> A \<rightarrow> M\<rbrakk> \<Longrightarrow> fincomp (\<lambda>x. f x \<cdot> g x) A = (fincomp f A \<cdot> fincomp g A)"
+proof (induct A rule: infinite_finite_induct)
+ case empty show ?case by simp
+next
+ case (insert a A)
+ then have "f a \<in> M" "g \<in> A \<rightarrow> M" "g a \<in> M" "f \<in> A \<rightarrow> M" "(\<lambda>x. f x \<cdot> g x) \<in> A \<rightarrow> M"
+ by blast+
+ then show ?case
+ by (simp add: insert associative left_commute)
+qed simp
+
+lemma fincomp_cong':
+ assumes "A = B" "g \<in> B \<rightarrow> M" "\<And>i. i \<in> B \<Longrightarrow> f i = g i"
+ shows "fincomp f A = fincomp g B"
+proof (cases "finite B")
+ case True
+ then have ?thesis
+ using assms
+ proof (induct arbitrary: A)
+ case empty thus ?case by simp
+ next
+ case (insert x B)
+ then have "fincomp f A = fincomp f (insert x B)" by simp
+ also from insert have "... = f x \<cdot> fincomp f B"
+ by (simp add: Pi_iff)
+ also from insert have "... = g x \<cdot> fincomp g B" by fastforce
+ also from insert have "... = fincomp g (insert x B)"
+ by (intro fincomp_insert [THEN sym]) auto
+ finally show ?case .
+ qed
+ with assms show ?thesis by simp
+next
+ case False with assms show ?thesis by simp
+qed
+
+lemma fincomp_cong:
+ assumes "A = B" "g \<in> B \<rightarrow> M" "\<And>i. i \<in> B =simp=> f i = g i"
+ shows "fincomp f A = fincomp g B"
+ using assms unfolding simp_implies_def by (blast intro: fincomp_cong')
+
+text \<open>Usually, if this rule causes a failed congruence proof error,
+ the reason is that the premise \<open>g \<in> B \<rightarrow> M\<close> cannot be shown.
+ Adding @{thm [source] Pi_def} to the simpset is often useful.
+ For this reason, @{thm [source] fincomp_cong}
+ is not added to the simpset by default.
+\<close>
+
+lemma fincomp_0 [simp]:
+ "f \<in> {0::nat} \<rightarrow> M \<Longrightarrow> fincomp f {..0} = f 0"
+ by (simp add: Pi_def)
+
+lemma fincomp_0': "f \<in> {..n} \<rightarrow> M \<Longrightarrow> (f 0) \<cdot> fincomp f {Suc 0..n} = fincomp f {..n}"
+ by (metis Pi_split_insert_domain Suc_n_not_le_n atLeastAtMost_iff atLeastAtMost_insertL atMost_atLeast0 finite_atLeastAtMost fincomp_insert le0)
+
+lemma fincomp_Suc [simp]:
+ "f \<in> {..Suc n} \<rightarrow> M \<Longrightarrow> fincomp f {..Suc n} = (f (Suc n) \<cdot> fincomp f {..n})"
+ by (simp add: Pi_def atMost_Suc)
+
+lemma fincomp_Suc2:
+ "f \<in> {..Suc n} \<rightarrow> M \<Longrightarrow> fincomp f {..Suc n} = (fincomp (%i. f (Suc i)) {..n} \<cdot> f 0)"
+proof (induct n)
+ case 0 thus ?case by (simp add: Pi_def)
+next
+ case Suc thus ?case
+ by (simp add: associative Pi_def)
+qed
+
+lemma fincomp_Suc3:
+ assumes "f \<in> {..n :: nat} \<rightarrow> M"
+ shows "fincomp f {.. n} = (f n) \<cdot> fincomp f {..< n}"
+proof (cases "n = 0")
+ case True thus ?thesis
+ using assms atMost_Suc by simp
+next
+ case False
+ then obtain k where "n = Suc k"
+ using not0_implies_Suc by blast
+ thus ?thesis
+ using fincomp_Suc[of f k] assms atMost_Suc lessThan_Suc_atMost by simp
+qed
+
+lemma fincomp_reindex: \<^marker>\<open>contributor \<open>Jeremy Avigad\<close>\<close>
+ "f \<in> (h ` A) \<rightarrow> M \<Longrightarrow>
+ inj_on h A \<Longrightarrow> fincomp f (h ` A) = fincomp (\<lambda>x. f (h x)) A"
+proof (induct A rule: infinite_finite_induct)
+ case (infinite A)
+ hence "\<not> finite (h ` A)"
+ using finite_imageD by blast
+ with \<open>\<not> finite A\<close> show ?case by simp
+qed (auto simp add: Pi_def)
+
+lemma fincomp_const: \<^marker>\<open>contributor \<open>Jeremy Avigad\<close>\<close>
+ assumes a [simp]: "a \<in> M"
+ shows "fincomp (\<lambda>x. a) A = rec_nat \<one> (\<lambda>u. (\<cdot>) a) (card A)"
+ by (induct A rule: infinite_finite_induct) auto
+
+lemma fincomp_singleton: \<^marker>\<open>contributor \<open>Jesus Aransay\<close>\<close>
+ assumes i_in_A: "i \<in> A" and fin_A: "finite A" and f_Pi: "f \<in> A \<rightarrow> M"
+ shows "fincomp (\<lambda>j. if i = j then f j else \<one>) A = f i"
+ using i_in_A fincomp_insert [of "A - {i}" i "(\<lambda>j. if i = j then f j else \<one>)"]
+ fin_A f_Pi fincomp_unit [of "A - {i}"]
+ fincomp_cong [of "A - {i}" "A - {i}" "(\<lambda>j. if i = j then f j else \<one>)" "(\<lambda>i. \<one>)"]
+ unfolding Pi_def simp_implies_def by (force simp add: insert_absorb)
+
+lemma fincomp_singleton_swap:
+ assumes i_in_A: "i \<in> A" and fin_A: "finite A" and f_Pi: "f \<in> A \<rightarrow> M"
+ shows "fincomp (\<lambda>j. if j = i then f j else \<one>) A = f i"
+ using fincomp_singleton [OF assms] by (simp add: eq_commute)
+
+lemma fincomp_mono_neutral_cong_left:
+ assumes "finite B"
+ and "A \<subseteq> B"
+ and 1: "\<And>i. i \<in> B - A \<Longrightarrow> h i = \<one>"
+ and gh: "\<And>x. x \<in> A \<Longrightarrow> g x = h x"
+ and h: "h \<in> B \<rightarrow> M"
+ shows "fincomp g A = fincomp h B"
+proof-
+ have eq: "A \<union> (B - A) = B" using \<open>A \<subseteq> B\<close> by blast
+ have d: "A \<inter> (B - A) = {}" using \<open>A \<subseteq> B\<close> by blast
+ from \<open>finite B\<close> \<open>A \<subseteq> B\<close> have f: "finite A" "finite (B - A)"
+ by (auto intro: finite_subset)
+ have "h \<in> A \<rightarrow> M" "h \<in> B - A \<rightarrow> M"
+ using assms by (auto simp: image_subset_iff_funcset)
+ moreover have "fincomp g A = fincomp h A \<cdot> fincomp h (B - A)"
+ proof -
+ have "fincomp h (B - A) = \<one>"
+ using "1" fincomp_unit_eqI by blast
+ moreover have "fincomp g A = fincomp h A"
+ using \<open>h \<in> A \<rightarrow> M\<close> fincomp_cong' gh by blast
+ ultimately show ?thesis
+ by (simp add: \<open>h \<in> A \<rightarrow> M\<close>)
+ qed
+ ultimately show ?thesis
+ by (simp add: fincomp_Un_disjoint [OF f d, unfolded eq])
+qed
+
+lemma fincomp_mono_neutral_cong_right:
+ assumes "finite B"
+ and "A \<subseteq> B" "\<And>i. i \<in> B - A \<Longrightarrow> g i = \<one>" "\<And>x. x \<in> A \<Longrightarrow> g x = h x" "g \<in> B \<rightarrow> M"
+ shows "fincomp g B = fincomp h A"
+ using assms by (auto intro!: fincomp_mono_neutral_cong_left [symmetric])
+
+lemma fincomp_mono_neutral_cong:
+ assumes [simp]: "finite B" "finite A"
+ and *: "\<And>i. i \<in> B - A \<Longrightarrow> h i = \<one>" "\<And>i. i \<in> A - B \<Longrightarrow> g i = \<one>"
+ and gh: "\<And>x. x \<in> A \<inter> B \<Longrightarrow> g x = h x"
+ and g: "g \<in> A \<rightarrow> M"
+ and h: "h \<in> B \<rightarrow> M"
+ shows "fincomp g A = fincomp h B"
+proof-
+ have "fincomp g A = fincomp g (A \<inter> B)"
+ by (rule fincomp_mono_neutral_cong_right) (use assms in auto)
+ also have "\<dots> = fincomp h (A \<inter> B)"
+ by (rule fincomp_cong) (use assms in auto)
+ also have "\<dots> = fincomp h B"
+ by (rule fincomp_mono_neutral_cong_left) (use assms in auto)
+ finally show ?thesis .
+qed
+
+
+lemma fincomp_UN_disjoint:
+ assumes
+ "finite I" "\<And>i. i \<in> I \<Longrightarrow> finite (A i)" "pairwise (\<lambda>i j. disjnt (A i) (A j)) I"
+ "\<And>i x. i \<in> I \<Longrightarrow> x \<in> A i \<Longrightarrow> g x \<in> M"
+ shows "fincomp g (\<Union>(A ` I)) = fincomp (\<lambda>i. fincomp g (A i)) I"
+ using assms
+proof (induction set: finite)
+ case empty
+ then show ?case
+ by force
+next
+ case (insert i I)
+ then show ?case
+ unfolding pairwise_def disjnt_def
+ apply clarsimp
+ apply (subst fincomp_Un_disjoint)
+ apply (fastforce intro!: funcsetI fincomp_closed)+
+ done
+qed
+
+lemma fincomp_Union_disjoint:
+ "\<lbrakk>finite C; \<And>A. A \<in> C \<Longrightarrow> finite A \<and> (\<forall>x\<in>A. f x \<in> M); pairwise disjnt C\<rbrakk> \<Longrightarrow>
+ fincomp f (\<Union>C) = fincomp (fincomp f) C"
+ by (frule fincomp_UN_disjoint [of C id f]) auto
+
+end
+
+subsection \<open>Results for Abelian Groups\<close>
+
+context abelian_group begin
+
+lemma fincomp_inverse:
+ "f \<in> A \<rightarrow> G \<Longrightarrow> fincomp (\<lambda>x. inverse (f x)) A = inverse (fincomp f A)"
+proof (induct A rule: infinite_finite_induct)
+ case empty show ?case by simp
+next
+ case (insert a A)
+ then have "f a \<in> G" "f \<in> A \<rightarrow> G" "(\<lambda>x. inverse (f x)) \<in> A \<rightarrow> G"
+ by blast+
+ with insert show ?case
+ by (simp add: commutative inverse_composition_commute)
+qed simp
+
+text \<open> Jeremy Avigad. This should be generalized to arbitrary groups, not just Abelian
+ ones, using Lagrange's theorem.\<close>
+lemma power_order_eq_one:
+ assumes fin [simp]: "finite G"
+ and a [simp]: "a \<in> G"
+ shows "rec_nat \<one> (\<lambda>u. (\<cdot>) a) (card G) = \<one>"
+proof -
+ have rec_G: "rec_nat \<one> (\<lambda>u. (\<cdot>) a) (card G) \<in> G"
+ by (metis Pi_I' a fincomp_closed fincomp_const)
+ have "\<And>x. x \<in> G \<Longrightarrow> x \<in> (\<cdot>) a ` G"
+ by (metis a composition_closed imageI invertible invertible_inverse_closed invertible_right_inverse2)
+ with a have "(\<cdot>) a ` G = G" by blast
+ then have "\<one> \<cdot> fincomp (\<lambda>x. x) G = fincomp (\<lambda>x. x) ((\<cdot>) a ` G)"
+ by simp
+ also have "\<dots> = fincomp (\<lambda>x. a \<cdot> x) G"
+ using fincomp_reindex
+ by (subst (2) fincomp_reindex [symmetric]) (auto simp: inj_on_def)
+ also have "\<dots> = fincomp (\<lambda>x. a) G \<cdot> fincomp (\<lambda>x. x) G"
+ by (simp add: fincomp_comp)
+ also have "fincomp (\<lambda>x. a) G = rec_nat \<one> (\<lambda>u. (\<cdot>) a) (card G)"
+ by (simp add: fincomp_const)
+ finally show ?thesis
+ by (metis commutative fincomp_closed funcset_id invertible invertible_left_cancel rec_G unit_closed)
+qed
+
+end
+
+end
diff --git a/thys/Khovanskii_Theorem/For_2022.thy b/thys/Khovanskii_Theorem/For_2022.thy
new file mode 100644
--- /dev/null
+++ b/thys/Khovanskii_Theorem/For_2022.thy
@@ -0,0 +1,151 @@
+section\<open>Temporary Preliminaries\<close>
+
+text \<open>Everything here will become redundant in Isabelle 2022\<close>
+
+theory For_2022
+ imports
+ "HOL-Analysis.Weierstrass_Theorems" \<comment> \<open>needed for polynomial function\<close>
+ "HOL-Library.List_Lenlexorder" \<comment> \<open>lexicographic ordering for the type @{typ \<open>nat list\<close>}\<close>
+begin
+
+
+thm card_UNION
+text \<open>The famous inclusion-exclusion formula for the cardinality of a union\<close>
+lemma int_card_UNION:
+ assumes "finite A"
+ and "\<forall>k \<in> A. finite k"
+ shows "int (card (\<Union>A)) = (\<Sum>I | I \<subseteq> A \<and> I \<noteq> {}. (- 1) ^ (card I + 1) * int (card (\<Inter>I)))"
+ (is "?lhs = ?rhs")
+proof -
+ have "?rhs = (\<Sum>I | I \<subseteq> A \<and> I \<noteq> {}. (- 1) ^ (card I + 1) * (\<Sum>_\<in>\<Inter>I. 1))"
+ by simp
+ also have "\<dots> = (\<Sum>I | I \<subseteq> A \<and> I \<noteq> {}. (\<Sum>_\<in>\<Inter>I. (- 1) ^ (card I + 1)))"
+ by (subst sum_distrib_left) simp
+ also have "\<dots> = (\<Sum>(I, _)\<in>Sigma {I. I \<subseteq> A \<and> I \<noteq> {}} Inter. (- 1) ^ (card I + 1))"
+ using assms by (subst sum.Sigma) auto
+ also have "\<dots> = (\<Sum>(x, I)\<in>(SIGMA x:UNIV. {I. I \<subseteq> A \<and> I \<noteq> {} \<and> x \<in> \<Inter>I}). (- 1) ^ (card I + 1))"
+ by (rule sum.reindex_cong [where l = "\<lambda>(x, y). (y, x)"]) (auto intro: inj_onI)
+ also have "\<dots> = (\<Sum>(x, I)\<in>(SIGMA x:\<Union>A. {I. I \<subseteq> A \<and> I \<noteq> {} \<and> x \<in> \<Inter>I}). (- 1) ^ (card I + 1))"
+ using assms
+ by (auto intro!: sum.mono_neutral_cong_right finite_SigmaI2 intro: finite_subset[where B="\<Union>A"])
+ also have "\<dots> = (\<Sum>x\<in>\<Union>A. (\<Sum>I|I \<subseteq> A \<and> I \<noteq> {} \<and> x \<in> \<Inter>I. (- 1) ^ (card I + 1)))"
+ using assms by (subst sum.Sigma) auto
+ also have "\<dots> = (\<Sum>_\<in>\<Union>A. 1)" (is "sum ?lhs _ = _")
+ proof (rule sum.cong[OF refl])
+ fix x
+ assume x: "x \<in> \<Union>A"
+ define K where "K = {X \<in> A. x \<in> X}"
+ with \<open>finite A\<close> have K: "finite K"
+ by auto
+ let ?I = "\<lambda>i. {I. I \<subseteq> A \<and> card I = i \<and> x \<in> \<Inter>I}"
+ have "inj_on snd (SIGMA i:{1..card A}. ?I i)"
+ using assms by (auto intro!: inj_onI)
+ moreover have [symmetric]: "snd ` (SIGMA i:{1..card A}. ?I i) = {I. I \<subseteq> A \<and> I \<noteq> {} \<and> x \<in> \<Inter>I}"
+ using assms
+ by (auto intro!: rev_image_eqI[where x="(card a, a)" for a]
+ simp add: card_gt_0_iff[folded Suc_le_eq]
+ dest: finite_subset intro: card_mono)
+ ultimately have "?lhs x = (\<Sum>(i, I)\<in>(SIGMA i:{1..card A}. ?I i). (- 1) ^ (i + 1))"
+ by (rule sum.reindex_cong [where l = snd]) fastforce
+ also have "\<dots> = (\<Sum>i=1..card A. (\<Sum>I|I \<subseteq> A \<and> card I = i \<and> x \<in> \<Inter>I. (- 1) ^ (i + 1)))"
+ using assms by (subst sum.Sigma) auto
+ also have "\<dots> = (\<Sum>i=1..card A. (- 1) ^ (i + 1) * (\<Sum>I|I \<subseteq> A \<and> card I = i \<and> x \<in> \<Inter>I. 1))"
+ by (subst sum_distrib_left) simp
+ also have "\<dots> = (\<Sum>i=1..card K. (- 1) ^ (i + 1) * (\<Sum>I|I \<subseteq> K \<and> card I = i. 1))"
+ (is "_ = ?rhs")
+ proof (rule sum.mono_neutral_cong_right[rule_format])
+ show "finite {1..card A}"
+ by simp
+ show "{1..card K} \<subseteq> {1..card A}"
+ using \<open>finite A\<close> by (auto simp add: K_def intro: card_mono)
+ next
+ fix i
+ assume "i \<in> {1..card A} - {1..card K}"
+ then have i: "i \<le> card A" "card K < i"
+ by auto
+ have "{I. I \<subseteq> A \<and> card I = i \<and> x \<in> \<Inter>I} = {I. I \<subseteq> K \<and> card I = i}"
+ by (auto simp add: K_def)
+ also have "\<dots> = {}"
+ using \<open>finite A\<close> i by (auto simp add: K_def dest: card_mono[rotated 1])
+ finally show "(- 1) ^ (i + 1) * (\<Sum>I | I \<subseteq> A \<and> card I = i \<and> x \<in> \<Inter>I. 1 :: int) = 0"
+ by (metis mult_zero_right sum.empty)
+ next
+ fix i
+ have "(\<Sum>I | I \<subseteq> A \<and> card I = i \<and> x \<in> \<Inter>I. 1) = (\<Sum>I | I \<subseteq> K \<and> card I = i. 1 :: int)"
+ (is "?lhs = ?rhs")
+ by (rule sum.cong) (auto simp add: K_def)
+ then show "(- 1) ^ (i + 1) * ?lhs = (- 1) ^ (i + 1) * ?rhs"
+ by simp
+ qed
+ also have "{I. I \<subseteq> K \<and> card I = 0} = {{}}"
+ using assms by (auto simp add: card_eq_0_iff K_def dest: finite_subset)
+ then have "?rhs = (\<Sum>i = 0..card K. (- 1) ^ (i + 1) * (\<Sum>I | I \<subseteq> K \<and> card I = i. 1 :: int)) + 1"
+ by (subst (2) sum.atLeast_Suc_atMost) simp_all
+ also have "\<dots> = (\<Sum>i = 0..card K. (- 1) * ((- 1) ^ i * int (card K choose i))) + 1"
+ using K by (subst n_subsets[symmetric]) simp_all
+ also have "\<dots> = - (\<Sum>i = 0..card K. (- 1) ^ i * int (card K choose i)) + 1"
+ by (subst sum_distrib_left[symmetric]) simp
+ also have "\<dots> = - ((-1 + 1) ^ card K) + 1"
+ by (subst binomial_ring) (simp add: ac_simps atMost_atLeast0)
+ also have "\<dots> = 1"
+ using x K by (auto simp add: K_def card_gt_0_iff)
+ finally show "?lhs x = 1" .
+ qed
+ also have "\<dots> = int (card (\<Union>A))"
+ by simp
+ finally show ?thesis ..
+qed
+
+lemma card_UNION:
+ assumes "finite A"
+ and "\<forall>k \<in> A. finite k"
+ shows "card (\<Union>A) = nat (\<Sum>I | I \<subseteq> A \<and> I \<noteq> {}. (- 1) ^ (card I + 1) * int (card (\<Inter>I)))"
+ by (simp only: flip: int_card_UNION [OF assms])
+
+lemma card_UNION_nonneg:
+ assumes "finite A"
+ and "\<forall>k \<in> A. finite k"
+ shows "(\<Sum>I | I \<subseteq> A \<and> I \<noteq> {}. (- 1) ^ (card I + 1) * int (card (\<Inter>I))) \<ge> 0"
+ using int_card_UNION [OF assms] by presburger
+
+lemma real_polynomial_function_divide [intro]:
+ assumes "real_polynomial_function p" shows "real_polynomial_function (\<lambda>x. p x / c)"
+proof -
+ have "real_polynomial_function (\<lambda>x. p x * Fields.inverse c)"
+ using assms by auto
+ then show ?thesis
+ by (simp add: divide_inverse)
+qed
+
+lemma real_polynomial_function_prod [intro]:
+ "\<lbrakk>finite I; \<And>i. i \<in> I \<Longrightarrow> real_polynomial_function (\<lambda>x. f x i)\<rbrakk> \<Longrightarrow> real_polynomial_function (\<lambda>x. prod (f x) I)"
+ by (induct I rule: finite_induct) auto
+
+lemma real_polynomial_function_gchoose:
+ obtains p where "real_polynomial_function p" "\<And>x. x gchoose r = p x"
+proof
+ show "real_polynomial_function (\<lambda>x. (\<Prod>i = 0..<r. x - real i) / fact r)"
+ by (force simp add: )
+qed (simp add: gbinomial_prod_rev)
+
+lemma sorted_map_plus_iff [simp]:
+ fixes a::"'a::linordered_cancel_ab_semigroup_add"
+ shows "sorted (map ((+) a) xs) \<longleftrightarrow> sorted xs"
+ by (induction xs) auto
+
+lemma distinct_map_plus_iff [simp]:
+ fixes a::"'a::linordered_cancel_ab_semigroup_add"
+ shows "distinct (map ((+) a) xs) \<longleftrightarrow> distinct xs"
+ by (induction xs) auto
+
+subsection \<open>Preliminary type instantiations\<close>
+
+instance list :: (wellorder) wellorder
+proof
+ show "P a"
+ if "\<And>x. (\<And>y. y < x \<Longrightarrow> P y) \<Longrightarrow> P x" for P and a :: "'a list"
+ using that unfolding list_less_def
+ by (metis wf_lenlex wf_induct wf_lenlex wf)
+qed
+
+end
diff --git a/thys/Khovanskii_Theorem/Khovanskii.thy b/thys/Khovanskii_Theorem/Khovanskii.thy
new file mode 100644
--- /dev/null
+++ b/thys/Khovanskii_Theorem/Khovanskii.thy
@@ -0,0 +1,1250 @@
+section\<open>Khovanskii's Theorem\<close>
+
+text\<open>We formalise the proof of an important theorem in additive combinatorics due to Khovanskii,
+attesting that the cardinality of the set of all sums of $n$ many elements of $A$,
+where $A$ is a finite subset of an abelian group, is a polynomial in $n$ for all sufficiently large $n$.
+We follow a proof due to Nathanson and Ruzsa as presented in the notes
+“Introduction to Additive Combinatorics” by Timothy Gowers for the University of Cambridge.\<close>
+
+theory Khovanskii
+ imports
+ Complex_Main
+ FiniteProduct
+ "HOL-Library.Equipollence"
+ "Pluennecke_Ruzsa_Inequality.Pluennecke_Ruzsa_Inequality"
+ "Bernoulli.Bernoulli" \<comment> \<open>sums of a fixed power are polynomials\<close>
+ "HOL-Analysis.Weierstrass_Theorems" \<comment> \<open>needed for polynomial function\<close>
+ "HOL-Library.List_Lenlexorder" \<comment> \<open>lexicographic ordering for the type @{typ \<open>nat list\<close>}\<close>
+ For_2022
+begin
+
+lemma real_polynomial_function_sum_of_powers:
+ "\<exists>p. real_polynomial_function p \<and> (\<forall>n. (\<Sum>i\<le>n. real i ^ j) = p (real n))"
+proof (intro exI conjI strip)
+ let ?p = "\<lambda>n. (bernpoly (Suc j) (1 + n) - bernpoly (Suc j) 0) / (Suc j)"
+ show "real_polynomial_function ?p"
+ by (force simp add: bernpoly_def)
+qed (simp add: add.commute sum_of_powers)
+
+text \<open>The sum of the elements of a list\<close>
+abbreviation "\<sigma> \<equiv> sum_list"
+
+text \<open>Related to the nsets of Ramsey.thy, but simpler\<close>
+definition finsets :: "['a set, nat] \<Rightarrow> 'a set set"
+ where "finsets A n \<equiv> {N. N \<subseteq> A \<and> card N = n}"
+
+lemma card_finsets: "finite N \<Longrightarrow> card (finsets N k) = card N choose k"
+ by (simp add: finsets_def n_subsets)
+
+
+subsection \<open>Arithmetic operations on lists, pointwise on the elements\<close>
+
+text \<open>Weak type class properties.
+ Cancellation is difficult to arrange because of complications when lists differ in length.\<close>
+
+instantiation list :: (plus) plus
+begin
+definition "plus_list \<equiv> map2 (+)"
+instance..
+end
+
+lemma length_plus_list [simp]:
+ fixes xs :: "'a::plus list"
+ shows "length (xs+ys) = min (length xs) (length ys)"
+ by (simp add: plus_list_def)
+
+lemma plus_Nil [simp]: "[] + xs = []"
+ by (simp add: plus_list_def)
+
+lemma plus_Cons: "(y # ys) + (x # xs) = (y+x) # (ys+xs)"
+ by (simp add: plus_list_def)
+
+lemma nth_plus_list [simp]:
+ fixes xs :: "'a::plus list"
+ assumes "i < length xs" "i < length ys"
+ shows "(xs+ys)!i = xs!i + ys!i"
+ by (simp add: plus_list_def assms)
+
+
+instantiation list :: (minus) minus
+begin
+definition "minus_list \<equiv> map2 (-)"
+instance..
+end
+
+lemma length_minus_list [simp]:
+ fixes xs :: "'a::minus list"
+ shows "length (xs-ys) = min (length xs) (length ys)"
+ by (simp add: minus_list_def)
+
+lemma minus_Nil [simp]: "[] - xs = []"
+ by (simp add: minus_list_def)
+
+lemma minus_Cons: "(y # ys) - (x # xs) = (y-x) # (ys-xs)"
+ by (simp add: minus_list_def)
+
+lemma nth_minus_list [simp]:
+ fixes xs :: "'a::minus list"
+ assumes "i < length xs" "i < length ys"
+ shows "(xs-ys)!i = xs!i - ys!i"
+ by (simp add: minus_list_def assms)
+
+instance list :: (ab_semigroup_add) ab_semigroup_add
+proof
+ have "map2 (+) (map2 (+) xs ys) zs = map2 (+) xs (map2 (+) ys zs)" for xs ys zs :: "'a list"
+ proof (induction xs arbitrary: ys zs)
+ case (Cons x xs)
+ show ?case
+ proof (cases "ys=[] \<or> zs=[]")
+ case False
+ then obtain y ys' z zs' where "ys = y#ys'" "zs = z # zs'"
+ by (meson list.exhaust)
+ then show ?thesis
+ by (simp add: Cons add.assoc)
+ qed auto
+ qed auto
+ then show "a + b + c = a + (b + c)" for a b c :: "'a list"
+ by (auto simp: plus_list_def)
+next
+ have "map2 (+) xs ys = map2 (+) ys xs" for xs ys :: "'a list"
+ proof (induction xs arbitrary: ys)
+ case (Cons x xs)
+ show ?case
+ proof (cases ys)
+ case (Cons y ys')
+ then show ?thesis
+ by (simp add: Cons.IH add.commute)
+ qed auto
+ qed auto
+ then show "a + b = b + a" for a b :: "'a list"
+ by (auto simp: plus_list_def)
+qed
+
+
+subsection \<open>The pointwise ordering on two equal-length lists of natural numbers\<close>
+
+text \<open>Gowers uses the usual symbol ($\le$) for his pointwise ordering.
+ In our development, $\le$ is the lexicographic ordering and $\unlhd$ is the pointwise ordering.\<close>
+
+definition pointwise_le :: "[nat list, nat list] \<Rightarrow> bool" (infixr "\<unlhd>" 50 )
+ where "x \<unlhd> y \<equiv> list_all2 (\<le>) x y"
+
+definition pointwise_less :: "[nat list, nat list] \<Rightarrow> bool" (infixr "\<lhd>" 50 )
+ where "x \<lhd> y \<equiv> x \<unlhd> y \<and> x \<noteq> y"
+
+lemma pointwise_le_iff_nth:
+ "x \<unlhd> y \<longleftrightarrow> length x = length y \<and> (\<forall>i < length x. x!i \<le> y!i)"
+ by (simp add: list_all2_conv_all_nth pointwise_le_def)
+
+lemma pointwise_le_iff:
+ "x \<unlhd> y \<longleftrightarrow> length x = length y \<and> (\<forall>(i,j) \<in> set (zip x y). i\<le>j)"
+ by (simp add: list_all2_iff pointwise_le_def)
+
+lemma pointwise_append_le_iff [simp]: "u@x \<unlhd> u@y \<longleftrightarrow> x \<unlhd> y"
+ by (auto simp: pointwise_le_iff_nth nth_append)
+
+lemma pointwise_le_refl [iff]: "x \<unlhd> x"
+ by (simp add: list.rel_refl pointwise_le_def)
+
+lemma pointwise_le_antisym: "\<lbrakk>x \<unlhd> y; y \<unlhd> x\<rbrakk> \<Longrightarrow> x=y"
+ by (metis antisym list_all2_antisym pointwise_le_def)
+
+lemma pointwise_le_trans: "\<lbrakk>x \<unlhd> y; y \<unlhd> z\<rbrakk> \<Longrightarrow> x \<unlhd> z"
+ by (smt (verit, del_insts) le_trans list_all2_trans pointwise_le_def)
+
+lemma pointwise_le_Nil [simp]: "Nil \<unlhd> x \<longleftrightarrow> x = Nil"
+ by (simp add: pointwise_le_def)
+
+lemma pointwise_le_Nil2 [simp]: "x \<unlhd> Nil \<longleftrightarrow> x = Nil"
+ by (simp add: pointwise_le_def)
+
+lemma pointwise_le_iff_less_equal: "x \<unlhd> y \<longleftrightarrow> x \<lhd> y \<or> x = y"
+ using pointwise_le_refl pointwise_less_def by blast
+
+lemma pointwise_less_iff:
+ "x \<lhd> y \<longleftrightarrow> x \<unlhd> y \<and> (\<exists>(i,j) \<in> set (zip x y). i<j)"
+ using list_eq_iff_zip_eq pointwise_le_iff pointwise_less_def by fastforce
+
+lemma pointwise_less_iff2: "x \<lhd> y \<longleftrightarrow> x \<unlhd> y \<and> (\<exists>k < length x. x!k <y ! k)"
+ unfolding pointwise_less_def pointwise_le_iff_nth
+ by (fastforce intro!: nth_equalityI)
+
+lemma pointwise_less_Nil [simp]: "\<not> Nil \<lhd> x"
+ by (simp add: pointwise_less_def)
+
+lemma pointwise_less_Nil2 [simp]: "\<not> x \<lhd> Nil"
+ by (simp add: pointwise_less_def)
+
+lemma zero_pointwise_le_iff [simp]: "replicate r 0 \<unlhd> x \<longleftrightarrow> length x = r"
+ by (auto simp add: pointwise_le_iff_nth)
+
+lemma pointwise_le_imp_\<sigma>:
+ assumes "xs \<unlhd> ys" shows "\<sigma> xs \<le> \<sigma> ys"
+ using assms
+proof (induction ys arbitrary: xs)
+ case Nil
+ then show ?case
+ by (simp add: pointwise_le_iff)
+next
+ case (Cons y ys)
+ then obtain x xs' where "x\<le>y" "xs = x#xs'" "xs' \<unlhd> ys"
+ by (auto simp: pointwise_le_def list_all2_Cons2)
+ then show ?case
+ by (simp add: Cons.IH add_le_mono)
+qed
+
+lemma sum_list_plus:
+ fixes xs :: "'a::comm_monoid_add list"
+ assumes "length xs = length ys" shows "\<sigma> (xs + ys) = \<sigma> xs + \<sigma> ys"
+ using assms by (simp add: plus_list_def case_prod_unfold sum_list_addf)
+
+lemma sum_list_minus:
+ assumes "xs \<unlhd> ys" shows "\<sigma> (ys - xs) = \<sigma> ys - \<sigma> xs"
+ using assms
+proof (induction ys arbitrary: xs)
+ case (Cons y ys)
+ then obtain x xs' where "x\<le>y" "xs = x#xs'" "xs' \<unlhd> ys"
+ by (auto simp: pointwise_le_def list_all2_Cons2)
+ then show ?case
+ using pointwise_le_imp_\<sigma> by (auto simp: Cons minus_Cons)
+qed (auto simp: in_set_conv_nth)
+
+
+subsection \<open>Pointwise minimum and maximum of a set of lists\<close>
+
+definition min_pointwise :: "[nat, nat list set] \<Rightarrow> nat list"
+ where "min_pointwise \<equiv> \<lambda>r U. map (\<lambda>i. Min ((\<lambda>u. u!i) ` U)) [0..<r]"
+
+lemma min_pointwise_le: "\<lbrakk>u \<in> U; finite U\<rbrakk> \<Longrightarrow> min_pointwise (length u) U \<unlhd> u"
+ by (simp add: min_pointwise_def pointwise_le_iff_nth)
+
+lemma min_pointwise_ge_iff:
+ assumes "finite U" "U \<noteq> {}" "\<And>u. u \<in> U \<Longrightarrow> length u = r" "length x = r"
+ shows "x \<unlhd> min_pointwise r U \<longleftrightarrow> (\<forall>u \<in> U. x \<unlhd> u)"
+ by (auto simp: min_pointwise_def pointwise_le_iff_nth assms)
+
+definition max_pointwise :: "[nat, nat list set] \<Rightarrow> nat list"
+ where "max_pointwise \<equiv> \<lambda>r U. map (\<lambda>i. Max ((\<lambda>u. u!i) ` U)) [0..<r]"
+
+lemma max_pointwise_ge: "\<lbrakk>u \<in> U; finite U\<rbrakk> \<Longrightarrow> u \<unlhd> max_pointwise (length u) U"
+ by (simp add: max_pointwise_def pointwise_le_iff_nth)
+
+lemma max_pointwise_le_iff:
+ assumes "finite U" "U \<noteq> {}" "\<And>u. u \<in> U \<Longrightarrow> length u = r" "length x = r"
+ shows "max_pointwise r U \<unlhd> x \<longleftrightarrow> (\<forall>u \<in> U. u \<unlhd> x)"
+ by (auto simp: max_pointwise_def pointwise_le_iff_nth assms)
+
+lemma max_pointwise_mono:
+ assumes "X' \<subseteq> X" "finite X" "X' \<noteq> {}"
+ shows "max_pointwise r X' \<unlhd> max_pointwise r X"
+ using assms by (simp add: max_pointwise_def pointwise_le_iff_nth Max_mono image_mono)
+
+lemma pointwise_le_plus: "\<lbrakk>xs \<unlhd> ys; length ys \<le> length zs\<rbrakk> \<Longrightarrow> xs \<unlhd> ys+zs"
+proof (induction xs arbitrary: ys zs)
+ case (Cons x xs)
+ then obtain y ys' z zs' where "ys = y#ys'" "zs = z#zs'"
+ unfolding pointwise_le_iff by (metis Suc_le_length_iff le_refl length_Cons)
+ with Cons show ?case
+ by (auto simp: plus_list_def pointwise_le_def)
+qed (simp add: pointwise_le_iff)
+
+lemma pairwise_minus_cancel: "\<lbrakk>z \<unlhd> x; z \<unlhd> y; x - z = y - z\<rbrakk> \<Longrightarrow> x = y"
+ unfolding pointwise_le_iff_nth by (metis eq_diff_iff nth_equalityI nth_minus_list)
+
+
+subsection \<open>A locale to fix the finite subset @{term "A \<subseteq> G"}\<close>
+
+locale Khovanskii = additive_abelian_group +
+ fixes A :: "'a set"
+ assumes AsubG: "A \<subseteq> G" and finA: "finite A" and nonempty: "A \<noteq> {}"
+
+begin
+
+text \<open>finite products of a group element\<close>
+definition Gmult :: "'a \<Rightarrow> nat \<Rightarrow> 'a"
+ where "Gmult a n \<equiv> (((\<oplus>)a) ^^ n) \<zero>"
+
+lemma Gmult_0 [simp]: "Gmult a 0 = \<zero>"
+ by (simp add: Gmult_def)
+
+lemma Gmult_1 [simp]: "a \<in> G \<Longrightarrow> Gmult a (Suc 0) = a"
+ by (simp add: Gmult_def)
+
+lemma Gmult_Suc [simp]: "Gmult a (Suc n) = a \<oplus> Gmult a n"
+ by (simp add: Gmult_def)
+
+lemma Gmult_in_G [simp,intro]: "a \<in> G \<Longrightarrow> Gmult a n \<in> G"
+ by (induction n) auto
+
+lemma Gmult_add_add:
+ assumes "a \<in> G"
+ shows "Gmult a (m+n) = Gmult a m \<oplus> Gmult a n"
+ by (induction m) (use assms local.associative in fastforce)+
+
+lemma Gmult_add_diff:
+ assumes "a \<in> G"
+ shows "Gmult a (n+k) \<ominus> Gmult a n = Gmult a k"
+ by (metis Gmult_add_add Gmult_in_G assms commutative inverse_closed invertible invertible_left_inverse2)
+
+lemma Gmult_diff:
+ assumes "a \<in> G" "n\<le>m"
+ shows "Gmult a m \<ominus> Gmult a n = Gmult a (m-n)"
+ by (metis Gmult_add_diff assms le_add_diff_inverse)
+
+
+text \<open>Mapping elements of @{term A} to their numeric subscript\<close>
+abbreviation "idx \<equiv> to_nat_on A"
+
+text \<open>The elements of @{term A} in order\<close>
+definition aA :: "'a list"
+ where "aA \<equiv> map (from_nat_into A) [0..<card A]"
+
+definition \<alpha> :: "nat list \<Rightarrow> 'a"
+ where "\<alpha> \<equiv> \<lambda>x. fincomp (\<lambda>i. Gmult (aA!i) (x!i)) {..<card A}"
+
+text \<open>The underlying assumption is @{term "length y = length x"}\<close>
+definition useless:: "nat list \<Rightarrow> bool"
+ where "useless x \<equiv> \<exists>y < x. \<sigma> y = \<sigma> x \<and> \<alpha> y = \<alpha> x \<and> length y = length x"
+
+abbreviation "useful x \<equiv> \<not> useless x"
+
+lemma alpha_replicate_0 [simp]: "\<alpha> (replicate (card A) 0) = \<zero>"
+ by (auto simp: \<alpha>_def intro: fincomp_unit_eqI)
+
+lemma idx_less_cardA:
+ assumes "a \<in> A" shows "idx a < card A"
+ by (metis assms bij_betw_def finA imageI lessThan_iff to_nat_on_finite)
+
+lemma aA_idx_eq [simp]:
+ assumes "a \<in> A" shows "aA ! (idx a) = a"
+ by (simp add: aA_def assms countable_finite finA idx_less_cardA)
+
+lemma set_aA: "set aA = A"
+ using bij_betw_from_nat_into_finite [OF finA]
+ by (simp add: aA_def atLeast0LessThan bij_betw_def)
+
+lemma nth_aA_in_G [simp]: "i < card A \<Longrightarrow> aA!i \<in> G"
+ using AsubG aA_def set_aA by auto
+
+lemma alpha_in_G [iff]: "\<alpha> x \<in> G"
+ using nth_aA_in_G fincomp_closed by (simp add: \<alpha>_def)
+
+lemma Gmult_in_PiG [simp]: "(\<lambda>i. Gmult (aA!i) (f i)) \<in> {..<card A} \<rightarrow> G"
+ by simp
+
+lemma alpha_plus:
+ assumes "length x = card A" "length y = card A"
+ shows "\<alpha> (x + y) = \<alpha> x \<oplus> \<alpha> y"
+proof -
+ have "\<alpha> (x + y) = fincomp (\<lambda>i. Gmult (aA!i) (map2 (+) x y!i)) {..<card A}"
+ by (simp add: \<alpha>_def plus_list_def)
+ also have "\<dots> = fincomp (\<lambda>i. Gmult (aA!i) (x!i + y!i)) {..<card A}"
+ by (intro fincomp_cong'; simp add: assms)
+ also have "\<dots> = fincomp (\<lambda>i. Gmult (aA!i) (x!i) \<oplus> Gmult (aA!i) (y!i)) {..<card A}"
+ by (intro fincomp_cong'; simp add: Gmult_add_add)
+ also have "\<dots> = \<alpha> x \<oplus> \<alpha> y"
+ by (simp add: \<alpha>_def fincomp_comp)
+ finally show ?thesis .
+qed
+
+lemma alpha_minus:
+ assumes "y \<unlhd> x" "length y = card A"
+ shows "\<alpha> (x - y) = \<alpha> x \<ominus> \<alpha> y"
+proof -
+ have "\<alpha> (x - y) = fincomp (\<lambda>i. Gmult (aA!i) (map2 (-) x y!i)) {..<card A}"
+ by (simp add: \<alpha>_def minus_list_def)
+ also have "\<dots> = fincomp (\<lambda>i. Gmult (aA!i) (x!i - y!i)) {..<card A}"
+ using assms by (intro fincomp_cong') (auto simp: pointwise_le_iff)
+ also have "\<dots> = fincomp (\<lambda>i. Gmult (aA!i) (x!i) \<ominus> Gmult (aA!i) (y!i)) {..<card A}"
+ using assms
+ by (intro fincomp_cong') (simp add: pointwise_le_iff_nth Gmult_diff)+
+ also have "\<dots> = \<alpha> x \<ominus> \<alpha> y"
+ by (simp add: \<alpha>_def fincomp_comp fincomp_inverse)
+ finally show ?thesis .
+qed
+
+subsection \<open>Adding one to a list element\<close>
+
+definition list_incr :: "nat \<Rightarrow> nat list \<Rightarrow> nat list"
+ where "list_incr i x \<equiv> x[i := Suc (x!i)]"
+
+lemma list_incr_Nil [simp]: "list_incr i [] = []"
+ by (simp add: list_incr_def)
+
+lemma list_incr_Cons [simp]: "list_incr (Suc i) (k#ks) = k # list_incr i ks"
+ by (simp add: list_incr_def)
+
+lemma sum_list_incr [simp]: "i < length x \<Longrightarrow> \<sigma> (list_incr i x) = Suc (\<sigma> x)"
+ by (auto simp: list_incr_def sum_list_update)
+
+lemma length_list_incr [simp]: "length (list_incr i x) = length x"
+ by (auto simp: list_incr_def)
+
+lemma nth_le_list_incr: "i < card A \<Longrightarrow> x!i \<le> list_incr (idx a) x!i"
+ unfolding list_incr_def
+ by (metis Suc_leD linorder_not_less list_update_beyond nth_list_update_eq nth_list_update_neq order_refl)
+
+lemma list_incr_nth_diff: "i < length x \<Longrightarrow> list_incr j x!i - x!i = (if i = j then 1 else 0)"
+ by (simp add: list_incr_def)
+
+subsection \<open>The set of all @{term r}-tuples that sum to @{term n}\<close>
+
+definition length_sum_set :: "nat \<Rightarrow> nat \<Rightarrow> nat list set"
+ where "length_sum_set r n \<equiv> {x. length x = r \<and> \<sigma> x = n}"
+
+lemma length_sum_set_Nil [simp]: "length_sum_set 0 n = (if n=0 then {[]} else {})"
+ by (auto simp: length_sum_set_def)
+
+lemma length_sum_set_Suc [simp]: "k#ks \<in> length_sum_set (Suc r) n \<longleftrightarrow> (\<exists>m. ks \<in> length_sum_set r m \<and> n = m+k)"
+ by (auto simp: length_sum_set_def)
+
+lemma length_sum_set_Suc_eqpoll: "length_sum_set (Suc r) n \<approx> Sigma {..n} (\<lambda>i. length_sum_set r (n-i))" (is "?L \<approx> ?R")
+ unfolding eqpoll_def
+proof
+ let ?f = "(\<lambda>l. (hd l, tl l))"
+ show "bij_betw ?f ?L ?R"
+ proof (intro bij_betw_imageI)
+ show "inj_on ?f ?L"
+ by (force simp: inj_on_def length_sum_set_def intro: list.expand)
+ show "?f ` ?L = ?R"
+ by (force simp: length_sum_set_def length_Suc_conv)
+ qed
+qed
+
+lemma finite_length_sum_set: "finite (length_sum_set r n)"
+proof (induction r arbitrary: n)
+ case 0
+ then show ?case
+ by (auto simp: length_sum_set_def)
+next
+ case (Suc r)
+ then show ?case
+ using length_sum_set_Suc_eqpoll eqpoll_finite_iff by blast
+qed
+
+lemma card_length_sum_set: "card (length_sum_set (Suc r) n) = (\<Sum>i\<le>n. card (length_sum_set r (n-i)))"
+proof -
+ have "card (length_sum_set (Suc r) n) = card (Sigma {..n} (\<lambda>i. length_sum_set r (n-i)))"
+ by (metis eqpoll_finite_iff eqpoll_iff_card finite_length_sum_set length_sum_set_Suc_eqpoll)
+ also have "\<dots> = (\<Sum>i\<le>n. card (length_sum_set r (n-i)))"
+ by (simp add: finite_length_sum_set)
+ finally show ?thesis .
+qed
+
+lemma sum_up_index_split':
+ assumes "N \<le> n" shows "(\<Sum>i\<le>n. f i) = (\<Sum>i\<le>n-N. f i) + (\<Sum>i=Suc (n-N)..n. f i)"
+ by (metis assms diff_add sum_up_index_split)
+
+lemma sum_invert: "N \<le> n \<Longrightarrow> (\<Sum>i = Suc (n - N)..n. f (n - i)) = (\<Sum>j<N. f j)"
+proof (induction N)
+ case (Suc N)
+ then show ?case
+ apply (auto simp: Suc_diff_Suc)
+ by (metis sum.atLeast_Suc_atMost Suc_leD add.commute diff_diff_cancel diff_le_self)
+qed auto
+
+lemma sum_diff_split:
+ assumes "N \<le> n"
+ shows "(\<Sum>i\<le>n - N. real (n - i) ^ j) = (\<Sum>i\<le>n. real i ^ j) - (\<Sum>i<N. real i ^ j)"
+proof -
+ have inj: "inj_on ((-) n) {N..n}"
+ by (auto simp: inj_on_def)
+ have "(\<Sum>i\<le>n - N. real (n - i) ^ j) = (\<Sum>i\<in>(-) n ` {N..n}. real (n - i) ^ j)"
+ proof (rule sum.cong)
+ have "\<And>x. x \<le> n - N \<Longrightarrow> \<exists>m\<ge>N. m \<le> n \<and> x = n - m"
+ by (metis assms diff_diff_cancel diff_le_mono2 diff_le_self le_trans)
+ then show "{..n - N} = (-) n ` {N..n}"
+ by (auto simp add: image_iff Bex_def)
+ qed auto
+ also have "\<dots> = (\<Sum>i=N..n. real i ^ j)"
+ using sum.reindex [OF inj, of "\<lambda>i. real (n - i) ^ j", symmetric]
+ by (simp add: )
+ also have "\<dots> = (\<Sum>i\<le>n. real i ^ j) - (\<Sum>i<N. real i ^ j)"
+ proof (cases N)
+ case 0
+ then show ?thesis
+ using atMost_atLeast0 by auto
+ next
+ case (Suc N')
+ then show ?thesis
+ using assms sum_up_index_split [of _ N' "n-N'"]
+ by (smt (verit, best) Suc_diff_le add_Suc_shift diff_Suc_Suc le_add_diff_inverse lessThan_Suc_atMost)
+ qed
+ finally show ?thesis .
+qed
+
+
+lemma real_polynomial_function_length_sum_set:
+ "\<exists>p. real_polynomial_function p \<and> (\<forall>n>0. real (card (length_sum_set r n)) = p (real n))"
+proof (induction r)
+ case 0
+ have "\<forall>n>0. real (card (length_sum_set 0 n)) = 0"
+ by auto
+ then show ?case
+ by blast
+next
+ case (Suc r)
+ then obtain p where poly: "real_polynomial_function p"
+ and p: "\<And>n. n>0 \<Longrightarrow> real (card (length_sum_set r n)) = p (real n)"
+ by blast
+ then obtain a n where p_eq: "p = (\<lambda>x. \<Sum>i\<le>n. a i * x ^ i)"
+ using real_polynomial_function_iff_sum by auto
+ define q where "q \<equiv> \<lambda>x. \<Sum>j\<le>n. a j * ((bernpoly (Suc j) (1 + x) - bernpoly (Suc j) 0)
+ / (1 + real j) - 0 ^ j)"
+ have rp_q: "real_polynomial_function q"
+ by (fastforce simp: bernpoly_def p_eq q_def)
+ have q_eq: "(\<Sum>x\<le>n - 1. p (real (n - x))) = q (real n)" if "n>0" for n
+ using that
+ by (simp add: p_eq q_def sum.swap sum_diff_split add.commute sum_of_powers flip: sum_distrib_left)
+ define p' where "p' \<equiv> \<lambda>x. q x + real (card (length_sum_set r 0))"
+ have "real_polynomial_function p'"
+ using rp_q by (force simp add: p'_def)
+ moreover have "(\<Sum>x\<le>n - Suc 0. p (real (n - x))) +
+ real (card (length_sum_set r 0)) = p' (real n)" if "n>0" for n
+ using that q_eq by (auto simp: p'_def)
+ ultimately show ?case
+ unfolding card_length_sum_set
+ by (force simp: sum_up_index_split' [of 1] p sum_invert)
+qed
+
+lemma all_zeroes_replicate: "length_sum_set r 0 = {replicate r 0}"
+ by (auto simp: length_sum_set_def replicate_eqI)
+
+lemma length_sum_set_Suc_eq_UN: "length_sum_set r (Suc n) = (\<Union>i<r. list_incr i ` length_sum_set r n)"
+proof -
+ have "\<exists>i<r. x \<in> list_incr i ` length_sum_set r n"
+ if "\<sigma> x = Suc n" and "r = length x" for x
+ proof -
+ have "x \<noteq> replicate r 0"
+ using that by (metis sum_list_replicate Zero_not_Suc mult_zero_right)
+ then obtain i where i: "i < r" "x!i \<noteq> 0"
+ by (metis \<open>r = length x\<close> in_set_conv_nth replicate_eqI)
+ with that have "x[i := x!i - 1] \<in> length_sum_set r n"
+ by (simp add: sum_list_update length_sum_set_def)
+ with i that show ?thesis
+ unfolding list_incr_def by force
+ qed
+ then show ?thesis
+ by (auto simp: length_sum_set_def Bex_def)
+qed
+
+lemma alpha_list_incr:
+ assumes "a \<in> A" "x \<in> length_sum_set (card A) n"
+ shows "\<alpha> (list_incr (idx a) x) = a \<oplus> \<alpha> x"
+proof -
+ have lenx: "length x = card A"
+ using assms length_sum_set_def by blast
+ have "\<alpha> (list_incr (idx a) x) \<ominus> \<alpha> x = fincomp (\<lambda>i. Gmult (aA!i) (list_incr (idx a) x!i) \<ominus> Gmult (aA!i) (x!i)) {..<card A}"
+ by (simp add: \<alpha>_def fincomp_comp fincomp_inverse)
+ also have "\<dots> = fincomp (\<lambda>i. Gmult (aA!i) (list_incr (idx a) x!i - x!i)) {..<card A}"
+ by (intro fincomp_cong; simp add: Gmult_diff nth_le_list_incr)
+ also have "\<dots> = fincomp (\<lambda>i. if i = idx a then (aA!i) else \<zero>) {..<card A}"
+ by (intro fincomp_cong'; simp add: list_incr_nth_diff lenx)
+ also have "\<dots> = a"
+ using assms by (simp add: fincomp_singleton_swap idx_less_cardA)
+ finally have "\<alpha> (list_incr (idx a) x) \<ominus> \<alpha> x = a" .
+ then show ?thesis
+ by (metis alpha_in_G associative inverse_closed invertible invertible_left_inverse right_unit)
+qed
+
+lemma sumset_iterated_enum:
+ defines "r \<equiv> card A"
+ shows "sumset_iterated A n = \<alpha> ` length_sum_set r n"
+proof (induction n)
+ case 0
+ then show ?case
+ by (simp add: all_zeroes_replicate r_def)
+next
+ case (Suc n)
+ have eq: "{..<r} = idx ` A"
+ by (metis bij_betw_def finA r_def to_nat_on_finite)
+ have "sumset_iterated A (Suc n) = (\<Union>a\<in>A. (\<lambda>i. a \<oplus> \<alpha> i) ` length_sum_set r n)"
+ using AsubG by (auto simp: Suc sumset)
+ also have "\<dots> = (\<Union>a\<in>A. (\<lambda>i. \<alpha> (list_incr (idx a) i)) ` length_sum_set r n)"
+ by (simp add: alpha_list_incr r_def)
+ also have "\<dots> = \<alpha> ` length_sum_set r (Suc n)"
+ by (simp add: image_UN image_comp length_sum_set_Suc_eq_UN eq)
+ finally show ?case .
+qed
+
+subsection \<open>Lemma 2.7 in Gowers's notes\<close>
+
+text\<open>The following lemma corresponds to a key fact about the cardinality of the set of all sums of
+$n$ many elements of $A$, stated before Gowers's Lemma 2.7.\<close>
+
+lemma card_sumset_iterated_length_sum_set_useful:
+ defines "r \<equiv> card A"
+ shows "card(sumset_iterated A n) = card (length_sum_set r n \<inter> {x. useful x})"
+ (is "card ?L = card ?R")
+proof -
+ have "\<alpha> x \<in> \<alpha> ` (length_sum_set r n \<inter> {x. useful x})"
+ if "x \<in> length_sum_set r n" for x
+ proof -
+ define y where "y \<equiv> LEAST y. y \<in> length_sum_set r n \<and> \<alpha> y = \<alpha> x"
+ have y: "y \<in> length_sum_set (card A) n \<and> \<alpha> y = \<alpha> x"
+ by (metis (mono_tags, lifting) LeastI r_def y_def that)
+ moreover
+ have "useful y"
+ proof (clarsimp simp: useless_def)
+ show False
+ if "\<sigma> z = \<sigma> y" "length z = length y" and "z < y" "\<alpha> z = \<alpha> y" for z
+ using that Least_le length_sum_set_def not_less_Least r_def y y_def by fastforce
+ qed
+ ultimately show ?thesis
+ unfolding image_iff length_sum_set_def r_def by (smt (verit) Int_Collect)
+ qed
+ then have "sumset_iterated A n = \<alpha> ` (length_sum_set r n \<inter> {x. useful x})"
+ by (auto simp: sumset_iterated_enum length_sum_set_def r_def)
+ moreover have "inj_on \<alpha> (length_sum_set r n \<inter> {x. useful x})"
+ apply (simp add: image_iff length_sum_set_def r_def inj_on_def useless_def Ball_def)
+ by (metis linorder_less_linear)
+ ultimately show ?thesis
+ by (simp add: card_image length_sum_set_def)
+qed
+
+text\<open>The following lemma corresponds to Lemma 2.7 in Gowers's notes.\<close>
+
+lemma useless_leq_useless:
+ defines "r \<equiv> card A"
+ assumes "useless x" and "x \<unlhd> y" and "length x = r"
+ shows "useless y "
+proof -
+ have leny: "length y = r"
+ using pointwise_le_iff assms by auto
+ obtain x' where "x'< x" and \<sigma>x': "\<sigma> x' = \<sigma> x" and \<alpha>x': "\<alpha> x' = \<alpha> x" and lenx': "length x' = length x"
+ using assms useless_def by blast
+ obtain i where "i < card A" and xi: "x'!i < x!i" and takex': "take i x' = take i x"
+ using \<open>x'<x\<close> lenx' assms by (auto simp: list_less_def lenlex_def elim!: lex_take_index)
+ define y' where "y' \<equiv> y+x'-x"
+ have leny': "length y' = length y"
+ using assms lenx' pointwise_le_iff by (simp add: y'_def)
+ have "x!i \<le> y!i"
+ using \<open>x \<unlhd> y\<close> \<open>i < card A\<close> assms by (simp add: pointwise_le_iff_nth)
+ then have "y'!i < y!i"
+ using \<open>i < card A\<close> assms lenx' xi pointwise_le_iff by (simp add: y'_def plus_list_def minus_list_def)
+ moreover have "take i y' = take i y"
+ proof (intro nth_equalityI)
+ show "length (take i y') = length (take i y)"
+ by (simp add: leny')
+ show "\<And>k. k < length (take i y') \<Longrightarrow> take i y' ! k = take i y!k"
+ using takex' by (simp add: y'_def plus_list_def minus_list_def take_map take_zip)
+ qed
+ ultimately have "y' < y"
+ using leny' \<open>i < card A\<close> assms pointwise_le_iff
+ by (auto simp: list_less_def lenlex_def lexord_lex lexord_take_index_conv)
+ moreover have "\<sigma> y' = \<sigma> y"
+ using assms
+ by (simp add: \<sigma>x' lenx' leny pointwise_le_plus sum_list_minus sum_list_plus y'_def)
+ moreover have "\<alpha> y' = \<alpha> y"
+ using assms lenx' \<alpha>x' leny
+ by (fastforce simp add: y'_def pointwise_le_plus alpha_minus alpha_plus local.associative)
+ ultimately show ?thesis
+ using leny' useless_def by blast
+qed
+
+
+inductive_set minimal_elements for U
+ where "\<lbrakk>x \<in> U; \<And>y. y \<in> U \<Longrightarrow> \<not> y \<lhd> x\<rbrakk> \<Longrightarrow> x \<in> minimal_elements U"
+
+
+lemma pointwise_less_imp_\<sigma>:
+ assumes "xs \<lhd> ys" shows "\<sigma> xs < \<sigma> ys"
+proof -
+ have eq: "length ys = length xs" and "xs \<unlhd> ys"
+ using assms by (auto simp: pointwise_le_iff pointwise_less_iff)
+ have "\<forall>k<length xs. xs!k \<le> ys!k"
+ using \<open>xs \<unlhd> ys\<close> list_all2_nthD pointwise_le_def by auto
+ moreover have "\<exists>k<length xs. xs!k < ys!k"
+ using assms pointwise_less_iff2 by force
+ ultimately show ?thesis
+ by (force simp add: eq sum_list_sum_nth intro: sum_strict_mono_ex1)
+qed
+
+lemma wf_measure_\<sigma>: "wf (inv_image less_than \<sigma>)"
+ by blast
+
+lemma WFP: "wfP (\<lhd>)"
+ by (auto simp: wfP_def pointwise_less_imp_\<sigma> intro: wf_subset [OF wf_measure_\<sigma>])
+
+text\<open>The following is a direct corollary of the above lemma, i.e. a corollary of
+ Lemma 2.7 in Gowers's notes.\<close>
+
+corollary useless_iff:
+ assumes "length x = card A"
+ shows "useless x \<longleftrightarrow> (\<exists>x' \<in> minimal_elements (Collect useless). x' \<unlhd> x)" (is "_=?R")
+proof
+ assume "useless x"
+ obtain z where z: "useless z" "z \<unlhd> x" and zmin: "\<And>y. y \<lhd> z \<Longrightarrow> y \<unlhd> x \<Longrightarrow> useful y"
+ using wfE_min [to_pred, where Q = "{z. useless z \<and> z \<unlhd> x}", OF WFP]
+ by (metis (no_types, lifting) \<open>useless x\<close> mem_Collect_eq pointwise_le_refl)
+ then show ?R
+ by (smt (verit) mem_Collect_eq minimal_elements.intros pointwise_le_trans pointwise_less_def)
+next
+ assume ?R
+ with useless_leq_useless minimal_elements.cases show "useless x"
+ by (metis assms mem_Collect_eq pointwise_le_iff)
+qed
+
+subsection \<open>The set of minimal elements of a set of $r$-tuples is finite\<close>
+
+text\<open>The following general finiteness claim corresponds to Lemma 2.8 in Gowers's notes and is key to
+the main proof.\<close>
+
+lemma minimal_elements_set_tuples_finite:
+ assumes Ur: "\<And>x. x \<in> U \<Longrightarrow> length x = r"
+ shows "finite (minimal_elements U)"
+ using assms
+proof (induction r arbitrary: U)
+ case 0
+ then have "U \<subseteq> {[]}"
+ by auto
+ then show ?case
+ by (metis finite.simps minimal_elements.cases finite_subset subset_eq)
+next
+ case (Suc r)
+ show ?case
+ proof (cases "U={}")
+ case True
+ with Suc.IH show ?thesis by blast
+ next
+ case False
+ then obtain u where u: "u \<in> U" and zmin: "\<And>y. y \<lhd> u \<Longrightarrow> y \<notin> U"
+ using wfE_min [to_pred, where Q = "U", OF WFP] by blast
+ define V where "V = {v \<in> U. \<not> u \<unlhd> v}"
+ define VF where "VF \<equiv> \<lambda>i t. {v \<in> V. v!i = t}"
+ have [simp]: "length v = Suc r" if "v \<in> VF i t" for v i t
+ using that by (simp add: Suc.prems VF_def V_def)
+ have *: "\<exists>i\<le>r. v!i < u!i" if "v \<in> V" for v
+ using that u Suc.prems
+ by (force simp add: V_def pointwise_le_iff_nth not_le less_Suc_eq_le)
+ with u have "minimal_elements U \<le> insert u (\<Union>i\<le>r. \<Union>t < u!i. minimal_elements (VF i t))"
+ by (force simp: VF_def V_def minimal_elements.simps pointwise_less_def)
+ moreover
+ have "finite (minimal_elements (VF i t))" if "i\<le>r" "t < u!i" for i t
+ proof -
+ define delete where "delete \<equiv> \<lambda>v::nat list. take i v @ drop (Suc i) v" \<comment> \<open>deletion of @{term i}\<close>
+ have len_delete[simp]: "length (delete u) = r" if "u \<in> VF i t" for u
+ using Suc.prems VF_def V_def \<open>i \<le> r\<close> delete_def that by auto
+ have nth_delete: "delete u!k = (if k<i then u!k else u!Suc k)" if "u \<in> VF i t" "k<r" for u k
+ using that by (simp add: delete_def nth_append)
+ have delete_le_iff [simp]: "delete u \<unlhd> delete v \<longleftrightarrow> u \<unlhd> v" if "u \<in> VF i t" "v \<in> VF i t" for u v
+ proof
+ assume "delete u \<unlhd> delete v"
+ then have "\<forall>j. (j < i \<longrightarrow> u!j \<le> v!j) \<and> (j < r \<longrightarrow> i \<le> j \<longrightarrow> u!Suc j \<le> v!Suc j)"
+ using that \<open>i \<le> r\<close>
+ by (force simp add: pointwise_le_iff_nth nth_delete split: if_split_asm cong: conj_cong)
+ then show "u \<unlhd> v"
+ using that \<open>i \<le> r\<close>
+ apply (simp add: pointwise_le_iff_nth VF_def)
+ by (metis eq_iff le_Suc_eq less_Suc_eq_0_disj linorder_not_less)
+ next
+ assume "u \<unlhd> v" then show "delete u \<unlhd> delete v"
+ using that by (simp add: pointwise_le_iff_nth nth_delete)
+ qed
+ then have delete_eq_iff: "delete u = delete v \<longleftrightarrow> u = v" if "u \<in> VF i t" "v \<in> VF i t" for u v
+ by (metis that pointwise_le_antisym pointwise_le_refl)
+ have delete_less_iff: "delete u \<lhd> delete v \<longleftrightarrow> u \<lhd> v" if "u \<in> VF i t" "v \<in> VF i t" for u v
+ by (metis delete_le_iff pointwise_le_antisym pointwise_less_def that)
+ have "length (delete v) = r" if "v \<in> V" for v
+ using id_take_nth_drop Suc.prems V_def \<open>i \<le> r\<close> delete_def that by auto
+ then have "finite (minimal_elements (delete ` V))"
+ by (metis (mono_tags, lifting) Suc.IH image_iff)
+ moreover have "inj_on delete (minimal_elements (VF i t))"
+ by (simp add: delete_eq_iff inj_on_def minimal_elements.simps)
+ moreover have "delete ` (minimal_elements (VF i t)) \<subseteq> minimal_elements (delete ` (VF i t))"
+ by (auto simp: delete_less_iff minimal_elements.simps)
+ ultimately show ?thesis
+ by (metis (mono_tags, lifting) Suc.IH image_iff inj_on_finite len_delete)
+ qed
+ ultimately show ?thesis
+ by (force elim: finite_subset)
+ qed
+qed
+
+subsection \<open>Towards Lemma 2.9 in Gowers's notes\<close>
+
+text \<open>Increasing sequences\<close>
+fun augmentum :: "nat list \<Rightarrow> nat list"
+ where "augmentum [] = []"
+ | "augmentum (n#ns) = n # map ((+)n) (augmentum ns)"
+
+definition dementum:: "nat list \<Rightarrow> nat list"
+ where "dementum xs \<equiv> xs - (0#xs)"
+
+lemma dementum_Nil [simp]: "dementum [] = []"
+ by (simp add: dementum_def)
+
+lemma zero_notin_augmentum [simp]: "0 \<notin> set ns \<Longrightarrow> 0 \<notin> set (augmentum ns)"
+ by (induction ns) auto
+
+lemma length_augmentum [simp]:"length (augmentum xs) = length xs"
+ by (induction xs) auto
+
+lemma sorted_augmentum [simp]: "0 \<notin> set ns \<Longrightarrow> sorted (augmentum ns)"
+ by (induction ns) auto
+
+lemma distinct_augmentum [simp]: "0 \<notin> set ns \<Longrightarrow> distinct (augmentum ns)"
+ by (induction ns) (simp_all add: image_iff)
+
+lemma augmentum_subset_sum_list: "set (augmentum ns) \<subseteq> {..\<sigma> ns}"
+ by (induction ns) auto
+
+lemma sum_list_augmentum: "\<sigma> ns \<in> set (augmentum ns) \<longleftrightarrow> length ns > 0"
+ by (induction ns) auto
+
+lemma length_dementum [simp]: "length (dementum xs) = length xs"
+ by (simp add: dementum_def)
+
+lemma sorted_imp_pointwise:
+ assumes "sorted (xs@[n])"
+ shows "0 # xs \<unlhd> xs @ [n]"
+ using assms
+ by (simp add: pointwise_le_iff_nth nth_Cons' nth_append sorted_append sorted_wrt_append sorted_wrt_nth_less)
+
+lemma sum_list_dementum:
+ assumes "sorted (xs@[n])"
+ shows "\<sigma> (dementum (xs@[n])) = n"
+proof -
+ have "dementum (xs@[n]) = (xs@[n]) - (0 # xs)"
+ by (rule nth_equalityI; simp add: nth_append dementum_def nth_Cons')
+ then show ?thesis
+ by (simp add: sum_list_minus sorted_imp_pointwise assms)
+qed
+
+lemma augmentum_cancel: "map ((+)k) (augmentum ns) - (k # map ((+)k) (augmentum ns)) = ns"
+proof (induction ns arbitrary: k)
+ case Nil
+ then show ?case
+ by simp
+next
+ case (Cons n ns)
+ have "(+) k \<circ> (+) n = (+) (k+n)" by auto
+ then show ?case
+ by (simp add: minus_Cons Cons)
+qed
+
+lemma dementum_augmentum [simp]:
+ assumes "0 \<notin> set ns"
+ shows "(dementum \<circ> sorted_list_of_set) ((set \<circ> augmentum) ns) = ns" (is "?L ns = _")
+ using assms augmentum_cancel [of 0]
+ by (simp add: dementum_def map_idI sorted_list_of_set.idem_if_sorted_distinct)
+
+lemma dementum_nonzero:
+ assumes ns: "sorted_wrt (<) ns" and 0: "0 \<notin> set ns"
+ shows "0 \<notin> set (dementum ns)"
+ unfolding dementum_def minus_list_def
+ using sorted_wrt_nth_less [OF ns] 0
+ by (auto simp add: in_set_conv_nth image_iff set_zip nth_Cons' dest: leD)
+
+lemma nth_augmentum [simp]: "i < length ns \<Longrightarrow> augmentum ns!i = (\<Sum>j\<le>i. ns!j)"
+proof (induction ns arbitrary: i)
+ case Nil
+ then show ?case
+ by simp
+next
+ case (Cons a ns)
+ show ?case
+ proof (cases "i=0")
+ case False
+ then have "augmentum (a # ns)!i = a + sum ((!) ns) {..i-1}"
+ using Cons.IH Cons.prems by auto
+ also have "\<dots> = a + (\<Sum>j\<in>{0<..i}. ns!(j-1))"
+ using sum.reindex [of Suc "{..i - Suc 0}" "\<lambda>j. ns!(j-1)", symmetric] False
+ by (simp add: image_Suc_atMost atLeastSucAtMost_greaterThanAtMost del: sum.cl_ivl_Suc)
+ also have "\<dots> = (\<Sum>j = 0..i. if j=0 then a else ns!(j-1))"
+ by (simp add: sum.head)
+ also have "\<dots> = sum ((!) (a # ns)) {..i}"
+ by (simp add: nth_Cons' atMost_atLeast0)
+ finally show ?thesis .
+ qed auto
+qed
+
+lemma augmentum_dementum [simp]:
+ assumes "0 \<notin> set ns" "sorted ns"
+ shows "augmentum (dementum ns) = ns"
+proof (rule nth_equalityI)
+ fix i
+ assume "i < length (augmentum (dementum ns))"
+ then have i: "i < length ns"
+ by simp
+ show "augmentum (dementum ns)!i = ns!i"
+ proof (cases "i=0")
+ case True
+ then show ?thesis
+ using nth_augmentum dementum_def i by auto
+ next
+ case False
+ have ns_le: "\<And>j. \<lbrakk>0 < j; j \<le> i\<rbrakk> \<Longrightarrow> ns ! (j - Suc 0) \<le> ns ! j"
+ using \<open>sorted ns\<close> i by (simp add: sorted_iff_nth_mono)
+ have "augmentum (dementum ns)!i = (\<Sum>j\<le>i. ns!j - (if j = 0 then 0 else ns!(j-1)))"
+ using i by (simp add: dementum_def nth_Cons')
+ also have "\<dots> = (\<Sum>j=0..i. if j = 0 then ns!0 else ns!j - ns!(j-1))"
+ by (smt (verit, best) diff_zero sum.cong atMost_atLeast0)
+ also have "\<dots> = ns!0 + (\<Sum>j\<in>{0<..i}. ns!j - ns!(j-1))"
+ by (simp add: sum.head)
+ also have "\<dots> = ns!0 + ((\<Sum>j\<in>{0<..i}. ns!j) - (\<Sum>j\<in>{0<..i}. ns!(j-1)))"
+ by (auto simp: ns_le intro: sum_subtractf_nat)
+ also have "\<dots> = ns!0 + (\<Sum>j\<in>{0<..i}. ns!j) - (\<Sum>j\<in>{0<..i}. ns!(j-1))"
+ proof -
+ have "(\<Sum>j\<in>{0<..i}. ns ! (j - 1)) \<le> sum ((!) ns) {0<..i}"
+ by (metis One_nat_def greaterThanAtMost_iff ns_le sum_mono)
+ then show ?thesis by simp
+ qed
+ also have "\<dots> = ns!0 + (\<Sum>j\<in>{0<..i}. ns!j) - (\<Sum>j\<le>i-Suc 0. ns!j)"
+ using sum.reindex [of Suc "{..i - Suc 0}" "\<lambda>j. ns!(j-1)", symmetric] False
+ by (simp add: image_Suc_atMost atLeastSucAtMost_greaterThanAtMost)
+ also have "\<dots> = (\<Sum>j=0..i. ns!j) - (\<Sum>j\<le>i-Suc 0. ns!j)"
+ by (simp add: sum.head [of 0 i])
+ also have "\<dots> = (\<Sum>j=0..i-Suc 0. ns!j) + ns!i - (\<Sum>j\<le>i-Suc 0. ns!j)"
+ by (metis False Suc_pred less_Suc0 not_less_eq sum.atLeast0_atMost_Suc)
+ also have "\<dots> = ns!i"
+ by (simp add: atLeast0AtMost)
+ finally show "augmentum (dementum ns)!i = ns!i" .
+ qed
+qed auto
+
+text\<open>The following lemma corresponds to Lemma 2.9 in Gowers's notes. The proof involves introducing
+bijective maps between r-tuples that fulfill certain properties/r-tuples and subsets of naturals,
+so as to show the cardinality claim. \<close>
+
+lemma bound_sum_list_card:
+ assumes "r > 0" and n: "n \<ge> \<sigma> x'" and lenx': "length x' = r"
+ defines "S \<equiv> {x. x' \<unlhd> x \<and> \<sigma> x = n}"
+ shows "card S = (n - \<sigma> x' + r - 1) choose (r-1)"
+proof-
+ define m where "m \<equiv> n - \<sigma> x'"
+ define f where "f \<equiv> \<lambda>x::nat list. x - x'"
+ have f: "bij_betw f S (length_sum_set r m)"
+ proof (intro bij_betw_imageI)
+ show "inj_on f S"
+ using pairwise_minus_cancel by (force simp: S_def f_def inj_on_def)
+ have "\<And>x. x \<in> S \<Longrightarrow> f x \<in> length_sum_set r m"
+ by (simp add: S_def f_def length_sum_set_def lenx' m_def pointwise_le_iff sum_list_minus)
+ moreover have "x \<in> f ` S" if "x \<in> length_sum_set r m" for x
+ proof
+ have x[simp]: "length x = r" "\<sigma> x = m"
+ using that by (auto simp: length_sum_set_def)
+ have "x = x' + x - x'"
+ by (rule nth_equalityI; simp add: lenx')
+ then show "x = f (x' + x)"
+ unfolding f_def by fastforce
+ have "x' \<unlhd> x' + x"
+ by (simp add: lenx' pointwise_le_plus)
+ moreover have "\<sigma> (x' + x) = n"
+ by (simp add: lenx' m_def n sum_list_plus)
+ ultimately show "x' + x \<in> S"
+ using S_def by blast
+ qed
+ ultimately show "f ` S = length_sum_set r m" by auto
+ qed
+ define g where "g \<equiv> \<lambda>x::nat list. map Suc x"
+ define g' where "g' \<equiv> \<lambda>x::nat list. x - replicate (length x) 1"
+ define T where "T \<equiv> length_sum_set r (m+r) \<inter> lists(-{0})"
+ have g: "bij_betw g (length_sum_set r m) T"
+ proof (intro bij_betw_imageI)
+ show "inj_on g (length_sum_set r m)"
+ by (auto simp: g_def inj_on_def)
+ have "\<And>x. x \<in> length_sum_set r m \<Longrightarrow> g x \<in> T"
+ by (auto simp: g_def length_sum_set_def sum_list_Suc T_def)
+ moreover have "x \<in> g ` length_sum_set r m" if "x \<in> T" for x
+ proof
+ have [simp]: "length x = r"
+ using length_sum_set_def that T_def by auto
+ have r1_x: "replicate r (Suc 0) \<unlhd> x"
+ using that unfolding T_def pointwise_le_iff_nth
+ by (simp add: lists_def in_listsp_conv_set Suc_leI)
+ show "x = g (g' x)"
+ using that by (intro nth_equalityI) (auto simp: g_def g'_def T_def)
+ show "g' x \<in> length_sum_set r m"
+ using that T_def by (simp add: g'_def r1_x sum_list_minus length_sum_set_def sum_list_replicate)
+ qed
+ ultimately show "g ` (length_sum_set r m) = T" by auto
+ qed
+ define U where "U \<equiv> (insert (m+r)) ` finsets {0<..<m+r} (r-1)"
+ have h: "bij_betw (set \<circ> augmentum) T U"
+ proof (intro bij_betw_imageI)
+ show "inj_on ((set \<circ> augmentum)) T"
+ unfolding inj_on_def T_def
+ by (metis ComplD IntE dementum_augmentum in_listsD insertI1)
+ have "(set \<circ> augmentum) t \<in> U" if "t \<in> T" for t
+ proof -
+ have t: "length t = r" "\<sigma> t = m+r" "0 \<notin> set t"
+ using that by (force simp add: T_def length_sum_set_def)+
+ then have mrt: "m + r \<in> set (augmentum t)"
+ by (metis \<open>r>0\<close> sum_list_augmentum)
+ then have "set (augmentum t) = insert (m + r) (set (augmentum t) - {m + r})"
+ by blast
+ moreover have "set (augmentum t) - {m + r} \<in> finsets {0<..<m + r} (r - Suc 0)"
+ apply (auto simp: finsets_def mrt distinct_card t)
+ by (metis atMost_iff augmentum_subset_sum_list le_eq_less_or_eq subsetD t(2))
+ ultimately show ?thesis
+ by (metis One_nat_def U_def comp_apply imageI)
+ qed
+ moreover have "u \<in> (set \<circ> augmentum) ` T" if "u \<in> U" for u
+ proof
+ from that
+ obtain N where u: "u = insert (m + r) N" and Nsub: "N \<subseteq> {0<..<m + r}"
+ and [simp]: "card N = r - Suc 0"
+ by (auto simp add: U_def finsets_def)
+ have [simp]: "0 \<notin> N" "m+r \<notin> N" "finite N"
+ using finite_subset Nsub by auto
+ have [simp]: "card u = r"
+ using Nsub \<open>r>0\<close> by (auto simp add: u card_insert_if)
+ have ssN: "sorted (sorted_list_of_set N @ [m + r])"
+ using Nsub by (simp add: less_imp_le_nat sorted_wrt_append subset_eq)
+ have so_u_N: "sorted_list_of_set u = insort (m+r) (sorted_list_of_set N)"
+ by (simp add: u)
+ also have "\<dots> = sorted_list_of_set N @ [m+r]"
+ using Nsub by (force intro: sorted_insort_is_snoc)
+ finally have so_u: "sorted_list_of_set u = sorted_list_of_set N @ [m+r]" .
+ have 0: "0 \<notin> set (sorted_list_of_set u)"
+ by (simp add: \<open>r>0\<close> set_insort_key so_u_N)
+ show "u = (set \<circ> augmentum) ((dementum \<circ> sorted_list_of_set)u)"
+ using 0 so_u ssN u by force
+ have sortd_wrt_u: "sorted_wrt (<) (sorted_list_of_set u)"
+ by simp
+ show "(dementum \<circ> sorted_list_of_set) u \<in> T"
+ apply (simp add: T_def length_sum_set_def)
+ using sum_list_dementum [OF ssN] sortd_wrt_u 0 by (force simp: so_u dementum_nonzero)+
+ qed
+ ultimately show "(set \<circ> augmentum) ` T = U" by auto
+ qed
+ obtain \<phi> where "bij_betw \<phi> S U"
+ by (meson bij_betw_trans f g h)
+ moreover have "card U = (n - \<sigma> x' + r-1) choose (r-1)"
+ proof -
+ have "inj_on (insert (m + r)) (finsets {0<..<m + r} (r - Suc 0))"
+ by (simp add: inj_on_def finsets_def subset_iff) (meson insert_ident order_less_le)
+ then have "card U = card (finsets {0<..<m + r} (r - 1))"
+ unfolding U_def by (simp add: card_image)
+ also have "\<dots> = (n - \<sigma> x' + r-1) choose (r-1)"
+ by (simp add: card_finsets m_def)
+ finally show ?thesis .
+ qed
+ ultimately show ?thesis
+ by (metis bij_betw_same_card)
+qed
+
+subsection \<open>Towards the main theorem\<close>
+
+lemma extend_tuple:
+ assumes "\<sigma> xs \<le> n" "length xs \<noteq> 0"
+ obtains ys where "\<sigma> ys = n" "xs \<unlhd> ys"
+proof -
+ obtain x xs' where xs: "xs = x#xs'"
+ using assms list.exhaust by auto
+ define y where "y \<equiv> x + n - \<sigma> xs"
+ show thesis
+ proof
+ show "\<sigma> (y#xs') = n"
+ using assms xs y_def by auto
+ show "xs \<unlhd> y#xs'"
+ using assms y_def pointwise_le_def xs by auto
+ qed
+qed
+
+lemma extend_preserving:
+ assumes "\<sigma> xs \<le> n" "length xs > 1" "i < length xs"
+ obtains ys where "\<sigma> ys = n" "xs \<unlhd> ys" "ys!i = xs!i"
+proof -
+ define j where "j \<equiv> Suc i mod length xs"
+ define xs1 where "xs1 = take j xs"
+ define xs2 where "xs2 = drop (Suc j) xs"
+ define x where "x = xs!j"
+ have xs: "xs = xs1 @ [x] @ xs2"
+ using assms
+ apply (simp add: Cons_nth_drop_Suc assms x_def xs1_def xs2_def j_def)
+ by (meson Suc_lessD id_take_nth_drop mod_less_divisor)
+ define y where "y \<equiv> x + n - \<sigma> xs"
+ define ys where "ys \<equiv> xs1 @ [y] @ xs2"
+ have "x \<le> y"
+ using assms y_def by linarith
+ show thesis
+ proof
+ show "\<sigma> ys = n"
+ using assms(1) xs y_def ys_def by auto
+ show "xs \<unlhd> ys"
+ using xs ys_def \<open>x \<le> y\<close> pointwise_append_le_iff pointwise_le_def by fastforce
+ have "length xs1 \<noteq> i"
+ using assms by (simp add: xs1_def j_def min_def mod_Suc)
+ then show "ys!i = xs!i"
+ by (auto simp: ys_def xs nth_append nth_Cons')
+ qed
+qed
+
+text\<open>The proof of the main theorem will make use of the inclusion-exclusion formula, in addition to
+the previously shown results.\<close>
+
+theorem Khovanskii:
+ assumes "card A > 1"
+ defines "f \<equiv> \<lambda>n. card(sumset_iterated A n)"
+ obtains N p where "real_polynomial_function p" "\<And>n. n \<ge> N \<Longrightarrow> real (f n) = p (real n)"
+proof -
+ define r where "r \<equiv> card A"
+ define C where "C \<equiv> \<lambda>n x'. {x. x' \<unlhd> x \<and> \<sigma> x = n}"
+ define X where "X \<equiv> minimal_elements {x. useless x \<and> length x = r}"
+ have "r > 1" "r \<noteq> 0"
+ using assms r_def by auto
+ have Csub: "C n x' \<subseteq> length_sum_set (length x') n" for n x'
+ by (auto simp add: C_def length_sum_set_def pointwise_le_iff)
+ then have finC: "finite (C n x')" for n x'
+ by (meson finite_length_sum_set finite_subset)
+ have "finite X"
+ using "minimal_elements_set_tuples_finite" X_def by force
+ then have max_X: "\<And>x'. x' \<in> X \<Longrightarrow> \<sigma> x' \<le> \<sigma> (max_pointwise r X)"
+ using X_def max_pointwise_ge minimal_elements.simps pointwise_le_imp_\<sigma> by force
+ let ?z0 = "replicate r 0"
+ have Cn0: "C n ?z0 = length_sum_set r n" for n
+ by (auto simp: C_def length_sum_set_def)
+ then obtain p0 where pf_p0: "real_polynomial_function p0" and p0: "\<And>n. n>0 \<Longrightarrow> p0 (real n) = real (card (C n ?z0))"
+ by (metis real_polynomial_function_length_sum_set)
+ obtain q where pf_q: "real_polynomial_function q" and q: "\<And>x. q x = x gchoose (r-1)"
+ using real_polynomial_function_gchoose by metis
+ define p where "p \<equiv> \<lambda>x::real. p0 x - (\<Sum>Y | Y \<subseteq> X \<and> Y \<noteq> {}. (- 1) ^ (card Y + 1) * q((x - real(\<sigma> (max_pointwise r Y)) + real r - 1)))"
+ show thesis
+ proof
+ note pf_q' = real_polynomial_function_compose [OF _ pf_q, unfolded o_def]
+ note pf_intros = real_polynomial_function_sum real_polynomial_function_diff real_polynomial_function.intros
+ show "real_polynomial_function p"
+ unfolding p_def using \<open>finite X\<close> by (intro pf_p0 pf_q' pf_intros | force)+
+ next
+ fix n
+ assume "n \<ge> max 1 (\<sigma> (max_pointwise r X))"
+ then have nlarge: "n \<ge> \<sigma> (max_pointwise r X)" and "n > 0"
+ by auto
+ define U where "U \<equiv> \<lambda>n. length_sum_set r n \<inter> {x. useful x}"
+ have 2: "(length_sum_set r n \<inter> {x. useless x}) = (\<Union>x'\<in>X. C n x')"
+ unfolding C_def X_def length_sum_set_def r_def
+ using useless_leq_useless by (force simp: minimal_elements.simps pointwise_le_iff useless_iff)
+ define SUM1 where "SUM1 \<equiv> \<Sum>I | I \<subseteq> C n ` X \<and> I \<noteq> {}. (- 1) ^ (card I + 1) * int (card (\<Inter>I))"
+ define SUM2 where "SUM2 \<equiv> \<Sum>Y | Y \<subseteq> X \<and> Y \<noteq> {}. (- 1) ^ (card Y + 1) * int (card (\<Inter>(C n ` Y)))"
+ have SUM1_card: "card(length_sum_set r n \<inter> {x. useless x}) = nat SUM1"
+ unfolding SUM1_def using \<open>finite X\<close> by (simp add: finC 2 card_UNION)
+ have "SUM1 \<ge> 0"
+ unfolding SUM1_def using card_UNION_nonneg finC \<open>finite X\<close> by auto
+ have C_empty_iff: "C n x' = {} \<longleftrightarrow> \<sigma> x' > n" if "length x' \<noteq> 0" for x'
+ by (simp add: set_eq_iff C_def) (meson extend_tuple linorder_not_le pointwise_le_imp_\<sigma> that)
+ have C_eq_1: "C n x' = {[n]}" if "\<sigma> x' \<le> n" "length x' = 1" for x'
+ using that by (auto simp: C_def length_Suc_conv pointwise_le_def elim!: list.rel_cases)
+ have n_ge_X: "\<sigma> x \<le> n" if "x \<in> X" for x
+ by (meson le_trans max_X nlarge that)
+ have len_X_r: "x \<in> X \<Longrightarrow> length x = r" for x
+ by (auto simp: X_def minimal_elements.simps)
+
+ have "min_pointwise r (C n x') = x'" if "r > 1" "x' \<in> X" for x'
+ proof (rule pointwise_le_antisym)
+ have [simp]: "length x' = r" "\<sigma> x' \<le> n"
+ using X_def minimal_elements.cases that(2) n_ge_X by auto
+ have [simp]: "length (min_pointwise r (C n x')) = r"
+ by (simp add: min_pointwise_def)
+ show "min_pointwise r (C n x') \<unlhd> x'"
+ proof (clarsimp simp add: pointwise_le_iff_nth)
+ fix i
+ assume "i < r"
+ then obtain y where "\<sigma> y = n \<and> x' \<unlhd> y \<and> y!i \<le> x'!i"
+ by (metis extend_preserving \<open>1 < r\<close> \<open>length x' = r\<close> \<open>x' \<in> X\<close> order.refl n_ge_X)
+ then have "\<exists>y\<in>C n x'. y!i \<le> x'!i"
+ using C_def by blast
+ with \<open>i < r\<close> show "min_pointwise r (C n x')!i \<le> x'!i"
+ by (simp add: min_pointwise_def Min_le_iff finC C_empty_iff leD)
+ qed
+ have "x' \<unlhd> min_pointwise r (C n x')" if "\<sigma> x' \<le> n" "length x' = r" for x'
+ by (smt (verit, del_insts) C_def C_empty_iff \<open>r \<noteq> 0\<close> finC leD mem_Collect_eq min_pointwise_ge_iff pointwise_le_iff that)
+ then show "x' \<unlhd> min_pointwise r (C n x')"
+ using X_def minimal_elements.cases that by force
+ qed
+ then have inj_C: "inj_on (C n) X"
+ by (smt (verit, best) inj_onI mem_Collect_eq \<open>r>1\<close>)
+ have inj_on_imageC: "inj_on (image (C n)) (Pow X - {{}})"
+ by (simp add: inj_C inj_on_diff inj_on_image_Pow)
+
+ have "Pow (C n ` X) - {{}} \<subseteq> (image (C n)) ` (Pow X - {{}})"
+ by (metis Pow_empty image_Pow_surj image_diff_subset image_empty)
+ then have "(image (C n)) ` (Pow X - {{}}) = Pow (C n ` X) - {{}}"
+ by blast
+ then have "SUM1 = sum (\<lambda>I. (- 1) ^ (card I + 1) * int (card (\<Inter>I))) ((image (C n)) ` (Pow X - {{}}))"
+ unfolding SUM1_def by (auto intro: sum.cong)
+ also have "\<dots> = sum ((\<lambda>I. (- 1) ^ (card I + 1) * int (card (\<Inter> I))) \<circ> (image (C n))) (Pow X - {{}})"
+ by (simp add: sum.reindex inj_on_imageC)
+ also have "\<dots> = SUM2"
+ unfolding SUM2_def using subset_inj_on [OF inj_C] by (force simp: card_image intro: sum.cong)
+ finally have "SUM1 = SUM2" .
+
+ have "length_sum_set r n = (length_sum_set r n \<inter> {x. useful x}) \<union> (length_sum_set r n \<inter> {x. useless x})"
+ by auto
+ then have "card (length_sum_set r n) =
+ card (length_sum_set r n \<inter> {x. useful x}) +
+ card (length_sum_set r n \<inter> Collect useless)"
+ by (simp add: finite_length_sum_set disjnt_iff flip: card_Un_disjnt)
+ moreover have "C n ?z0 = length_sum_set r n"
+ by (auto simp: C_def length_sum_set_def)
+ ultimately have "card (C n ?z0) = card (U n) + nat SUM2"
+ by (simp add: U_def flip: \<open>SUM1 = SUM2\<close> SUM1_card)
+ then have SUM2_le: "nat SUM2 \<le> card (C n ?z0)"
+ by arith
+ have \<sigma>_max_pointwise_le: "\<And>Y. \<lbrakk>Y \<subseteq> X; Y \<noteq> {}\<rbrakk> \<Longrightarrow> \<sigma> (max_pointwise r Y) \<le> n"
+ by (meson \<open>finite X\<close> le_trans max_pointwise_mono nlarge pointwise_le_imp_\<sigma>)
+
+ have card_C_max: "card (C n (max_pointwise r Y)) =
+ (n - \<sigma> (max_pointwise r Y) + r - Suc 0 choose (r - Suc 0))"
+ if "Y \<subseteq> X" "Y \<noteq> {}" for Y
+ proof -
+ have [simp]: "length (max_pointwise r Y) = r"
+ by (simp add: max_pointwise_def)
+ then show ?thesis
+ using \<open>r \<noteq> 0\<close> that C_def by (simp add: bound_sum_list_card [of r] \<sigma>_max_pointwise_le)
+ qed
+
+ define SUM3 where "SUM3 \<equiv> (\<Sum>Y | Y \<subseteq> X \<and> Y \<noteq> {}.
+ - ((- 1) ^ (card Y) * ((n - \<sigma> (max_pointwise r Y) + r - 1 choose (r - 1)))))"
+ have "\<Inter>(C n ` Y) = C n (max_pointwise r Y)" if "Y \<subseteq> X" "Y \<noteq> {}" for Y
+ proof
+ show "\<Inter> (C n ` Y) \<subseteq> C n (max_pointwise r Y)"
+ unfolding C_def
+ proof clarsimp
+ fix x
+ assume "\<forall>y\<in>Y. y \<unlhd> x \<and> \<sigma> x = n"
+ moreover have "finite Y"
+ using \<open>finite X\<close> infinite_super that by blast
+ moreover have "\<And>u. u \<in> Y \<Longrightarrow> length u = r"
+ using len_X_r that by blast
+ ultimately show "max_pointwise r Y \<unlhd> x \<and> \<sigma> x = n"
+ by (smt (verit, del_insts) all_not_in_conv max_pointwise_le_iff pointwise_le_iff_nth that(2))
+ qed
+ next
+ show "C n (max_pointwise r Y) \<subseteq> \<Inter> (C n ` Y)"
+ apply (clarsimp simp: C_def)
+ by (metis \<open>finite X\<close> finite_subset len_X_r max_pointwise_ge pointwise_le_trans subsetD that(1))
+ qed
+ then have "SUM2 = SUM3"
+ by (simp add: SUM2_def SUM3_def card_C_max)
+ have "U n = C n ?z0 - (length_sum_set r n \<inter> {x. useless x})"
+ by (auto simp: U_def C_def length_sum_set_def)
+ then have "card (U n) = card (C n ?z0) - card(length_sum_set r n \<inter> {x. useless x})"
+ using finite_length_sum_set
+ by (simp add: C_def Collect_mono_iff inf.coboundedI1 length_sum_set_def flip: card_Diff_subset)
+ then have card_U_eq_diff: "card (U n) = card (C n ?z0) - nat SUM1"
+ using SUM1_card by presburger
+ have "SUM3 \<ge> 0"
+ using \<open>0 \<le> SUM1\<close> \<open>SUM1 = SUM2\<close> \<open>SUM2 = SUM3\<close> by blast
+ have **: "\<And>Y. \<lbrakk>Y \<subseteq> X; Y \<noteq> {}\<rbrakk> \<Longrightarrow> Suc (\<sigma> (max_pointwise r Y)) \<le> n + r"
+ by (metis \<open>1 < r\<close> \<sigma>_max_pointwise_le add.commute add_le_mono less_or_eq_imp_le plus_1_eq_Suc)
+ have "real (f n) = card (U n)"
+ unfolding f_def r_def U_def length_sum_set_def
+ using card_sumset_iterated_length_sum_set_useful length_sum_set_def by presburger
+ also have "\<dots> = card (C n ?z0) - nat SUM3"
+ using card_U_eq_diff \<open>SUM1 = SUM2\<close> \<open>SUM2 = SUM3\<close> by presburger
+ also have "\<dots> = real (card (C n (replicate r 0))) - real (nat SUM3)"
+ using SUM2_le \<open>SUM2 = SUM3\<close> of_nat_diff by blast
+ also have "\<dots> = p (real n)"
+ using \<open>1 < r\<close> \<open>n>0\<close>
+ apply (simp add: p_def p0 q \<open>SUM3 \<ge> 0\<close>)
+ apply (simp add: SUM3_def binomial_gbinomial of_nat_diff \<sigma>_max_pointwise_le algebra_simps **)
+ done
+ finally show "real (f n) = p (real n)" .
+ qed
+qed
+
+end
+
+end
diff --git a/thys/Khovanskii_Theorem/ROOT b/thys/Khovanskii_Theorem/ROOT
new file mode 100644
--- /dev/null
+++ b/thys/Khovanskii_Theorem/ROOT
@@ -0,0 +1,15 @@
+chapter AFP
+
+session Khovanskii_Theorem (AFP) = "HOL-Analysis" +
+ options [timeout = 600]
+ sessions
+ Jacobson_Basic_Algebra
+ Pluennecke_Ruzsa_Inequality
+ Bernoulli
+ "HOL-Library"
+ theories
+ Khovanskii
+ document_files
+ "root.tex"
+ "root.bib"
+
diff --git a/thys/Khovanskii_Theorem/document/root.bib b/thys/Khovanskii_Theorem/document/root.bib
new file mode 100644
--- /dev/null
+++ b/thys/Khovanskii_Theorem/document/root.bib
@@ -0,0 +1,70 @@
+%% This BibTeX bibliography file was created using BibDesk.
+%% http://bibdesk.sourceforge.net/
+
+
+%% Created for Larry Paulson at 2022-09-02 15:10:09 +0100
+
+
+%% Saved with string encoding Unicode (UTF-8)
+
+
+
+@article{nathanson-polynomial-growth,
+ author = {Nathanson, Melvyn B. and Ruzsa, Imre Z.},
+ date-added = {2022-09-02 15:10:06 +0100},
+ date-modified = {2022-09-02 15:10:06 +0100},
+ journal = {Journal de Th{\'e}orie des Nombres de Bordeaux},
+ number = {2},
+ pages = {553-560},
+ title = {Polynomial Growth of Sumsets in Abelian Semigroups},
+ volume = {14},
+ year = {2002}}
+
+@unpublished{ruzsa-sumsets-structure,
+ author = {Imre Z. Ruzsa},
+ date-added = {2022-09-02 15:09:54 +0100},
+ date-modified = {2022-09-02 15:09:54 +0100},
+ note = {Lecture notes, Institute of Mathematics, Budapest},
+ title = {Sumsets and Structure}}
+
+@article{khovanskii-newton-polyhedron,
+ author = {Khovanskii, A. G. },
+ date = {1992/10/01},
+ date-added = {2022-09-02 15:08:56 +0100},
+ date-modified = {2022-09-02 15:08:56 +0100},
+ doi = {10.1007/BF01075048},
+ id = {Khovanskii1992},
+ isbn = {1573-8485},
+ journal = {Functional Analysis and Its Applications},
+ number = {4},
+ pages = {276-281},
+ title = {{Newton} Polyhedron, {Hilbert} Polynomial, and Sums of Finite Sets},
+ url = {https://doi.org/10.1007/BF01075048},
+ volume = {26},
+ year = {1992},
+ bdsk-url-1 = {https://doi.org/10.1007/BF01075048}}
+
+@article{khovanskii-sums-finite,
+ author = {Khovanskii, A. G. },
+ date = {1995/04/01},
+ date-added = {2022-09-02 15:08:53 +0100},
+ date-modified = {2022-09-02 15:08:53 +0100},
+ doi = {10.1007/BF01080008},
+ id = {Khovanskii1995},
+ isbn = {1573-8485},
+ journal = {Functional Analysis and Its Applications},
+ number = {2},
+ pages = {102-112},
+ title = {Sums of finite sets, orbits of commutative semigroups, and {Hilbert} functions},
+ url = {https://doi.org/10.1007/BF01080008},
+ volume = {29},
+ year = {1995},
+ bdsk-url-1 = {https://doi.org/10.1007/BF01080008}}
+
+@unpublished{gowers-introduction-additive,
+ author = {W. T. Gowers},
+ date-added = {2022-09-02 15:08:26 +0100},
+ date-modified = {2022-09-02 15:08:26 +0100},
+ note = {Lecture notes, University of Cambridge},
+ title = {Introduction to Additive Combinatorics},
+ year = {2022}}
diff --git a/thys/Khovanskii_Theorem/document/root.tex b/thys/Khovanskii_Theorem/document/root.tex
new file mode 100644
--- /dev/null
+++ b/thys/Khovanskii_Theorem/document/root.tex
@@ -0,0 +1,41 @@
+\documentclass[11pt,a4paper]{article}
+\usepackage[T1]{fontenc}
+\usepackage{isabelle,isabellesym}
+\usepackage{amssymb}
+
+% this should be the last package used
+\usepackage{pdfsetup}
+
+% urls in roman style, theory text in math-similar italics
+\urlstyle{rm}
+\isabellestyle{it}
+
+
+\begin{document}
+
+\title{Khovanskii's Theorem}
+\author{Angeliki Koutsoukou-Argyraki and Lawrence C. Paulson}
+\maketitle
+
+\begin{abstract}
+We formalise the proof of an important theorem in additive combinatorics due to Khovanskii~\cite{khovanskii-newton-polyhedron,khovanskii-sums-finite},
+attesting that the cardinality of the set of all sums of $n$ many elements of~$A$, where $A$ is a finite subset of an abelian group, is a polynomial in~$n$ for all sufficiently large~$n$.
+We follow a proof of the theorem due to Nathanson and Ruzsa~\cite{nathanson-polynomial-growth,ruzsa-sumsets-structure} as presented in the notes ``Introduction to Additive Combinatorics''
+by Timothy Gowers~\cite{gowers-introduction-additive} for the University of Cambridge.
+\end{abstract}
+
+\newpage
+\tableofcontents
+
+\paragraph*{Acknowledgements}
+The authors were supported by the ERC Advanced Grant ALEXANDRIA (Project 742178) funded by the European Research Council.
+
+\newpage
+
+% include generated text of all theories
+\input{session}
+
+\bibliographystyle{abbrv}
+\bibliography{root}
+
+\end{document}
diff --git a/thys/Number_Theoretic_Transform/Butterfly.thy b/thys/Number_Theoretic_Transform/Butterfly.thy
new file mode 100644
--- /dev/null
+++ b/thys/Number_Theoretic_Transform/Butterfly.thy
@@ -0,0 +1,1323 @@
+(*
+Title: Butterfly Algorithm for Number Theoretic Transform
+Author: Thomas Ammer
+*)
+
+theory Butterfly
+ imports NTT "HOL-Library.Discrete"
+begin
+
+text \<open>\pagebreak\<close>
+
+section \<open>Butterfly Algorithms\<close>
+text \<open>\label{Butterfly}\<close>
+
+text \<open>\indent Several recursive algorithms for $FFT$ based on
+the divide and conquer principle have been developed in order to speed up the transform.
+A method for reducing complexity is the butterfly scheme.
+In this formalization, we consider the butterfly algorithm by Cooley
+and Tukey~\parencite{Good1997} adapted to the setting of \textit{NTT}.
+\<close>
+
+text \<open>\noindent We additionally assume that $n$ is power of two.\<close>
+
+locale butterfly = ntt +
+ fixes N
+ assumes n_two_pot: "n = 2^N"
+begin
+
+subsection \<open>Recursive Definition\<close>
+
+text \<open>Let's recall the definition of a transformed vector element:
+\begin{equation*}
+\mathsf{NTT}(\vec{x})_i = \sum _{j = 0} ^{n-1} x_j \cdot \omega ^{i\cdot j}
+\end{equation*}
+
+We assume $n = 2^N$ and obtain:
+
+\begin{align*}
+\sum _{j = 0} ^{< 2^N} x_j \cdot \omega ^{i\cdot j} \\ &=
+\sum _{j = 0} ^{< 2^{N-1}} x_{2j} \cdot \omega ^{i\cdot 2j} +
+ \sum _{j = 0} ^{< 2^{N-1}} x_{2j+1} \cdot \omega ^{i\cdot (2j+1)} \\
+& = \sum _{j = 0} ^{< 2^{N-1}} x_{2j} \cdot (\omega^2) ^{i\cdot j} +
+ \omega^i \cdot \sum _{j = 0} ^{< 2^{N-1}} x_{2j+1} \cdot (\omega^2) ^{i\cdot j}\\
+& = (\sum _{j = 0} ^{< 2^{N-2}} x_{4j} \cdot (\omega^4) ^{i\cdot j} +
+ \omega^i \cdot \sum _{j = 0} ^{< 2^{N-2}} x_{4j+2} \cdot (\omega^4) ^{i\cdot j}) \\
+& \hspace{1cm}+ \omega^i \cdot (\sum _{j = 0} ^{< 2^{N-2}} x_{4j+1} \cdot (\omega^4) ^{i\cdot j} +
+ \omega^i \cdot \sum _{j = 0} ^{< 2^{N-2}} x_{4j+3} \cdot (\omega^4) ^{i\cdot j}) \text{ etc.}
+\end{align*}
+
+which gives us a recursive algorithm:
+
+\begin{itemize}
+\item Compose vectors consisting of elements at even and odd indices respectively
+\item Compute a transformation of these vectors recursively where the dimensions are halved.
+\item Add results after scaling the second subresult by $\omega^i$
+\end{itemize}
+
+\<close>
+
+text \<open>Now we give a functional definition of the analogue to $FFT$ adapted to finite fields.
+A gentle introduction to $FFT$ can be found in~\parencite{10.5555/1614191}.
+For the fast implementation of Number Theoretic Transform in particular, have a look at~\parencite{cryptoeprint:2016/504}.\<close>
+
+text \<open>(The following lemma is needed to obtain an automated termination proof of $FNTT$.)\<close>
+lemma FNTT_termination_aux [simp]: "length (filter P [0..<l]) < Suc l"
+ by (metis diff_zero le_imp_less_Suc length_filter_le length_upt)
+
+text \<open>Please note that we closely adhere to the textbook definition which just
+talks about elements at even and odd indices. We model the informal definition by predefined functions,
+since this seems to be more handy during proofs.
+An algorithm splitting the elements smartly will be presented afterwards.\<close>
+
+fun FNTT::"('a mod_ring) list \<Rightarrow> ('a mod_ring) list" where
+"FNTT [] = []"|
+"FNTT [a] = [a]"|
+"FNTT nums = (let nn = length nums;
+ nums1 = [nums!i. i \<leftarrow> filter even [0..<nn]];
+ nums2 = [nums!i. i \<leftarrow> filter odd [0..<nn]];
+ fntt1 = FNTT nums1;
+ fntt2 = FNTT nums2;
+ sum1 = map2 (+) fntt1 (map2 ( \<lambda> x k. x*(\<omega>^( (n div nn) * k))) fntt2 [0..<(nn div 2)]);
+ sum2 = map2 (-) fntt1 (map2 ( \<lambda> x k. x*(\<omega>^( (n div nn) * k))) fntt2 [0..<(nn div 2)])
+ in sum1@sum2)"
+
+lemmas [simp del] = FNTT_termination_aux
+
+
+text \<open>
+Finally, we want to prove correctness, i.e. $FNTT\; xs = NTT\;xs$.
+Since we consider a recursive algorithm, some kind of induction is appropriate:
+Assume the claim for $\frac{2^d}{2} = 2^{d-1}$ and prove it for $2^d$, where $2^d$ is the vector length.
+This implies that we have to talk about \textit{NTT}s with respect to some powers of $\omega$.
+In particular, we decide to annotate \textit{NTT} with a degree $degr$
+indicating the referred vector length. There is a correspondence to the current level $l$ of recursion:
+
+\begin{equation*}
+degr = 2^{N-l}
+\end{equation*}
+
+\<close>
+
+text \<open>\noindent A generalized version of \textit{NTT} keeps track of all levels during recursion:\<close>
+
+definition "ntt_gen numbers degr i = (\<Sum>j=0..<(length numbers). (numbers ! j) * \<omega>^((n div degr)*i*j)) "
+
+definition "NTT_gen degr numbers = map (ntt_gen numbers (degr)) [0..< length numbers]"
+
+text \<open>Whenever generalized \textit{NTT} is applied to a list of full length,
+ then its actually equal to the defined \textit{NTT}.\<close>
+
+lemma NTT_gen_NTT_full_length:
+ assumes "length numbers =n"
+ shows "NTT_gen n numbers = NTT numbers"
+ unfolding NTT_gen_def ntt_gen_def NTT_def ntt_def
+ using assms by simp
+
+subsection \<open>Arguments on Correctness\<close>
+text \<open>First some general lemmas on list operations.\<close>
+
+lemma length_even_filter: "length [f i . i <- (filter even [0..<l])] = l-l div 2"
+ by(induction l) auto
+
+lemma length_odd_filter: "length [f i . i <- (filter odd [0..<l])] = l div 2"
+ by(induction l) auto
+
+lemma map2_length: "length (map2 f xs ys) = min (length xs) (length ys)"
+ by (induction xs arbitrary: ys) auto
+
+lemma map2_index: "i < length xs \<Longrightarrow> i < length ys \<Longrightarrow> (map2 f xs ys) ! i = f (xs ! i) (ys ! i)"
+ by (induction xs arbitrary: ys i) auto
+
+lemma filter_last_not: "\<not> P x \<Longrightarrow> filter P (xs@[x]) = filter P xs"
+ by simp
+
+lemma filter_even_map: "filter even [0..<2*(x::nat)] = map ((*) (2::nat)) [0..<x]"
+ by(induction x) simp+
+
+lemma filter_even_nth: "2*j < l \<Longrightarrow> 2*x = l \<Longrightarrow> (filter even [0..<l] ! j) = (2*j)"
+ using filter_even_map[of x] nth_map[of j "filter even [0..<l]" "(*) 2"] by auto
+
+lemma filter_odd_map: "filter odd [0..<2*(x::nat)] = map (\<lambda> y. (2::nat)*y +1) [0..<x]"
+ by(induction x) simp+
+
+lemma filter_odd_nth: "2*j < l \<Longrightarrow> 2*x = l \<Longrightarrow> (filter odd [0..<l] ! j) = (2*j+1)"
+ using filter_odd_map[of x] nth_map[of j "filter even [0..<l]" "(*) 2"] by auto
+
+text \<open>\noindent Lemmas by using the assumption $n = 2^N$.\<close>
+
+text \<open>\noindent ($-1$ denotes the additive inverse of $1$ in the finite field.)\<close>
+
+lemma n_min1_2: "n = 2 \<Longrightarrow> \<omega> = -1"
+ using omega_properties(1) omega_properties(2) power2_eq_1_iff by blast
+
+lemma n_min1_gr2:
+ assumes "n > 2"
+ shows "\<omega>^(n div 2) = -1"
+proof-
+ have "\<omega>^(n div 2) \<noteq> -1 \<Longrightarrow> False"
+ proof-
+ assume "\<omega>^(n div 2) \<noteq> -1"
+ hence False
+ proof(cases "\<omega>^(n div 2) = 1")
+case True
+ then show ?thesis using omega_properties(3)
+ by (metis Euclidean_Division.div_eq_0_iff div_less_dividend leD less_le_trans n_lst2 one_less_numeral_iff pos2 semiring_norm(76) zero_neq_numeral)
+next
+ case False
+ hence "(\<omega>^(n div 2)) ^ (2::nat) \<noteq> 1"
+ by (smt (verit, ccfv_threshold) n_two_pot One_nat_def \<open>\<omega> ^ (n div 2) \<noteq> - 1\<close> diff_zero leD n_lst2 not_less_eq omega_properties(1) one_less_numeral_iff one_power2 power2_eq_square power_mult power_one_right power_strict_increasing_iff semiring_norm(76) square_eq_iff two_powr_div two_powrs_div)
+ moreover have "(n div 2) * 2 = n" using n_two_pot n_lst2
+ by (metis One_nat_def Suc_lessD assms div_by_Suc_0 one_less_numeral_iff power_0 power_one_right power_strict_increasing_iff semiring_norm(76) two_powrs_div)
+ ultimately show ?thesis using omega_properties(1)
+ by (metis power_mult)
+qed
+ thus False by simp
+qed
+ then show ?thesis by auto
+qed
+
+lemma div_exp_sub: "2^l < n \<Longrightarrow> n div (2^l) = 2^(N-l)"using n_two_pot
+ by (smt (z3) One_nat_def diff_is_0_eq diff_le_diff_pow div_if div_le_dividend eq_imp_le le_0_eq le_Suc_eq n_lst2 nat_less_le not_less_eq_eq numeral_2_eq_2 power_0 two_powr_div)
+
+lemma omega_div_exp_min1:
+ assumes "2^(Suc l) \<le> n"
+ shows "(\<omega> ^(n div 2^(Suc l)))^(2^l) = -1"
+proof-
+ have "(\<omega> ^(n div 2^(Suc l)))^(2^l) = \<omega> ^((n div 2^(Suc l))*2^l)"
+ by (simp add: power_mult)
+ moreover have "(n div 2^(Suc l)) = 2^(N - Suc l)" using assms div_exp_sub
+ by (metis n_two_pot eq_imp_le le_neq_implies_less one_less_numeral_iff power_diff power_inject_exp semiring_norm(76) zero_neq_numeral)
+ moreover have "N \<ge> Suc l" using assms n_two_pot
+ by (metis diff_is_0_eq diff_le_diff_pow gr0I leD le_refl)
+ moreover hence "(2::nat)^(N - Suc l)*2^l = 2^(N- 1)"
+ by (metis Nat.add_diff_assoc diff_Suc_1 diff_diff_cancel diff_le_self le_add1 le_add_diff_inverse plus_1_eq_Suc power_add)
+ ultimately show ?thesis
+ by (metis n_two_pot One_nat_def \<open>n div 2 ^ Suc l = 2 ^ (N - Suc l)\<close> diff_Suc_1 div_exp_sub n_lst2 n_min1_2 n_min1_gr2 nat_less_le nat_power_eq_Suc_0_iff one_less_numeral_iff power_inject_exp power_one_right semiring_norm(76))
+qed
+
+lemma omg_n_2_min1: "\<omega>^(n div 2) = -1"
+ by (metis n_lst2 n_min1_2 n_min1_gr2 nat_less_le numeral_Bit0_div_2 numerals(1) power_one_right)
+
+lemma neg_cong: "-(x::('a mod_ring)) = - y \<Longrightarrow> x = y" by simp
+
+text \<open>Generalized \textit{NTT} indeed describes all recursive levels,
+and thus, it is actually equivalent to the ordinary \textit{NTT} definition.\<close>
+
+theorem FNTT_NTT_gen_eq: "length numbers = 2^l \<Longrightarrow> 2^l \<le> n \<Longrightarrow> FNTT numbers = NTT_gen (length numbers) numbers"
+proof(induction l arbitrary: numbers)
+ case 0
+ then show ?case unfolding NTT_gen_def ntt_gen_def
+ by (auto simp: length_Suc_conv)
+next
+ case (Suc l)
+ text \<open>We define some lists that are used during the recursive call.\<close>
+ define numbers1 where "numbers1 = [numbers!i . i <- (filter even [0..<length numbers])]"
+ define numbers2 where "numbers2 = [numbers!i . i <- (filter odd [0..<length numbers])]"
+ define fntt1 where "fntt1 = FNTT numbers1"
+ define fntt2 where "fntt2 = FNTT numbers2"
+ define sum1 where
+ "sum1 = map2 (+) fntt1 (map2 ( \<lambda> x k. x*(\<omega>^( (n div (length numbers)) * k)))
+ fntt2 [0..<((length numbers) div 2)])"
+ define sum2 where
+ "sum2 = map2 (-) fntt1 (map2 ( \<lambda> x k. x*(\<omega>^( (n div (length numbers)) * k)))
+ fntt2 [0..<((length numbers) div 2)])"
+ define l1 where "l1 = length numbers1"
+ define l2 where "l2 = length numbers2"
+ define llen where "llen = length numbers"
+
+ text \<open>Properties of those lists.\<close>
+ have numbers1_even: "length numbers1 = 2^l"
+ using numbers1_def length_even_filter Suc by simp
+ have numbers2_even: "length numbers2 = 2^l"
+ using numbers2_def length_odd_filter Suc by simp
+ have numbers1_fntt: "fntt1 = NTT_gen (2^l) numbers1"
+ using fntt1_def Suc.IH[of numbers1] numbers1_even Suc(3) by simp
+ hence fntt1_by_index: "fntt1 ! i = ntt_gen numbers1 (2^l) i" if "i < 2^l" for i
+ unfolding NTT_gen_def by (simp add: numbers1_even that)
+ have numbers2_fntt: "fntt2 = NTT_gen (2^l) numbers2"
+ using fntt2_def Suc.IH[of numbers2] numbers2_even Suc(3) by simp
+ hence fntt2_by_index: "fntt2 ! i = ntt_gen numbers2 (2^l) i" if "i < 2^l" for i
+ unfolding NTT_gen_def
+ by (simp add: numbers2_even that)
+ have fntt1_length: "length fntt1 = 2^l" unfolding numbers1_fntt NTT_gen_def numbers1_def
+ using numbers1_def numbers1_even by force
+ have fntt2_length: "length fntt2 = 2^l" unfolding numbers2_fntt NTT_gen_def numbers2_def
+ using numbers2_def numbers2_even by force
+
+ text \<open>We show that the list resulting from $FNTT$ is equal to the $NTT$ list.
+ First, we prove $FNTT$ and $NTT$ to be equal concerning their first halves.\<close>
+ have before_half: "map (ntt_gen numbers llen) [0..<(llen div 2)] = sum1"
+ proof-
+
+ text \<open>Length is important, since we want to use list lemmas later on.\<close>
+ have 00:"length (map (ntt_gen numbers llen) [0..<(llen div 2)]) = length sum1"
+ unfolding sum1_def llen_def
+ using Suc(2) map2_length[of _ fntt2 "[0..<length numbers div 2]"]
+ map2_length[of "(+)" fntt1 "(map2 (\<lambda>x y. x * \<omega> ^ (n div length numbers * y)) fntt2 [0..<length numbers div 2])"]
+ fntt1_length fntt2_length by (simp add: mult_2)
+ have 01:"length sum1 = 2^l" unfolding sum1_def
+ using "00" Suc.prems(1) sum1_def unfolding llen_def by auto
+
+ text \<open>We show equality by extensionality w.r.t. indices.\<close>
+ have 02:"(map (ntt_gen numbers llen) [0..<(llen div 2)]) ! i = sum1 ! i"
+ if "i < 2^l" for i
+ proof-
+ text \<open>First simplify this term.\<close>
+ have 000:"(map (ntt_gen numbers llen) [0..<(llen div 2)]) ! i =
+ ntt_gen numbers llen i"
+ using "00" "01" that by auto
+
+ text \<open>Expand the definition of $sum1$ and massage the result.\<close>
+ moreover have 001:"sum1 ! i = (fntt1!i) + (fntt2!i) * (\<omega>^((n div llen) * i))"
+ unfolding sum1_def using map2_index
+ "00" "01" NTT_gen_def add.left_neutral diff_zero fntt1_length length_map length_upt map2_map_map map_nth nth_upt numbers2_even numbers2_fntt that llen_def by force
+ moreover have 002:"(fntt1!i) = (\<Sum>j=0..<l1. (numbers1 ! j) * \<omega>^((n div (2^l))*i*j))"
+ unfolding l1_def
+ using fntt1_by_index[of i] that unfolding ntt_gen_def by simp
+ have 003:"... = (\<Sum>j=0..<l1. (numbers ! (2*j)) * \<omega>^((n div llen)*i*(2*j)))"
+ apply (rule sum_rules(2))
+ subgoal for j unfolding numbers1_def
+ apply(subst llen_def[symmetric])
+ proof-
+ assume ass: "j < l1 "
+ hence "map ((!) numbers) (filter even [0..<length numbers]) ! j = numbers ! (filter even [0..<length numbers] ! j)"
+ using nth_map[of j "filter even [0..<length numbers]" "(!) numbers" ]
+ unfolding l1_def numbers1_def
+ by (metis length_map)
+ moreover have "filter even [0..<llen] ! j = 2 * j" using
+ filter_even_nth[of j "llen" "2^l"] Suc(2) ass numbers1_def numbers1_even
+ unfolding llen_def l1_def by fastforce
+ moreover have "n div llen * (2 * j) = ((n div (2 ^ l)) * j)"
+ using Suc(2) two_powrs_div[of l N] n_two_pot two_powr_div Suc(3) llen_def
+ by (metis One_nat_def div_if mult.assoc nat_less_le not_less_eq numeral_2_eq_2 power_eq_0_iff power_inject_exp zero_neq_numeral)
+ ultimately show "map ((!) numbers) (filter even [0..<llen]) ! j * \<omega> ^ (n div 2 ^ l * i * j) =
+ numbers ! (2 * j) * \<omega> ^ (n div llen * i * (2 * j))"
+ unfolding llen_def l1_def l2_def by (metis (mono_tags, lifting) mult.assoc mult.left_commute)
+ qed
+ done
+ moreover have 004:
+ "(fntt2!i) * (\<omega>^((n div llen) * i)) =
+ (\<Sum>j=0..<l2.(numbers2 ! j) * \<omega>^((n div (2^l))*i*j+ (n div llen) * i))"
+ apply(rule trans[where s = "(\<Sum>j = 0..<l2. numbers2 ! j * \<omega> ^ (n div 2 ^ l * i * j) * \<omega> ^ (n div llen * i))"])
+ subgoal
+ unfolding l2_def llen_def
+ using fntt2_by_index[of i] that sum_in[of _ "(\<omega>^((n div llen) * i))" "l2"] comm_semiring_1_class.semiring_normalization_rules(26)[of \<omega>]
+ unfolding ntt_gen_def
+ using sum_rules apply presburger
+ done
+ apply (rule sum_rules(2))
+ subgoal for j
+ using fntt2_by_index[of i] that sum_in[of _ "(\<omega>^((n div llen) * i))" "l2"] comm_semiring_1_class.semiring_normalization_rules(26)[of \<omega>]
+ unfolding ntt_gen_def
+ apply auto
+ done
+ done
+ have 005: "\<dots> = (\<Sum>j=0..<l2. (numbers ! (2*j+1) * \<omega>^((n div llen)*i*(2*j+1))))"
+ apply (rule sum_rules(2))
+ subgoal for j unfolding numbers2_def
+ apply(subst llen_def[symmetric])
+ proof-
+ assume ass: "j < l2 "
+ hence "map ((!) numbers) (filter odd [0..<llen]) ! j = numbers ! (filter odd [0..<llen] ! j)"
+ using nth_map unfolding l2_def numbers2_def llen_def by (metis length_map)
+ moreover have "filter odd [0..<llen] ! j = 2 * j +1" using
+ filter_odd_nth[of j "length numbers" "2^l"] Suc(2) ass numbers2_def numbers2_even
+ unfolding l2_def numbers2_def llen_def by fastforce
+ moreover have "n div llen * (2 * j) = ((n div (2 ^ l)) * j)"
+ using Suc(2) two_powrs_div[of l N] n_two_pot two_powr_div Suc(3) llen_def
+ by (metis One_nat_def div_if mult.assoc nat_less_le not_less_eq numeral_2_eq_2 power_eq_0_iff power_inject_exp zero_neq_numeral)
+ ultimately show
+ " map ((!) numbers) (filter odd [0..<llen]) ! j * \<omega> ^ (n div 2 ^ l * i * j + n div llen * i)
+ = numbers ! (2 * j + 1) * \<omega> ^ (n div llen * i * (2 * j + 1))" unfolding llen_def
+ by (smt (z3) Groups.mult_ac(2) distrib_left mult.right_neutral mult_2 mult_cancel_left)
+ qed
+ done
+ then show ?thesis
+ using 000 001 002 003 004 005
+ unfolding sum1_def llen_def l1_def l2_def
+ using sum_splice_other_way_round[of "\<lambda> d. numbers ! d * \<omega> ^ (n div length numbers * i * d)" "2^l"] Suc(2)
+ unfolding ntt_gen_def
+ by (smt (z3) Groups.mult_ac(2) numbers1_even numbers2_even power_Suc2)
+ qed
+ then show ?thesis
+ by (metis "00" "01" nth_equalityI)
+ qed
+
+ text \<open>We show equality for the indices in the second halves.\<close>
+ have after_half: "map (ntt_gen numbers llen) [(llen div 2)..<llen] = sum2"
+ proof-
+ have 00:"length (map (ntt_gen numbers llen) [(llen div 2)..<llen]) = length sum2"
+ unfolding sum2_def llen_def
+ using Suc(2) map2_length map2_length fntt1_length fntt2_length by (simp add: mult_2)
+ have 01:"length sum2 = 2^l" unfolding sum1_def
+ using "00" Suc.prems(1) sum1_def llen_def by auto
+ text \<open>Equality for every index.\<close>
+ have 02:"(map (ntt_gen numbers llen) [(llen div 2)..<llen]) ! i = sum2 ! i"
+ if "i < 2^l" for i
+ proof-
+ have 000:"(map (ntt_gen numbers llen) [(llen div 2)..<llen]) ! i = ntt_gen numbers llen (2^l+i)"
+ unfolding llen_def by (simp add: Suc.prems(1) that)
+ have 001:" (map2 (\<lambda>x y. x * \<omega> ^ (n div llen * y)) fntt2 [0..<llen div 2]) ! i =
+ fntt2 ! i * \<omega> ^ (n div llen * i)"
+ using Suc(2) that by (simp add: fntt2_length llen_def)
+ have 003: "- fntt2 ! i * \<omega> ^ (n div llen * i) =
+ fntt2 ! i * \<omega> ^ (n div llen * (i+ llen div 2))"
+ using Suc(2) omega_div_exp_min1[of l] unfolding llen_def
+ by (smt (z3) Suc.prems(2) mult.commute mult.left_commute mult_1s_ring_1(2) neq0_conv nonzero_mult_div_cancel_left numeral_One pos2 power_Suc power_add power_mult)
+ hence 004:"sum2 ! i = (fntt1!i) - (fntt2!i) * (\<omega>^((n div llen) * i))"
+ unfolding sum2_def llen_def
+ by (simp add: Suc.prems(1) fntt1_length fntt2_length that)
+ have 005:"(fntt1!i) =
+ (\<Sum>j=0..<l1. (numbers1 ! j) * \<omega>^((n div (2^l))*i*j))"
+ using fntt1_by_index that unfolding ntt_gen_def l1_def by simp
+ have 006:"\<dots> =(\<Sum>j=0..<l1. (numbers ! (2*j)) * \<omega>^((n div llen)*i*(2*j)))"
+ apply (rule sum_rules(2))
+ subgoal for j unfolding numbers1_def
+ apply(subst llen_def[symmetric])
+ proof-
+ assume ass: "j < l1 "
+ hence "map ((!) numbers) (filter even [0..<llen]) ! j = numbers ! (filter even [0..<llen] ! j)"
+ using nth_map unfolding llen_def l1_def numbers1_def by (metis length_map)
+ moreover have "filter even [0..<llen] ! j = 2 * j" using
+ filter_even_nth Suc(2) ass numbers1_def numbers1_even llen_def l1_def by fastforce
+ moreover have "n div llen * (2 * j) = ((n div (2 ^ l)) * j)"
+ using Suc(2) two_powrs_div[of l N] n_two_pot two_powr_div Suc(3) llen_def
+ by (metis One_nat_def div_if mult.assoc nat_less_le not_less_eq numeral_2_eq_2 power_eq_0_iff power_inject_exp zero_neq_numeral)
+ ultimately show
+ "map ((!) numbers) (filter even [0..<llen]) ! j * \<omega> ^ (n div 2 ^ l * i * j) =
+ numbers ! (2 * j) * \<omega> ^ (n div llen * i * (2 * j))"
+ by (metis (mono_tags, lifting) mult.assoc mult.left_commute)
+ qed
+ done
+ have 007:"\<dots> = (\<Sum>j=0..<l1. (numbers ! (2*j)) * \<omega>^((n div llen)*(2^l + i)*(2*j))) "
+ apply (rule sum_rules(2))
+ subgoal for j
+ using Suc(2) Suc(3) omega_div_exp_min1[of l] llen_def l1_def numbers1_def
+ apply(smt (verit, del_insts) add.commute minus_power_mult_self mult_2 mult_minus1_right power_add power_mult)
+ done
+ done
+ moreover have 008: "(fntt2!i) * (\<omega>^((n div llen) * i)) =
+ (\<Sum>j=0..<l2. (numbers2 ! j) * \<omega>^((n div (2^l))*i*j+ (n div llen) * i))"
+ apply(rule trans[where s = "(\<Sum>j = 0..<l2. numbers2 ! j * \<omega> ^ (n div 2 ^ l * i * j) * \<omega> ^ (n div llen * i))"])
+ subgoal
+ using fntt2_by_index[of i] that sum_in comm_semiring_1_class.semiring_normalization_rules(26)[of \<omega>]
+ unfolding ntt_gen_def
+ using sum_rules l2_def apply presburger
+ done
+ apply (rule sum_rules(2))
+ subgoal for j
+ using fntt2_by_index[of i] that sum_in comm_semiring_1_class.semiring_normalization_rules(26)[of \<omega>]
+ unfolding ntt_gen_def
+ apply auto
+ done
+ done
+ have 009: "\<dots> = (\<Sum>j=0..<l2. (numbers ! (2*j+1) * \<omega>^((n div llen)*i*(2*j+1))))"
+ apply (rule sum_rules(2))
+ subgoal for j unfolding numbers2_def
+ apply(subst llen_def[symmetric])
+ proof-
+ assume ass: "j < l2 "
+ hence "map ((!) numbers) (filter odd [0..<llen]) ! j = numbers ! (filter odd [0..<llen] ! j)"
+ using nth_map llen_def l2_def numbers2_def by (metis length_map)
+ moreover have "filter odd [0..<llen] ! j = 2 * j +1" using
+ filter_odd_nth Suc(2) ass numbers2_def numbers2_even llen_def l2_def by fastforce
+ moreover have "n div llen * (2 * j) = ((n div (2 ^ l)) * j)"
+ using Suc(2) two_powrs_div[of l N] n_two_pot two_powr_div Suc(3) llen_def
+ by (metis One_nat_def div_if mult.assoc nat_less_le not_less_eq numeral_2_eq_2 power_eq_0_iff power_inject_exp zero_neq_numeral)
+ ultimately show
+ "map ((!) numbers) (filter odd [0..<llen]) ! j * \<omega> ^ (n div 2 ^ l * i * j + n div llen * i)
+ = numbers ! (2 * j + 1) * \<omega> ^ (n div llen * i * (2 * j + 1))"
+ by (smt (z3) Groups.mult_ac(2) distrib_left mult.right_neutral mult_2 mult_cancel_left)
+ qed
+ done
+ have 010: " (fntt2!i) * (\<omega>^((n div llen) * i)) = (\<Sum>j=0..<l2. (numbers ! (2*j+1) * \<omega>^((n div llen)*i*(2*j+1)))) "
+ using 008 009 by presburger
+ have 011: " - (fntt2!i) * (\<omega>^((n div llen) * i)) =
+ (\<Sum>j=0..<l2. - (numbers ! (2*j+1) * \<omega>^((n div llen)*i*(2*j+1)))) "
+ apply(rule neg_cong)
+ apply(rule trans[of _ "fntt2 ! i * \<omega> ^ (n div llen * i)"])
+ subgoal by simp
+ apply(rule trans[where s="(\<Sum>j=0..<l2. (numbers ! (2*j+1) * \<omega>^((n div llen)*i*(2*j+1))))"])
+ subgoal using 008 009 by simp
+ apply(rule sym)
+ using sum_neg_in[of _ "l2"]
+ apply simp
+ done
+ have 012: "\<dots> = (\<Sum>j=0..<l2. (numbers ! (2*j+1) * \<omega>^((n div llen)*(2^l+i)*(2*j+1))))"
+ apply(rule sum_rules(2))
+ subgoal for j
+ using Suc(2) Suc(3) omega_div_exp_min1[of l] llen_def l2_def
+ apply (smt (z3) add.commute exp_rule mult.assoc mult_minus1_right plus_1_eq_Suc power_add power_minus1_odd power_mult)
+ done
+ done
+ have 013:"fntt1 ! i = (\<Sum>j = 0..<2 ^ l. numbers!(2*j) * \<omega> ^ (n div llen * (2^l + i) * (2*j)))"
+ using 005 006 007 numbers1_even llen_def l1_def by auto
+ have 014: "(\<Sum>j = 0..<2 ^ l. numbers ! (2*j + 1) * \<omega> ^ (n div llen* (2^l + i) * (2*j + 1))) =
+ - fntt2 ! i * \<omega> ^ (n div llen * i)"
+ using trans[OF l2_def numbers2_even] sym[OF 012] sym[OF 011] by simp
+ have "ntt_gen numbers llen (2 ^ l + i) = (fntt1!i) - (fntt2!i) * (\<omega>^((n div llen) * i))"
+ unfolding ntt_gen_def apply(subst Suc(2))
+ using sum_splice[of "\<lambda> d. numbers ! d * \<omega> ^ (n div llen * (2^l+i) * d)" "2^l"] sym[OF 013] 014 Suc(2) by simp
+ thus ?thesis using 000 sym[OF 001] "004" sum2_def by simp
+ qed
+ then show ?thesis
+ by (metis "00" "01" list_eq_iff_nth_eq)
+ qed
+ obtain x y xs where xyxs: "numbers = x#y#xs" using Suc(2)
+ by (metis FNTT.cases add.left_neutral even_Suc even_add length_Cons list.size(3) mult_2 power_Suc power_eq_0_iff zero_neq_numeral)
+ show ?case
+ apply(subst xyxs)
+ apply(subst FNTT.simps(3))
+ apply(subst xyxs[symmetric])+
+ unfolding Let_def
+ using map_append[of "ntt_gen numbers llen" " [0..<llen div 2]" "[llen div 2..<llen]"] before_half after_half
+ unfolding llen_def sum1_def sum2_def fntt1_def fntt2_def NTT_gen_def
+ apply (metis (no_types, lifting) Suc.prems(1) numbers1_def length_odd_filter mult_2 numbers2_def numbers2_even power_Suc upt_add_eq_append zero_le_numeral zero_le_power)
+ done
+qed
+
+text \<open>\noindent \textbf{Major Correctness Theorem for Butterfly Algorithm}.\\
+
+We have already shown:
+\begin{itemize}
+\item Generalized $NTT$ with degree annotation $2^N$ equals usual $NTT$.
+\item Generalized $NTT$ tracks all levels of recursion in $FNTT$.
+\end{itemize}
+Thus, $FNTT$ equals $NTT$.
+\<close>
+
+theorem FNTT_correct:
+ assumes "length numbers = n"
+ shows "FNTT numbers = NTT numbers"
+ using FNTT_NTT_gen_eq NTT_gen_NTT_full_length assms n_two_pot by force
+
+subsection \<open>Inverse Transform in Butterfly Scheme\<close>
+
+text \<open>We also formalized the inverse transform by using the butterfly scheme.
+Proofs are obtained by adaption of arguments for $FNTT$.\<close>
+
+
+lemmas [simp] = FNTT_termination_aux
+
+fun IFNTT where
+"IFNTT [] = []"|
+"IFNTT [a] = [a]"|
+"IFNTT nums = (let nn = length nums;
+ nums1 = [nums!i . i <- (filter even [0..<nn])];
+ nums2 = [nums!i . i <- (filter odd [0..<nn])];
+ ifntt1 = IFNTT nums1;
+ ifntt2 = IFNTT nums2;
+ sum1 = map2 (+) ifntt1 (map2 ( \<lambda> x k. x*(\<mu>^( (n div nn) * k))) ifntt2 [0..<(nn div 2)]);
+ sum2 = map2 (-) ifntt1 (map2 ( \<lambda> x k. x*(\<mu>^( (n div nn) * k))) ifntt2 [0..<(nn div 2)])
+ in sum1@sum2)"
+
+lemmas [simp del] = FNTT_termination_aux
+
+
+definition "intt_gen numbers degr i = (\<Sum>j=0..<(length numbers). (numbers ! j) * \<mu> ^((n div degr)*i*j)) "
+
+definition "INTT_gen degr numbers = map (intt_gen numbers (degr)) [0..< length numbers]"
+
+lemma INTT_gen_INTT_full_length:
+ assumes "length numbers =n"
+ shows "INTT_gen n numbers = INTT numbers"
+ unfolding INTT_gen_def intt_gen_def INTT_def intt_def
+ using assms by simp
+
+lemma my_div_exp_min1:
+ assumes "2^(Suc l) \<le> n"
+ shows "(\<mu> ^(n div 2^(Suc l)))^(2^l) = -1"
+ by (metis assms divide_minus1 mult_zero_right mu_properties(1) nonzero_mult_div_cancel_right omega_div_exp_min1 power_one_over zero_neq_one)
+
+lemma my_n_2_min1: "\<mu>^(n div 2) = -1"
+ by (metis divide_minus1 mult_zero_right mu_properties(1) nonzero_mult_div_cancel_right omg_n_2_min1 power_one_over zero_neq_one)
+
+text \<open>Correctness proof by common induction technique. Same strategies as for $FNTT$.\<close>
+
+theorem IFNTT_INTT_gen_eq:
+ "length numbers = 2^l \<Longrightarrow> 2^l \<le> n \<Longrightarrow> IFNTT numbers = INTT_gen (length numbers) numbers"
+proof(induction l arbitrary: numbers)
+ case 0
+ hence "local.IFNTT numbers = [numbers ! 0]"
+ by (metis IFNTT.simps(2) One_nat_def Suc_length_conv length_0_conv nth_Cons_0 power_0)
+ then show ?case unfolding INTT_gen_def intt_gen_def
+ using 0 by simp
+next
+ case (Suc l)
+ text \<open>We define some lists that are used during the recursive call.\<close>
+ define numbers1 where "numbers1 = [numbers!i . i <- (filter even [0..<length numbers])]"
+ define numbers2 where "numbers2 = [numbers!i . i <- (filter odd [0..<length numbers])]"
+ define ifntt1 where "ifntt1 = IFNTT numbers1"
+ define ifntt2 where "ifntt2 = IFNTT numbers2"
+ define sum1 where
+ "sum1 = map2 (+) ifntt1 (map2 ( \<lambda> x k. x*(\<mu>^( (n div (length numbers)) * k)))
+ ifntt2 [0..<((length numbers) div 2)])"
+ define sum2 where
+ "sum2 = map2 (-) ifntt1 (map2 ( \<lambda> x k. x*(\<mu>^( (n div (length numbers)) * k)))
+ ifntt2 [0..<((length numbers) div 2)])"
+ define l1 where "l1 = length numbers1"
+ define l2 where "l2 = length numbers2"
+ define llen where "llen = length numbers"
+
+ text \<open>Properties of those lists\<close>
+ have numbers1_even: "length numbers1 = 2^l"
+ using numbers1_def length_even_filter Suc by simp
+ have numbers2_even: "length numbers2 = 2^l"
+ using numbers2_def length_odd_filter Suc by simp
+ have numbers1_ifntt: "ifntt1 = INTT_gen (2^l) numbers1"
+ using ifntt1_def Suc.IH[of numbers1] numbers1_even Suc(3) by simp
+ hence ifntt1_by_index: "ifntt1 ! i = intt_gen numbers1 (2^l) i" if "i < 2^l" for i
+ unfolding INTT_gen_def by (simp add: numbers1_even that)
+ have numbers2_ifntt: "ifntt2 = INTT_gen (2^l) numbers2"
+ using ifntt2_def Suc.IH[of numbers2] numbers2_even Suc(3) by simp
+ hence ifntt2_by_index: "ifntt2 ! i = intt_gen numbers2 (2^l) i" if "i < 2^l" for i
+ unfolding INTT_gen_def by (simp add: numbers2_even that)
+ have ifntt1_length: "length ifntt1 = 2^l" unfolding numbers1_ifntt INTT_gen_def numbers1_def
+ using numbers1_def numbers1_even by force
+ have ifntt2_length: "length ifntt2 = 2^l" unfolding numbers2_ifntt INTT_gen_def numbers2_def
+ using numbers2_def numbers2_even by force
+
+ text \<open>Same proof structure as for the \textit{FNTT} proof.
+ $\omega$s are just replaced by $\mu$s.\<close>
+ have before_half: "map (intt_gen numbers llen) [0..<(llen div 2)] = sum1"
+ proof-
+
+ text \<open>Length is important, since we want to use list lemmas later on.\<close>
+ have 00:"length (map (intt_gen numbers llen) [0..<(llen div 2)]) = length sum1"
+ unfolding sum1_def llen_def
+ using Suc(2) map2_length[of _ ifntt2 "[0..<length numbers div 2]"]
+ map2_length[of "(+)" ifntt1 "(map2 (\<lambda>x y. x * \<mu> ^ (n div length numbers * y)) ifntt2 [0..<length numbers div 2])"]
+ ifntt1_length ifntt2_length by (simp add: mult_2)
+ have 01:"length sum1 = 2^l" unfolding sum1_def
+ using "00" Suc.prems(1) sum1_def unfolding llen_def by auto
+
+ text \<open>We show equality by extensionality on indices.\<close>
+ have 02:"(map (intt_gen numbers llen) [0..<(llen div 2)]) ! i = sum1 ! i"
+ if "i < 2^l" for i
+ proof-
+ text \<open>First simplify this term.\<close>
+ have 000:"(map (intt_gen numbers llen) [0..<(llen div 2)]) ! i = intt_gen numbers llen i"
+ using "00" "01" that by auto
+
+ text \<open>Expand the definition of $sum1$ and massage the result.\<close>
+ moreover have 001:"sum1 ! i = (ifntt1!i) + (ifntt2!i) * (\<mu>^((n div llen) * i))"
+ unfolding sum1_def using map2_index
+ "00" "01" INTT_gen_def add.left_neutral diff_zero ifntt1_length length_map length_upt map2_map_map map_nth nth_upt numbers2_even numbers2_ifntt that llen_def by force
+ moreover have 002:"(ifntt1!i) = (\<Sum>j=0..<l1. (numbers1 ! j) * \<mu>^((n div (2^l))*i*j))"
+ unfolding l1_def
+ using ifntt1_by_index[of i] that unfolding intt_gen_def by simp
+ have 003:"... = (\<Sum>j=0..<l1. (numbers ! (2*j)) * \<mu>^((n div llen)*i*(2*j)))"
+ apply (rule sum_rules(2))
+ subgoal for j unfolding numbers1_def
+ apply(subst llen_def[symmetric])
+ proof-
+ assume ass: "j < l1 "
+ hence "map ((!) numbers) (filter even [0..<length numbers]) ! j = numbers ! (filter even [0..<length numbers] ! j)"
+ using nth_map[of j "filter even [0..<length numbers]" "(!) numbers" ]
+ unfolding l1_def numbers1_def
+ by (metis length_map)
+ moreover have "filter even [0..<llen] ! j = 2 * j" using
+ filter_even_nth[of j "llen" "2^l"] Suc(2) ass numbers1_def numbers1_even
+ unfolding llen_def l1_def by fastforce
+ moreover have "n div llen * (2 * j) = ((n div (2 ^ l)) * j)"
+ using Suc(2) two_powrs_div[of l N] n_two_pot two_powr_div Suc(3) llen_def
+ by (metis One_nat_def div_if mult.assoc nat_less_le not_less_eq numeral_2_eq_2 power_eq_0_iff power_inject_exp zero_neq_numeral)
+ ultimately show "map ((!) numbers) (filter even [0..<llen]) ! j * \<mu> ^ (n div 2 ^ l * i * j) =
+ numbers ! (2 * j) * \<mu> ^ (n div llen * i * (2 * j))"
+ unfolding llen_def l1_def l2_def by (metis (mono_tags, lifting) mult.assoc mult.left_commute)
+ qed
+ done
+ moreover have 004:
+ "(ifntt2!i) * (\<mu>^((n div llen) * i)) =
+ (\<Sum>j=0..<l2.(numbers2 ! j) * \<mu>^((n div (2^l))*i*j+ (n div llen) * i))"
+ apply(rule trans[where s = "(\<Sum>j = 0..<l2. numbers2 ! j * \<mu> ^ (n div 2 ^ l * i * j) * \<mu> ^ (n div llen * i))"])
+ subgoal
+ unfolding l2_def llen_def
+ using ifntt2_by_index[of i] that sum_in[of _ "(\<mu>^((n div llen) * i))" "l2"] comm_semiring_1_class.semiring_normalization_rules(26)[of \<mu>]
+ unfolding intt_gen_def
+ using sum_rules apply presburger
+ done
+ apply (rule sum_rules(2))
+ subgoal for j
+ using ifntt2_by_index[of i] that sum_in[of _ "(\<mu>^((n div llen) * i))" "l2"] comm_semiring_1_class.semiring_normalization_rules(26)[of \<mu>]
+ unfolding intt_gen_def
+ apply auto
+ done
+ done
+ have 005: "\<dots> = (\<Sum>j=0..<l2. (numbers ! (2*j+1) * \<mu>^((n div llen)*i*(2*j+1))))"
+ apply (rule sum_rules(2))
+ subgoal for j unfolding numbers2_def
+ apply(subst llen_def[symmetric])
+ proof-
+ assume ass: "j < l2 "
+ hence "map ((!) numbers) (filter odd [0..<llen]) ! j = numbers ! (filter odd [0..<llen] ! j)"
+ using nth_map unfolding l2_def numbers2_def llen_def by (metis length_map)
+ moreover have "filter odd [0..<llen] ! j = 2 * j +1" using
+ filter_odd_nth[of j "length numbers" "2^l"] Suc(2) ass numbers2_def numbers2_even
+ unfolding l2_def numbers2_def llen_def by fastforce
+ moreover have "n div llen * (2 * j) = ((n div (2 ^ l)) * j)"
+ using Suc(2) two_powrs_div[of l N] n_two_pot two_powr_div Suc(3) llen_def
+ by (metis One_nat_def div_if mult.assoc nat_less_le not_less_eq numeral_2_eq_2 power_eq_0_iff power_inject_exp zero_neq_numeral)
+ ultimately show
+ " map ((!) numbers) (filter odd [0..<llen]) ! j * \<mu> ^ (n div 2 ^ l * i * j + n div llen * i)
+ = numbers ! (2 * j + 1) * \<mu> ^ (n div llen * i * (2 * j + 1))" unfolding llen_def
+ by (smt (z3) Groups.mult_ac(2) distrib_left mult.right_neutral mult_2 mult_cancel_left)
+ qed
+ done
+ then show ?thesis
+ using 000 001 002 003 004 005
+ unfolding sum1_def llen_def l1_def l2_def
+ using sum_splice_other_way_round[of "\<lambda> d. numbers ! d * \<mu> ^ (n div length numbers * i * d)" "2^l"] Suc(2)
+ unfolding intt_gen_def
+ by (smt (z3) Groups.mult_ac(2) numbers1_even numbers2_even power_Suc2)
+ qed
+ then show ?thesis
+ by (metis "00" "01" nth_equalityI)
+ qed
+
+ text \<open>We show index-wise equality for the second halves\<close>
+ have after_half: "map (intt_gen numbers llen) [(llen div 2)..<llen] = sum2"
+ proof-
+ have 00:"length (map (intt_gen numbers llen) [(llen div 2)..<llen]) = length sum2"
+ unfolding sum2_def llen_def
+ using Suc(2) map2_length map2_length ifntt1_length ifntt2_length by (simp add: mult_2)
+ have 01:"length sum2 = 2^l" unfolding sum1_def
+ using "00" Suc.prems(1) sum1_def llen_def by auto
+
+ text \<open>Equality for every index\<close>
+ have 02:"(map (intt_gen numbers llen) [(llen div 2)..<llen]) ! i = sum2 ! i"
+ if "i < 2^l" for i
+ proof-
+ have 000:"(map (intt_gen numbers llen) [(llen div 2)..<llen]) ! i = intt_gen numbers llen (2^l+i)"
+ unfolding llen_def by (simp add: Suc.prems(1) that)
+ have 001:" (map2 (\<lambda>x y. x * \<mu> ^ (n div llen * y)) ifntt2 [0..<llen div 2]) ! i =
+ ifntt2 ! i * \<mu> ^ (n div llen * i)"
+ using Suc(2) that by (simp add: ifntt2_length llen_def)
+ have 003: "- ifntt2 ! i * \<mu> ^ (n div llen * i) = ifntt2 ! i * \<mu> ^ (n div llen * (i+ llen div 2))"
+ using Suc(2) my_div_exp_min1[of l] unfolding llen_def
+ by (smt (z3) Suc.prems(2) mult.commute mult.left_commute mult_1s_ring_1(2) neq0_conv nonzero_mult_div_cancel_left numeral_One pos2 power_Suc power_add power_mult)
+ hence 004:"sum2 ! i = (ifntt1!i) - (ifntt2!i) * (\<mu>^((n div llen) * i))"
+ unfolding sum2_def llen_def
+ by (simp add: Suc.prems(1) ifntt1_length ifntt2_length that)
+ have 005:"(ifntt1!i) =
+ (\<Sum>j=0..<l1. (numbers1 ! j) * \<mu>^((n div (2^l))*i*j))"
+ using ifntt1_by_index that unfolding intt_gen_def l1_def by simp
+ have 006:"\<dots> =(\<Sum>j=0..<l1. (numbers ! (2*j)) * \<mu>^((n div llen)*i*(2*j)))"
+ apply (rule sum_rules(2))
+ subgoal for j unfolding numbers1_def
+ apply(subst llen_def[symmetric])
+ proof-
+ assume ass: "j < l1 "
+ hence "map ((!) numbers) (filter even [0..<llen]) ! j = numbers ! (filter even [0..<llen] ! j)"
+ using nth_map unfolding llen_def l1_def numbers1_def by (metis length_map)
+ moreover have "filter even [0..<llen] ! j = 2 * j" using
+ filter_even_nth Suc(2) ass numbers1_def numbers1_even llen_def l1_def by fastforce
+ moreover have "n div llen * (2 * j) = ((n div (2 ^ l)) * j)"
+ using Suc(2) two_powrs_div[of l N] n_two_pot two_powr_div Suc(3) llen_def
+ by (metis One_nat_def div_if mult.assoc nat_less_le not_less_eq numeral_2_eq_2 power_eq_0_iff power_inject_exp zero_neq_numeral)
+ ultimately show
+ "map ((!) numbers) (filter even [0..<llen]) ! j * \<mu> ^ (n div 2 ^ l * i * j) =
+ numbers ! (2 * j) * \<mu> ^ (n div llen * i * (2 * j))"
+ by (metis (mono_tags, lifting) mult.assoc mult.left_commute)
+ qed
+ done
+ have 007:"\<dots> = (\<Sum>j=0..<l1. (numbers ! (2*j)) * \<mu> ^((n div llen)*(2^l + i)*(2*j))) "
+ apply (rule sum_rules(2))
+ subgoal for j
+ using Suc(2) Suc(3) my_div_exp_min1[of l] llen_def l1_def numbers1_def
+ apply(smt (verit, del_insts) add.commute minus_power_mult_self mult_2 mult_minus1_right power_add power_mult)
+ done
+ done
+ moreover have 008: "(ifntt2!i) * (\<mu>^((n div llen) * i)) =
+ (\<Sum>j=0..<l2. (numbers2 ! j) * \<mu>^((n div (2^l))*i*j+ (n div llen) * i))"
+ apply(rule trans[where s = "(\<Sum>j = 0..<l2. numbers2 ! j * \<mu> ^ (n div 2 ^ l * i * j) * \<mu> ^ (n div llen * i))"])
+ subgoal
+ using ifntt2_by_index[of i] that sum_in comm_semiring_1_class.semiring_normalization_rules(26)[of \<mu>]
+ unfolding intt_gen_def
+ using sum_rules l2_def apply presburger
+ done
+ apply (rule sum_rules(2))
+ subgoal for j
+ using ifntt2_by_index[of i] that sum_in comm_semiring_1_class.semiring_normalization_rules(26)[of \<mu>]
+ unfolding intt_gen_def
+ apply auto
+ done
+ done
+ have 009: "\<dots> = (\<Sum>j=0..<l2. (numbers ! (2*j+1) * \<mu>^((n div llen)*i*(2*j+1))))"
+ apply (rule sum_rules(2))
+ subgoal for j unfolding numbers2_def
+ apply(subst llen_def[symmetric])
+ proof-
+ assume ass: "j < l2 "
+ hence "map ((!) numbers) (filter odd [0..<llen]) ! j = numbers ! (filter odd [0..<llen] ! j)"
+ using nth_map llen_def l2_def numbers2_def by (metis length_map)
+ moreover have "filter odd [0..<llen] ! j = 2 * j +1" using
+ filter_odd_nth Suc(2) ass numbers2_def numbers2_even llen_def l2_def by fastforce
+ moreover have "n div llen * (2 * j) = ((n div (2 ^ l)) * j)"
+ using Suc(2) two_powrs_div[of l N] n_two_pot two_powr_div Suc(3) llen_def
+ by (metis One_nat_def div_if mult.assoc nat_less_le not_less_eq numeral_2_eq_2 power_eq_0_iff power_inject_exp zero_neq_numeral)
+ ultimately show
+ "map ((!) numbers) (filter odd [0..<llen]) ! j * \<mu> ^ (n div 2 ^ l * i * j + n div llen * i)
+ = numbers ! (2 * j + 1) * \<mu> ^ (n div llen * i * (2 * j + 1))"
+ by (smt (z3) Groups.mult_ac(2) distrib_left mult.right_neutral mult_2 mult_cancel_left)
+ qed
+ done
+ have 010: " (ifntt2!i) * (\<mu>^((n div llen) * i)) = (\<Sum>j=0..<l2. (numbers ! (2*j+1) * \<mu>^((n div llen)*i*(2*j+1)))) "
+ using 008 009 by presburger
+ have 011: " - (ifntt2!i) * (\<mu>^((n div llen) * i)) =
+ (\<Sum>j=0..<l2. - (numbers ! (2*j+1) * \<mu>^((n div llen)*i*(2*j+1)))) "
+ apply(rule neg_cong)
+ apply(rule trans[where s="(\<Sum>j=0..<l2. (numbers ! (2*j+1) * \<mu>^((n div llen)*i*(2*j+1))))"])
+ subgoal using 008 009 by simp
+ apply(rule sym)
+ using sum_neg_in[of _ "l2"]
+ apply simp
+ done
+ have 012: "\<dots> = (\<Sum>j=0..<l2. (numbers ! (2*j+1) * \<mu>^((n div llen)*(2^l+i)*(2*j+1))))"
+ apply(rule sum_rules(2))
+ subgoal for j
+ using Suc(2) Suc(3) my_div_exp_min1[of l] llen_def l2_def
+ apply (smt (z3) add.commute exp_rule mult.assoc mult_minus1_right plus_1_eq_Suc power_add power_minus1_odd power_mult)
+ done
+ done
+ have 013:"ifntt1 ! i = (\<Sum>j = 0..<2 ^ l. numbers!(2*j) * \<mu> ^ (n div llen * (2^l + i) * (2*j)))"
+ using 005 006 007 numbers1_even llen_def l1_def by auto
+ have 014: "(\<Sum>j = 0..<2 ^ l. numbers ! (2*j + 1) * \<mu> ^ (n div llen* (2^l + i) * (2*j + 1))) =
+ - ifntt2 ! i * \<mu> ^ (n div llen * i)"
+ using trans[OF l2_def numbers2_even] sym[OF 012] sym[OF 011] by simp
+ have "intt_gen numbers llen (2 ^ l + i) = (ifntt1!i) - (ifntt2!i) * (\<mu>^((n div llen) * i))"
+ unfolding intt_gen_def
+ apply(subst Suc(2))
+ using sum_splice[of "\<lambda> d. numbers ! d * \<mu> ^ (n div llen * (2^l+i) * d)" "2^l"] sym[OF 013] 014 Suc(2) by simp
+ thus ?thesis using 000 sym[OF 001] "004" sum2_def by simp
+ qed
+ then show ?thesis
+ by (metis "00" "01" list_eq_iff_nth_eq)
+ qed
+ obtain x y xs where xyxs: "numbers = x#y#xs" using Suc(2)
+ by (metis FNTT.cases add.left_neutral even_Suc even_add length_Cons list.size(3) mult_2 power_Suc power_eq_0_iff zero_neq_numeral)
+ show ?case
+ apply(subst xyxs)
+ apply(subst IFNTT.simps(3))
+ apply(subst xyxs[symmetric])+
+ unfolding Let_def
+ using map_append[of "intt_gen numbers llen" " [0..<llen div 2]" "[llen div 2..<llen]"] before_half after_half
+ unfolding llen_def sum1_def sum2_def ifntt1_def ifntt2_def INTT_gen_def
+ apply (metis (no_types, lifting) Suc.prems(1) numbers1_def length_odd_filter mult_2 numbers2_def numbers2_even power_Suc upt_add_eq_append zero_le_numeral zero_le_power)
+ done
+qed
+
+text \<open>Correctness of the butterfly scheme for the inverse \textit{INTT}.\<close>
+
+theorem IFNTT_correct:
+ assumes "length numbers = n"
+ shows "IFNTT numbers = INTT numbers"
+ using IFNTT_INTT_gen_eq INTT_gen_INTT_full_length assms n_two_pot by force
+
+text \<open>Also $FNTT$ and $IFNTT$ are mutually inverse\<close>
+
+theorem IFNTT_inv_FNTT:
+ assumes "length numbers = n"
+ shows "IFNTT (FNTT numbers) = map ((*) (of_int_mod_ring (int n))) numbers"
+ by (simp add: FNTT_correct IFNTT_correct assms length_NTT ntt_correct)
+
+text \<open>The other way round:\<close>
+
+theorem FNTT_inv_IFNTT:
+ assumes "length numbers = n"
+ shows "FNTT (IFNTT numbers) = map ((*) (of_int_mod_ring (int n))) numbers"
+by (simp add: FNTT_correct IFNTT_correct assms inv_ntt_correct length_INTT)
+
+subsection \<open>An Optimization\<close>
+text \<open>Currently, we extract elements on even and odd positions respectively by a list comprehension
+ over even and odd indices.
+Due to the definition in Isabelle, an index access has linear time complexity.
+This results in quadratic running time complexity for every level
+in the recursion tree of the \textit{FNTT}.
+In order to reach the $\mathcal{O}(n \log n)$ time bound,
+we have find a better way of splitting the elements at even or odd indices respectively.
+\<close>
+
+text \<open>A core of this optimization is the $evens\text{-}odds$ function,
+ which splits the vectors in linear time.\<close>
+
+fun evens_odds::"bool \<Rightarrow>'b list \<Rightarrow> 'b list" where
+"evens_odds _ [] = []"|
+"evens_odds True (x#xs)= (x# evens_odds False xs)"|
+"evens_odds False (x#xs) = evens_odds True xs"
+
+lemma map_filter_shift: " map f (filter even [0..<Suc g]) =
+ f 0 # map (\<lambda> x. f (x+1)) (filter odd [0..<g])"
+ by (induction g) auto
+
+lemma map_filter_shift': " map f (filter odd [0..<Suc g]) =
+ map (\<lambda> x. f (x+1)) (filter even [0..<g])"
+ by (induction g) auto
+
+text \<open>A splitting by the $evens\text{-}odds$ function is
+equivalent to the more textbook-like list comprehension.\<close>
+
+lemma filter_compehension_evens_odds:
+ "[xs ! i. i <- filter even [0..<length xs]] = evens_odds True xs \<and>
+ [xs ! i. i <- filter odd [0..<length xs]] = evens_odds False xs "
+ apply(induction xs)
+ apply simp
+ subgoal for x xs
+ apply rule
+ subgoal
+ apply(subst evens_odds.simps)
+ apply(rule trans[of _ "map ((!) (x # xs)) (filter even [0..<Suc (length xs)])"])
+ subgoal by simp
+ apply(rule trans[OF map_filter_shift[of "(!) (x # xs)" "length xs"]])
+ apply simp
+ done
+
+ apply(subst evens_odds.simps)
+ apply(rule trans[of _ "map ((!) (x # xs)) (filter odd [0..<Suc (length xs)])"])
+ subgoal by simp
+ apply(rule trans[OF map_filter_shift'[of "(!) (x # xs)" "length xs"]])
+ apply simp
+ done
+ done
+
+text \<open>For automated termination proof.\<close>
+
+lemma [simp]: "length (evens_odds True vc) < Suc (length vc)"
+ "length (evens_odds False vc) < Suc (length vc)"
+ by (metis filter_compehension_evens_odds le_imp_less_Suc length_filter_le length_map map_nth)+
+
+
+text \<open>The $FNTT$ definition from above was suitable for matters of proof conduction.
+ However, the naive decomposition into elements at odd and even indices induces a complexity of $n^2$ in every recursive step.
+As mentioned, the $evens\text{-}odds$ function filters for elements on even or odd positions respectively.
+The list has to be traversed only once which gives \textit{linear} complexity for every recursive step. \<close>
+
+fun FNTT' where
+"FNTT' [] = []"|
+"FNTT' [a] = [a]"|
+"FNTT' nums = (let nn = length nums;
+ nums1 = evens_odds True nums;
+ nums2 = evens_odds False nums;
+ fntt1 = FNTT' nums1;
+ fntt2 = FNTT' nums2;
+ fntt2_omg = (map2 ( \<lambda> x k. x*(\<omega>^( (n div nn) * k))) fntt2 [0..<(nn div 2)]);
+ sum1 = map2 (+) fntt1 fntt2_omg;
+ sum2 = map2 (-) fntt1 fntt2_omg
+ in sum1@sum2)"
+
+text \<open>The optimized \textit{FNTT} is equivalent to the naive \textit{NTT}.\<close>
+
+lemma FNTT'_FNTT: "FNTT' xs = FNTT xs"
+ apply(induction xs rule: FNTT'.induct)
+ subgoal by simp
+ subgoal by simp
+ apply(subst FNTT'.simps(3))
+ apply(subst FNTT.simps(3))
+ subgoal for a b xs
+ unfolding Let_def
+ apply (metis filter_compehension_evens_odds)
+ done
+ done
+
+text \<open>It is quite surprising that some inaccuracies in the interpretation of informal textbook definitions
+- even when just considering such a simple algorithm - can indeed affect time complexity.\<close>
+
+subsection \<open>Arguments on Running Time\<close>
+
+text \<open> $FFT$ is especially known for its $\mathcal{O}(n \log n)$ running time.
+Unfortunately, Isabelle does not provide a built-in time formalization.
+Nonetheless we can reason about running time after defining some "reasonable" consumption functions by hand.
+Our approach loosely follows a general pattern by Nipkow et al.~\parencite{funalgs}.
+First, we give running times and lemmas for the auxiliary functions used during FNTT.\\
+General ideas behind the $\mathcal{O}(n \log n)$ are:
+\begin{itemize}
+\item By recursively halving the problem size, we obtain a tree of depth $\mathcal{O}(\log n)$.
+\item For every level of that tree, we have to process all elements which gives $\mathcal{O}(n)$ time.
+\end{itemize}
+
+\<close>
+
+text \<open>Time for splitting the list according to even and odd indices.\<close>
+
+fun T_\<^sub>e\<^sub>o::"bool \<Rightarrow> 'c list \<Rightarrow> nat" where
+" T_\<^sub>e\<^sub>o _ [] = 1"|
+" T_\<^sub>e\<^sub>o True (x#xs)= (1+ T_\<^sub>e\<^sub>o False xs)"|
+" T_\<^sub>e\<^sub>o False (x#xs) = (1+ T_\<^sub>e\<^sub>o True xs)"
+
+lemma T_eo_linear: "T_\<^sub>e\<^sub>o b xs = length xs + 1"
+ by (induction b xs rule: T_\<^sub>e\<^sub>o.induct) auto
+
+text \<open>Time for length.\<close>
+
+fun T\<^sub>l\<^sub>e\<^sub>n\<^sub>g\<^sub>t\<^sub>h where
+"T\<^sub>l\<^sub>e\<^sub>n\<^sub>g\<^sub>t\<^sub>h [] = 1 "|
+"T\<^sub>l\<^sub>e\<^sub>n\<^sub>g\<^sub>t\<^sub>h (x#xs) = 1+ T\<^sub>l\<^sub>e\<^sub>n\<^sub>g\<^sub>t\<^sub>h xs"
+
+lemma T_length_linear: "T\<^sub>l\<^sub>e\<^sub>n\<^sub>g\<^sub>t\<^sub>h xs = length xs +1"
+ by (induction xs) auto
+
+text \<open>Time for index access.\<close>
+
+fun T\<^sub>n\<^sub>t\<^sub>h where
+"T\<^sub>n\<^sub>t\<^sub>h [] i = 1 "|
+"T\<^sub>n\<^sub>t\<^sub>h (x#xs) 0 = 1"|
+"T\<^sub>n\<^sub>t\<^sub>h (x#xs) (Suc i) = 1 + T\<^sub>n\<^sub>t\<^sub>h xs i"
+
+lemma T_nth_linear: "T\<^sub>n\<^sub>t\<^sub>h xs i \<le> length xs +1"
+ by (induction xs i rule: T\<^sub>n\<^sub>t\<^sub>h.induct) auto
+
+text \<open>Time for mapping two lists into one result.\<close>
+
+fun T\<^sub>m\<^sub>a\<^sub>p\<^sub>2 where
+ "T\<^sub>m\<^sub>a\<^sub>p\<^sub>2 t [] _ = 1"|
+ "T\<^sub>m\<^sub>a\<^sub>p\<^sub>2 t _ [] = 1"|
+ "T\<^sub>m\<^sub>a\<^sub>p\<^sub>2 t (x#xs) (y#ys) = (t x y + 1 + T\<^sub>m\<^sub>a\<^sub>p\<^sub>2 t xs ys)"
+
+lemma T_map_2_linear:
+"c > 0 \<Longrightarrow>
+ (\<And> x y. t x y \<le> c) \<Longrightarrow> T\<^sub>m\<^sub>a\<^sub>p\<^sub>2 t xs ys \<le> min (length xs) (length ys) * (c+1) + 1"
+ apply(induction t xs ys rule: T\<^sub>m\<^sub>a\<^sub>p\<^sub>2.induct)
+ subgoal by simp
+ subgoal by simp
+ subgoal for t x xs y ys
+ apply(subst T\<^sub>m\<^sub>a\<^sub>p\<^sub>2.simps, subst length_Cons, subst length_Cons)
+ using min_add_distrib_right[of 1]
+ by (smt (z3) Suc_eq_plus1 add.assoc add.commute add_le_mono le_numeral_extra(4) min_def mult.commute mult_Suc_right)
+ done
+
+lemma T_map_2_linear':
+"c > 0 \<Longrightarrow>
+ (\<And> x y. t x y = c) \<Longrightarrow> T\<^sub>m\<^sub>a\<^sub>p\<^sub>2 t xs ys = min (length xs) (length ys) * (c+1) + 1"
+ by(induction t xs ys rule: T\<^sub>m\<^sub>a\<^sub>p\<^sub>2.induct) simp+
+
+
+text \<open>Time for append.\<close>
+
+fun T\<^sub>a\<^sub>p\<^sub>p where
+ " T\<^sub>a\<^sub>p\<^sub>p [] _ = 1"|
+ " T\<^sub>a\<^sub>p\<^sub>p (x#xs) ys = 1 + T\<^sub>a\<^sub>p\<^sub>p xs ys"
+
+lemma T_app_linear: " T\<^sub>a\<^sub>p\<^sub>p xs ys = length xs +1"
+ by(induction xs) auto
+
+
+text \<open>Running Time of (optimized) $FNTT$.\<close>
+
+fun T\<^sub>F\<^sub>N\<^sub>T\<^sub>T::"('a mod_ring) list \<Rightarrow> nat" where
+"T\<^sub>F\<^sub>N\<^sub>T\<^sub>T [] = 1"|
+"T\<^sub>F\<^sub>N\<^sub>T\<^sub>T [a] = 1"|
+"T\<^sub>F\<^sub>N\<^sub>T\<^sub>T nums = (1 +T\<^sub>l\<^sub>e\<^sub>n\<^sub>g\<^sub>t\<^sub>h nums+ 3+
+
+ (let nn = length nums;
+ nums1 = evens_odds True nums;
+ nums2 = evens_odds False nums
+ in
+ T_\<^sub>e\<^sub>o True nums + T_\<^sub>e\<^sub>o False nums + 2 +
+ (let
+ fntt1 = FNTT nums1;
+ fntt2 = FNTT nums2
+ in
+ (T\<^sub>F\<^sub>N\<^sub>T\<^sub>T nums1) + (T\<^sub>F\<^sub>N\<^sub>T\<^sub>T nums2) +
+ (let
+ sum1 = map2 (+) fntt1 (map2 ( \<lambda> x k. x*(\<omega>^( (n div nn) * k))) fntt2 [0..<(nn div 2)]);
+ sum2 = map2 (-) fntt1 (map2 ( \<lambda> x k. x*(\<omega>^( (n div nn) * k))) fntt2 [0..<(nn div 2)])
+ in
+ 2* T\<^sub>m\<^sub>a\<^sub>p\<^sub>2 (\<lambda> x y. 1) fntt2 [0..<(nn div 2)] +
+ 2* T\<^sub>m\<^sub>a\<^sub>p\<^sub>2 (\<lambda> x y. 1) fntt1 (map2 ( \<lambda> x k. x*(\<omega>^( (n div nn) * k))) fntt2 [0..<(nn div 2)]) +
+ T\<^sub>a\<^sub>p\<^sub>p sum1 sum2))))"
+
+lemma mono: "((f x)::nat) \<le> f y \<Longrightarrow> f y \<le> fz \<Longrightarrow> f x \<le> fz" by simp
+
+lemma evens_odds_length:
+ "length (evens_odds True xs) = (length xs+1) div 2 \<and>
+ length (evens_odds False xs) = (length xs) div 2"
+ by(induction xs) simp+
+
+text \<open>Length preservation during $FNTT$.\<close>
+
+lemma FNTT_length: "length numbers = 2^l \<Longrightarrow> length (FNTT numbers) = length numbers"
+proof(induction l arbitrary: numbers)
+ case (Suc l)
+ define numbers1 where "numbers1 = [numbers!i . i <- (filter even [0..<length numbers])]"
+ define numbers2 where "numbers2 = [numbers!i . i <- (filter odd [0..<length numbers])]"
+ define fntt1 where "fntt1 = FNTT numbers1"
+ define fntt2 where "fntt2 = FNTT numbers2"
+ define presum where
+ "presum = (map2 ( \<lambda> x k. x*(\<omega>^( (n div (length numbers)) * k)))
+ fntt2 [0..<((length numbers) div 2)])"
+ define sum1 where
+ "sum1 = map2 (+) fntt1 presum"
+ define sum2 where
+ "sum2 = map2 (-) fntt1 presum"
+ have "length numbers1 = 2^l"
+ by (metis Suc.prems numbers1_def diff_add_inverse2 length_even_filter mult_2 nonzero_mult_div_cancel_left power_Suc zero_neq_numeral)
+ hence "length fntt1 = 2^l"
+ by (simp add: Suc.IH fntt1_def)
+ hence "length presum = 2^l" unfolding presum_def
+ using map2_length Suc.IH Suc.prems fntt2_def length_odd_filter numbers2_def by force
+ hence "length sum1 = 2^l"
+ by (simp add: \<open>length fntt1 = 2 ^ l\<close> sum1_def)
+ have "length numbers2 = 2^l"
+ by (metis Suc.prems numbers2_def length_odd_filter nonzero_mult_div_cancel_left power_Suc zero_neq_numeral)
+ hence "length fntt2 = 2^l"
+ by (simp add: Suc.IH fntt2_def)
+ hence "length sum2 = 2^l" unfolding sum2_def
+ using \<open>length sum1 = 2 ^ l\<close> sum1_def by force
+ hence final:"length (sum1@sum2) = 2^(Suc l)"
+ by (simp add: \<open>length sum1 = 2 ^ l\<close>)
+ obtain x y xs where xyxs_Def: "numbers = x#y#xs"
+ by (metis \<open>length numbers2 = 2 ^ l\<close> evens_odds.elims filter_compehension_evens_odds length_0_conv neq_Nil_conv numbers2_def power_eq_0_iff zero_neq_numeral)
+ show ?case
+ apply(subst xyxs_Def, subst FNTT.simps(3), subst xyxs_Def[symmetric])
+ unfolding Let_def
+ using final
+ unfolding sum1_def sum2_def presum_def fntt1_def fntt2_def numbers1_def numbers2_def
+ using Suc by (metis xyxs_Def)
+qed (metis FNTT.simps(2) Suc_length_conv length_0_conv nat_power_eq_Suc_0_iff)
+
+lemma add_cong: "(a1::nat) + a2+a3 +a4= b \<Longrightarrow> a1 +a2+ c + a3+a4= c +b"
+ by simp
+
+lemma add_mono:"a \<le> (b::nat) \<Longrightarrow> c \<le> d \<Longrightarrow> a + c \<le> b +d" by simp
+
+lemma xyz: " Suc (Suc (length xs)) = 2 ^ l \<Longrightarrow> length (x # evens_odds True xs) = 2 ^ (l - 1)"
+ by (metis (no_types, lifting) Nat.add_0_right Suc_eq_plus1 div2_Suc_Suc div_mult_self2 evens_odds_length length_Cons nat.distinct(1) numeral_2_eq_2 one_div_two_eq_zero plus_1_eq_Suc power_eq_if)
+
+lemma zyx:" Suc (Suc (length xs)) = 2 ^ l \<Longrightarrow> length (y # evens_odds False xs) = 2 ^ (l - 1)"
+ by (smt (z3) One_nat_def Suc_pred diff_Suc_1 div2_Suc_Suc evens_odds_length le_numeral_extra(4) length_Cons nat_less_le neq0_conv power_0 power_diff power_one_right zero_less_diff zero_neq_numeral)
+
+text \<open>When $length \; xs = 2^l$, then $length \; (evens\text{-}odds \; xs) = 2^{l-1}$.\<close>
+
+lemma evens_odds_power_2:
+ fixes x::'b and y::'b
+ assumes "Suc (Suc (length (xs::'b list))) = 2 ^ l"
+ shows " Suc(length (evens_odds b xs)) = 2 ^ (l-1)"
+proof-
+ have "Suc(length (evens_odds b xs)) = length (evens_odds b (x#y#xs))"
+ by (metis (full_types) evens_odds.simps(2) evens_odds.simps(3) length_Cons)
+ have "length (x#y#xs) = 2^l" using assms by simp
+ have "length (evens_odds b (x#y#xs)) = 2^(l-1)"
+ apply (cases b)
+ apply (smt (z3) Suc_eq_plus1 Suc_pred \<open>length (x # y # xs) = 2 ^ l\<close> add.commute add_diff_cancel_left' assms filter_compehension_evens_odds gr0I le_add1 le_imp_less_Suc length_even_filter mult_2 nat_less_le power_diff power_eq_if power_one_right zero_neq_numeral)
+ by (smt (z3) One_nat_def Suc_inject \<open>length (x # y # xs) = 2 ^ l\<close> assms evens_odds_length le_zero_eq nat.distinct(1) neq0_conv not_less_eq_eq pos2 power_Suc0_right power_diff_power_eq power_eq_if)
+ then show ?thesis
+ by (metis \<open>Suc (length (evens_odds b xs)) = length (evens_odds b (x # y # xs))\<close>)
+qed
+
+text \<open> \noindent \textbf{Major Lemma:} We rewrite the Running time of $FNTT$ in this proof and collect constraints for the time bound.
+Using this, bounds are chosen in a way such that the induction goes through properly.
+\paragraph \noindent We define:
+
+\begin{equation*}
+T(2^0) = 1
+\end{equation*}
+
+\begin{equation*}
+T(2^l) =
+(2^l - 1)\cdot 14 apply+ 15 \cdot l \cdot 2^{l-1} + 2^l
+\end{equation*}
+
+\paragraph \noindent We want to show:
+
+\begin{equation*}
+T_{FNTT}(2^l) = T(2^l)
+\end{equation*}
+
+(Note that by abuse of types, the $2^l$ denotes a list of length $2^l$.)
+
+\paragraph \noindent First, let's informally check that $T$ is indeed an accurate description of the running time:
+
+\begin{align*}
+T_{FNTT}(2^l) & \; = 14 + 15 \cdot 2 ^ {l-1} + 2 \cdot T_{FNTT}(2^{l-1}) \hspace{1cm} \text{by analyzing the running time function}\\
+&\overset{I.H.}{=} 14 + 15 \cdot 2 ^ {l-1} + 2 \cdot ((2^{l-1} - 1) \cdot 14 + (l - 1) \cdot 15 \cdot 2^{l-2} + 2^{l-1})\\
+& \;= 14 \cdot 2^l - 14 + 15 \cdot 2 ^ {l-1} + 15\cdot l \cdot 2^{l-1} - 15 \cdot 2^{l-1} + 2^l\\
+&\; = (2^l - 1)\cdot 14 + 15 \cdot l \cdot 2^{l-1} + 2^l\\
+&\overset{def.}{=} T(2^l)
+\end{align*}
+
+The base case is trivially true.
+\<close>
+
+theorem tight_bound:
+ assumes T_def: "\<And> numbers l. length numbers = 2^l \<Longrightarrow> l > 0 \<Longrightarrow>
+ T numbers = (2^l - 1) * 14 + l *15*2^(l-1) + 2^l"
+ "\<And> numbers l. l =0 \<Longrightarrow> length numbers = 2^l \<Longrightarrow> T numbers = 1"
+ shows " length numbers = 2^l \<Longrightarrow> T\<^sub>F\<^sub>N\<^sub>T\<^sub>T numbers = T numbers"
+proof(induction numbers arbitrary: l rule: T\<^sub>F\<^sub>N\<^sub>T\<^sub>T.induct)
+ case (3 x y numbers)
+
+ text \<open>Some definitions for making term rewriting simpler.\<close>
+
+ define nn where "nn = length (x # y # numbers)"
+ define nums1 where "nums1 = evens_odds True (x # y # numbers)"
+ define nums2 where "nums2 = evens_odds False (x # y # numbers)"
+ define fntt1 where "fntt1 = local.FNTT nums1"
+ define fntt2 where "fntt2 = local.FNTT nums2"
+ define sum1 where "sum1 = map2 (+) fntt1 (map2 (\<lambda>x y. x * \<omega> ^ (n div nn * y)) fntt2 [0..<nn div 2])"
+ define sum2 where "sum2 = map2 (-) fntt1 (map2 (\<lambda>x y. x * \<omega> ^ (n div nn * y)) fntt2 [0..<nn div 2])"
+
+ text \<open>Unfolding the running time function and combining it with the definitions above.\<close>
+
+ have TFNNT_simp: " T\<^sub>F\<^sub>N\<^sub>T\<^sub>T (x # y # numbers) =
+ 1 + T\<^sub>l\<^sub>e\<^sub>n\<^sub>g\<^sub>t\<^sub>h (x # y # numbers) + 3 +
+ T_\<^sub>e\<^sub>o True (x # y # numbers) + T_\<^sub>e\<^sub>o False (x # y # numbers) + 2 +
+ local.T\<^sub>F\<^sub>N\<^sub>T\<^sub>T nums1 + local.T\<^sub>F\<^sub>N\<^sub>T\<^sub>T nums2 +
+ 2 * T\<^sub>m\<^sub>a\<^sub>p\<^sub>2 (\<lambda>x y. 1) fntt2 [0..<nn div 2] +
+ 2 *
+ T\<^sub>m\<^sub>a\<^sub>p\<^sub>2 (\<lambda>x y. 1) fntt1 (map2 (\<lambda>x y. x * \<omega> ^ (n div nn * y)) fntt2 [0..<nn div 2]) +
+ T\<^sub>a\<^sub>p\<^sub>p sum1 sum2"
+ apply(subst T\<^sub>F\<^sub>N\<^sub>T\<^sub>T.simps(3))
+ unfolding Let_def unfolding sum2_def sum1_def fntt1_def fntt2_def nums1_def nums2_def nn_def
+ apply simp
+ done
+
+ text \<open>Application of lemmas related to running times of auxiliary functions.\<close>
+
+ have length_nums1: "length nums1 = (2::nat)^(l-1)"
+ unfolding nums1_def
+ using evens_odds_length[of "x # y # numbers"] 3(3) xyz by fastforce
+ have length_nums2: "length nums2 = (2::nat)^(l-1)"
+ unfolding nums2_def
+ using evens_odds_length[of "x # y # numbers"] 3(3)
+ by (metis One_nat_def le_0_eq length_Cons lessI list.size(4) neq0_conv not_add_less2 not_less_eq_eq pos2 power_Suc0_right power_diff_power_eq power_eq_if)
+ have length_simp: "T\<^sub>l\<^sub>e\<^sub>n\<^sub>g\<^sub>t\<^sub>h (x # y # numbers) = (2::nat) ^l +1"
+ using T_length_linear[of "x#y#numbers"] 3(3) by simp
+ have even_odd_simp: " T_\<^sub>e\<^sub>o b (x # y # numbers) = (2::nat)^l + 1" for b
+ by (metis "3.prems" T_eo_linear)+
+ have 02: "(length fntt2) = (length [0..<nn div 2])" unfolding fntt2_def
+ apply(subst FNTT_length[of _ "l-1"])
+ unfolding nums2_def
+ using length_nums2 nums2_def apply fastforce
+ by (simp add: evens_odds_length nn_def)
+ have 03: "(length fntt1) = (length [0..<nn div 2])" unfolding fntt1_def
+ apply(subst FNTT_length[of _ "l-1"])
+ unfolding nums1_def
+ using length_nums1 nums1_def apply fastforce
+ by (metis "02" FNTT_length fntt2_def length_nums1 length_nums2 nums1_def)
+ have map21_simp: "T\<^sub>m\<^sub>a\<^sub>p\<^sub>2 (\<lambda>x y. 1) fntt2 [0..<nn div 2] = (2::nat)^l + 1"
+ apply(subst T_map_2_linear'[of 1])
+ subgoal by simp subgoal by simp
+ by (smt (z3) "02" "3"(3) FNTT_length div_less evens_odds_length fntt2_def length_nums2 lessI less_numeral_extra(3) min.idem mult.commute nat_1_add_1 nums2_def plus_1_eq_Suc power_eq_if power_not_zero zero_power2)
+ have map22_simp: "T\<^sub>m\<^sub>a\<^sub>p\<^sub>2 (\<lambda>x y. 1) fntt1 (map2 (\<lambda>x y. x * \<omega> ^ (n div nn * y)) fntt2 [0..<nn div 2]) =
+ (2::nat)^l + 1"
+ apply(subst T_map_2_linear'[of 1])
+ subgoal by simp subgoal by simp apply simp
+ unfolding fntt1_def fntt2_def unfolding nn_def
+ apply(subst FNTT_length[of _ "l-1"], (rule length_nums1)?, (rule length_nums2)?,
+ (subst length_nums1)?, (subst length_nums2)?, (subst 3(3))?)+
+ apply (metis (no_types, lifting) "3"(3) div_less evens_odds_length length_nums2 lessI min_def mult_2 nat_1_add_1 nums2_def plus_1_eq_Suc power_eq_if power_not_zero zero_neq_numeral)
+ done
+ have sum1_simp: "length sum1 = 2^(l-1)"
+ unfolding sum1_def
+ apply(subst map2_length)+
+ apply(subst 02, subst 03)
+ unfolding nn_def using 3(3)
+ by (metis "02" FNTT_length fntt2_def length_nums2 min.idem nn_def)
+ have app_simp: "T\<^sub>a\<^sub>p\<^sub>p sum1 sum2 = (2::nat)^(l-1) + 1"
+ by(subst T_app_linear, subst sum1_simp, simp)
+ let ?T1 = "(2^(l-1) - 1) * 14 + (l-1) *15*2^(l-1 -1) + 2^(l-1)"
+
+ text \<open>Induction hypotheses\<close>
+
+ have IH_pluged1: "local.T\<^sub>F\<^sub>N\<^sub>T\<^sub>T nums1 = ?T1"
+ apply(subst "3.IH"(1)[of nn nums1 nums2 fntt1 fntt2 "l-1",
+ OF nn_def nums1_def nums2_def fntt1_def fntt2_def length_nums1])
+ apply(cases "l \<le> 1")
+ subgoal
+ apply(subst T_def(2)[of "l-1"])
+ subgoal by simp
+ apply(rule length_nums1)
+ apply simp
+ done
+ apply(subst T_def(1)[OF length_nums1])
+ subgoal by simp
+ subgoal by simp
+ done
+
+ have IH_pluged2: "local.T\<^sub>F\<^sub>N\<^sub>T\<^sub>T nums2 = ?T1"
+ apply(subst "3.IH"(2)[of nn nums1 _ fntt1 fntt2 "l-1", OF nn_def nums1_def nums2_def fntt1_def
+ fntt2_def length_nums2 ])
+ apply(cases "l \<le> 1")
+ subgoal
+ apply(subst T_def(2)[of "l-1"])
+ subgoal by simp
+ apply(rule length_nums2)
+ apply simp
+ done
+ apply(subst T_def(1)[OF length_nums2])
+ subgoal by simp
+ subgoal by simp
+ done
+
+ have " T\<^sub>F\<^sub>N\<^sub>T\<^sub>T (x # y # numbers) =
+ 14 + (3 * 2 ^ l + (local.T\<^sub>F\<^sub>N\<^sub>T\<^sub>T nums1 +
+ (local.T\<^sub>F\<^sub>N\<^sub>T\<^sub>T nums2 + (5 * 2^(l-1) + 4 * (2 ^ l div 2)))))"
+ apply(subst TFNNT_simp, subst map21_simp, subst map22_simp, subst length_simp,
+ subst app_simp, subst even_odd_simp, subst even_odd_simp)
+ apply(auto simp add: algebra_simps power_eq_if[of 2 l])
+ done
+
+ text \<open>Proof that the term $T\text{-}def$ indeed fulfills the recursive properties, i.e.
+ $t(2^l) = 2 \cdot t(2^{l-1}) + s$\<close>
+
+ also have "\<dots> = 14 + (3 * 2 ^ l + (?T1 + (?T1 + (5 * 2^(l-1) + 4 * (2 ^ l div 2)))))"
+ apply(subst IH_pluged1, subst IH_pluged2)
+ by simp
+ also have "\<dots> = 14 + (6 * 2 ^ (l-1) +
+ 2*((2 ^ (l - 1) - 1) * 14 + (l - 1) * 15 * 2 ^ (l - 1 - 1) + 2 ^ (l - 1)) +
+ (5 * 2 ^ (l - 1) + 4 * (2 ^ l div 2)))"
+ by (smt (verit) "3"(3) add.assoc div_less evens_odds_length left_add_twice length_nums2 lessI mult.assoc mult_2_right nat_1_add_1 numeral_Bit0 nums2_def plus_1_eq_Suc power_eq_if power_not_zero zero_neq_numeral)
+ also have "\<dots> = 14 + 15 * 2 ^ (l-1) +
+ 2*((2 ^ (l - 1) - 1) * 14 + (l - 1) * 15 * 2 ^ (l - 1 - 1) + 2 ^ (l - 1))"
+ by (smt (z3) "3"(3) add.assoc add.commute calculation diff_diff_left distrib_left div2_Suc_Suc evens_odds_length left_add_twice length_Cons length_nums2 mult.assoc mult.commute mult_2 mult_2_right numeral_Bit0 numeral_Bit1 numeral_plus_numeral nums2_def one_add_one)
+ also have "... = 14 + 15 * 2 ^ (l-1) +
+ (2 ^ l - 2) * 14 + (l - 1) * 15 * 2 ^ (l - 1) + 2 ^ l"
+ apply(cases "l > 1")
+ apply (smt (verit, del_insts) add.assoc diff_is_0_eq distrib_left_numeral left_diff_distrib' less_imp_le_nat mult.assoc mult_2 mult_2_right nat_1_add_1 not_le not_one_le_zero power_eq_if)
+ by (smt (z3) "3"(3) add.commute add.right_neutral cancel_comm_monoid_add_class.diff_cancel diff_add_inverse2 diff_is_0_eq div_less_dividend evens_odds_length length_nums2 mult_2 mult_eq_0_iff nat_1_add_1 not_le nums2_def power_eq_if)
+ also have "\<dots> = 15 * 2 ^ (l - 1) + (2 ^ l - 1) * 14 + (l - 1) * 15 * 2 ^ (l - 1) + 2 ^ l"
+ by (smt (z3) "3"(3) One_nat_def add.commute combine_common_factor diff_add_inverse2 diff_diff_left list.size(4) nat_1_add_1 nat_mult_1)
+ also have "\<dots> = (2^l - 1) * 14 + l *15*2^(l-1) + 2^l"
+ apply(cases "l > 0")
+ subgoal using group_cancel.add1 group_cancel.add2 less_numeral_extra(3) mult.assoc mult_eq_if by auto[1]
+ using "3"(3) by fastforce
+
+ text \<open>By the previous proposition, we can conclude that $T$ is indeed a suitable term for describing the running time\<close>
+
+ finally have "T\<^sub>F\<^sub>N\<^sub>T\<^sub>T (x # y # numbers) = T (x # y # numbers)"
+ using T_def(1)[of "x#y#numbers" l]
+ by (metis "3.prems" bits_1_div_2 diff_is_0_eq' evens_odds_length length_nums2 neq0_conv nums2_def power_0 zero_le_one zero_neq_one)
+ thus ?case by simp
+qed (auto simp add: assms)
+
+text \<open>We can finally state that $FNTT$ has $\mathcal{O}(n \log n)$ time complexity.\<close>
+
+theorem log_lin_time:
+ assumes "length numbers = 2^l"
+ shows "T\<^sub>F\<^sub>N\<^sub>T\<^sub>T numbers \<le> 30 * l * length numbers + 1"
+proof-
+ have 00: "T\<^sub>F\<^sub>N\<^sub>T\<^sub>T numbers = (2 ^ l - 1) * 14 + l * 15 * 2 ^ (l - 1) + 2 ^ l"
+ using tight_bound[of "\<lambda> xs. (length xs - 1) * 14 + (Discrete.log (length xs)) * 15 *
+ 2 ^ ( (Discrete.log (length xs)) - 1) + length xs" numbers l]
+ assms by simp
+ have " l * 15 * 2 ^ (l - 1) \<le> 15 * l * length numbers" using assms by simp
+ moreover have "(2 ^ l - 1) * 14 + 2^l\<le> 15 * length numbers "
+ using assms by linarith
+ moreover hence "(2 ^ l - 1) * 14 + 2^l \<le> 15 * l * length numbers +1" using assms
+ apply(cases l)
+ subgoal by simp
+ by (metis (no_types) add.commute le_add1 mult.assoc mult.commute
+ mult_le_mono nat_mult_1 plus_1_eq_Suc trans_le_add2)
+ ultimately have " (2 ^ l - 1) * 14 + l * 15 * 2 ^ (l - 1) + 2 ^ l \<le> 30 * l * length numbers +1"
+ by linarith
+ then show ?thesis using 00 by simp
+qed
+
+theorem log_lin_time_explicitly:
+ assumes "length numbers = 2^l"
+ shows "T\<^sub>F\<^sub>N\<^sub>T\<^sub>T numbers \<le> 30 * Discrete.log (length numbers) * length numbers + 1"
+ using log_lin_time[of numbers l] assms by simp
+
+end
+end
diff --git a/thys/Number_Theoretic_Transform/NTT.thy b/thys/Number_Theoretic_Transform/NTT.thy
new file mode 100644
--- /dev/null
+++ b/thys/Number_Theoretic_Transform/NTT.thy
@@ -0,0 +1,472 @@
+(*
+Title: Number Theoretic Transform
+Author: Thomas Ammer
+*)
+
+theory NTT
+ imports Preliminary_Lemmas
+begin
+
+section \<open>Number Theoretic Transform and Inverse Transform\<close>
+text \<open>\label{NTT}\<close>
+
+locale ntt = preliminary "TYPE ('a ::prime_card)" +
+fixes \<omega> :: "('a::prime_card mod_ring)"
+fixes \<mu> :: "('a mod_ring)"
+assumes omega_properties: "\<omega>^n = 1" "\<omega> \<noteq> 1" "(\<forall> m. \<omega>^m = 1 \<and> m\<noteq>0 \<longrightarrow> m \<ge> n)"
+assumes mu_properties: "\<mu> * \<omega> = 1"
+begin
+
+lemma mu_properties': "\<mu> \<noteq> 1"
+ using omega_properties mu_properties by auto
+
+subsection \<open>Definition of $NTT$ and $INTT$\<close>
+text \<open>\label{NTTdef}\<close>
+
+text \<open>
+Now we can state an analogue to the $DFT$ on finite fields,
+namely the \textit{Number Theoretic Transform}.
+First, let us look at an informal definition of $\mathsf{NTT}$~\parencite{ntt_intro}:
+\begin{equation*}
+\mathsf{NTT}(\vec{x}) =
+\begin{pmatrix}
+ 1 & 1 & 1 & 1 & \cdots& 1 \\
+ 1 & \omega & \omega^2 & \omega^3 & \cdots & \omega^{n-1} \\
+ 1 & \omega^2 & \omega^4 & \omega^6 & \cdots & \omega^{2\cdot(n-1)} \\
+ 1 & \omega^3 & \omega^6 & \omega^9 & \cdots & \omega^{3\cdot(n-1)} \\
+\vdots & \vdots & \vdots & \vdots & & \vdots \\
+ 1 & \omega^{n-1} & \omega^{2\cdot(n-1)} & \omega^{3\cdot(n-1)} & \cdots & \omega^{(n-1)\cdot(n-1)}
+\end{pmatrix} \cdot \vec{x}
+\end{equation*}
+
+Or for single vector entries:
+\begin{equation*}
+\mathsf{NTT}(\vec{x})_i = \sum _{j = 0} ^{n-1} x_j \cdot \omega ^{i\cdot j}
+\end{equation*}
+
+\<close>
+
+text \<open>Formally:\<close>
+
+definition ntt::"(('a ::prime_card) mod_ring) list \<Rightarrow> nat \<Rightarrow> 'a mod_ring" where
+"ntt numbers i = (\<Sum>j=0..<n. (numbers ! j) * \<omega>^(i*j)) "
+
+definition "NTT numbers = map (ntt numbers) [0..<n]"
+
+
+text \<open>\label{INTTdef}
+We define the inverse transform $\mathsf{INTT}$ by matrices:
+\begin{equation*}
+ \mathsf{INTT}(\vec{y}) =
+\begin{pmatrix}
+ 1 & 1 & 1 & 1 & \cdots& 1 \\
+ 1 & \mu & \mu^2 & \mu^3 & \cdots & \mu^{n-1} \\
+ 1 & \mu^2 & \mu^4 & \mu^6 & \cdots & \mu^{2\cdot(n-1)} \\
+ 1 & \mu^3 & \mu^6 & \mu^9 & \cdots & \mu^{3\cdot(n-1)} \\
+\vdots & \vdots & \vdots & \vdots & & \vdots \\
+ 1 & \mu^{n-1} & \mu^{2\cdot(n-1)} & \mu^{3\cdot(n-1)} & \cdots & \mu^{(n-1)\cdot(n-1)}
+\end{pmatrix} \cdot \vec{y}
+\end{equation*}
+Per component:
+\begin{equation*}
+%
+\mathsf{INTT}(\vec{y})_i = \sum _{j = 0} ^{n-1} y_j \cdot \mu ^{i\cdot j}
+%
+\end{equation*}
+
+\<close>
+
+definition "intt xs i = (\<Sum>j=0..<n. (xs ! j) * \<mu>^(i*j)) "
+
+definition "INTT xs = map (intt xs) [0..<n]"
+
+text \<open>Vector length is preserved.\<close>
+
+lemma length_NTT:
+ assumes n_def: "length numbers = n"
+ shows "length (NTT numbers) = n"
+ unfolding NTT_def ntt_def using n_def length_map[of _ "[0..<n]"]
+ by simp
+
+lemma length_INTT:
+ assumes n_def: "length numbers = n"
+ shows "length (INTT numbers) = n"
+ unfolding INTT_def intt_def using n_def length_map[of _ "[0..<n]"]
+ by simp
+
+subsection \<open>Correctness Proof of $NTT$ and $INTT$\<close>
+text \<open>\label{NTTcorr}\<close>
+text \<open>
+We prove $\mathsf{NTT}$ and $\mathsf{INTT}$ correct:
+By taking $\mathsf{INTT}(\mathsf{NTT} (x))$ we obtain $x$ scaled by $n$.
+Analogue to $DFT$, one can get rid of the factor $n$ by a simple rescaling.
+First, consider an informal proof sketch using the matrix form:
+\begin{equation*}
+\begin{split}
+\mathsf{INTT}(\mathsf{NTT}(\vec{x})) = \hspace{11cm}\\
+%
+\begin{pmatrix}
+ 1 & 1 & 1 & \cdots& 1 \\
+ 1 & \mu & \mu^2 & \cdots & \mu^{n-1} \\
+ 1 & \mu^2 & \mu^4 & \cdots & \mu^{2\cdot(n-1)} \\
+\vdots & \vdots & \vdots & & \vdots \\
+ 1 & \mu^{n-1} & \mu^{2\cdot(n-1)}& \cdots & \mu^{(n-1)\cdot(n-1)}
+\end{pmatrix}
+%
+\cdot
+%
+\begin{pmatrix}
+ 1 & 1 & 1 & \cdots& 1 \\
+ 1 & \omega & \omega^2 & \cdots & \omega^{n-1} \\
+ 1 & \omega^2 & \omega^4 & \cdots & \omega^{2\cdot(n-1)} \\
+\vdots & \vdots & \vdots & & \vdots \\
+ 1 & \omega^{n-1} & \omega^{2\cdot(n-1)} & \cdots & \omega^{(n-1)\cdot(n-1)}
+\end{pmatrix}
+\cdot
+%
+\vec{x}
+%
+\end{split}
+\end{equation*}
+
+A resulting entry is of the following form:
+
+\begin{equation*}
+%
+\mathsf{INTT}(\mathsf{NTT}(x))_i = \sum _ {j = 0} ^{n-1} (\sum _{k = 0} ^{n-1} \mu^{i\cdot k} \cdot \omega^{j\cdot k}) \cdot x_j
+%
+\end{equation*}
+
+Now, we analyze the interior sum by cases on $i = j$.
+
+\paragraph \noindent Case $i = j$.
+\begin{align*}
+\sum _{k = 0} ^{n-1} \mu^{i\cdot k} \cdot \omega^{j\cdot k}
+&= \sum _{k = 0} ^{n-1} (\mu \cdot \omega)^{i \cdot k} \\
+&= n \cdot (\mu \cdot \omega)^{i \cdot k} \\
+&= n \cdot 1 ^{i \cdot k} \\ &= n
+\end{align*}
+Note that $\omega$ and $\mu$ are mutually inverse.
+\paragraph \noindent Case $i \neq j$. Wlog assume $i > j$, otherwise replace $\omega$ by $\mu$ and $i -j$ by $j - i$ respectively.
+\begin{align*}
+\sum _{k = 0} ^{n-1} \mu^{i\cdot k} \cdot \omega^{j\cdot k}
+&= \sum _{k = 0} ^{n-1} (\mu \cdot \omega)^{j \cdot k} \cdot \omega^{(i-j) \cdot k} \\
+&= \sum _{k = 0} ^{n-1} \omega^{(i-j) \cdot k} \\
+&= (1 - \omega ^{(i-j)\cdot n}) \cdot (1 - \omega^{i-j})^{-1} && \text{by lemma on geometric sum}\\
+&= (1 - 1^n) \cdot (1 - \omega^{i-j})^{-1} \\
+&= 0
+\end{align*}
+
+We conclude that $\sum \limits _ {j = 0} ^{n-1} (\sum \limits _{k = 0} ^{n-1} \mu^{i\cdot k} \cdot \omega^{j\cdot k}) \cdot x_j = n \cdot x_i$.
+
+\<close>
+
+theorem ntt_correct:
+ assumes n_def: "length numbers = n"
+ shows "INTT (NTT numbers) = map (\<lambda> x. (of_int_mod_ring n) * x ) numbers"
+proof-
+ have 0:"\<And> i. i < n \<Longrightarrow> (INTT (NTT numbers)) ! i = intt (NTT numbers) i " using n_def length_NTT
+ unfolding INTT_def NTT_def intt_def by simp
+
+ text \<open>Major sublemma.\<close>
+
+ have 1:"\<And> i. i < n \<Longrightarrow>intt (NTT numbers) i = (of_int_mod_ring n)*numbers ! i"
+ proof-
+ fix i
+ assume i_assms:"i < n"
+
+ text \<open>First, simplify by some chains of equations.\<close>
+
+ hence 1:"intt (NTT numbers) i =
+ (\<Sum>l = 0..<n.
+ (\<Sum>j = 0..<n. numbers ! j * \<omega> ^ (l * j)) * \<mu> ^ (i * l))"
+ unfolding NTT_def intt_def ntt_def using n_def length_map nth_map by simp
+ also have 2:"\<dots> =
+ (\<Sum>l = 0..<n.
+ (\<Sum>j = 0..<n. (numbers ! j * \<omega> ^ (l * j)) * \<mu> ^ (i * l)))"
+ using sum_in by (simp add: sum_distrib_right)
+ also have 3:"\<dots> =
+ (\<Sum>j = 0..<n.
+ (\<Sum>l = 0..<n. (numbers ! j * \<omega> ^ (l * j) * \<mu> ^ (i * l))))" using sum_swap by fast
+
+ text \<open>As in the informal proof, we consider three cases. First $j = i$.\<close>
+
+ have iisj:"\<And> j. j = i \<Longrightarrow> (\<Sum>l = 0..<n. (numbers ! j * \<omega> ^ (l * j) * \<mu> ^ (i * l))) = (numbers ! j)* (of_int_mod_ring n)"
+ proof-
+ fix j
+ assume "j=i"
+ hence "\<And> l. l < n \<Longrightarrow> (numbers ! j * \<omega> ^ (l * j) * \<mu> ^ (i * l))= (numbers ! j)"
+ by (simp add: left_right_inverse_power mult.commute mu_properties(1))
+ moreover have "\<And> l. l < n \<Longrightarrow> numbers ! j * \<omega> ^ (l * j) * \<mu> ^ (i * l) = numbers ! j"
+ using calculation by blast
+
+ text \<open>$\omega^{il}\cdot \omega^{jl} = 1$. Thus, we sum over $1$ $n$ times, which gives the goal.\<close>
+
+ ultimately show "(\<Sum>l = 0..<n. (numbers ! j * \<omega> ^ (l * j) * \<mu> ^ (i * l))) =
+ (numbers ! j)* (of_int_mod_ring n)"
+ using n_def sum_const[of "numbers ! j" n] exp_rule[of \<omega> \<mu>] mu_properties(1)
+ by (metis (no_types, lifting) atLeastLessThan_iff mult.commute sum.cong)
+
+ qed
+
+ text \<open>Case $j < i$.\<close>
+
+ have jlsi:"\<And> j. j < i \<Longrightarrow> (\<Sum>l = 0..<n. (numbers ! j * \<omega> ^ (l * j) * \<mu> ^ (i * l))) = 0"
+ proof-
+ fix j
+ assume j_assms:"j < i"
+ hence 00:"\<And> (c::('a::prime_card) mod_ring) a b. c * a^j*b^i = (a*b)^j*(c * b^(i-j))"
+ using algebra_simps
+ by (smt (z3) le_less ordered_cancel_comm_monoid_diff_class.add_diff_inverse power_add)
+
+ text \<open>A geometric sum over $\mu^l$ remains.\<close>
+
+ have 01:" (\<Sum>l = 0..<n. (numbers ! j * \<omega> ^ (l * j) * \<mu> ^ (i * l))) =
+ (\<Sum>l = 0..<n. (numbers ! j * (\<mu>^l)^(i-j)))"
+ apply(rule sum_eq)
+ using mu_properties(1) 00 algebra_simps(23)
+ by (smt (z3) mult.commute mult.left_neutral power_mult power_one)
+ have 02:"\<dots> = numbers ! j *(\<Sum>l = 0..<n. ((\<mu>^l)^(i-j))) "
+ using sum_in[of "\<lambda> l. numbers ! j * (\<mu> ^ l) ^ (i - j)" " numbers ! j" n]
+ by (simp add: mult_hom.hom_sum)
+ moreover have 03:"(\<Sum>l = 0..<n. ((\<mu>^l)^(i-j))) =
+ (\<Sum>l = 0..<n. ((\<mu>^(i-j))^l)) "
+ by(rule sum_eq) (metis mult.commute power_mult)
+ have "\<mu>^(i-j) \<noteq> 1"
+ proof
+ assume "\<mu> ^ (i - j) = 1"
+ hence "ord p (to_int_mod_ring \<mu>) \<le> i-j"
+ by (simp add: j_assms not_le ord_max)
+ moreover hence "ord p (to_int_mod_ring \<omega>) \<le> i-j"
+ by (metis \<open>\<mu> ^ (i - j) = 1\<close> diff_is_0_eq exp_rule j_assms leD mult.comm_neutral mult.commute mu_properties(1) ord_max)
+ moreover hence "i-j < n"
+ using j_assms i_assms p_fact k_bound n_lst2 by linarith
+ moreover have "ord p (to_int_mod_ring \<omega>) = n" using omega_properties n_lst2 unfolding ord_def
+ by (metis (no_types) \<open>\<mu> ^ (i - j) = 1\<close> calculation(3) diff_is_0_eq j_assms leD left_right_inverse_power mult.comm_neutral mult_cancel_left mu_properties(1) omega_properties(3) zero_neq_one)
+ ultimately show False by simp
+ qed
+
+ text \<open>Application of the lemma for geometric sums.\<close>
+
+ ultimately have "(1-\<mu>^(i-j))*(\<Sum>l = 0..<n. ((\<mu>^(i-j))^l)) = (1-(\<mu>^(i-j))^n)"
+ using geo_sum[of "\<mu> ^ (i - j)" n] by simp
+ moreover have "(\<mu>^(i-j))^n = 1"
+ by (metis (no_types) left_right_inverse_power mult.commute mult.right_neutral mu_properties(1) omega_properties(1) power_mult power_one)
+
+ text \<open>The sum for the current index is 0.\<close>
+
+ ultimately have "(\<Sum>l = 0..<n. ((\<mu>^(i-j))^l)) = 0"
+ by (metis \<open>\<mu> ^ (i - j) \<noteq> 1\<close> divisors_zero eq_iff_diff_eq_0)
+ thus "(\<Sum>l = 0..<n. numbers ! j * \<omega> ^ (l * j) * \<mu> ^ (i * l)) = 0" using 01 02 03 by simp
+ qed
+
+ text \<open>Case $i < j$.
+ We also rewrite the whole summation until the lemma for geometric sums is applicable.
+ From this, we conclude that the term is 0.\<close>
+
+ have ilsj:"\<And> j. i < j \<and> j < n \<Longrightarrow> (\<Sum>l = 0..<n. (numbers ! j * \<omega> ^ (l * j) * \<mu> ^ (i * l))) = 0"
+ proof-
+ fix j
+ assume ij_Assm: "i < j \<and> j < n"
+ hence 00:"\<And> (c::('a::prime_card) mod_ring) a b. (a*b)^i*(c * b^(j-i)) = c * a^i*b^j "
+ by (auto simp: field_simps simp flip: power_add)
+ have 01:" (\<Sum>l = 0..<n. (numbers ! j * \<omega> ^ (l * j) * \<mu> ^ (i * l))) =
+ (\<Sum>l = 0..<n. (numbers ! j * (\<omega>^l)^(j-i))) "
+ apply(rule sum_eq) subgoal for l
+ using mu_properties(1) 00[of "\<omega>^l" "\<mu>^l" "numbers ! j "] algebra_simps(23)
+ by (smt (z3) "00" left_right_inverse_power mult.assoc mult.commute mult.right_neutral power_mult)
+ done
+ moreover have 02:"(\<Sum>l = 0..<n. (numbers ! j * (\<omega>^l)^(j-i))) =
+ numbers ! j *(\<Sum>l = 0..<n. ( (\<omega>^l)^(j-i))) "
+ by (simp add: mult_hom.hom_sum)
+ moreover have 03:"(\<Sum>l = 0..<n. ( (\<omega>^l)^(j-i))) =
+ (\<Sum>l = 0..<n. (( (\<omega>^(j-i))^l))) "
+ by(rule sum_eq) (metis mult.commute power_mult)
+ have "\<omega>^(j-i) \<noteq> 1"
+ proof
+ assume " \<omega> ^ (j - i) = 1"
+ hence "ord p (to_int_mod_ring \<omega>) \<le> j-i" using ord_max[of "j-i" \<omega>] ij_Assm by simp
+ moreover have "ord p (to_int_mod_ring \<omega>) =p-1"
+ by (meson \<open>\<omega> ^ (j - i) = 1\<close> diff_is_0_eq diff_le_self ij_Assm leD le_trans omega_properties(3))
+ ultimately show False
+ by (meson \<open>\<omega> ^ (j - i) = 1\<close> diff_is_0_eq diff_le_self ij_Assm leD le_trans omega_properties(3))
+ qed
+
+ text \<open>Geometric sum.\<close>
+
+ ultimately have "(1-\<omega>^(j-i))* (\<Sum>l = 0..<n. ((\<omega>^(j-i))^l)) = (1-(\<omega>^(j-i))^n)"
+ using geo_sum[of "\<omega> ^ (j-i)" n] by simp
+ moreover have "(\<omega>^(j-i))^n = 1"
+ by (metis (no_types) mult.commute omega_properties(1) power_mult power_one)
+ ultimately have "(\<Sum>l = 0..<n. ((\<omega>^(j-i))^l)) = 0"
+ by (metis \<open>\<omega> ^ (j - i) \<noteq> 1\<close> eq_iff_diff_eq_0 no_zero_divisors)
+ thus "(\<Sum>l = 0..<n. numbers ! j * \<omega> ^ (l * j) * \<mu> ^ (i * l)) = 0" using 01 02 03 by simp
+ qed
+
+ text \<open>We compose the cases $j <i$, $j = i$ and $j > i$ to a complete summation over index $j$.\<close>
+
+ have " (\<Sum>j = 0..<i. \<Sum>l = 0..<n. numbers ! j * \<omega> ^ (l * j) * \<mu> ^ (i * l)) = 0" using jlsi by simp
+ moreover have " (\<Sum>j = i..<i+1. \<Sum>l = 0..<n. numbers ! j * \<omega> ^ (l * j) * \<mu> ^ (i * l)) = numbers ! i * (of_int_mod_ring n)" using iisj by simp
+ moreover have " (\<Sum>j = (i+1)..<n. \<Sum>l = 0..<n. numbers ! j * \<omega> ^ (l * j) * \<mu> ^ (i * l)) = 0" using ilsj by simp
+ ultimately have " (\<Sum>j = 0..<n. \<Sum>l = 0..<n. numbers ! j * \<omega> ^ (l * j) * \<mu> ^ (i * l)) =
+ numbers ! i * (of_int_mod_ring n)" using i_assms sum_split
+ by (smt (z3) add.commute add.left_neutral int_ops(2) less_imp_of_nat_less of_nat_add of_nat_eq_iff of_nat_less_imp_less)
+
+ text \<open>Index-wise equality can be shown.\<close>
+
+ thus "intt (NTT numbers) i = of_int_mod_ring (int n) * numbers ! i" using 1 2 3
+ by (metis mult.commute)
+ qed
+ have 2: "\<And> i. i < n \<Longrightarrow> (map ((*) (of_int_mod_ring (int n))) numbers ) ! i = (of_int_mod_ring (int n)) * (numbers ! i)"
+ by (simp add: n_def)
+
+ text \<open>We relate index-wise equality to the function definition.\<close>
+
+ show ?thesis
+ apply(rule nth_equalityI)
+ subgoal my_subgoal
+ unfolding INTT_def NTT_def
+ apply (simp add: n_def)
+ done
+ subgoal for i
+ using 0 1 2 n_def algebra_simps my_subgoal length_map
+ apply auto
+ done
+ done
+qed
+
+text \<open>Now we prove the converse to be true:
+$\mathsf{NTT}(\mathsf{INTT}(\vec{x})) = n \cdot \vec{x}$.
+The proof proceeds analogously with exchanged roles of $\omega$ and $\mu$.
+\<close>
+
+theorem inv_ntt_correct:
+ assumes n_def: "length numbers = n"
+ shows "NTT (INTT numbers) = map (\<lambda> x. (of_int_mod_ring n) * x ) numbers"
+proof-
+ have 0:"\<And> i. i < n \<Longrightarrow> (NTT (INTT numbers)) ! i = ntt (INTT numbers) i " using n_def length_NTT
+ unfolding INTT_def NTT_def intt_def by simp
+ have 1:"\<And> i. i < n \<Longrightarrow>ntt (INTT numbers) i = (of_int_mod_ring n)*numbers ! i"
+ proof-
+ fix i
+ assume i_assms:"i < n"
+ hence 1:"ntt (INTT numbers) i =
+ (\<Sum>l = 0..<n.
+ (\<Sum>j = 0..<n. numbers ! j * \<mu> ^ (l * j)) * \<omega> ^ (i * l))"
+ unfolding INTT_def ntt_def intt_def using n_def length_map nth_map by simp
+ hence 2:"\<dots> = (\<Sum>l = 0..<n.
+ (\<Sum>j = 0..<n. (numbers ! j * \<mu> ^ (l * j)) * \<omega> ^ (i * l)))" using sum_in by simp
+ have 3:" \<dots> =(\<Sum>j = 0..<n.
+ (\<Sum>l = 0..<n. (numbers ! j * \<mu> ^ (l * j) * \<omega> ^ (i * l))))" using sum_swap by fast
+ have iisj:"\<And> j. j = i \<Longrightarrow> (\<Sum>l = 0..<n. (numbers ! j * \<mu> ^ (l * j) * \<omega> ^ (i * l))) = (numbers ! j)* (of_int_mod_ring n)"
+ proof-
+ fix j
+ assume "j=i"
+ hence "\<And> l. l < n \<Longrightarrow> (numbers ! j * \<mu> ^ (l * j) * \<omega> ^ (i * l))= (numbers ! j)"
+ by (simp add: left_right_inverse_power mult.commute mu_properties(1))
+ moreover have "\<And> l. l < n \<Longrightarrow> numbers ! j * \<mu> ^ (l * j) * \<omega> ^ (i * l) = numbers ! j"
+ using calculation by blast
+ ultimately show "(\<Sum>l = 0..<n. (numbers ! j * \<mu> ^ (l * j) * \<omega> ^ (i * l))) = (numbers ! j)* (of_int_mod_ring n)"
+ using n_def sum_const[of "numbers ! j" n] exp_rule[of \<omega> \<mu>] mu_properties(1)
+ by (metis (no_types, lifting) atLeastLessThan_iff mult.commute sum.cong)
+ qed
+ have jlsi:"\<And> j. j < i \<Longrightarrow> (\<Sum>l = 0..<n. (numbers ! j * \<mu> ^ (l * j) * \<omega> ^ (i * l))) = 0"
+ proof-
+ fix j
+ assume j_assms:"j < i"
+ hence 00:"\<And> (c::('a::prime_card) mod_ring) a b. c * a^j*b^i = (a*b)^j*(c * b^(i-j))"
+ using algebra_simps
+ by (smt (z3) le_less ordered_cancel_comm_monoid_diff_class.add_diff_inverse power_add)
+ have 01:" (\<Sum>l = 0..<n. (numbers ! j * \<mu> ^ (l * j) * \<omega> ^ (i * l))) =
+ (\<Sum>l = 0..<n. (numbers ! j * (\<omega>^l)^(i-j))) "
+ apply(rule sum_eq)
+ using mu_properties(1) 00 algebra_simps(23)
+ by (smt (z3) mult.commute mult.left_neutral power_mult power_one)
+ moreover have 02: "\<dots>= numbers ! j *(\<Sum>l = 0..<n. ((\<omega>^l)^(i-j))) "
+ using sum_in[of "\<lambda> l. numbers ! j * (\<mu> ^ l) ^ (i - j)" " numbers ! j" n]
+ by (simp add: mult_hom.hom_sum)
+ moreover have 03:"(\<Sum>l = 0..<n. ((\<omega>^l)^(i-j))) =
+ (\<Sum>l = 0..<n. ((\<omega>^(i-j))^l)) "
+ by(rule sum_eq) (metis mult.commute power_mult)
+ have "\<omega>^(i-j) \<noteq> 1"
+ proof
+ assume "\<omega> ^ (i - j) = 1"
+ hence "ord p (to_int_mod_ring \<omega>) \<le> i-j"
+ by (simp add: j_assms not_le ord_max)
+ moreover have "ord p (to_int_mod_ring \<omega>) = n" using omega_properties n_lst2 unfolding ord_def
+ by (meson \<open>\<omega> ^ (i - j) = 1\<close> diff_is_0_eq diff_le_self i_assms j_assms leD le_trans)
+ ultimately show False
+ by (metis i_assms leD less_imp_diff_less)
+ qed
+ ultimately have "(1-\<omega>^(i-j))*(\<Sum>l = 0..<n. ((\<omega>^(i-j))^l)) = (1-(\<omega>^(i-j))^n)"
+ using geo_sum[of "\<omega> ^ (i - j)" n] by simp
+ moreover have "(\<omega>^(i-j))^n = 1"
+ by (metis (no_types) mult.commute omega_properties(1) power_mult power_one)
+ ultimately have "(\<Sum>l = 0..<n. ((\<omega>^(i-j))^l)) = 0"
+ by (metis \<open>\<omega> ^ (i - j) \<noteq> 1\<close> divisors_zero eq_iff_diff_eq_0)
+ thus "(\<Sum>l = 0..<n. numbers ! j * \<mu> ^ (l * j) * \<omega> ^ (i * l)) = 0" using 01 02 03 by simp
+ qed
+ have ilsj:"\<And> j. i < j \<and> j < n \<Longrightarrow> (\<Sum>l = 0..<n. (numbers ! j * \<mu> ^ (l * j) * \<omega> ^ (i * l))) = 0"
+ proof-
+ fix j
+ assume ij_Assm: "i < j \<and> j < n"
+ hence 00:"\<And> (c::('a::prime_card) mod_ring) a b. (a*b)^i*(c * b^(j-i)) = c * a^i*b^j "
+ by (simp add: field_simps flip: power_add)
+ have 01:" (\<Sum>l = 0..<n. (numbers ! j * \<mu> ^ (l * j) * \<omega> ^ (i * l))) =
+ (\<Sum>l = 0..<n. (numbers ! j * (\<mu>^l)^(j-i))) "
+ apply(rule sum_eq) subgoal for l
+ using mu_properties(1) 00[of "\<omega>^l" "\<mu>^l" "numbers ! j "] algebra_simps(23)
+ by (smt (z3) "00" left_right_inverse_power mult.assoc mult.commute mult.right_neutral power_mult)
+ done
+ moreover have 02:"(\<Sum>l = 0..<n. (numbers ! j * (\<mu>^l)^(j-i))) =
+ numbers ! j *(\<Sum>l = 0..<n. ( (\<mu>^l)^(j-i))) "
+ by (simp add: mult_hom.hom_sum)
+ moreover have 03:"(\<Sum>l = 0..<n. ( (\<mu>^l)^(j-i))) =
+ (\<Sum>l = 0..<n. (( (\<mu>^(j-i))^l))) "
+ by(rule sum_eq) (metis mult.commute power_mult)
+ have "\<mu>^(j-i) \<noteq> 1"
+ proof
+ assume "\<mu> ^ (j - i) = 1"
+ hence "ord p (to_int_mod_ring \<mu>) \<le> j -i "
+ by (simp add: ij_Assm not_le ord_max)
+ moreover hence "ord p (to_int_mod_ring \<omega>) \<le> j-i"
+ by (metis \<open>\<mu> ^ (j - i) = 1\<close> diff_is_0_eq exp_rule ij_Assm leD mult.comm_neutral mult.commute mu_properties(1) ord_max)
+ moreover hence "j-i < n" using ij_Assm i_assms p_fact k_bound n_lst2 by linarith
+ moreover have "ord p (to_int_mod_ring \<omega>) = n" using omega_properties n_lst2 unfolding ord_def
+ by (metis (no_types) \<open>\<mu> ^ (j-i) = 1\<close> calculation(3) diff_is_0_eq ij_Assm leD left_right_inverse_power mult.comm_neutral mult_cancel_left mu_properties(1) omega_properties(3) zero_neq_one)
+ ultimately show False by simp
+ qed
+ ultimately have "(1-\<mu>^(j-i))* (\<Sum>l = 0..<n. ((\<mu>^(j-i))^l)) = (1-(\<mu>^(j-i))^n)"
+ using geo_sum[of "\<mu> ^ (j-i)" n] by simp
+ moreover have "(\<mu>^(j-i))^n = 1"
+ by (metis (no_types) left_right_inverse_power mult.commute mult.right_neutral mu_properties(1) omega_properties(1) power_mult power_one)
+ ultimately have "(\<Sum>l = 0..<n. ((\<mu>^(j-i))^l)) = 0"
+ by (metis \<open>\<mu> ^ (j - i) \<noteq> 1\<close> eq_iff_diff_eq_0 no_zero_divisors)
+ thus "(\<Sum>l = 0..<n. numbers ! j * \<mu> ^ (l * j) * \<omega> ^ (i * l)) = 0" using 01 02 03 by simp
+ qed
+ have " (\<Sum>j = 0..<i. \<Sum>l = 0..<n. numbers ! j * \<mu> ^ (l * j) * \<omega> ^ (i * l)) = 0" using jlsi by simp
+ moreover have " (\<Sum>j = i..<i+1. \<Sum>l = 0..<n. numbers ! j * \<mu> ^ (l * j) * \<omega> ^ (i * l)) = numbers ! i * (of_int_mod_ring n)" using iisj by simp
+ moreover have " (\<Sum>j = (i+1)..<n. \<Sum>l = 0..<n. numbers ! j * \<mu> ^ (l * j) * \<omega> ^ (i * l)) = 0" using ilsj by simp
+ ultimately have " (\<Sum>j = 0..<n. \<Sum>l = 0..<n. numbers ! j * \<mu> ^ (l * j) * \<omega> ^ (i * l)) =
+ numbers ! i * (of_int_mod_ring n)" using i_assms sum_split
+ by (smt (z3) add.commute add.left_neutral int_ops(2) less_imp_of_nat_less of_nat_add of_nat_eq_iff of_nat_less_imp_less)
+ thus "ntt (INTT numbers) i = of_int_mod_ring (int n) * numbers ! i" using 1 2 3
+ by (metis mult.commute)
+ qed
+ have 2: "\<And> i. i < n \<Longrightarrow> (map ((*) (of_int_mod_ring (int n))) numbers ) ! i = (of_int_mod_ring (int n)) * (numbers ! i)"
+ by (simp add: n_def)
+ show ?thesis
+ apply(rule nth_equalityI)
+ subgoal my_little_subgoal
+ unfolding INTT_def NTT_def
+ apply (simp add: n_def)
+ done
+ subgoal for i
+ using 0 1 2 n_def algebra_simps my_little_subgoal length_map
+ apply auto
+ done
+ done
+qed
+
+end
+end
diff --git a/thys/Number_Theoretic_Transform/Preliminary_Lemmas.thy b/thys/Number_Theoretic_Transform/Preliminary_Lemmas.thy
new file mode 100644
--- /dev/null
+++ b/thys/Number_Theoretic_Transform/Preliminary_Lemmas.thy
@@ -0,0 +1,453 @@
+(*
+Title: Preliminary Lemmas for Number Theoretic Transform
+Author: Thomas Ammer
+*)
+
+theory Preliminary_Lemmas
+ imports Berlekamp_Zassenhaus.Finite_Field
+ "HOL-Number_Theory.Number_Theory"
+begin
+
+section \<open>Preliminary Lemmas\<close>
+
+subsection \<open>A little bit of Modular Arithmetic\<close>
+
+text \<open>An obvious lemma. Just for simplification.\<close>
+
+lemma two_powrs_div:
+ assumes "j < (i::nat) "
+ shows "((2^i) div ((2::nat)^(Suc j)))*2 = ((2^i) div (2^j))"
+proof-
+ have "((2::nat)^i) div (2^(Suc j)) = 2^(i -1) div(2^ j)" using assms
+ by (smt (z3) One_nat_def add_le_cancel_left diff_Suc_Suc div_by_Suc_0 div_if less_nat_zero_code plus_1_eq_Suc power_diff_power_eq zero_neq_numeral)
+ thus ?thesis
+ by (metis Suc_diff_Suc Suc_leI assms less_imp_le_nat mult.commute power_Suc power_diff_power_eq zero_neq_numeral)
+qed
+
+lemma two_powr_div:
+ assumes "j < (i::nat) "
+ shows "((2^i) div ((2::nat)^j)) = 2^(i-j)"
+ by (simp add: assms less_or_eq_imp_le power_diff)
+
+
+text \<open>
+ The order of an element is the same whether we consider it as an integer or as a natural number.
+\<close>
+(* TODO: Move *)
+lemma ord_int: "ord (int p) (int x) = ord p x"
+proof (cases "coprime p x")
+ case False
+ thus ?thesis
+ by (auto simp: ord_def)
+next
+ case True
+ have "(LEAST d. 0 < d \<and> [int x ^ d = 1] (mod int p)) = ord p x"
+ proof (intro Least_equality conjI)
+ show "[int x ^ ord p x = 1] (mod int p)"
+ using True by (metis cong_int_iff of_nat_1 of_nat_power ord_works)
+ show "ord p x \<le> y" if "0 < y \<and> [int x ^ y = 1] (mod int p)" for y
+ using that by (metis cong_int_iff int_ops(2) linorder_not_less of_nat_power ord_minimal)
+ qed (use True in auto)
+ thus ?thesis
+ by (auto simp: ord_def)
+qed
+
+lemma not_residue_primroot_1:
+ assumes "n > 2"
+ shows "\<not>residue_primroot n 1"
+ using assms totient_gt_1[of n] by (auto simp: residue_primroot_def)
+
+lemma residue_primroot_not_cong_1:
+ assumes "residue_primroot n g" "n > 2"
+ shows "[g \<noteq> 1] (mod n)"
+ using residue_primroot_cong not_residue_primroot_1 assms by metis
+
+
+text \<open>
+We want to show the existence of a generating element of $\mathbb{Z}_p$ where $p$ is prime.
+\label{primroot1} \<close>
+
+text \<open>Non-trivial order of an element $g$ modulo $p$ in a ring implies $g\neq1$.
+Although this lemma applies to all rings, it's only intended to be used in connection with $nat$s or $int$s
+\<close>
+
+lemma prime_not_2_order_not_1:
+ assumes "prime p"
+ "p > 2 "
+ "ord p g > 2"
+ shows "g \<noteq> 1"
+proof
+ assume "g = 1"
+ hence "ord p g = 1" unfolding ord_def
+ by (simp add: Least_equality)
+ then show False using assms by auto
+qed
+
+text \<open>The same for modular arithmetic.\<close>
+
+lemma prime_not_2_order_not_1_mod:
+ assumes "prime p "
+ "p > 2 "
+ "ord p g > 2"
+ shows "[g \<noteq> 1] (mod p)"
+proof
+ assume "[g = 1] (mod p)"
+ hence "ord p g = 1" unfolding ord_def
+ by(split if_split, metis assms(1) assms(2) assms(3) ord_cong prime_not_2_order_not_1)
+ then show False using assms by auto
+qed
+
+text \<open>
+Now we formulate our lemma about generating elements in residue classes:
+There is an element $g \in \mathbb{Z}_p$ such that for any $x \in \mathbb{Z}_p$
+there is a natural $i$ such that $g^i \equiv x \; (\mod p)$.\<close>
+
+lemma generator_exists:
+ assumes "prime (p::nat)" "p > 2"
+ shows "\<exists> g. [g \<noteq> 1] (mod p) \<and> (\<forall> x. (0<x \<and> x < p )\<longrightarrow> (\<exists> i. [g^i = x] (mod p)))"
+proof-
+ obtain g where g_prim_root:"residue_primroot p g"
+ using assms prime_gt_1_nat prime_primitive_root_exists
+ by (metis One_nat_def)
+ have g_not_1: "[g \<noteq> 1] (mod p)"
+ using residue_primroot_not_cong_1 assms g_prim_root by blast
+
+ have "\<exists>i. [g ^ i = x] (mod p)" if x_bounds: "x > 0" "x < p" for x
+ proof -
+ have 1:"coprime p x"
+ using assms prime_nat_iff'' x_bounds by blast
+ have 2:"ord p g = p-1"
+ by (metis assms(1) g_prim_root residue_primroot_def totient_prime)
+ hence bij: "bij_betw (\<lambda>i. g ^ i mod p) {..<totient p} (totatives p)"
+ using residue_primroot_is_generator[of p g] totatives_def[of p]
+ 1 totient_def[of p] assms g_prim_root prime_gt_1_nat by blast
+ have 3:"x mod p \<in> totatives p"
+ by (simp add: "1" coprime_commute in_totatives_iff order_le_less x_bounds)
+ have " {..<totient p} \<noteq> {}"
+ by (metis assms(1) lessThan_empty_iff prime_nat_iff'' totient_0_iff)
+ then obtain i where "g^i mod p = x mod p"
+ using bij_betw_inv[of "(\<lambda>i. g ^ i mod p)" "{..<totient p}" "(totatives p)"]
+ 3 bij
+ by (metis (no_types, lifting) bij_betw_iff_bijections)
+ then show ?thesis
+ using cong_def by blast
+ qed
+ thus ?thesis
+ using g_prim_root g_not_1 by auto
+qed
+
+subsection \<open>General Lemmas in a Finite Field\<close>
+
+text \<open>
+\label{primroot2}
+We make certain assumptions:
+From now on, we will calculate in a finite field which is the ring of integers modulo a prime $p$.
+Let $n$ be the length of vectors to be transformed.
+By Dirichlet's theorem on arithmetic progressions we can
+ assume that there is a natural number $k$ and a prime $p$ with $p = k\cdot n + 1$.
+In order to avoid some special cases and even contradictions,
+we additionally assume that $p \geq 3$ and $n \geq 2$.
+\<close>
+
+text \<open>\label{prelim}\<close>
+locale preliminary =
+ fixes
+ a_type::"('a::prime_card) itself"
+ and p::nat
+ and n::nat
+ and k::nat
+ assumes
+ p_def: "p= CARD('a)" and p_lst3: "p > 2" and p_fact: "p = k*n +1"
+ and n_lst2: "n \<ge> 2"
+begin
+
+lemma exp_rule: "((c::('a) mod_ring) * d )^e= (c^e) * (d^e)"
+ by (simp add: power_mult_distrib)
+
+lemma "\<exists> y. x \<noteq> 0 \<longrightarrow> (x::(('a) mod_ring)) * y = 1"
+ by (metis dvd_field_iff unit_dvdE)
+
+lemma test: "prime p"
+ by (simp add: p_def prime_card)
+
+lemma k_bound: "k > 0"
+ using p_fact prime_nat_iff'' test by force
+
+text \<open>We show some homomorphisms.\<close>
+
+lemma homomorphism_add: "(of_int_mod_ring x)+(of_int_mod_ring y) =
+ ((of_int_mod_ring (x+y)) ::(('a::prime_card) mod_ring))"
+ by (metis of_int_hom.hom_add of_int_of_int_mod_ring)
+
+lemma homomorphism_mul_on_ring: "(of_int_mod_ring x)*(of_int_mod_ring y) =
+ ((of_int_mod_ring (x*y)) ::(('a::prime_card) mod_ring))"
+ by (metis of_int_mult of_int_of_int_mod_ring)
+
+lemma exp_homo:"(of_int_mod_ring (x^i)) = ((of_int_mod_ring x)^i ::(('a::prime_card) mod_ring))"
+ by (induction i) (metis of_int_of_int_mod_ring of_int_power)+
+
+lemma mod_homo: "((of_int_mod_ring x)::(('a::prime_card) mod_ring)) = of_int_mod_ring (x mod p)"
+ using p_def unfolding of_int_mod_ring_def by simp
+
+lemma int_exp_hom: "int x ^i = int (x^i)"
+ by simp
+
+lemma coprime_nat_int: "coprime (int p) (to_int_mod_ring pr) \<longleftrightarrow> coprime p (nat(to_int_mod_ring pr))"
+ unfolding coprime_def to_int_mod_ring_def
+ by (smt (z3) Rep_mod_ring atLeastLessThan_iff dvd_trans int_dvd_int_iff int_nat_eq int_ops(2) prime_divisor_exists prime_nat_int_transfer primes_dvd_imp_eq test to_int_mod_ring.rep_eq to_int_mod_ring_def)
+
+lemma nat_int_mod:"[nat (to_int_mod_ring pr) ^ d = 1] (mod p) =
+ [ (to_int_mod_ring pr) ^ d = 1] (mod (int p)) "
+ unfolding to_int_mod_ring_def
+ by (metis Rep_mod_ring atLeastLessThan_iff cong_int_iff int_exp_hom int_nat_eq int_ops(2) to_int_mod_ring.rep_eq to_int_mod_ring_def)
+
+text \<open>Order of $p$ doesn't change when interpreting it as an integer.\<close>
+
+lemma ord_lift: "ord (int p) (to_int_mod_ring pr) = ord p (nat (to_int_mod_ring pr))"
+proof -
+ have "to_int_mod_ring pr = int (nat (to_int_mod_ring pr))"
+ by (metis Rep_mod_ring atLeastLessThan_iff int_nat_eq to_int_mod_ring.rep_eq)
+ thus ?thesis
+ using ord_int by metis
+qed
+
+text \<open>A primitive root has order $p-1$.\<close>
+
+lemma primroot_ord: "residue_primroot p g \<Longrightarrow> ord p g = p -1"
+ by (simp add: residue_primroot_def test totient_prime)
+
+text \<open>If $x^l = 1$ in $\mathbb{Z}_p$, then $l$ is an upper bound for the order of $x$ in $\mathbb{Z}_ p$.\<close>
+
+lemma ord_max:
+ assumes "l \<noteq> 0" "(x :: (('a::prime_card) mod_ring))^l = 1"
+ shows " ord p (to_int_mod_ring x) \<le> l"
+proof-
+ have "[(to_int_mod_ring x)^l = 1] (mod p)"
+ by (metis assms(2) cong_def exp_homo of_int_mod_ring.rep_eq of_int_mod_ring_to_int_mod_ring one_mod_card_int one_mod_ring.rep_eq p_def)
+ thus ?thesis unfolding ord_def using assms
+ by (smt (z3) Least_le less_imp_le_nat not_gr0)
+qed
+
+subsection \<open>Existence of $n$-th Roots of Unity in the Finite Field\<close>
+
+text \<open>
+\label{primroot3}
+We obtain an element in the finite field such that
+its reinterpretation as a $nat$ will be a primitive root in the residue class modulo $p$.
+The difference between residue classes, their representatives in the Integers and elements
+of the finite field is notable. When conducting informal proofs, this distinction
+ is usually blurred, but Isabelle enforces the explicit conversion between those structures.
+\<close>
+
+lemma primroot_ex:
+ obtains primroot::"('a::prime_card) mod_ring" where
+ "primroot^(p-1) = 1"
+ "primroot \<noteq> 1"
+ "residue_primroot p (nat (to_int_mod_ring primroot))"
+proof-
+ obtain g where g_Def: "residue_primroot p g \<and> g \<noteq> 1"
+ using prime_nat_iff' prime_primitive_root_exists test
+ by (metis bigger_prime euler_theorem ord_1_right power_one_right prime_nat_iff'' residue_primroot.cases residue_primroot_cong)
+ hence "[g \<noteq> 1] (mod p)" using prime_not_2_order_not_1_mod[of p g]
+ by (metis One_nat_def p_lst3 less_numeral_extra(4) ord_eq_Suc_0_iff residue_primroot.cases totient_gt_1)
+ hence "[g^(p-1) = 1] (mod p)" using g_Def
+ by (metis coprime_commute euler_theorem residue_primroot_def test totient_prime)
+ moreover hence "int (g ^ (p - 1)) mod int p = (1::int)"
+ by (metis cong_def int_ops(2) mod_less of_nat_mod prime_gt_1_nat test)
+ moreover hence "of_int_mod_ring (int (g ^ (p - 1)) mod int p) =
+ ((of_int_mod_ring 1) ::(('a::prime_card) mod_ring))" by simp
+ ultimately have "(of_int_mod_ring (g^(p-1))) = (1 ::(('a::prime_card) mod_ring))"
+ using mod_homo[of "g^(p-1)"] by (metis exp_homo power_0)
+ hence "((of_int_mod_ring g)^(p-1) ::(('a::prime_card) mod_ring)) = 1"
+ using exp_homo[of "int g" "p-1"] by simp
+ moreover
+ have "((of_int_mod_ring g) ::(('a::prime_card) mod_ring)) \<noteq> 1"
+ proof
+ assume "((of_int_mod_ring g) ::(('a::prime_card) mod_ring)) = 1"
+ hence "[int g = 1] (mod p)" using p_def unfolding of_int_mod_ring_def
+ by (metis \<open>of_int_mod_ring (int g) = 1\<close> cong_def of_int_mod_ring.rep_eq one_mod_card_int one_mod_ring.rep_eq)
+ hence "[g=1] (mod p)"
+ by (metis cong_int_iff int_ops(2))
+ thus False
+ using \<open>[g \<noteq> 1] (mod p)\<close> by auto
+ qed
+ thus ?thesis using that g_Def calculation
+ by (metis Euclidean_Division.pos_mod_bound Euclidean_Division.pos_mod_sign mod_homo nat_int of_nat_0_less_iff of_nat_mod p_def residue_primroot_mod to_int_mod_ring_of_int_mod_ring zero_less_card_finite)
+qed
+
+text \<open>From this, we obtain an $n$-th root of unity $\omega$ in the finite
+field of characteristic $p$.
+ Note that in this step we will use the assumption $p = k \cdot n +1$
+from locale $preliminary$: The $k$-th power of a primitive
+root $pr$ modulo $p$ will have the property $(pr^k)^n \equiv 1 \mod p$.
+\<close>
+
+lemma omega_properties_ex:
+ obtains \<omega> ::"(('a::prime_card) mod_ring)"
+ where "\<omega>^n = 1"
+ "\<omega> \<noteq> 1"
+ "\<forall> m. \<omega>^m = 1 \<and> m\<noteq>0 \<longrightarrow> m \<ge> n"
+proof-
+ obtain pr::"(('a::prime_card) mod_ring)" where a: "pr^(p-1) = 1 " and b: "pr \<noteq> 1"
+ and c: "residue_primroot p (nat( to_int_mod_ring pr))"
+ using primroot_ex by blast
+ moreover hence "(pr^k)^n =1"
+ by (simp add: p_fact power_mult)
+ moreover have "pr^k \<noteq> 1"
+ proof
+ assume " pr ^ k = 1"
+ hence "(to_int_mod_ring pr)^k mod p = 1"
+ by (metis exp_homo of_int_mod_ring.rep_eq of_int_mod_ring_to_int_mod_ring one_mod_ring.rep_eq p_def)
+ hence "ord p (to_int_mod_ring pr) \<le> k"
+ by (simp add: \<open>pr ^ k = 1\<close> k_bound ord_max)
+ hence "ord p (nat (to_int_mod_ring pr)) \<le> k"
+ by (metis ord_lift)
+ also have "ord p (nat (to_int_mod_ring pr)) = p - 1"
+ using c primroot_ord[of "(nat (to_int_mod_ring pr))"] by blast
+ also have "\<dots> = k * n"
+ using p_fact by simp
+ finally have "n \<le> 1"
+ using k_bound by simp
+ thus False
+ using n_lst2 by linarith
+ qed
+ moreover have "\<forall> m. (pr^k)^m = 1 \<and> m\<noteq>0 \<longrightarrow> m \<ge> n"
+ proof(rule ccontr)
+ assume "\<not> (\<forall>m. (pr ^ k) ^ m = 1 \<and> m\<noteq>0 \<longrightarrow> n \<le> m) "
+ then obtain m where "(pr^k)^m = 1 \<and> m\<noteq>0 \<and> m < n" by force
+ hence "ord p (to_int_mod_ring pr) \<le> k * m" using ord_max[of "k*m" pr]
+ by (metis calculation(5) mult_is_0 power_mult)
+ moreover have "ord p (nat (to_int_mod_ring pr)) = p-1" using c primroot_ord ord_lift by simp
+ ultimately show False
+ by (metis \<open>(pr ^ k) ^ m = 1 \<and> m \<noteq> 0 \<and> m < n\<close> add_diff_cancel_right' nat_0_less_mult_iff nat_mult_le_cancel_disj not_less ord_lift p_def p_fact prime_card prime_gt_1_nat zero_less_diff)
+ qed
+ ultimately show ?thesis
+ using that by simp
+qed
+
+text \<open>We define an $n$-th root of unity $\omega$ for $NTT$.\<close>
+theorem omega_exists: "\<exists> \<omega> ::(('a::prime_card) mod_ring) .
+ \<omega>^n = 1 \<and> \<omega> \<noteq> 1 \<and> (\<forall> m. \<omega>^m = 1 \<and> m\<noteq>0 \<longrightarrow> m \<ge> n)"
+ using omega_properties_ex by metis
+
+definition "(omega::(('a::prime_card) mod_ring)) =
+ (SOME \<omega> . (\<omega>^n = 1 \<and> \<omega> \<noteq> 1\<and> (\<forall> m. \<omega>^m = 1 \<and> m\<noteq>0 \<longrightarrow> m \<ge> n)))"
+
+lemma omega_properties: "omega^n = 1" "omega \<noteq> 1"
+ "(\<forall> m. omega^m = 1 \<and> m\<noteq>0 \<longrightarrow> m \<ge> n)"
+ unfolding omega_def using omega_exists
+ by (smt (verit, best) verit_sko_ex')+
+
+text \<open>We define the multiplicative inverse $\mu$ of $\omega$.\<close>
+
+definition "mu = omega ^ (n - 1)"
+
+lemma mu_properties: "mu * omega = 1" "mu \<noteq> 1"
+proof -
+ have "omega ^ (n - 1) * omega = omega ^ Suc (n - 1)"
+ by simp
+ also have "Suc (n - 1) = n"
+ using n_lst2 by simp
+ also have "omega ^ n = 1"
+ using omega_properties(1) by auto
+ finally show "mu * omega = 1"
+ by (simp add: mu_def)
+next
+ show "mu \<noteq> 1"
+ using omega_properties n_lst2 by (auto simp: mu_def)
+qed
+
+subsection \<open>Some Lemmas on Sums\<close>
+text \<open>\label{sums}\<close>
+
+text \<open>The following lemmas concern sums over a finite field.
+ Most of the propositions are intuitive.\<close>
+
+lemma sum_in: "(\<Sum>i=0..<(x::nat). f i * (y ::('a mod_ring))) = (\<Sum>i=0..<x. f i )* (y) "
+ by(induction x) (auto simp add: algebra_simps)
+
+lemma sum_eq: "(\<And> i. i < x \<Longrightarrow> f i = g i)
+ \<Longrightarrow> (\<Sum>i=0..<(x::nat). f i) = (\<Sum>i=0..<x. g i) "
+ by(induction x) (auto simp add: algebra_simps)
+
+lemma sum_diff_in: "(\<Sum>i=0..<(x::nat). (f i)::('a mod_ring)) - (\<Sum>i=0..<x. g i) =
+ (\<Sum>i=0..<x. f i - g i)"
+ by(induction x) (auto simp add: algebra_simps)
+
+lemma sum_swap: "(\<Sum>i=0..<(x::nat). \<Sum>j=0..<(y::nat). f i j) =
+ (\<Sum>j=0..<(y::nat). \<Sum>i=0..<(x::nat). f i j ) "
+ using Groups_Big.comm_monoid_add_class.sum.swap by fast
+
+lemma sum_const: "(\<Sum>i=0..<(x::nat). (c::('a::prime_card) mod_ring)) = (of_int_mod_ring x) * c"
+ by(induction x, simp add: algebra_simps, simp add: algebra_simps)
+ (metis distrib_left mult.right_neutral of_int_of_int_mod_ring of_int_of_nat_eq of_nat_Suc)
+
+lemma sum_split: "(r1::nat) < r2 \<Longrightarrow> (\<Sum>l = 0..<r1. ((f l)::(('a::prime_card) mod_ring)))
+ +(\<Sum>l = r1..<r2. f l) = (\<Sum>l = 0..<r2. f l)"
+ by (meson less_or_eq_imp_le sum.atLeastLessThan_concat zero_le)
+
+lemma sum_index_shift: "(\<Sum>l = (a::nat)..< b. f(l+c)) = (\<Sum>l = (a+c)..< (b+c). f l )"
+ by(induction a arbitrary: b c) (metis sum.shift_bounds_nat_ivl)+
+
+text \<open>One may sum over even and odd indices independently.
+The lemma statement was taken from a formalization of FFT~\parencite{FFT-AFP}.
+We give an alternative proof adapted to the finite field $\mathbb{Z}_p$.
+\<close>
+
+lemma sum_splice:
+ "(\<Sum>i::nat = 0..<2*nn. f i) = (\<Sum>i = 0..<nn. f (2*i)) + (\<Sum>i = 0..<nn. f (2*i+1))"
+proof(induction nn)
+ case (Suc n)
+ have "(\<Sum>i::nat = 0..<2*(n+1). f i) = (\<Sum>i::nat = 0..<(2*n). f i) + f(2*n+1) + f (2*n)"
+ by( simp add: algebra_simps)
+ also have "\<dots> = (\<Sum>i::nat = 0..<n. f (2*i)) + (\<Sum>i::nat = 0..<n. f (2*i+1)) + f(2*n+1) + f (2*n)"
+ using Suc by simp
+ also have "\<dots> = (\<Sum>i::nat = 0..<(Suc n). f (2*i)) + (\<Sum>i::nat = 0..<(Suc n). f (2*i+1))"
+ by( simp add: algebra_simps)
+ finally show ?case by simp
+qed simp
+
+lemma sum_even_odd_split: "even (a::nat) \<Longrightarrow> (\<Sum>j=0..<(a div 2). f (2*j))+ (\<Sum>j=0..<(a div 2). f (2*j+1)) = (\<Sum>j=0..<a. f j)"
+ by (induction a, simp)(metis even_two_times_div_two sum_splice)
+
+lemma sum_splice_other_way_round: " (\<Sum>j=(0::nat)..<i. f (2*j)) + (\<Sum>j=0..<i. f (2*j+1)) =
+ (\<Sum>j=(0::nat)..<2*i. f j )"
+by (metis sum_splice)
+
+lemma sum_neg_in: "- (\<Sum>j = 0..<l. (f j)::('a mod_ring)) = (\<Sum>j = 0..<l. - f j) "
+ by (simp add: sum_negf)
+
+subsection \<open>Geometric Sums\<close>
+
+text \<open>\label{geosum}\<close>
+
+text \<open>This lemma will be important for proving properties on $\mathsf{NTT}$. At first, an informal proof sketch:
+\begin{align*}
+(1-x) \cdot \sum \limits _{l = 0} ^ {r-1} x^l
+&= \sum \limits _{l = 0} ^ {r-1} x^l - x \cdot \sum \limits _{l = 0} ^{r-1} x^l \\
+&= \sum \limits _{l = 0} ^ {r-1} x^l - \sum \limits _{l = 1} ^{r} x^l \\
+& = 1 - x^r
+\end{align*}
+
+The same lemma for integers can be found in~\parencite{Dirichlet_Series-AFP}.
+ Our version is adapted to finite fields.
+\<close>
+
+lemma geo_sum:
+ assumes "x \<noteq> 1"
+ shows "(1-x)*(\<Sum>l = 0..<r. (x::('a mod_ring))^l) = (1-x^r)"
+proof-
+ have 0:"x * (\<Sum>l = 0..<r. x^l) = (\<Sum>l = 0..<r. x^(Suc l))" using sum_in[of "\<lambda> l. x^l" x r]
+ by(simp add: algebra_simps)
+ have 1:"(\<Sum>l = 0..<r. x^l) - (\<Sum>l = 0..<r. x^(Suc l)) = (\<Sum>l = 0..<r. x^l - x^(Suc l))"
+ by(rule sum_diff_in)
+ have 2: "(\<Sum>l = 0..<r. x^l - x^(Suc l)) = 1 - x^r"
+ by(induction r) simp+
+ thus ?thesis
+ by (simp add: lessThan_atLeast0 one_diff_power_eq)
+qed
+
+lemmas sum_rules = sum_in sum_eq sum_diff_in sum_swap sum_const sum_split sum_index_shift
+
+end
+end
diff --git a/thys/Number_Theoretic_Transform/ROOT b/thys/Number_Theoretic_Transform/ROOT
new file mode 100644
--- /dev/null
+++ b/thys/Number_Theoretic_Transform/ROOT
@@ -0,0 +1,14 @@
+chapter AFP
+
+session "Number_Theoretic_Transform" (AFP) = "HOL-Number_Theory" +
+ (*descpription "Number Theoretic Tranform, NTT with finite fields"*)
+ options [timeout = 600]
+ sessions
+ Berlekamp_Zassenhaus
+ theories
+ Preliminary_Lemmas
+ NTT
+ Butterfly
+ document_files
+ "root.bib"
+ "root.tex"
diff --git a/thys/Number_Theoretic_Transform/document/root.bib b/thys/Number_Theoretic_Transform/document/root.bib
new file mode 100644
--- /dev/null
+++ b/thys/Number_Theoretic_Transform/document/root.bib
@@ -0,0 +1,86 @@
+@Inbook{Good1997,
+author="Good, I. J.",
+editor="Kotz, Samuel
+and Johnson, Norman L.",
+title="Introduction to Cooley and Tukey (1965) An Algorithm for the Machine Calculation of Complex Fourier Series",
+bookTitle="Breakthroughs in Statistics",
+year="1997",
+publisher="Springer New York",
+address="New York, NY",
+pages="201--216",
+abstract="Fourier (frequency) analysis is important in statistics, mathematics, and all the hard sciences (as in x-ray crystallography), and in signal processing, so Fast Fourier Transforms (FFTs) are widely applicable. For example, Costain (1974) said the FFTs are regarded as an economic breakthrough in geo­physics, especially in seismology.",
+isbn="978-1-4612-0667-5",
+doi="10.1007/978-1-4612-0667-5_9",
+url="https://doi.org/10.1007/978-1-4612-0667-5_9"
+}
+
+
+@book{10.5555/1614191,
+author = {Cormen, Thomas H. and Leiserson, Charles E. and Rivest, Ronald L. and Stein, Clifford},
+title = {Introduction to Algorithms, Third Edition},
+year = {2009},
+isbn = {0262033844},
+publisher = {The MIT Press},
+edition = {3rd},
+abstract = {If you had to buy just one text on algorithms, Introduction to Algorithms is a magnificent choice. The book begins by considering the mathematical foundations of the analysis of algorithms and maintains this mathematical rigor throughout the work. The tools developed in these opening sections are then applied to sorting, data structures, graphs, and a variety of selected algorithms including computational geometry, string algorithms, parallel models of computation, fast Fourier transforms (FFTs), and more. This book's strength lies in its encyclopedic range, clear exposition, and powerful analysis. Pseudo-code explanation of the algorithms coupled with proof of their accuracy makes this book is a great resource on the basic tools used to analyze the performance of algorithms.}
+}
+
+@misc{cryptoeprint:2016/504,
+ author = {Patrick Longa and Michael Naehrig},
+ title = {Speeding up the Number Theoretic Transform for Faster Ideal Lattice-Based Cryptography},
+ howpublished = {Cryptology ePrint Archive, Paper 2016/504},
+ year = {2016},
+ note = {\url{https://eprint.iacr.org/2016/504}},
+ url = {https://eprint.iacr.org/2016/504}
+}
+
+@inproceedings{NipkowEH-ATVA20,
+author = {Tobias Nipkow and Manuel Eberl and Maximilian P. L. Haslbeck},
+title = {Verified Textbook Algorithms. {A} Biased Survey},
+booktitle = {ATVA 2020, Automated Technology for Verification and Analysis},
+editor = {Dang Van Hung and Oleg Sokolsky},
+publisher = {Springer},
+series = {LNCS},
+volume = {12302},
+pages = {25-53},
+year =2020,
+note = {Invited paper}
+}
+
+@misc{ntt_intro,
+ author = {Nayuki},
+ title = {Number-theoretic transform (integer DFT)},
+ year = {2022},
+ howpublished = {\url{https://www.nayuki.io/page/number-theoretic-transform-integer-dft}}
+}
+
+@misc{funalgs,
+author ="{Tobias Nipkow, Jasmin Blanchette, Manuel Eberl, Alejandro Gómez-Londoño, Peter Lammich, Christian Sternagel, Simon Wimmer, Bohua Zhan}",
+title = {Functional Algorithms, Verified!},
+year = 2021,
+howpublished = {\url{https://functional-algorithms-verified.org/}}
+}
+
+@article{FFT-AFP,
+ author = {Clemens Ballarin},
+ title = {Fast Fourier Transform},
+ journal = {Archive of Formal Proofs},
+ month = {October},
+ year = {2005},
+ note = {\url{https://isa-afp.org/entries/FFT.html},
+ Formal proof development},
+ ISSN = {2150-914x},
+}
+
+@article{Dirichlet_Series-AFP,
+ author = {Manuel Eberl},
+ title = {Dirichlet Series},
+ journal = {Archive of Formal Proofs},
+ month = {October},
+ year = {2017},
+ note = {\url{https://isa-afp.org/entries/Dirichlet_Series.html},
+ Formal proof development},
+ ISSN = {2150-914x},
+}
+
+
diff --git a/thys/Number_Theoretic_Transform/document/root.tex b/thys/Number_Theoretic_Transform/document/root.tex
new file mode 100644
--- /dev/null
+++ b/thys/Number_Theoretic_Transform/document/root.tex
@@ -0,0 +1,71 @@
+\documentclass[11pt,a4paper]{article}
+\usepackage{isabelle,isabellesym}
+%\usepackage{hyperref}
+\usepackage{amsmath, amssymb, wasysym}
+\usepackage[autostyle]{csquotes}
+\usepackage{stmaryrd}
+\usepackage[T1]{fontenc}
+%\usepackage{hyperref}
+%\usepackage[T2A]{fontenc}
+%\usepackage[utf8]{inputenx}
+\usepackage[backend = bibtex,
+url=false,
+ citestyle=numeric,
+ bibstyle = numeric,
+ maxnames=4,
+ minnames=3,
+ maxbibnames=99,
+ giveninits,
+ sorting = none,
+ uniquename=init]{biblatex}
+% this should be the last package used
+\usepackage{pdfsetup}
+
+\addtolength{\hoffset}{-1,5cm}
+\addtolength{\textwidth}{3cm}
+\bibliography{root}
+\begin{document}
+
+\title{Number Theoretic Transform}
+\author{Thomas Ammer and Katharina Kreuzer}
+\maketitle
+
+\begin{abstract}
+\indent This entry contains an Isabelle formalization of the \textit{Number Theoretic Transform (NTT)} which is the analogue to a \textit{Discrete Fourier Transform (DFT)}, just over a finite field. Roots of unity in the complex numbers are replaced by those in a finite field.\\
+ \indent First, we define both \textit{NTT} and the inverse transform \textit{INTT} in Isabelle and prove them to be mutually inverse. \\
+\indent $DFT$ can be efficiently computed by the recursive \textit{Fast Fourier Transform (FFT)}. In our formalization, this algorithm is adapted to the setting of the $NTT$: We implement a \textit{Fast Number Theoretic Transform (FNTT)} based on the Butterfly scheme by Cooley and Tukey~\parencite{Good1997}. Additionally, we provide an inverse transform \textit{IFNTT} and prove it mutually inverse to \textit{FNTT}.\\
+\indent Afterwards, a recursive formalization of the \textit{FNTT} running time is examined and the famous $\mathcal{O}(n \log n)$ bounds are proven.
+\end{abstract}
+
+\pagebreak
+
+\tableofcontents
+\pagebreak
+%\parindent 0pt\parskip 0.5ex
+\isabellestyle{it}
+% include generated text of all theories
+\section{Introduction}
+\indent \indent The \textit{Discrete Fourier Transform~(DFT)} is used to analyze a periodic signal given by equidistant samples for its frequencies.
+For an introduction to \textit{DFT} one may have a look at~\parencite{10.5555/1614191}.
+ However, one may generalize the setting and consider any algebraic structure with roots of unity.
+ For finite fields, we call the analogue to \textit{DFT} a \textit{Number Theoretic Transform~(NTT)}. It can be used for fast Integer multiplications and post-quantum lattice-based cryptography~\parencite{cryptoeprint:2016/504}.\\
+\indent Starting our formalization, we provide some initial setup, namely roots of unity by an argument on generating elements in $\mathbb{Z}_p$ (Sections~\ref{primroot1},~\ref{primroot2},~\ref{primroot3}) and lemmas on summation (Section~\ref{sums}), especially geometric sums (Section~\ref{geosum}).\\
+\indent We continue with a mathematical definition of \textit{NTT}~\parencite{ntt_intro} and formalize it in Isabelle (Section~\ref{NTTdef}). Let us consider a definition of \textit{DFT}:
+\begin{equation*}
+\mathsf{DFT}(\vec{x})_k = \sum \limits _{l=0}^{n-1} x_l \cdot e^{- \frac{i2\pi}{n}\cdot k \cdot l} \hspace{1cm} \text{ where } i = \sqrt{-1}
+\end{equation*}
+In this equation, $e^{- \frac{i2\pi}{n}}$ is a root of unity. Let $\omega$ be a $n$-th root of unity in $\mathbb{Z}_p$ and we can state analogously:
+\begin{equation*}
+\mathsf{NTT}(\vec{x})_k = \sum \limits _{l=0}^{n-1} x_l \cdot \omega^{ k l}
+\end{equation*}
+Throughout the paper, we stick to this definition.
+An inverse tranform \textit{INTT} is obtained by replacing $\omega$ by its field inverse $\mu$ (i.e. $\mu \cdot \omega \equiv 1 \mod p$). We prove \textit{NTT} and \textit{INTT} to be mutually inverse in Section~\ref{NTTcorr}.\\
+\indent For computing \textit{DFT} more efficiently than $\mathcal{O}(n^2)$, a divide and conquer approach can be applied. By a smart rearranging, the sum can be split into two subproblems of size $\frac{n}{2}$ which gives an $\mathcal{O}(n \log n)$ algorithm. We call this the \textit{Fast Nuber Theoretic Transform (FNTT)}~\parencite{cryptoeprint:2016/504} and \textit{IFNTT} respectively. The corresponding procedure is treated in Section~\ref{Butterfly}. We prove equality between \textit{(I)NTT} and \textit{(I)FNTT} and can infer that both are mutually inverse by previos results.\\
+\indent \textit{DFT} and similar transforms like \textit{NTT} are especially famous for algorithms with $\mathcal{O}(n \log n)$ running times. Thus, it is appropriate to formalize some related arguments. We loosely follow a generic approach for verifying resource bounds of functional data structures and algorithms in Isabelle~\parencite{funalgs}.\\
+\indent During the formalization, we also present some informal arguments in order to give a better intution of what's going on in the formal proofs.\\
+\indent The present formalization was developed during a practical course on specification and verification at the \href{https://www21.in.tum.de/index.html}{TUM Chair of Logic and Verification}.\\
+
+\input{session}
+\pagebreak
+\printbibliography{}
+\end{document}
diff --git a/thys/ROOTS b/thys/ROOTS
--- a/thys/ROOTS
+++ b/thys/ROOTS
@@ -1,696 +1,700 @@
ADS_Functor
AI_Planning_Languages_Semantics
AODV
AVL-Trees
AWN
Abortable_Linearizable_Modules
Abs_Int_ITP2012
Abstract-Hoare-Logics
Abstract-Rewriting
Abstract_Completeness
Abstract_Soundness
Ackermanns_not_PR
Actuarial_Mathematics
Adaptive_State_Counting
Affine_Arithmetic
Aggregation_Algebras
Akra_Bazzi
Algebraic_Numbers
Algebraic_VCs
Allen_Calculus
Amicable_Numbers
Amortized_Complexity
AnselmGod
Applicative_Lifting
Approximation_Algorithms
Architectural_Design_Patterns
Aristotles_Assertoric_Syllogistic
Arith_Prog_Rel_Primes
ArrowImpossibilityGS
Attack_Trees
Auto2_HOL
Auto2_Imperative_HOL
AutoFocus-Stream
Automated_Stateful_Protocol_Verification
Automatic_Refinement
AxiomaticCategoryTheory
BDD
BD_Security_Compositional
BNF_CC
BNF_Operations
BTree
Banach_Steinhaus
Belief_Revision
Bell_Numbers_Spivey
BenOr_Kozen_Reif
Berlekamp_Zassenhaus
Bernoulli
Bertrands_Postulate
Bicategory
BinarySearchTree
Binding_Syntax_Theory
Binomial-Heaps
Binomial-Queues
BirdKMP
Blue_Eyes
Bondy
Boolean_Expression_Checkers
Boolos_Curious_Inference
Bounded_Deducibility_Security
Buchi_Complementation
Budan_Fourier
Buffons_Needle
Buildings
BytecodeLogicJmlTypes
C2KA_DistributedSystems
CAVA_Automata
CAVA_LTL_Modelchecker
CCS
CISC-Kernel
+CRYSTALS-Kyber
CRDT
CSP_RefTK
CYK
CZH_Elementary_Categories
CZH_Foundations
CZH_Universal_Constructions
CakeML
CakeML_Codegen
Call_Arity
Card_Equiv_Relations
Card_Multisets
Card_Number_Partitions
Card_Partitions
Cartan_FP
Case_Labeling
Catalan_Numbers
Category
Category2
Category3
Cauchy
Cayley_Hamilton
Certification_Monads
Chandy_Lamport
Chord_Segments
Circus
Clean
Clique_and_Monotone_Circuits
ClockSynchInst
Closest_Pair_Points
CoCon
CoSMeDis
CoSMed
CofGroups
Coinductive
Coinductive_Languages
Collections
Combinable_Wands
Combinatorics_Words
Combinatorics_Words_Graph_Lemma
Combinatorics_Words_Lyndon
Commuting_Hermitian
Comparison_Sort_Lower_Bound
Compiling-Exceptions-Correctly
Complete_Non_Orders
Completeness
Complex_Bounded_Operators
Complex_Geometry
Complx
ComponentDependencies
ConcurrentGC
ConcurrentIMP
Concurrent_Ref_Alg
Concurrent_Revisions
Conditional_Simplification
Conditional_Transfer_Rule
Consensus_Refined
Constructive_Cryptography
Constructive_Cryptography_CM
Constructor_Funs
Containers
CoreC++
Core_DOM
Core_SC_DOM
Correctness_Algebras
Cotangent_PFD_Formula
Count_Complex_Roots
CryptHOL
CryptoBasedCompositionalProperties
Cubic_Quartic_Equations
DFS_Framework
DOM_Components
DPT-SAT-Solver
DataRefinementIBP
Datatype_Order_Generator
Decl_Sem_Fun_PL
Decreasing-Diagrams
Decreasing-Diagrams-II
Dedekind_Real
Deep_Learning
Delta_System_Lemma
Density_Compiler
Dependent_SIFUM_Refinement
Dependent_SIFUM_Type_Systems
Depth-First-Search
Derangements
Deriving
Descartes_Sign_Rule
Design_Theory
Dict_Construction
Differential_Dynamic_Logic
Differential_Game_Logic
Digit_Expansions
Dijkstra_Shortest_Path
Diophantine_Eqns_Lin_Hom
Dirichlet_L
Dirichlet_Series
DiscretePricing
Discrete_Summation
DiskPaxos
Dominance_CHK
DPRM_Theorem
DynamicArchitectures
Dynamic_Tables
E_Transcendental
Echelon_Form
EdmondsKarp_Maxflow
Efficient-Mergesort
Elliptic_Curves_Group_Law
Encodability_Process_Calculi
Epistemic_Logic
Equivalence_Relation_Enumeration
Ergodic_Theory
Error_Function
Euler_MacLaurin
Euler_Partition
Eval_FO
Example-Submission
Extended_Finite_State_Machine_Inference
Extended_Finite_State_Machines
FFT
FLP
FOL-Fitting
FOL_Axiomatic
FOL_Harrison
FOL_Seq_Calc1
FOL_Seq_Calc2
FOL_Seq_Calc3
FSM_Tests
Factor_Algebraic_Polynomial
Factored_Transition_System_Bounding
Falling_Factorial_Sum
Farkas
FeatherweightJava
Featherweight_OCL
Fermat3_4
FileRefinement
FinFun
Finger-Trees
Finite-Map-Extras
Finite_Automata_HF
Finite_Fields
Finitely_Generated_Abelian_Groups
First_Order_Terms
First_Welfare_Theorem
Fishburn_Impossibility
Fisher_Yates
Fishers_Inequality
Flow_Networks
Floyd_Warshall
Flyspeck-Tame
FocusStreamsCaseStudies
Forcing
Formal_Puiseux_Series
Formal_SSA
Formula_Derivatives
Foundation_of_geometry
Fourier
FO_Theory_Rewriting
Free-Boolean-Algebra
Free-Groups
Frequency_Moments
Fresh_Identifiers
FunWithFunctions
FunWithTilings
Functional-Automata
Functional_Ordered_Resolution_Prover
Furstenberg_Topology
GPU_Kernel_PL
Gabow_SCC
GaleStewart_Games
Gale_Shapley
Game_Based_Crypto
Gauss-Jordan-Elim-Fun
Gauss_Jordan
Gauss_Sums
Gaussian_Integers
GenClock
General-Triangle
Generalized_Counting_Sort
Generic_Deriving
Generic_Join
GewirthPGCProof
Girth_Chromatic
GoedelGod
Goedel_HFSet_Semantic
Goedel_HFSet_Semanticless
Goedel_Incompleteness
Goodstein_Lambda
GraphMarkingIBP
Graph_Saturation
Graph_Theory
Green
Groebner_Bases
Groebner_Macaulay
Gromov_Hyperbolicity
Grothendieck_Schemes
Group-Ring-Module
HOL-CSP
HOLCF-Prelude
HRB-Slicing
Hahn_Jordan_Decomposition
+Hales_Jewett
Heard_Of
Hello_World
HereditarilyFinite
Hermite
Hermite_Lindemann
Hidden_Markov_Models
Higher_Order_Terms
Hoare_Time
Hood_Melville_Queue
HotelKeyCards
Huffman
Hybrid_Logic
Hybrid_Multi_Lane_Spatial_Logic
Hybrid_Systems_VCs
HyperCTL
Hyperdual
IEEE_Floating_Point
IFC_Tracking
IMAP-CRDT
IMO2019
IMP2
IMP2_Binary_Heap
IMP_Compiler
IMP_Compiler_Reuse
IP_Addresses
Imperative_Insertion_Sort
Impossible_Geometry
Incompleteness
Incredible_Proof_Machine
Independence_CH
Inductive_Confidentiality
Inductive_Inference
InfPathElimination
InformationFlowSlicing
InformationFlowSlicing_Inter
Integration
Interpolation_Polynomials_HOL_Algebra
Interpreter_Optimizations
Interval_Arithmetic_Word32
Intro_Dest_Elim
Involutions2Squares
Iptables_Semantics
Irrational_Series_Erdos_Straus
Irrationality_J_Hancl
Irrationals_From_THEBOOK
IsaGeoCoq
Isabelle_C
Isabelle_Marries_Dirac
Isabelle_Meta_Model
IsaNet
Jacobson_Basic_Algebra
Jinja
JinjaDCI
JinjaThreads
JiveDataStoreModel
Jordan_Hoelder
Jordan_Normal_Form
KAD
KAT_and_DRA
KBPs
KD_Tree
Key_Agreement_Strong_Adversaries
+Khovanskii_Theorem
Kleene_Algebra
Knights_Tour
Knot_Theory
Knuth_Bendix_Order
Knuth_Morris_Pratt
Koenigsberg_Friendship
Kruskal
Kuratowski_Closure_Complement
LLL_Basis_Reduction
LLL_Factorization
LOFT
LTL
LTL_Master_Theorem
LTL_Normal_Form
LTL_to_DRA
LTL_to_GBA
Lam-ml-Normalization
LambdaAuth
LambdaMu
Lambda_Free_EPO
Lambda_Free_KBOs
Lambda_Free_RPOs
Lambert_W
Landau_Symbols
Laplace_Transform
Latin_Square
LatticeProperties
Launchbury
Laws_of_Large_Numbers
Lazy-Lists-II
Lazy_Case
Lehmer
Lifting_Definition_Option
Lifting_the_Exponent
LightweightJava
LinearQuantifierElim
Linear_Inequalities
Linear_Programming
Linear_Recurrences
Liouville_Numbers
List-Index
List-Infinite
List_Interleaving
List_Inversions
List_Update
LocalLexing
Localization_Ring
Locally-Nameless-Sigma
Logging_Independent_Anonymity
Lowe_Ontological_Argument
Lower_Semicontinuous
Lp
LP_Duality
Lucas_Theorem
MDP-Algorithms
MDP-Rewards
MFMC_Countable
MFODL_Monitor_Optimized
MFOTL_Monitor
MSO_Regex_Equivalence
Markov_Models
Marriage
Mason_Stothers
Matrices_for_ODEs
Matrix
Matrix_Tensor
Matroids
Max-Card-Matching
Median_Method
Median_Of_Medians_Selection
Menger
Mereology
Mersenne_Primes
Metalogic_ProofChecker
MiniML
MiniSail
Minimal_SSA
Minkowskis_Theorem
Minsky_Machines
Modal_Logics_for_NTS
Modular_Assembly_Kit_Security
Modular_arithmetic_LLL_and_HNF_algorithms
Monad_Memo_DP
Monad_Normalisation
MonoBoolTranAlgebra
MonoidalCategory
Monomorphic_Monad
MuchAdoAboutTwo
Multiset_Ordering_NPC
Multi_Party_Computation
Multirelations
Myhill-Nerode
Name_Carrying_Type_Inference
Nano_JSON
Nash_Williams
Nat-Interval-Logic
Native_Word
Nested_Multisets_Ordinals
Network_Security_Policy_Verification
Neumann_Morgenstern_Utility
No_FTL_observers
Nominal2
Noninterference_CSP
Noninterference_Concurrent_Composition
Noninterference_Generic_Unwinding
Noninterference_Inductive_Unwinding
Noninterference_Ipurge_Unwinding
Noninterference_Sequential_Composition
NormByEval
Nullstellensatz
+Number_Theoretic_Transform
Octonions
OpSets
Open_Induction
Optics
Optimal_BST
Orbit_Stabiliser
Order_Lattice_Props
Ordered_Resolution_Prover
Ordinal
Ordinal_Partitions
Ordinals_and_Cardinals
Ordinary_Differential_Equations
PAC_Checker
Package_logic
PAL
PCF
PLM
POPLmark-deBruijn
PSemigroupsConvolution
Padic_Ints
Pairing_Heap
Paraconsistency
Parity_Game
Partial_Function_MR
Partial_Order_Reduction
Password_Authentication_Protocol
Pell
Perfect-Number-Thm
Perron_Frobenius
Physical_Quantities
Pi_Calculus
Pi_Transcendental
Planarity_Certificates
Pluennecke_Ruzsa_Inequality
Poincare_Bendixson
Poincare_Disc
Polynomial_Factorization
Polynomial_Interpolation
Polynomials
Pop_Refinement
Posix-Lexing
Possibilistic_Noninterference
Power_Sum_Polynomials
Pratt_Certificate
Prefix_Free_Code_Combinators
Presburger-Automata
Prim_Dijkstra_Simple
Prime_Distribution_Elementary
Prime_Harmonic_Series
Prime_Number_Theorem
Priority_Queue_Braun
Priority_Search_Trees
Probabilistic_Noninterference
Probabilistic_Prime_Tests
Probabilistic_System_Zoo
Probabilistic_Timed_Automata
Probabilistic_While
Program-Conflict-Analysis
Progress_Tracking
Projective_Geometry
Projective_Measurements
Promela
Proof_Strategy_Language
PropResPI
Propositional_Proof_Systems
Prpu_Maxflow
PseudoHoops
Psi_Calculi
Ptolemys_Theorem
Public_Announcement_Logic
QHLProver
QR_Decomposition
Quantales
Quasi_Borel_Spaces
Quaternions
Quick_Sort_Cost
RIPEMD-160-SPARK
ROBDD
RSAPSS
Ramsey-Infinite
Random_BSTs
Random_Graph_Subgraph_Threshold
Randomised_BSTs
Randomised_Social_Choice
Rank_Nullity_Theorem
Real_Impl
Real_Power
Real_Time_Deque
Recursion-Addition
Recursion-Theory-I
Refine_Imperative_HOL
Refine_Monadic
RefinementReactive
Regex_Equivalence
Registers
Regression_Test_Selection
Regular-Sets
Regular_Algebras
Regular_Tree_Relations
Relation_Algebra
Relational-Incorrectness-Logic
Relational_Disjoint_Set_Forests
Relational_Forests
Relational_Method
Relational_Minimum_Spanning_Trees
Relational_Paths
Rep_Fin_Groups
ResiduatedTransitionSystem
Residuated_Lattices
Resolution_FOL
Rewrite_Properties_Reduction
Rewriting_Z
Ribbon_Proofs
Robbins-Conjecture
Robinson_Arithmetic
Root_Balanced_Tree
Roth_Arithmetic_Progressions
Routing
Roy_Floyd_Warshall
SATSolverVerification
SC_DOM_Components
SDS_Impossibility
SIFPL
SIFUM_Type_Systems
SPARCv8
Safe_Distance
Safe_OCL
Saturation_Framework
Saturation_Framework_Extensions
Schutz_Spacetime
Secondary_Sylow
Security_Protocol_Refinement
Selection_Heap_Sort
SenSocialChoice
Separata
Separation_Algebra
Separation_Logic_Imperative_HOL
SequentInvertibility
Shadow_DOM
Shadow_SC_DOM
Shivers-CFA
ShortestPath
Show
Sigma_Commit_Crypto
Signature_Groebner
Simpl
Simple_Firewall
Simplex
Simplicial_complexes_and_boolean_functions
SimplifiedOntologicalArgument
Skew_Heap
Skip_Lists
Slicing
Sliding_Window_Algorithm
Smith_Normal_Form
Smooth_Manifolds
Sophomores_Dream
Solidity
Sort_Encodings
Source_Coding_Theorem
SpecCheck
Special_Function_Bounds
Splay_Tree
Sqrt_Babylonian
Stable_Matching
Statecharts
Stateful_Protocol_Composition_and_Typing
Stellar_Quorums
Stern_Brocot
Stewart_Apollonius
Stirling_Formula
Stochastic_Matrices
Stone_Algebras
Stone_Kleene_Relation_Algebras
Stone_Relation_Algebras
Store_Buffer_Reduction
Stream-Fusion
Stream_Fusion_Code
Strong_Security
Sturm_Sequences
Sturm_Tarski
Stuttering_Equivalence
Subresultants
Subset_Boolean_Algebras
SumSquares
Sunflowers
SuperCalc
Surprise_Paradox
Symmetric_Polynomials
Syntax_Independent_Logic
Szemeredi_Regularity
Szpilrajn
TESL_Language
TLA
Tail_Recursive_Functions
Tarskis_Geometry
Taylor_Models
Three_Circles
Timed_Automata
Topological_Semantics
Topology
TortoiseHare
Transcendence_Series_Hancl_Rucki
Transformer_Semantics
Transition_Systems_and_Automata
Transitive-Closure
Transitive-Closure-II
Transitive_Models
Treaps
Tree-Automata
Tree_Decomposition
Triangle
Trie
Twelvefold_Way
Tycon
Types_Tableaus_and_Goedels_God
Types_To_Sets_Extension
UPF
UPF_Firewall
UTP
Universal_Hash_Families
Universal_Turing_Machine
UpDown_Scheme
Valuation
Van_Emde_Boas_Trees
Van_der_Waerden
VectorSpace
VeriComp
Verified-Prover
Verified_SAT_Based_AI_Planning
VerifyThis2018
VerifyThis2019
Vickrey_Clarke_Groves
Virtual_Substitution
VolpanoSmith
VYDRA_MDL
WHATandWHERE_Security
WOOT_Strong_Eventual_Consistency
WebAssembly
Weight_Balanced_Trees
Weighted_Arithmetic_Geometric_Mean
Weighted_Path_Order
Well_Quasi_Orders
Wetzels_Problem
Winding_Number_Eval
Word_Lib
WorkerWrapper
X86_Semantics
XML
Youngs_Inequality
ZFC_in_HOL
Zeta_3_Irrational
Zeta_Function
pGCL
diff --git a/tools/afp_tool.scala b/tools/afp_tool.scala
--- a/tools/afp_tool.scala
+++ b/tools/afp_tool.scala
@@ -1,25 +1,28 @@
package afp
import isabelle._
+import afp.migration._
+
class Admin_Tools extends Isabelle_Scala_Tools(
- migration.AFP_Obfuscate_Emails.isabelle_tool,
+ AFP_Migrate_Metadata.isabelle_tool,
+ AFP_Obfuscate_Emails.isabelle_tool,
AFP_Build_Hugo.isabelle_tool,
)
class Tools extends Isabelle_Scala_Tools(
AFP_Site_Gen.isabelle_tool,
AFP_Check_Roots.isabelle_tool,
AFP_Check_Metadata.isabelle_tool,
AFP_Dependencies.isabelle_tool,
)
class Build_Tools extends Isabelle_Scala_Tools(
AFP_Build.ci_build_afp,
AFP_Build.ci_build_all,
AFP_Build.ci_build_mac,
AFP_Build.ci_build_slow,
AFP_Build.ci_build_testboard
)
\ No newline at end of file
diff --git a/tools/migration/afp_migrate_metadata.scala b/tools/migration/afp_migrate_metadata.scala
new file mode 100644
--- /dev/null
+++ b/tools/migration/afp_migrate_metadata.scala
@@ -0,0 +1,602 @@
+package afp.migration
+
+
+import isabelle._
+
+import afp._
+import afp.Metadata.{TOML => _, _}
+
+import scala.collection.BufferedIterator
+
+import java.io.BufferedReader
+import java.text.Normalizer
+import java.time.LocalDate
+import java.net.URL
+
+import org.jline.utils.InputStreamReader
+
+
+object AFP_Migrate_Metadata {
+ class Context(
+ names_mapping: Map[String, String],
+ email_names: Map[String, String],
+ dates_mapping: Map[String, String]
+ ) {
+ /* mappings */
+
+ def transform_name(name: String): String =
+ names_mapping.getOrElse(name, name)
+
+ def parse_date(date: String): Metadata.Date =
+ LocalDate.parse(dates_mapping.getOrElse(date, date))
+
+ def name(address: String): String =
+ email_names.getOrElse(address, error("No name for address " + address))
+
+ /* seen */
+
+ private var _seen_authors = Set.empty[Author.ID]
+ private var _seen_emails = Set.empty[Email.ID]
+ private var _seen_homepages = Set.empty[Homepage.ID]
+ private var _seen_licenses = Map.empty[License.ID, License]
+ private var _seen_author_names = Map.empty[String, Author]
+
+ def seen_authors: Set[Author.ID] = _seen_authors
+ def seen_emails: Set[Email.ID] = _seen_emails
+ def seen_homepages: Set[Homepage.ID] = _seen_homepages
+
+ def author(name: String): Option[Author] = _seen_author_names.get(name)
+
+ def authors: List[Author] = _seen_author_names.values.toList
+ def licenses: List[License] = _seen_licenses.values.toList
+
+ def update_author(author: Author): Unit = {
+ _seen_authors += author.id
+ _seen_author_names = _seen_author_names.updated(author.name, author)
+ }
+
+ def email(author: Author.ID): Email.ID = {
+ val id = unique_id(author + "_email", this.seen_emails)
+ _seen_emails += id
+ id
+ }
+
+ def homepage(homepage: Homepage.ID): Homepage.ID = {
+ val id = unique_id(homepage + "_homepage", this.seen_homepages)
+ _seen_homepages += id
+ id
+ }
+
+ def license(license_str: String): License = {
+ val license = License(license_str.toLowerCase, license_str)
+ _seen_licenses += license.id -> license
+ license
+ }
+ }
+
+ private def is_email(url: String) = url.contains("@")
+
+ private def as_ascii(str: String) = {
+ var res: String = str
+ List("ö" -> "oe", "ü" -> "ue", "ä" -> "ae", "ß" -> "ss").foreach {
+ case (c, rep) => res = res.replace(c, rep)
+ }
+ res = Normalizer.normalize(res, Normalizer.Form.NFD).replaceAll("[^\\x00-\\x7F]", "")
+ if (res.exists(_ > 127)) error("Contained non convertible non-ascii character: " + str)
+ res
+ }
+
+ def unique_id(prefix: String, ids: Set[String]): String = {
+ if (!ids.contains(prefix)) prefix
+ else {
+ var num = 1
+ while (ids.contains(prefix + num)) { num += 1 }
+ prefix + num
+ }
+ }
+
+ def private_dom(full_dom: String): String = {
+ val stream = getClass.getClassLoader.getResourceAsStream("public_suffix_list.dat")
+ val reader = new BufferedReader(new InputStreamReader(stream))
+ val public_suffixes = File.read_lines(reader, _ => ()).filterNot(_.startsWith("//"))
+ val stripped = public_suffixes.map(full_dom.stripSuffix(_)).minBy(_.length)
+ if (stripped.endsWith(".")) stripped.dropRight(1) else stripped
+ }
+
+ def make_author_id(name: String, context: Context): String = {
+ val normalized = as_ascii(name)
+ val Suffix = """^.*?([a-zA-Z]*)$""".r
+ val suffix = normalized match {
+ case Suffix(suffix) => suffix
+ case _ => ""
+ }
+ val Prefix = """^([a-zA-Z]*).*$""".r
+ val prefix = normalized.stripSuffix(suffix) match {
+ case Prefix(prefix) => prefix
+ case _ => ""
+ }
+ var ident = suffix.toLowerCase
+ for {
+ c <- prefix.toLowerCase
+ } {
+ if (context.seen_authors.contains(ident)) {
+ ident += c.toString
+ } else return ident
+ }
+ unique_id(ident, context.seen_authors)
+ }
+
+ def author_urls(name_urls: String, context: Context): (String, List[String]) = {
+ val name = AFP.trim_mail(name_urls)
+ val urls_string = name_urls.stripPrefix(name).trim
+ val transformed = context.transform_name(name)
+ if (urls_string == "<>") {
+ (transformed, List(""))
+ } else {
+ (transformed, urls_string.split(Array('<', '>')).toList.filterNot(_.isBlank))
+ }
+ }
+
+ def add_email(author: Author, address: String, context: Context): (Author, Email) = {
+ val email = Email(author = author.id, id = context.email(author.id), address = address)
+ val update_author = author.copy(emails = author.emails :+ email)
+ context.update_author(update_author)
+ (update_author, email)
+ }
+
+ def get_affiliations(name_url: String, context: Context): List[Affiliation] = {
+ val (name, urls) = author_urls(name_url, context)
+ val author = context.author(name).getOrElse(error("Author not found: " + name))
+
+ urls.map { url =>
+ if (is_email(url)) {
+ val address = url.stripPrefix("mailto:")
+
+ author.emails.find(_.address == address) getOrElse
+ error("Email not found: " + (author, address))
+ }
+ else if (url.isEmpty) {
+ Unaffiliated(author.id)
+ }
+ else {
+ author.homepages.find(_.url.toString == url) getOrElse
+ error("Url not found for: " + (author, url))
+ }
+ }
+ }
+
+ def get_email_affiliation(address: String, context: Context, progress: Progress): Email = {
+ context.authors.flatMap(_.emails).find(_.address == address) match {
+ case Some(email) => email
+ case None =>
+ val name = context.name(address)
+ val author = context.author(name) match {
+ case Some(author) => author
+ case None =>
+ progress.echo_warning("New author: " + name)
+ Author(make_author_id(name, context), name, Nil, Nil)
+ }
+ add_email(author, address, context)._2
+ }
+ }
+
+ def update_author(name_urls: String, context: Context): Unit = {
+ val (name, urls) = author_urls(name_urls, context)
+ var author = context.author(name) match {
+ case Some(author) => author
+ case None => Author(make_author_id(name, context), name, Nil, Nil)
+ }
+
+ urls.foreach { url =>
+ if (is_email(url)) {
+ val address = url.stripPrefix("mailto:")
+
+ if (!author.emails.exists(_.address == address)) {
+ author = add_email(author, address, context)._1
+ }
+ }
+ else if (url.nonEmpty && !author.homepages.exists(_.url.toString == url)) {
+ val homepage = Homepage(author = author.id, id = context.homepage(author.id), url = new URL(url))
+
+ author = author.copy(homepages = author.homepages :+ homepage)
+ }
+ }
+
+ context.update_author(author)
+ }
+
+ def map_entry(
+ entry: AFP.Entry,
+ releases: Map[Entry.Name, List[Release]],
+ topics: Map[Topic.ID, Topic],
+ sitegen_ignore: Boolean,
+ context: Context,
+ progress: Progress
+ ): Entry = {
+ val author_affiliations = entry.authors.flatMap(get_affiliations(_, context))
+ val contributor_affiliations = entry.contributors.flatMap(get_affiliations(_, context))
+ val notify_emails = entry.get_strings("notify").map(get_email_affiliation(_, context, progress))
+ val change_history = parse_change_history(entry.get_string("extra-history"), context)
+ val extra = entry.metadata.filter { case (k, _) => k.startsWith("extra-") && k != "extra-history" }
+
+ Entry(
+ name = entry.name,
+ title = entry.title,
+ authors = author_affiliations,
+ date = LocalDate.from(entry.date.rep),
+ topics = entry.topics.map(topics),
+ `abstract` = entry.`abstract`,
+ notifies = notify_emails,
+ contributors = contributor_affiliations,
+ license = context.license(entry.license),
+ note = entry.get_string("note"),
+ change_history = change_history,
+ extra = extra.toMap,
+ releases = releases.getOrElse(entry.name, Nil),
+ sitegen_ignore = sitegen_ignore
+ )
+ }
+
+ def parse_change_history(history: String, context: Context): Change_History = {
+ val matches = """\[(\d{4}-\d{2}-\d{2})]:([^\[]+)""".r.findAllMatchIn(history.stripPrefix("Change history:"))
+ matches.toList.map(_.subgroups match {
+ case date :: content :: Nil => context.parse_date(date) -> content.trim
+ case _ => error("Could not parse change history: " + quote(history))
+ }).toMap
+ }
+
+ def parse_topics(lines: List[String]): List[Topic] = {
+ val lines_iterator: BufferedIterator[String] = lines.filterNot(_.isBlank).iterator.buffered
+
+ def get_indent(line: String) = line.takeWhile(_.isWhitespace).length
+
+ def parse_level(level: Int, root: Option[Topic.ID]): List[Topic] = {
+ val name = lines_iterator.next().trim
+ val id = root.map(_ + "/").getOrElse("") + name
+ val (sub_topics, next_topics) = lines_iterator.headOption match {
+ case Some(next) if get_indent(next) == level + 2 =>
+ val sub = parse_level(level + 2, Some(id))
+ val next = lines_iterator.headOption match {
+ case Some(next1) if get_indent(next1) == level => parse_level(level, root)
+ case _ => Nil
+ }
+ (sub, next)
+ case Some(next) if get_indent(next) == level =>
+ (Nil, parse_level(level, root))
+ case _ => (Nil, Nil)
+ }
+ Topic(id = id, name = name, sub_topics = sub_topics) :: next_topics
+ }
+
+ parse_level(0, None)
+ }
+
+ def parse_releases(
+ releases: List[String],
+ isabelle_releases: List[String],
+ all_entries: List[Entry.Name],
+ context: Context
+ ): List[Release] = {
+ val Isa_Release = """(.+) = (.+)""".r
+ val release_dates = isabelle_releases.filterNot(_.isBlank).map {
+ case Isa_Release(isabelle_version, date) => context.parse_date(date) -> isabelle_version
+ case line => error("Could not parse: " + quote(line))
+ }
+
+ def to_release(entry: Entry.Name, release_date: LocalDate): Release =
+ Release(entry, release_date, release_dates.findLast { case (date, _) => date.isBefore(release_date) }.get._2)
+
+ val Entry_Release = """afp-([a-zA-Z0-9_+-]+)-(\d{4}-\d{2}-\d{2})\.tar\.gz""".r
+ val entry_releases = Utils.group_sorted(
+ releases.filterNot(_.isBlank).map {
+ case Entry_Release(entry, date_string) =>
+ val date = context.parse_date(date_string)
+ entry -> to_release(entry, date)
+ case line => error("Could not parse: " + quote(line))
+ }, (e: (Entry.Name, Release)) => e._1)
+ all_entries.flatMap(e => entry_releases.getOrElse(e, Nil).map(_._2))
+ }
+
+ def migrate_metadata(
+ base_dir: Path,
+ overwrite: Boolean,
+ context: Context,
+ options: Options = Options.init(),
+ progress: Progress = new Progress()
+ ): Unit = {
+ val metadata = AFP.init(options, base_dir)
+ val metadata_dir = base_dir + Path.basic("metadata")
+
+ def read(file: Path): String =
+ File.read(metadata_dir + file)
+
+ def write(toml: TOML.T, file: Path) = {
+ val path = metadata_dir + file
+ if (!overwrite && path.file.exists) error("File already exists: " + path.file_name)
+ else path.dir.file.mkdirs()
+ File.write(path, TOML.Format(toml))
+ }
+
+
+ /* topics */
+
+ progress.echo("Parsing topics...")
+
+ val root_topics = parse_topics(split_lines(read(Path.basic("topics"))))
+
+ def sub_topics(topic: Topic): List[Topic] =
+ topic :: topic.sub_topics.flatMap(sub_topics)
+
+ val topic_map = root_topics.flatMap(sub_topics).map(topic => topic.id -> topic).toMap
+
+ write(Metadata.TOML.from_topics(root_topics), Path.basic("topics.toml"))
+
+
+ /* releases */
+
+ progress.echo("Parsing releases...")
+
+ val releases = parse_releases(
+ split_lines(read(Path.basic("releases"))),
+ split_lines(read(Path.basic("release-dates"))),
+ metadata.entries.map(_.name), context)
+ val releases_map = releases.groupBy(_.entry)
+
+ write(Metadata.TOML.from_releases(releases), Path.basic("releases.toml"))
+
+
+ /* collect authors (without notify affiliations) */
+
+ progress.echo("Collecting authors...")
+
+ for {
+ entry <- metadata.entries
+ name_url <- entry.authors ++ entry.contributors
+ } update_author(name_url, context)
+
+ /* entries */
+
+ progress.echo("Parsing entries...")
+
+ for (entry_metadata <- metadata.entries) {
+ val ignore_file = base_dir + Path.make(List("thys", entry_metadata.name, ".sitegen-ignore"))
+ val sitegen_ignore = ignore_file.file.exists
+
+ val entry = map_entry(entry_metadata, releases_map, topic_map, sitegen_ignore, context, progress)
+
+ write(Metadata.TOML.from_entry(entry), Path.make(List("entries", entry.name + ".toml")))
+ }
+
+
+ /* licenses */
+
+ write(Metadata.TOML.from_licenses(context.licenses), Path.basic("licenses.toml"))
+
+
+ /* authors */
+
+ write(Metadata.TOML.from_authors(context.authors), Path.basic("authors.toml"))
+ }
+
+ val isabelle_tool =
+ Isabelle_Tool("afp_migrate_metadata", "migrates old sitegen metadata to new format",
+ Scala_Project.here,
+ { args =>
+ var base_dir = Path.explode("$AFP_BASE")
+
+ var names = List(
+ "Lawrence C Paulson" -> "Lawrence C. Paulson",
+ "Lawrence Paulson" -> "Lawrence C. Paulson",
+ "Florian Kammueller" -> "Florian Kammüller",
+ "Jasmin Blanchette" -> "Jasmin Christian Blanchette",
+ "Ognjen Maric" -> "Ognjen Marić",
+ "Maximilian P.L. Haslbeck" -> "Maximilian P. L. Haslbeck",
+ "Maximilian Haslbeck" -> "Max W. Haslbeck",
+ "Sebastiaan Joosten" -> "Sebastiaan J. C. Joosten",
+ "Jacques Fleuriot" -> "Jacques D. Fleuriot",
+ "Jose Manuel Rodriguez Caballero" -> "José Manuel Rodríguez Caballero")
+
+ var emails = List(
+ "a.bentkamp@vu.nl" -> "Alexander Bentkamp",
+ "a.popescu@mdx.ac.uk" -> "Andrei Popescu",
+ "a.popescu@sheffield.ac.uk" -> "Andrei Popescu",
+ "afp@liftm.de" -> "Julius Michaelis",
+ "ahfrom@dtu.dk" -> "Asta Halkjær From",
+ "ak2110@cam.ac.uk" -> "Angeliki Koutsoukou-Argyraki",
+ "akihisayamada@nii.ac.jp" -> "Akihisa Yamada",
+ "aleje@dtu.dk" -> "Alexander Birch Jensen",
+ "alexander.katovsky@cantab.net" -> "Alexander Katovsky",
+ "alexander.maletzky@risc-software.at" -> "Alexander Maletzky",
+ "alexander.maletzky@risc.jku.at" -> "Alexander Maletzky",
+ "andreas.lochbihler@digitalasset.com" -> "Andreas Lochbihler",
+ "andreasvhess@gmail.com" -> "Andreas V. Hess",
+ "andschl@dtu.dk" -> "Anders Schlichtkrull",
+ "apdb3@cam.ac.uk" -> "Anthony Bordg",
+ "avigad@cmu.edu" -> "Jeremy Avigad",
+ "ballarin@in.tum.de" -> "Clemens Ballarin",
+ "bdd@liftm.de" -> "Julius Michaelis",
+ "benedikt1999@freenet.de" -> "Benedikt Stock",
+ "benblumson@gmail.com" -> "Ben Blumson",
+ "berghofe@in.tum.de" -> "Stefan Berghofer",
+ "bjbohrer@gmail.com" -> "Brandon Bohrer",
+ "boehmes@in.tum.de" -> "Sascha Böhme",
+ "brianh@cs.pdx.edu" -> "Brian Huffman",
+ "brunnerj@in.tum.de" -> "Julian Brunner",
+ "bzhan@ios.ac.cn" -> "Bohua Zhan",
+ "c.benzmueller@fu-berlin.de" -> "Christoph Benzmüller",
+ "c.benzmueller@gmail.com" -> "Christoph Benzmüller",
+ "caw77@cam.ac.uk" -> "Conrad Watt",
+ "cezary.kaliszyk@uibk.ac.at" -> "Cezary Kaliszyk",
+ "christian.sternagel@uibk.ac.at" -> "Christian Sternagel",
+ "christian.urban@kcl.ac.uk" -> "Christian Urban",
+ "cle47@cam.ac.uk" -> "Chelsea Edmonds",
+ "coglio@kestrel.edu" -> "Alessandro Coglio",
+ "corey.lewis@data61.csiro.au" -> "Corey Lewis",
+ "d1623001@s.konan-u.ac.jp" -> "Fumiya Iwama",
+ "danijela@matf.bg.ac.rs" -> "Danijela Simić",
+ "denis.lohner@kit.edu" -> "Denis Lohner",
+ "denis.nikif@gmail.com" -> "Denis Nikiforov",
+ "diego.marmsoler@tum.de" -> "Diego Marmsoler",
+ "diekmann@net.in.tum.de" -> "Cornelius Diekmann",
+ "dubut@nii.ac.jp" -> "Jérémy Dubut",
+ "eminkarayel@google.com" -> "Emin Karayel",
+ "f.smola@sms.ed.ac.uk" -> "Filip Smola",
+ "fadouaghourabi@gmail.com" -> "Fadoua Ghourabi",
+ "fimmler@andrew.cmu.edu" -> "Fabian Immler",
+ "fimmler@cs.cmu.edu" -> "Fabian Immler",
+ "fkjac@dtu.dk" -> "Frederik Krogsdal Jacobsen",
+ "florian.haftmann@informatik.tu-muenchen.de" -> "Florian Haftmann",
+ "florian.kammuller@gmail.com" -> "Florian Kammüller",
+ "friedrich.kurz@tum.de" -> "Friedrich Kurz",
+ "ftuong@lri.fr" -> "Frédéric Tuong",
+ "g.struth@dcs.shef.ac.uk" -> "Georg Struth",
+ "ggrov@inf.ed.ac.uk" -> "Gudmund Grov",
+ "giamp@dmi.unict.it" -> "Giampaolo Bella",
+ "giuliano@losa.fr" -> "Giuliano Losa",
+ "Harald.Zankl@uibk.ac.at" -> "Harald Zankl",
+ "haslbecm@in.tum.de" -> "Max W. Haslbeck",
+ "haslbema@in.tum.de" -> "Maximilian P. L. Haslbeck",
+ "heimesl@student.ethz.ch" -> "Lukas Heimes",
+ "hetzl@logic.at" -> "Stefan Hetzl",
+ "hirata.m.ac@m.titech.ac.jp" -> "Michikazu Hirata",
+ "holub@karlin.mff.cuni.cz" -> "Štěpán Holub",
+ "Ian.Hayes@itee.uq.edu.au" -> "Ian J. Hayes",
+ "isabelleopenflow@liftm.de" -> "Julius Michaelis",
+ "Jacques.Fleuriot@ed.ac.uk" -> "Jacques D. Fleuriot",
+ "jason.jaskolka@carleton.ca" -> "Jason Jaskolka",
+ "jdf@ed.ac.uk" -> "Jacques D. Fleuriot",
+ "jeremy.sylvestre@ualberta.ca" -> "Jeremy Sylvestre",
+ "jesus-maria.aransay@unirioja.es" -> "Jesús Aransay",
+ "jonas.bayer999@gmail.com" -> "Jonas Bayer",
+ "jonjulian23@gmail.com" -> "Jonathan Julian Huerta y Munive",
+ "jose.divason@unirioja.es" -> "Jose Divasón",
+ "jose.divasonm@unirioja.es" -> "Jose Divasón",
+ "joseph-thommes@gmx.de" -> "Joseph Thommes",
+ "jovi@dtu.dk" -> "Jørgen Villadsen",
+ "jsiek@indiana.edu" -> "Jeremy Siek",
+ "jsylvest@ualberta.ca" -> "Jeremy Sylvestre",
+ "julian.nagele@uibk.ac.at" -> "Julian Nagele",
+ "julian.parsert@uibk.ac.at" -> "Julian Parsert",
+ "kevin.kappelmann@tum.de" -> "Kevin Kappelmann",
+ "kkz@mit.edu" -> "Karen Zee",
+ "kleing@unsw.edu.au" -> "Gerwin Klein",
+ "krauss@in.tum.de" -> "Alexander Krauss",
+ "kreuzerk@in.tum.de" -> "Katharina Kreuzer",
+ "lars@hupel.info" -> "Lars Hupel",
+ "lcp@cl.cam.ac.uk" -> "Lawrence C. Paulson",
+ "lennart.beringer@ifi.lmu.de" -> "Lennart Beringer",
+ "liwenda1990@hotmail.com" -> "Wenda Li",
+ "m.raszyk@gmail.com" -> "Martin Raszyk",
+ "mail@andreas-lochbihler.de" -> "Andreas Lochbihler",
+ "mail@michael-herzberg.de" -> "Michael Herzberg",
+ "maintainafpppt@liftm.de" -> "Julius Michaelis",
+ "maksym.bortin@nicta.com.au" -> "Maksym Bortin",
+ "manuel.eberl@tum.de" -> "Manuel Eberl",
+ "marco.david@hotmail.de" -> "Marco David",
+ "martin.desharnais@unibw.de" -> "Martin Desharnais",
+ "mathias.fleury@jku.at" -> "Mathias Fleury",
+ "matthias.brun@inf.ethz.ch" -> "Matthias Brun",
+ "max.haslbeck@gmx.de" -> "Max W. Haslbeck",
+ "maximilian.haslbeck@uibk.ac.at" -> "Max W. Haslbeck",
+ "me@eminkarayel.de" -> "Emin Karayel",
+ "MichaelNedzelsky@yandex.ru" -> "Michael Nedzelsky",
+ "miguel.pagano@unc.edu.ar" -> "Miguel Pagano",
+ "mihailsmilehins@gmail.com" -> "Mihails Milehins",
+ "minamide@is.titech.ac.jp" -> "Yasuhiko Minamide",
+ "mnacho.echenim@univ-grenoble-alpes.fr" -> "Mnacho Echenim",
+ "mnfrd.krbr@gmail.com" -> "Manfred Kerber",
+ "mohammad.abdulaziz8@gmail.com" -> "Mohammad Abdulaziz",
+ "mohammad.abdulaziz@in.tum.de" -> "Mohammad Abdulaziz",
+ "mr644@cam.ac.uk" -> "Michael Rawson",
+ "mrtnrau@googlemail.com" -> "Martin Rau",
+ "nanjiang@whu.edu.cn" -> "Nan Jiang",
+ "Nicolas.Peltier@imag.fr" -> "Nicolas Peltier",
+ "nipkow@in.tum.de" -> "Tobias Nipkow",
+ "noschinl@gmail.com" -> "Lars Noschinski",
+ "pagano@famaf.unc.edu.ar" -> "Miguel Pagano",
+ "pc@cs.st-andrews.ac.uk" -> "Peter Chapman",
+ "peter.lammich@uni-muenster.de" -> "Peter Lammich",
+ "peter@hoefner-online.de" -> "Peter Höfner",
+ "psterraf@unc.edu.ar" -> "Pedro Sánchez Terraf",
+ "ralph.bottesch@uibk.ac.at" -> "Ralph Bottesch",
+ "reza.sefidgar@inf.ethz.ch" -> "S. Reza Sefidgar",
+ "richter@informatik.rwth-aachen.de" -> "Stefan Richter",
+ "roelofoosterhuis@gmail.com" -> "Roelof Oosterhuis",
+ "rok@strnisa.com" -> "Rok Strniša",
+ "rosskops@in.tum.de" -> "Simon Roßkopf",
+ "s.griebel@tum.de" -> "Simon Griebel",
+ "s.j.c.joosten@utwente.nl" -> "Sebastiaan J. C. Joosten",
+ "samo@dtu.dk" -> "Sebastian Mödersheim",
+ "schirmer@in.tum.de" -> "Norbert Schirmer",
+ "sidney.amani@data61.csiro.au" -> "Sidney Amani",
+ "sjcjoosten@gmail.com" -> "Sebastiaan J. C. Joosten",
+ "stepan.starosta@fit.cvut.cz" -> "Štěpán Starosta",
+ "Stephan.Merz@loria.fr" -> "Stephan Merz",
+ "sterraf@famaf.unc.edu.ar" -> "Pedro Sánchez Terraf",
+ "stourret@mpi-inf.mpg.de" -> "Sophie Tourret",
+ "stvienna@gmail.com" -> "Stephan Adelsberger",
+ "susannahej@gmail.com" -> "Susannah Mansky",
+ "tdardini@student.ethz.ch" -> "Thibault Dardinier",
+ "thibault.dardinier@inf.ethz.ch" -> "Thibault Dardinier",
+ "tim@tbrk.org" -> "Timothy Bourke",
+ "toby.murray@unimelb.edu.au" -> "Toby Murray",
+ "traytel@di.ku.dk" -> "Dmitriy Traytel",
+ "traytel@in.tum.de" -> "Dmitriy Traytel",
+ "traytel@inf.ethz.ch" -> "Dmitriy Traytel",
+ "tsato@c.titech.ac.jp" -> "Tetsuya Sato",
+ "uuomul@yahoo.com" -> "Andrei Popescu",
+ "walter.guttman@canterbury.ac.nz" -> "Walter Guttmann",
+ "walter.guttmann@canterbury.ac.nz" -> "Walter Guttmann",
+ "wimmers@in.tum.de" -> "Simon Wimmer",
+ "wl302@cam.ac.uk" -> "Wenda Li",
+ "yongkiat@cs.cmu.edu" -> "Yong Kiam Tan",
+ "Yutaka.Nagashima@data61.csiro.au" -> "Yutaka Nagashima")
+
+ var dates = List(
+ "2020-14-04" -> "2020-04-14",
+ "2020-15-04" -> "2020-04-15")
+
+ var overwrite = false
+
+ val getopts = Getopts("""
+Usage: isabelle afp_migrate_metadata [OPTIONS]
+
+ Options are:
+ -B DIR afp base dir (default "$AFP_BASE")
+ -n FROM,TO names to convert (default:
+ """ + names.mkString("\n ") +
+ """)
+ -e EMAIL,AUTHOR emails to associate (default:
+ """ + emails.mkString("\n ") +
+ """)
+ -d FROM,TO date strings to convert (default:
+ """ + dates.mkString("\n ") +
+ """)
+ -f overwrite existing
+
+ Migrates old sitegen metadata to new format.
+""",
+ "B:" -> (arg => base_dir = Path.explode(arg)),
+ "n:" -> (arg => names ::= arg.splitAt(arg.indexOf(","))),
+ "e:" -> (arg => emails ::= arg.splitAt(arg.indexOf(","))),
+ "d:" -> (arg => dates ::= arg.splitAt(arg.indexOf(","))),
+ "f" -> (_ => overwrite = true)
+ )
+
+ getopts(args)
+
+ val progress = new Console_Progress()
+
+ val context = new Context(names.toMap, emails.toMap, dates.toMap)
+
+ val options = Options.init()
+
+ migrate_metadata(
+ base_dir = base_dir,
+ context = context,
+ overwrite = overwrite,
+ options = options,
+ progress = progress)
+ }
+ )
+}
\ No newline at end of file
diff --git a/tools/migration/public_suffix_list.dat b/tools/migration/public_suffix_list.dat
new file mode 100644
--- /dev/null
+++ b/tools/migration/public_suffix_list.dat
@@ -0,0 +1,13980 @@
+// This Source Code Form is subject to the terms of the Mozilla Public
+// License, v. 2.0. If a copy of the MPL was not distributed with this
+// file, You can obtain one at https://mozilla.org/MPL/2.0/.
+
+// Please pull this list from, and only from https://publicsuffix.org/list/public_suffix_list.dat,
+// rather than any other VCS sites. Pulling from any other URL is not guaranteed to be supported.
+
+// Instructions on pulling and using this list can be found at https://publicsuffix.org/list/.
+
+// ===BEGIN ICANN DOMAINS===
+
+// ac : http://nic.ac/rules.htm
+ac
+com.ac
+edu.ac
+gov.ac
+net.ac
+mil.ac
+org.ac
+
+// ad : https://en.wikipedia.org/wiki/.ad
+ad
+nom.ad
+
+// ae : https://en.wikipedia.org/wiki/.ae
+// see also: "Domain Name Eligibility Policy" at http://www.aeda.ae/eng/aepolicy.php
+ae
+co.ae
+net.ae
+org.ae
+sch.ae
+ac.ae
+gov.ae
+mil.ae
+
+// aero : see https://www.information.aero/index.php?id=66
+aero
+accident-investigation.aero
+accident-prevention.aero
+aerobatic.aero
+aeroclub.aero
+aerodrome.aero
+agents.aero
+aircraft.aero
+airline.aero
+airport.aero
+air-surveillance.aero
+airtraffic.aero
+air-traffic-control.aero
+ambulance.aero
+amusement.aero
+association.aero
+author.aero
+ballooning.aero
+broker.aero
+caa.aero
+cargo.aero
+catering.aero
+certification.aero
+championship.aero
+charter.aero
+civilaviation.aero
+club.aero
+conference.aero
+consultant.aero
+consulting.aero
+control.aero
+council.aero
+crew.aero
+design.aero
+dgca.aero
+educator.aero
+emergency.aero
+engine.aero
+engineer.aero
+entertainment.aero
+equipment.aero
+exchange.aero
+express.aero
+federation.aero
+flight.aero
+fuel.aero
+gliding.aero
+government.aero
+groundhandling.aero
+group.aero
+hanggliding.aero
+homebuilt.aero
+insurance.aero
+journal.aero
+journalist.aero
+leasing.aero
+logistics.aero
+magazine.aero
+maintenance.aero
+media.aero
+microlight.aero
+modelling.aero
+navigation.aero
+parachuting.aero
+paragliding.aero
+passenger-association.aero
+pilot.aero
+press.aero
+production.aero
+recreation.aero
+repbody.aero
+res.aero
+research.aero
+rotorcraft.aero
+safety.aero
+scientist.aero
+services.aero
+show.aero
+skydiving.aero
+software.aero
+student.aero
+trader.aero
+trading.aero
+trainer.aero
+union.aero
+workinggroup.aero
+works.aero
+
+// af : http://www.nic.af/help.jsp
+af
+gov.af
+com.af
+org.af
+net.af
+edu.af
+
+// ag : http://www.nic.ag/prices.htm
+ag
+com.ag
+org.ag
+net.ag
+co.ag
+nom.ag
+
+// ai : http://nic.com.ai/
+ai
+off.ai
+com.ai
+net.ai
+org.ai
+
+// al : http://www.ert.gov.al/ert_alb/faq_det.html?Id=31
+al
+com.al
+edu.al
+gov.al
+mil.al
+net.al
+org.al
+
+// am : https://www.amnic.net/policy/en/Policy_EN.pdf
+am
+co.am
+com.am
+commune.am
+net.am
+org.am
+
+// ao : https://en.wikipedia.org/wiki/.ao
+// http://www.dns.ao/REGISTR.DOC
+ao
+ed.ao
+gv.ao
+og.ao
+co.ao
+pb.ao
+it.ao
+
+// aq : https://en.wikipedia.org/wiki/.aq
+aq
+
+// ar : https://nic.ar/es/nic-argentina/normativa
+ar
+bet.ar
+com.ar
+coop.ar
+edu.ar
+gob.ar
+gov.ar
+int.ar
+mil.ar
+musica.ar
+mutual.ar
+net.ar
+org.ar
+senasa.ar
+tur.ar
+
+// arpa : https://en.wikipedia.org/wiki/.arpa
+// Confirmed by registry <iana-questions@icann.org> 2008-06-18
+arpa
+e164.arpa
+in-addr.arpa
+ip6.arpa
+iris.arpa
+uri.arpa
+urn.arpa
+
+// as : https://en.wikipedia.org/wiki/.as
+as
+gov.as
+
+// asia : https://en.wikipedia.org/wiki/.asia
+asia
+
+// at : https://en.wikipedia.org/wiki/.at
+// Confirmed by registry <it@nic.at> 2008-06-17
+at
+ac.at
+co.at
+gv.at
+or.at
+sth.ac.at
+
+// au : https://en.wikipedia.org/wiki/.au
+// http://www.auda.org.au/
+au
+// 2LDs
+com.au
+net.au
+org.au
+edu.au
+gov.au
+asn.au
+id.au
+// Historic 2LDs (closed to new registration, but sites still exist)
+info.au
+conf.au
+oz.au
+// CGDNs - http://www.cgdn.org.au/
+act.au
+nsw.au
+nt.au
+qld.au
+sa.au
+tas.au
+vic.au
+wa.au
+// 3LDs
+act.edu.au
+catholic.edu.au
+// eq.edu.au - Removed at the request of the Queensland Department of Education
+nsw.edu.au
+nt.edu.au
+qld.edu.au
+sa.edu.au
+tas.edu.au
+vic.edu.au
+wa.edu.au
+// act.gov.au Bug 984824 - Removed at request of Greg Tankard
+// nsw.gov.au Bug 547985 - Removed at request of <Shae.Donelan@services.nsw.gov.au>
+// nt.gov.au Bug 940478 - Removed at request of Greg Connors <Greg.Connors@nt.gov.au>
+qld.gov.au
+sa.gov.au
+tas.gov.au
+vic.gov.au
+wa.gov.au
+// 4LDs
+// education.tas.edu.au - Removed at the request of the Department of Education Tasmania
+schools.nsw.edu.au
+
+// aw : https://en.wikipedia.org/wiki/.aw
+aw
+com.aw
+
+// ax : https://en.wikipedia.org/wiki/.ax
+ax
+
+// az : https://en.wikipedia.org/wiki/.az
+az
+com.az
+net.az
+int.az
+gov.az
+org.az
+edu.az
+info.az
+pp.az
+mil.az
+name.az
+pro.az
+biz.az
+
+// ba : http://nic.ba/users_data/files/pravilnik_o_registraciji.pdf
+ba
+com.ba
+edu.ba
+gov.ba
+mil.ba
+net.ba
+org.ba
+
+// bb : https://en.wikipedia.org/wiki/.bb
+bb
+biz.bb
+co.bb
+com.bb
+edu.bb
+gov.bb
+info.bb
+net.bb
+org.bb
+store.bb
+tv.bb
+
+// bd : https://en.wikipedia.org/wiki/.bd
+*.bd
+
+// be : https://en.wikipedia.org/wiki/.be
+// Confirmed by registry <tech@dns.be> 2008-06-08
+be
+ac.be
+
+// bf : https://en.wikipedia.org/wiki/.bf
+bf
+gov.bf
+
+// bg : https://en.wikipedia.org/wiki/.bg
+// https://www.register.bg/user/static/rules/en/index.html
+bg
+a.bg
+b.bg
+c.bg
+d.bg
+e.bg
+f.bg
+g.bg
+h.bg
+i.bg
+j.bg
+k.bg
+l.bg
+m.bg
+n.bg
+o.bg
+p.bg
+q.bg
+r.bg
+s.bg
+t.bg
+u.bg
+v.bg
+w.bg
+x.bg
+y.bg
+z.bg
+0.bg
+1.bg
+2.bg
+3.bg
+4.bg
+5.bg
+6.bg
+7.bg
+8.bg
+9.bg
+
+// bh : https://en.wikipedia.org/wiki/.bh
+bh
+com.bh
+edu.bh
+net.bh
+org.bh
+gov.bh
+
+// bi : https://en.wikipedia.org/wiki/.bi
+// http://whois.nic.bi/
+bi
+co.bi
+com.bi
+edu.bi
+or.bi
+org.bi
+
+// biz : https://en.wikipedia.org/wiki/.biz
+biz
+
+// bj : https://en.wikipedia.org/wiki/.bj
+bj
+asso.bj
+barreau.bj
+gouv.bj
+
+// bm : http://www.bermudanic.bm/dnr-text.txt
+bm
+com.bm
+edu.bm
+gov.bm
+net.bm
+org.bm
+
+// bn : http://www.bnnic.bn/faqs
+bn
+com.bn
+edu.bn
+gov.bn
+net.bn
+org.bn
+
+// bo : https://nic.bo/delegacion2015.php#h-1.10
+bo
+com.bo
+edu.bo
+gob.bo
+int.bo
+org.bo
+net.bo
+mil.bo
+tv.bo
+web.bo
+// Social Domains
+academia.bo
+agro.bo
+arte.bo
+blog.bo
+bolivia.bo
+ciencia.bo
+cooperativa.bo
+democracia.bo
+deporte.bo
+ecologia.bo
+economia.bo
+empresa.bo
+indigena.bo
+industria.bo
+info.bo
+medicina.bo
+movimiento.bo
+musica.bo
+natural.bo
+nombre.bo
+noticias.bo
+patria.bo
+politica.bo
+profesional.bo
+plurinacional.bo
+pueblo.bo
+revista.bo
+salud.bo
+tecnologia.bo
+tksat.bo
+transporte.bo
+wiki.bo
+
+// br : http://registro.br/dominio/categoria.html
+// Submitted by registry <fneves@registro.br>
+br
+9guacu.br
+abc.br
+adm.br
+adv.br
+agr.br
+aju.br
+am.br
+anani.br
+aparecida.br
+app.br
+arq.br
+art.br
+ato.br
+b.br
+barueri.br
+belem.br
+bhz.br
+bib.br
+bio.br
+blog.br
+bmd.br
+boavista.br
+bsb.br
+campinagrande.br
+campinas.br
+caxias.br
+cim.br
+cng.br
+cnt.br
+com.br
+contagem.br
+coop.br
+coz.br
+cri.br
+cuiaba.br
+curitiba.br
+def.br
+des.br
+det.br
+dev.br
+ecn.br
+eco.br
+edu.br
+emp.br
+enf.br
+eng.br
+esp.br
+etc.br
+eti.br
+far.br
+feira.br
+flog.br
+floripa.br
+fm.br
+fnd.br
+fortal.br
+fot.br
+foz.br
+fst.br
+g12.br
+geo.br
+ggf.br
+goiania.br
+gov.br
+// gov.br 26 states + df https://en.wikipedia.org/wiki/States_of_Brazil
+ac.gov.br
+al.gov.br
+am.gov.br
+ap.gov.br
+ba.gov.br
+ce.gov.br
+df.gov.br
+es.gov.br
+go.gov.br
+ma.gov.br
+mg.gov.br
+ms.gov.br
+mt.gov.br
+pa.gov.br
+pb.gov.br
+pe.gov.br
+pi.gov.br
+pr.gov.br
+rj.gov.br
+rn.gov.br
+ro.gov.br
+rr.gov.br
+rs.gov.br
+sc.gov.br
+se.gov.br
+sp.gov.br
+to.gov.br
+gru.br
+imb.br
+ind.br
+inf.br
+jab.br
+jampa.br
+jdf.br
+joinville.br
+jor.br
+jus.br
+leg.br
+lel.br
+log.br
+londrina.br
+macapa.br
+maceio.br
+manaus.br
+maringa.br
+mat.br
+med.br
+mil.br
+morena.br
+mp.br
+mus.br
+natal.br
+net.br
+niteroi.br
+*.nom.br
+not.br
+ntr.br
+odo.br
+ong.br
+org.br
+osasco.br
+palmas.br
+poa.br
+ppg.br
+pro.br
+psc.br
+psi.br
+pvh.br
+qsl.br
+radio.br
+rec.br
+recife.br
+rep.br
+ribeirao.br
+rio.br
+riobranco.br
+riopreto.br
+salvador.br
+sampa.br
+santamaria.br
+santoandre.br
+saobernardo.br
+saogonca.br
+seg.br
+sjc.br
+slg.br
+slz.br
+sorocaba.br
+srv.br
+taxi.br
+tc.br
+tec.br
+teo.br
+the.br
+tmp.br
+trd.br
+tur.br
+tv.br
+udi.br
+vet.br
+vix.br
+vlog.br
+wiki.br
+zlg.br
+
+// bs : http://www.nic.bs/rules.html
+bs
+com.bs
+net.bs
+org.bs
+edu.bs
+gov.bs
+
+// bt : https://en.wikipedia.org/wiki/.bt
+bt
+com.bt
+edu.bt
+gov.bt
+net.bt
+org.bt
+
+// bv : No registrations at this time.
+// Submitted by registry <jarle@uninett.no>
+bv
+
+// bw : https://en.wikipedia.org/wiki/.bw
+// http://www.gobin.info/domainname/bw.doc
+// list of other 2nd level tlds ?
+bw
+co.bw
+org.bw
+
+// by : https://en.wikipedia.org/wiki/.by
+// http://tld.by/rules_2006_en.html
+// list of other 2nd level tlds ?
+by
+gov.by
+mil.by
+// Official information does not indicate that com.by is a reserved
+// second-level domain, but it's being used as one (see www.google.com.by and
+// www.yahoo.com.by, for example), so we list it here for safety's sake.
+com.by
+
+// http://hoster.by/
+of.by
+
+// bz : https://en.wikipedia.org/wiki/.bz
+// http://www.belizenic.bz/
+bz
+com.bz
+net.bz
+org.bz
+edu.bz
+gov.bz
+
+// ca : https://en.wikipedia.org/wiki/.ca
+ca
+// ca geographical names
+ab.ca
+bc.ca
+mb.ca
+nb.ca
+nf.ca
+nl.ca
+ns.ca
+nt.ca
+nu.ca
+on.ca
+pe.ca
+qc.ca
+sk.ca
+yk.ca
+// gc.ca: https://en.wikipedia.org/wiki/.gc.ca
+// see also: http://registry.gc.ca/en/SubdomainFAQ
+gc.ca
+
+// cat : https://en.wikipedia.org/wiki/.cat
+cat
+
+// cc : https://en.wikipedia.org/wiki/.cc
+cc
+
+// cd : https://en.wikipedia.org/wiki/.cd
+// see also: https://www.nic.cd/domain/insertDomain_2.jsp?act=1
+cd
+gov.cd
+
+// cf : https://en.wikipedia.org/wiki/.cf
+cf
+
+// cg : https://en.wikipedia.org/wiki/.cg
+cg
+
+// ch : https://en.wikipedia.org/wiki/.ch
+ch
+
+// ci : https://en.wikipedia.org/wiki/.ci
+// http://www.nic.ci/index.php?page=charte
+ci
+org.ci
+or.ci
+com.ci
+co.ci
+edu.ci
+ed.ci
+ac.ci
+net.ci
+go.ci
+asso.ci
+aéroport.ci
+int.ci
+presse.ci
+md.ci
+gouv.ci
+
+// ck : https://en.wikipedia.org/wiki/.ck
+*.ck
+!www.ck
+
+// cl : https://www.nic.cl
+// Confirmed by .CL registry <hsalgado@nic.cl>
+cl
+co.cl
+gob.cl
+gov.cl
+mil.cl
+
+// cm : https://en.wikipedia.org/wiki/.cm plus bug 981927
+cm
+co.cm
+com.cm
+gov.cm
+net.cm
+
+// cn : https://en.wikipedia.org/wiki/.cn
+// Submitted by registry <tanyaling@cnnic.cn>
+cn
+ac.cn
+com.cn
+edu.cn
+gov.cn
+net.cn
+org.cn
+mil.cn
+公司.cn
+网络.cn
+網絡.cn
+// cn geographic names
+ah.cn
+bj.cn
+cq.cn
+fj.cn
+gd.cn
+gs.cn
+gz.cn
+gx.cn
+ha.cn
+hb.cn
+he.cn
+hi.cn
+hl.cn
+hn.cn
+jl.cn
+js.cn
+jx.cn
+ln.cn
+nm.cn
+nx.cn
+qh.cn
+sc.cn
+sd.cn
+sh.cn
+sn.cn
+sx.cn
+tj.cn
+xj.cn
+xz.cn
+yn.cn
+zj.cn
+hk.cn
+mo.cn
+tw.cn
+
+// co : https://en.wikipedia.org/wiki/.co
+// Submitted by registry <tecnico@uniandes.edu.co>
+co
+arts.co
+com.co
+edu.co
+firm.co
+gov.co
+info.co
+int.co
+mil.co
+net.co
+nom.co
+org.co
+rec.co
+web.co
+
+// com : https://en.wikipedia.org/wiki/.com
+com
+
+// coop : https://en.wikipedia.org/wiki/.coop
+coop
+
+// cr : http://www.nic.cr/niccr_publico/showRegistroDominiosScreen.do
+cr
+ac.cr
+co.cr
+ed.cr
+fi.cr
+go.cr
+or.cr
+sa.cr
+
+// cu : https://en.wikipedia.org/wiki/.cu
+cu
+com.cu
+edu.cu
+org.cu
+net.cu
+gov.cu
+inf.cu
+
+// cv : https://en.wikipedia.org/wiki/.cv
+// cv : http://www.dns.cv/tldcv_portal/do?com=DS;5446457100;111;+PAGE(4000018)+K-CAT-CODIGO(RDOM)+RCNT(100); <- registration rules
+cv
+com.cv
+edu.cv
+int.cv
+nome.cv
+org.cv
+
+// cw : http://www.una.cw/cw_registry/
+// Confirmed by registry <registry@una.net> 2013-03-26
+cw
+com.cw
+edu.cw
+net.cw
+org.cw
+
+// cx : https://en.wikipedia.org/wiki/.cx
+// list of other 2nd level tlds ?
+cx
+gov.cx
+
+// cy : http://www.nic.cy/
+// Submitted by registry Panayiotou Fotia <cydns@ucy.ac.cy>
+// namespace policies URL https://www.nic.cy/portal//sites/default/files/symfonia_gia_eggrafi.pdf
+cy
+ac.cy
+biz.cy
+com.cy
+ekloges.cy
+gov.cy
+ltd.cy
+mil.cy
+net.cy
+org.cy
+press.cy
+pro.cy
+tm.cy
+
+// cz : https://en.wikipedia.org/wiki/.cz
+cz
+
+// de : https://en.wikipedia.org/wiki/.de
+// Confirmed by registry <ops@denic.de> (with technical
+// reservations) 2008-07-01
+de
+
+// dj : https://en.wikipedia.org/wiki/.dj
+dj
+
+// dk : https://en.wikipedia.org/wiki/.dk
+// Confirmed by registry <robert@dk-hostmaster.dk> 2008-06-17
+dk
+
+// dm : https://en.wikipedia.org/wiki/.dm
+dm
+com.dm
+net.dm
+org.dm
+edu.dm
+gov.dm
+
+// do : https://en.wikipedia.org/wiki/.do
+do
+art.do
+com.do
+edu.do
+gob.do
+gov.do
+mil.do
+net.do
+org.do
+sld.do
+web.do
+
+// dz : http://www.nic.dz/images/pdf_nic/charte.pdf
+dz
+art.dz
+asso.dz
+com.dz
+edu.dz
+gov.dz
+org.dz
+net.dz
+pol.dz
+soc.dz
+tm.dz
+
+// ec : http://www.nic.ec/reg/paso1.asp
+// Submitted by registry <vabboud@nic.ec>
+ec
+com.ec
+info.ec
+net.ec
+fin.ec
+k12.ec
+med.ec
+pro.ec
+org.ec
+edu.ec
+gov.ec
+gob.ec
+mil.ec
+
+// edu : https://en.wikipedia.org/wiki/.edu
+edu
+
+// ee : http://www.eenet.ee/EENet/dom_reeglid.html#lisa_B
+ee
+edu.ee
+gov.ee
+riik.ee
+lib.ee
+med.ee
+com.ee
+pri.ee
+aip.ee
+org.ee
+fie.ee
+
+// eg : https://en.wikipedia.org/wiki/.eg
+eg
+com.eg
+edu.eg
+eun.eg
+gov.eg
+mil.eg
+name.eg
+net.eg
+org.eg
+sci.eg
+
+// er : https://en.wikipedia.org/wiki/.er
+*.er
+
+// es : https://www.nic.es/site_ingles/ingles/dominios/index.html
+es
+com.es
+nom.es
+org.es
+gob.es
+edu.es
+
+// et : https://en.wikipedia.org/wiki/.et
+et
+com.et
+gov.et
+org.et
+edu.et
+biz.et
+name.et
+info.et
+net.et
+
+// eu : https://en.wikipedia.org/wiki/.eu
+eu
+
+// fi : https://en.wikipedia.org/wiki/.fi
+fi
+// aland.fi : https://en.wikipedia.org/wiki/.ax
+// This domain is being phased out in favor of .ax. As there are still many
+// domains under aland.fi, we still keep it on the list until aland.fi is
+// completely removed.
+// TODO: Check for updates (expected to be phased out around Q1/2009)
+aland.fi
+
+// fj : http://domains.fj/
+// Submitted by registry <garth.miller@cocca.org.nz> 2020-02-11
+fj
+ac.fj
+biz.fj
+com.fj
+gov.fj
+info.fj
+mil.fj
+name.fj
+net.fj
+org.fj
+pro.fj
+
+// fk : https://en.wikipedia.org/wiki/.fk
+*.fk
+
+// fm : https://en.wikipedia.org/wiki/.fm
+com.fm
+edu.fm
+net.fm
+org.fm
+fm
+
+// fo : https://en.wikipedia.org/wiki/.fo
+fo
+
+// fr : http://www.afnic.fr/
+// domaines descriptifs : https://www.afnic.fr/medias/documents/Cadre_legal/Afnic_Naming_Policy_12122016_VEN.pdf
+fr
+asso.fr
+com.fr
+gouv.fr
+nom.fr
+prd.fr
+tm.fr
+// domaines sectoriels : https://www.afnic.fr/en/products-and-services/the-fr-tld/sector-based-fr-domains-4.html
+aeroport.fr
+avocat.fr
+avoues.fr
+cci.fr
+chambagri.fr
+chirurgiens-dentistes.fr
+experts-comptables.fr
+geometre-expert.fr
+greta.fr
+huissier-justice.fr
+medecin.fr
+notaires.fr
+pharmacien.fr
+port.fr
+veterinaire.fr
+
+// ga : https://en.wikipedia.org/wiki/.ga
+ga
+
+// gb : This registry is effectively dormant
+// Submitted by registry <Damien.Shaw@ja.net>
+gb
+
+// gd : https://en.wikipedia.org/wiki/.gd
+edu.gd
+gov.gd
+gd
+
+// ge : http://www.nic.net.ge/policy_en.pdf
+ge
+com.ge
+edu.ge
+gov.ge
+org.ge
+mil.ge
+net.ge
+pvt.ge
+
+// gf : https://en.wikipedia.org/wiki/.gf
+gf
+
+// gg : http://www.channelisles.net/register-domains/
+// Confirmed by registry <nigel@channelisles.net> 2013-11-28
+gg
+co.gg
+net.gg
+org.gg
+
+// gh : https://en.wikipedia.org/wiki/.gh
+// see also: http://www.nic.gh/reg_now.php
+// Although domains directly at second level are not possible at the moment,
+// they have been possible for some time and may come back.
+gh
+com.gh
+edu.gh
+gov.gh
+org.gh
+mil.gh
+
+// gi : http://www.nic.gi/rules.html
+gi
+com.gi
+ltd.gi
+gov.gi
+mod.gi
+edu.gi
+org.gi
+
+// gl : https://en.wikipedia.org/wiki/.gl
+// http://nic.gl
+gl
+co.gl
+com.gl
+edu.gl
+net.gl
+org.gl
+
+// gm : http://www.nic.gm/htmlpages%5Cgm-policy.htm
+gm
+
+// gn : http://psg.com/dns/gn/gn.txt
+// Submitted by registry <randy@psg.com>
+gn
+ac.gn
+com.gn
+edu.gn
+gov.gn
+org.gn
+net.gn
+
+// gov : https://en.wikipedia.org/wiki/.gov
+gov
+
+// gp : http://www.nic.gp/index.php?lang=en
+gp
+com.gp
+net.gp
+mobi.gp
+edu.gp
+org.gp
+asso.gp
+
+// gq : https://en.wikipedia.org/wiki/.gq
+gq
+
+// gr : https://grweb.ics.forth.gr/english/1617-B-2005.html
+// Submitted by registry <segred@ics.forth.gr>
+gr
+com.gr
+edu.gr
+net.gr
+org.gr
+gov.gr
+
+// gs : https://en.wikipedia.org/wiki/.gs
+gs
+
+// gt : https://www.gt/sitio/registration_policy.php?lang=en
+gt
+com.gt
+edu.gt
+gob.gt
+ind.gt
+mil.gt
+net.gt
+org.gt
+
+// gu : http://gadao.gov.gu/register.html
+// University of Guam : https://www.uog.edu
+// Submitted by uognoc@triton.uog.edu
+gu
+com.gu
+edu.gu
+gov.gu
+guam.gu
+info.gu
+net.gu
+org.gu
+web.gu
+
+// gw : https://en.wikipedia.org/wiki/.gw
+// gw : https://nic.gw/regras/
+gw
+
+// gy : https://en.wikipedia.org/wiki/.gy
+// http://registry.gy/
+gy
+co.gy
+com.gy
+edu.gy
+gov.gy
+net.gy
+org.gy
+
+// hk : https://www.hkirc.hk
+// Submitted by registry <hk.tech@hkirc.hk>
+hk
+com.hk
+edu.hk
+gov.hk
+idv.hk
+net.hk
+org.hk
+公司.hk
+教育.hk
+敎育.hk
+政府.hk
+個人.hk
+个人.hk
+箇人.hk
+網络.hk
+网络.hk
+组織.hk
+網絡.hk
+网絡.hk
+组织.hk
+組織.hk
+組织.hk
+
+// hm : https://en.wikipedia.org/wiki/.hm
+hm
+
+// hn : http://www.nic.hn/politicas/ps02,,05.html
+hn
+com.hn
+edu.hn
+org.hn
+net.hn
+mil.hn
+gob.hn
+
+// hr : http://www.dns.hr/documents/pdf/HRTLD-regulations.pdf
+hr
+iz.hr
+from.hr
+name.hr
+com.hr
+
+// ht : http://www.nic.ht/info/charte.cfm
+ht
+com.ht
+shop.ht
+firm.ht
+info.ht
+adult.ht
+net.ht
+pro.ht
+org.ht
+med.ht
+art.ht
+coop.ht
+pol.ht
+asso.ht
+edu.ht
+rel.ht
+gouv.ht
+perso.ht
+
+// hu : http://www.domain.hu/domain/English/sld.html
+// Confirmed by registry <pasztor@iszt.hu> 2008-06-12
+hu
+co.hu
+info.hu
+org.hu
+priv.hu
+sport.hu
+tm.hu
+2000.hu
+agrar.hu
+bolt.hu
+casino.hu
+city.hu
+erotica.hu
+erotika.hu
+film.hu
+forum.hu
+games.hu
+hotel.hu
+ingatlan.hu
+jogasz.hu
+konyvelo.hu
+lakas.hu
+media.hu
+news.hu
+reklam.hu
+sex.hu
+shop.hu
+suli.hu
+szex.hu
+tozsde.hu
+utazas.hu
+video.hu
+
+// id : https://pandi.id/en/domain/registration-requirements/
+id
+ac.id
+biz.id
+co.id
+desa.id
+go.id
+mil.id
+my.id
+net.id
+or.id
+ponpes.id
+sch.id
+web.id
+
+// ie : https://en.wikipedia.org/wiki/.ie
+ie
+gov.ie
+
+// il : http://www.isoc.org.il/domains/
+il
+ac.il
+co.il
+gov.il
+idf.il
+k12.il
+muni.il
+net.il
+org.il
+
+// im : https://www.nic.im/
+// Submitted by registry <info@nic.im>
+im
+ac.im
+co.im
+com.im
+ltd.co.im
+net.im
+org.im
+plc.co.im
+tt.im
+tv.im
+
+// in : https://en.wikipedia.org/wiki/.in
+// see also: https://registry.in/Policies
+// Please note, that nic.in is not an official eTLD, but used by most
+// government institutions.
+in
+co.in
+firm.in
+net.in
+org.in
+gen.in
+ind.in
+nic.in
+ac.in
+edu.in
+res.in
+gov.in
+mil.in
+
+// info : https://en.wikipedia.org/wiki/.info
+info
+
+// int : https://en.wikipedia.org/wiki/.int
+// Confirmed by registry <iana-questions@icann.org> 2008-06-18
+int
+eu.int
+
+// io : http://www.nic.io/rules.htm
+// list of other 2nd level tlds ?
+io
+com.io
+
+// iq : http://www.cmc.iq/english/iq/iqregister1.htm
+iq
+gov.iq
+edu.iq
+mil.iq
+com.iq
+org.iq
+net.iq
+
+// ir : http://www.nic.ir/Terms_and_Conditions_ir,_Appendix_1_Domain_Rules
+// Also see http://www.nic.ir/Internationalized_Domain_Names
+// Two <iran>.ir entries added at request of <tech-team@nic.ir>, 2010-04-16
+ir
+ac.ir
+co.ir
+gov.ir
+id.ir
+net.ir
+org.ir
+sch.ir
+// xn--mgba3a4f16a.ir (<iran>.ir, Persian YEH)
+ایران.ir
+// xn--mgba3a4fra.ir (<iran>.ir, Arabic YEH)
+ايران.ir
+
+// is : http://www.isnic.is/domain/rules.php
+// Confirmed by registry <marius@isgate.is> 2008-12-06
+is
+net.is
+com.is
+edu.is
+gov.is
+org.is
+int.is
+
+// it : https://en.wikipedia.org/wiki/.it
+it
+gov.it
+edu.it
+// Reserved geo-names (regions and provinces):
+// https://www.nic.it/sites/default/files/archivio/docs/Regulation_assignation_v7.1.pdf
+// Regions
+abr.it
+abruzzo.it
+aosta-valley.it
+aostavalley.it
+bas.it
+basilicata.it
+cal.it
+calabria.it
+cam.it
+campania.it
+emilia-romagna.it
+emiliaromagna.it
+emr.it
+friuli-v-giulia.it
+friuli-ve-giulia.it
+friuli-vegiulia.it
+friuli-venezia-giulia.it
+friuli-veneziagiulia.it
+friuli-vgiulia.it
+friuliv-giulia.it
+friulive-giulia.it
+friulivegiulia.it
+friulivenezia-giulia.it
+friuliveneziagiulia.it
+friulivgiulia.it
+fvg.it
+laz.it
+lazio.it
+lig.it
+liguria.it
+lom.it
+lombardia.it
+lombardy.it
+lucania.it
+mar.it
+marche.it
+mol.it
+molise.it
+piedmont.it
+piemonte.it
+pmn.it
+pug.it
+puglia.it
+sar.it
+sardegna.it
+sardinia.it
+sic.it
+sicilia.it
+sicily.it
+taa.it
+tos.it
+toscana.it
+trentin-sud-tirol.it
+trentin-süd-tirol.it
+trentin-sudtirol.it
+trentin-südtirol.it
+trentin-sued-tirol.it
+trentin-suedtirol.it
+trentino-a-adige.it
+trentino-aadige.it
+trentino-alto-adige.it
+trentino-altoadige.it
+trentino-s-tirol.it
+trentino-stirol.it
+trentino-sud-tirol.it
+trentino-süd-tirol.it
+trentino-sudtirol.it
+trentino-südtirol.it
+trentino-sued-tirol.it
+trentino-suedtirol.it
+trentino.it
+trentinoa-adige.it
+trentinoaadige.it
+trentinoalto-adige.it
+trentinoaltoadige.it
+trentinos-tirol.it
+trentinostirol.it
+trentinosud-tirol.it
+trentinosüd-tirol.it
+trentinosudtirol.it
+trentinosüdtirol.it
+trentinosued-tirol.it
+trentinosuedtirol.it
+trentinsud-tirol.it
+trentinsüd-tirol.it
+trentinsudtirol.it
+trentinsüdtirol.it
+trentinsued-tirol.it
+trentinsuedtirol.it
+tuscany.it
+umb.it
+umbria.it
+val-d-aosta.it
+val-daosta.it
+vald-aosta.it
+valdaosta.it
+valle-aosta.it
+valle-d-aosta.it
+valle-daosta.it
+valleaosta.it
+valled-aosta.it
+valledaosta.it
+vallee-aoste.it
+vallée-aoste.it
+vallee-d-aoste.it
+vallée-d-aoste.it
+valleeaoste.it
+valléeaoste.it
+valleedaoste.it
+valléedaoste.it
+vao.it
+vda.it
+ven.it
+veneto.it
+// Provinces
+ag.it
+agrigento.it
+al.it
+alessandria.it
+alto-adige.it
+altoadige.it
+an.it
+ancona.it
+andria-barletta-trani.it
+andria-trani-barletta.it
+andriabarlettatrani.it
+andriatranibarletta.it
+ao.it
+aosta.it
+aoste.it
+ap.it
+aq.it
+aquila.it
+ar.it
+arezzo.it
+ascoli-piceno.it
+ascolipiceno.it
+asti.it
+at.it
+av.it
+avellino.it
+ba.it
+balsan-sudtirol.it
+balsan-südtirol.it
+balsan-suedtirol.it
+balsan.it
+bari.it
+barletta-trani-andria.it
+barlettatraniandria.it
+belluno.it
+benevento.it
+bergamo.it
+bg.it
+bi.it
+biella.it
+bl.it
+bn.it
+bo.it
+bologna.it
+bolzano-altoadige.it
+bolzano.it
+bozen-sudtirol.it
+bozen-südtirol.it
+bozen-suedtirol.it
+bozen.it
+br.it
+brescia.it
+brindisi.it
+bs.it
+bt.it
+bulsan-sudtirol.it
+bulsan-südtirol.it
+bulsan-suedtirol.it
+bulsan.it
+bz.it
+ca.it
+cagliari.it
+caltanissetta.it
+campidano-medio.it
+campidanomedio.it
+campobasso.it
+carbonia-iglesias.it
+carboniaiglesias.it
+carrara-massa.it
+carraramassa.it
+caserta.it
+catania.it
+catanzaro.it
+cb.it
+ce.it
+cesena-forli.it
+cesena-forlì.it
+cesenaforli.it
+cesenaforlì.it
+ch.it
+chieti.it
+ci.it
+cl.it
+cn.it
+co.it
+como.it
+cosenza.it
+cr.it
+cremona.it
+crotone.it
+cs.it
+ct.it
+cuneo.it
+cz.it
+dell-ogliastra.it
+dellogliastra.it
+en.it
+enna.it
+fc.it
+fe.it
+fermo.it
+ferrara.it
+fg.it
+fi.it
+firenze.it
+florence.it
+fm.it
+foggia.it
+forli-cesena.it
+forlì-cesena.it
+forlicesena.it
+forlìcesena.it
+fr.it
+frosinone.it
+ge.it
+genoa.it
+genova.it
+go.it
+gorizia.it
+gr.it
+grosseto.it
+iglesias-carbonia.it
+iglesiascarbonia.it
+im.it
+imperia.it
+is.it
+isernia.it
+kr.it
+la-spezia.it
+laquila.it
+laspezia.it
+latina.it
+lc.it
+le.it
+lecce.it
+lecco.it
+li.it
+livorno.it
+lo.it
+lodi.it
+lt.it
+lu.it
+lucca.it
+macerata.it
+mantova.it
+massa-carrara.it
+massacarrara.it
+matera.it
+mb.it
+mc.it
+me.it
+medio-campidano.it
+mediocampidano.it
+messina.it
+mi.it
+milan.it
+milano.it
+mn.it
+mo.it
+modena.it
+monza-brianza.it
+monza-e-della-brianza.it
+monza.it
+monzabrianza.it
+monzaebrianza.it
+monzaedellabrianza.it
+ms.it
+mt.it
+na.it
+naples.it
+napoli.it
+no.it
+novara.it
+nu.it
+nuoro.it
+og.it
+ogliastra.it
+olbia-tempio.it
+olbiatempio.it
+or.it
+oristano.it
+ot.it
+pa.it
+padova.it
+padua.it
+palermo.it
+parma.it
+pavia.it
+pc.it
+pd.it
+pe.it
+perugia.it
+pesaro-urbino.it
+pesarourbino.it
+pescara.it
+pg.it
+pi.it
+piacenza.it
+pisa.it
+pistoia.it
+pn.it
+po.it
+pordenone.it
+potenza.it
+pr.it
+prato.it
+pt.it
+pu.it
+pv.it
+pz.it
+ra.it
+ragusa.it
+ravenna.it
+rc.it
+re.it
+reggio-calabria.it
+reggio-emilia.it
+reggiocalabria.it
+reggioemilia.it
+rg.it
+ri.it
+rieti.it
+rimini.it
+rm.it
+rn.it
+ro.it
+roma.it
+rome.it
+rovigo.it
+sa.it
+salerno.it
+sassari.it
+savona.it
+si.it
+siena.it
+siracusa.it
+so.it
+sondrio.it
+sp.it
+sr.it
+ss.it
+suedtirol.it
+südtirol.it
+sv.it
+ta.it
+taranto.it
+te.it
+tempio-olbia.it
+tempioolbia.it
+teramo.it
+terni.it
+tn.it
+to.it
+torino.it
+tp.it
+tr.it
+trani-andria-barletta.it
+trani-barletta-andria.it
+traniandriabarletta.it
+tranibarlettaandria.it
+trapani.it
+trento.it
+treviso.it
+trieste.it
+ts.it
+turin.it
+tv.it
+ud.it
+udine.it
+urbino-pesaro.it
+urbinopesaro.it
+va.it
+varese.it
+vb.it
+vc.it
+ve.it
+venezia.it
+venice.it
+verbania.it
+vercelli.it
+verona.it
+vi.it
+vibo-valentia.it
+vibovalentia.it
+vicenza.it
+viterbo.it
+vr.it
+vs.it
+vt.it
+vv.it
+
+// je : http://www.channelisles.net/register-domains/
+// Confirmed by registry <nigel@channelisles.net> 2013-11-28
+je
+co.je
+net.je
+org.je
+
+// jm : http://www.com.jm/register.html
+*.jm
+
+// jo : http://www.dns.jo/Registration_policy.aspx
+jo
+com.jo
+org.jo
+net.jo
+edu.jo
+sch.jo
+gov.jo
+mil.jo
+name.jo
+
+// jobs : https://en.wikipedia.org/wiki/.jobs
+jobs
+
+// jp : https://en.wikipedia.org/wiki/.jp
+// http://jprs.co.jp/en/jpdomain.html
+// Submitted by registry <info@jprs.jp>
+jp
+// jp organizational type names
+ac.jp
+ad.jp
+co.jp
+ed.jp
+go.jp
+gr.jp
+lg.jp
+ne.jp
+or.jp
+// jp prefecture type names
+aichi.jp
+akita.jp
+aomori.jp
+chiba.jp
+ehime.jp
+fukui.jp
+fukuoka.jp
+fukushima.jp
+gifu.jp
+gunma.jp
+hiroshima.jp
+hokkaido.jp
+hyogo.jp
+ibaraki.jp
+ishikawa.jp
+iwate.jp
+kagawa.jp
+kagoshima.jp
+kanagawa.jp
+kochi.jp
+kumamoto.jp
+kyoto.jp
+mie.jp
+miyagi.jp
+miyazaki.jp
+nagano.jp
+nagasaki.jp
+nara.jp
+niigata.jp
+oita.jp
+okayama.jp
+okinawa.jp
+osaka.jp
+saga.jp
+saitama.jp
+shiga.jp
+shimane.jp
+shizuoka.jp
+tochigi.jp
+tokushima.jp
+tokyo.jp
+tottori.jp
+toyama.jp
+wakayama.jp
+yamagata.jp
+yamaguchi.jp
+yamanashi.jp
+栃木.jp
+愛知.jp
+愛媛.jp
+兵庫.jp
+熊本.jp
+茨城.jp
+北海道.jp
+千葉.jp
+和歌山.jp
+長崎.jp
+長野.jp
+新潟.jp
+青森.jp
+静岡.jp
+東京.jp
+石川.jp
+埼玉.jp
+三重.jp
+京都.jp
+佐賀.jp
+大分.jp
+大阪.jp
+奈良.jp
+宮城.jp
+宮崎.jp
+富山.jp
+山口.jp
+山形.jp
+山梨.jp
+岩手.jp
+岐阜.jp
+岡山.jp
+島根.jp
+広島.jp
+徳島.jp
+沖縄.jp
+滋賀.jp
+神奈川.jp
+福井.jp
+福岡.jp
+福島.jp
+秋田.jp
+群馬.jp
+香川.jp
+高知.jp
+鳥取.jp
+鹿児島.jp
+// jp geographic type names
+// http://jprs.jp/doc/rule/saisoku-1.html
+*.kawasaki.jp
+*.kitakyushu.jp
+*.kobe.jp
+*.nagoya.jp
+*.sapporo.jp
+*.sendai.jp
+*.yokohama.jp
+!city.kawasaki.jp
+!city.kitakyushu.jp
+!city.kobe.jp
+!city.nagoya.jp
+!city.sapporo.jp
+!city.sendai.jp
+!city.yokohama.jp
+// 4th level registration
+aisai.aichi.jp
+ama.aichi.jp
+anjo.aichi.jp
+asuke.aichi.jp
+chiryu.aichi.jp
+chita.aichi.jp
+fuso.aichi.jp
+gamagori.aichi.jp
+handa.aichi.jp
+hazu.aichi.jp
+hekinan.aichi.jp
+higashiura.aichi.jp
+ichinomiya.aichi.jp
+inazawa.aichi.jp
+inuyama.aichi.jp
+isshiki.aichi.jp
+iwakura.aichi.jp
+kanie.aichi.jp
+kariya.aichi.jp
+kasugai.aichi.jp
+kira.aichi.jp
+kiyosu.aichi.jp
+komaki.aichi.jp
+konan.aichi.jp
+kota.aichi.jp
+mihama.aichi.jp
+miyoshi.aichi.jp
+nishio.aichi.jp
+nisshin.aichi.jp
+obu.aichi.jp
+oguchi.aichi.jp
+oharu.aichi.jp
+okazaki.aichi.jp
+owariasahi.aichi.jp
+seto.aichi.jp
+shikatsu.aichi.jp
+shinshiro.aichi.jp
+shitara.aichi.jp
+tahara.aichi.jp
+takahama.aichi.jp
+tobishima.aichi.jp
+toei.aichi.jp
+togo.aichi.jp
+tokai.aichi.jp
+tokoname.aichi.jp
+toyoake.aichi.jp
+toyohashi.aichi.jp
+toyokawa.aichi.jp
+toyone.aichi.jp
+toyota.aichi.jp
+tsushima.aichi.jp
+yatomi.aichi.jp
+akita.akita.jp
+daisen.akita.jp
+fujisato.akita.jp
+gojome.akita.jp
+hachirogata.akita.jp
+happou.akita.jp
+higashinaruse.akita.jp
+honjo.akita.jp
+honjyo.akita.jp
+ikawa.akita.jp
+kamikoani.akita.jp
+kamioka.akita.jp
+katagami.akita.jp
+kazuno.akita.jp
+kitaakita.akita.jp
+kosaka.akita.jp
+kyowa.akita.jp
+misato.akita.jp
+mitane.akita.jp
+moriyoshi.akita.jp
+nikaho.akita.jp
+noshiro.akita.jp
+odate.akita.jp
+oga.akita.jp
+ogata.akita.jp
+semboku.akita.jp
+yokote.akita.jp
+yurihonjo.akita.jp
+aomori.aomori.jp
+gonohe.aomori.jp
+hachinohe.aomori.jp
+hashikami.aomori.jp
+hiranai.aomori.jp
+hirosaki.aomori.jp
+itayanagi.aomori.jp
+kuroishi.aomori.jp
+misawa.aomori.jp
+mutsu.aomori.jp
+nakadomari.aomori.jp
+noheji.aomori.jp
+oirase.aomori.jp
+owani.aomori.jp
+rokunohe.aomori.jp
+sannohe.aomori.jp
+shichinohe.aomori.jp
+shingo.aomori.jp
+takko.aomori.jp
+towada.aomori.jp
+tsugaru.aomori.jp
+tsuruta.aomori.jp
+abiko.chiba.jp
+asahi.chiba.jp
+chonan.chiba.jp
+chosei.chiba.jp
+choshi.chiba.jp
+chuo.chiba.jp
+funabashi.chiba.jp
+futtsu.chiba.jp
+hanamigawa.chiba.jp
+ichihara.chiba.jp
+ichikawa.chiba.jp
+ichinomiya.chiba.jp
+inzai.chiba.jp
+isumi.chiba.jp
+kamagaya.chiba.jp
+kamogawa.chiba.jp
+kashiwa.chiba.jp
+katori.chiba.jp
+katsuura.chiba.jp
+kimitsu.chiba.jp
+kisarazu.chiba.jp
+kozaki.chiba.jp
+kujukuri.chiba.jp
+kyonan.chiba.jp
+matsudo.chiba.jp
+midori.chiba.jp
+mihama.chiba.jp
+minamiboso.chiba.jp
+mobara.chiba.jp
+mutsuzawa.chiba.jp
+nagara.chiba.jp
+nagareyama.chiba.jp
+narashino.chiba.jp
+narita.chiba.jp
+noda.chiba.jp
+oamishirasato.chiba.jp
+omigawa.chiba.jp
+onjuku.chiba.jp
+otaki.chiba.jp
+sakae.chiba.jp
+sakura.chiba.jp
+shimofusa.chiba.jp
+shirako.chiba.jp
+shiroi.chiba.jp
+shisui.chiba.jp
+sodegaura.chiba.jp
+sosa.chiba.jp
+tako.chiba.jp
+tateyama.chiba.jp
+togane.chiba.jp
+tohnosho.chiba.jp
+tomisato.chiba.jp
+urayasu.chiba.jp
+yachimata.chiba.jp
+yachiyo.chiba.jp
+yokaichiba.chiba.jp
+yokoshibahikari.chiba.jp
+yotsukaido.chiba.jp
+ainan.ehime.jp
+honai.ehime.jp
+ikata.ehime.jp
+imabari.ehime.jp
+iyo.ehime.jp
+kamijima.ehime.jp
+kihoku.ehime.jp
+kumakogen.ehime.jp
+masaki.ehime.jp
+matsuno.ehime.jp
+matsuyama.ehime.jp
+namikata.ehime.jp
+niihama.ehime.jp
+ozu.ehime.jp
+saijo.ehime.jp
+seiyo.ehime.jp
+shikokuchuo.ehime.jp
+tobe.ehime.jp
+toon.ehime.jp
+uchiko.ehime.jp
+uwajima.ehime.jp
+yawatahama.ehime.jp
+echizen.fukui.jp
+eiheiji.fukui.jp
+fukui.fukui.jp
+ikeda.fukui.jp
+katsuyama.fukui.jp
+mihama.fukui.jp
+minamiechizen.fukui.jp
+obama.fukui.jp
+ohi.fukui.jp
+ono.fukui.jp
+sabae.fukui.jp
+sakai.fukui.jp
+takahama.fukui.jp
+tsuruga.fukui.jp
+wakasa.fukui.jp
+ashiya.fukuoka.jp
+buzen.fukuoka.jp
+chikugo.fukuoka.jp
+chikuho.fukuoka.jp
+chikujo.fukuoka.jp
+chikushino.fukuoka.jp
+chikuzen.fukuoka.jp
+chuo.fukuoka.jp
+dazaifu.fukuoka.jp
+fukuchi.fukuoka.jp
+hakata.fukuoka.jp
+higashi.fukuoka.jp
+hirokawa.fukuoka.jp
+hisayama.fukuoka.jp
+iizuka.fukuoka.jp
+inatsuki.fukuoka.jp
+kaho.fukuoka.jp
+kasuga.fukuoka.jp
+kasuya.fukuoka.jp
+kawara.fukuoka.jp
+keisen.fukuoka.jp
+koga.fukuoka.jp
+kurate.fukuoka.jp
+kurogi.fukuoka.jp
+kurume.fukuoka.jp
+minami.fukuoka.jp
+miyako.fukuoka.jp
+miyama.fukuoka.jp
+miyawaka.fukuoka.jp
+mizumaki.fukuoka.jp
+munakata.fukuoka.jp
+nakagawa.fukuoka.jp
+nakama.fukuoka.jp
+nishi.fukuoka.jp
+nogata.fukuoka.jp
+ogori.fukuoka.jp
+okagaki.fukuoka.jp
+okawa.fukuoka.jp
+oki.fukuoka.jp
+omuta.fukuoka.jp
+onga.fukuoka.jp
+onojo.fukuoka.jp
+oto.fukuoka.jp
+saigawa.fukuoka.jp
+sasaguri.fukuoka.jp
+shingu.fukuoka.jp
+shinyoshitomi.fukuoka.jp
+shonai.fukuoka.jp
+soeda.fukuoka.jp
+sue.fukuoka.jp
+tachiarai.fukuoka.jp
+tagawa.fukuoka.jp
+takata.fukuoka.jp
+toho.fukuoka.jp
+toyotsu.fukuoka.jp
+tsuiki.fukuoka.jp
+ukiha.fukuoka.jp
+umi.fukuoka.jp
+usui.fukuoka.jp
+yamada.fukuoka.jp
+yame.fukuoka.jp
+yanagawa.fukuoka.jp
+yukuhashi.fukuoka.jp
+aizubange.fukushima.jp
+aizumisato.fukushima.jp
+aizuwakamatsu.fukushima.jp
+asakawa.fukushima.jp
+bandai.fukushima.jp
+date.fukushima.jp
+fukushima.fukushima.jp
+furudono.fukushima.jp
+futaba.fukushima.jp
+hanawa.fukushima.jp
+higashi.fukushima.jp
+hirata.fukushima.jp
+hirono.fukushima.jp
+iitate.fukushima.jp
+inawashiro.fukushima.jp
+ishikawa.fukushima.jp
+iwaki.fukushima.jp
+izumizaki.fukushima.jp
+kagamiishi.fukushima.jp
+kaneyama.fukushima.jp
+kawamata.fukushima.jp
+kitakata.fukushima.jp
+kitashiobara.fukushima.jp
+koori.fukushima.jp
+koriyama.fukushima.jp
+kunimi.fukushima.jp
+miharu.fukushima.jp
+mishima.fukushima.jp
+namie.fukushima.jp
+nango.fukushima.jp
+nishiaizu.fukushima.jp
+nishigo.fukushima.jp
+okuma.fukushima.jp
+omotego.fukushima.jp
+ono.fukushima.jp
+otama.fukushima.jp
+samegawa.fukushima.jp
+shimogo.fukushima.jp
+shirakawa.fukushima.jp
+showa.fukushima.jp
+soma.fukushima.jp
+sukagawa.fukushima.jp
+taishin.fukushima.jp
+tamakawa.fukushima.jp
+tanagura.fukushima.jp
+tenei.fukushima.jp
+yabuki.fukushima.jp
+yamato.fukushima.jp
+yamatsuri.fukushima.jp
+yanaizu.fukushima.jp
+yugawa.fukushima.jp
+anpachi.gifu.jp
+ena.gifu.jp
+gifu.gifu.jp
+ginan.gifu.jp
+godo.gifu.jp
+gujo.gifu.jp
+hashima.gifu.jp
+hichiso.gifu.jp
+hida.gifu.jp
+higashishirakawa.gifu.jp
+ibigawa.gifu.jp
+ikeda.gifu.jp
+kakamigahara.gifu.jp
+kani.gifu.jp
+kasahara.gifu.jp
+kasamatsu.gifu.jp
+kawaue.gifu.jp
+kitagata.gifu.jp
+mino.gifu.jp
+minokamo.gifu.jp
+mitake.gifu.jp
+mizunami.gifu.jp
+motosu.gifu.jp
+nakatsugawa.gifu.jp
+ogaki.gifu.jp
+sakahogi.gifu.jp
+seki.gifu.jp
+sekigahara.gifu.jp
+shirakawa.gifu.jp
+tajimi.gifu.jp
+takayama.gifu.jp
+tarui.gifu.jp
+toki.gifu.jp
+tomika.gifu.jp
+wanouchi.gifu.jp
+yamagata.gifu.jp
+yaotsu.gifu.jp
+yoro.gifu.jp
+annaka.gunma.jp
+chiyoda.gunma.jp
+fujioka.gunma.jp
+higashiagatsuma.gunma.jp
+isesaki.gunma.jp
+itakura.gunma.jp
+kanna.gunma.jp
+kanra.gunma.jp
+katashina.gunma.jp
+kawaba.gunma.jp
+kiryu.gunma.jp
+kusatsu.gunma.jp
+maebashi.gunma.jp
+meiwa.gunma.jp
+midori.gunma.jp
+minakami.gunma.jp
+naganohara.gunma.jp
+nakanojo.gunma.jp
+nanmoku.gunma.jp
+numata.gunma.jp
+oizumi.gunma.jp
+ora.gunma.jp
+ota.gunma.jp
+shibukawa.gunma.jp
+shimonita.gunma.jp
+shinto.gunma.jp
+showa.gunma.jp
+takasaki.gunma.jp
+takayama.gunma.jp
+tamamura.gunma.jp
+tatebayashi.gunma.jp
+tomioka.gunma.jp
+tsukiyono.gunma.jp
+tsumagoi.gunma.jp
+ueno.gunma.jp
+yoshioka.gunma.jp
+asaminami.hiroshima.jp
+daiwa.hiroshima.jp
+etajima.hiroshima.jp
+fuchu.hiroshima.jp
+fukuyama.hiroshima.jp
+hatsukaichi.hiroshima.jp
+higashihiroshima.hiroshima.jp
+hongo.hiroshima.jp
+jinsekikogen.hiroshima.jp
+kaita.hiroshima.jp
+kui.hiroshima.jp
+kumano.hiroshima.jp
+kure.hiroshima.jp
+mihara.hiroshima.jp
+miyoshi.hiroshima.jp
+naka.hiroshima.jp
+onomichi.hiroshima.jp
+osakikamijima.hiroshima.jp
+otake.hiroshima.jp
+saka.hiroshima.jp
+sera.hiroshima.jp
+seranishi.hiroshima.jp
+shinichi.hiroshima.jp
+shobara.hiroshima.jp
+takehara.hiroshima.jp
+abashiri.hokkaido.jp
+abira.hokkaido.jp
+aibetsu.hokkaido.jp
+akabira.hokkaido.jp
+akkeshi.hokkaido.jp
+asahikawa.hokkaido.jp
+ashibetsu.hokkaido.jp
+ashoro.hokkaido.jp
+assabu.hokkaido.jp
+atsuma.hokkaido.jp
+bibai.hokkaido.jp
+biei.hokkaido.jp
+bifuka.hokkaido.jp
+bihoro.hokkaido.jp
+biratori.hokkaido.jp
+chippubetsu.hokkaido.jp
+chitose.hokkaido.jp
+date.hokkaido.jp
+ebetsu.hokkaido.jp
+embetsu.hokkaido.jp
+eniwa.hokkaido.jp
+erimo.hokkaido.jp
+esan.hokkaido.jp
+esashi.hokkaido.jp
+fukagawa.hokkaido.jp
+fukushima.hokkaido.jp
+furano.hokkaido.jp
+furubira.hokkaido.jp
+haboro.hokkaido.jp
+hakodate.hokkaido.jp
+hamatonbetsu.hokkaido.jp
+hidaka.hokkaido.jp
+higashikagura.hokkaido.jp
+higashikawa.hokkaido.jp
+hiroo.hokkaido.jp
+hokuryu.hokkaido.jp
+hokuto.hokkaido.jp
+honbetsu.hokkaido.jp
+horokanai.hokkaido.jp
+horonobe.hokkaido.jp
+ikeda.hokkaido.jp
+imakane.hokkaido.jp
+ishikari.hokkaido.jp
+iwamizawa.hokkaido.jp
+iwanai.hokkaido.jp
+kamifurano.hokkaido.jp
+kamikawa.hokkaido.jp
+kamishihoro.hokkaido.jp
+kamisunagawa.hokkaido.jp
+kamoenai.hokkaido.jp
+kayabe.hokkaido.jp
+kembuchi.hokkaido.jp
+kikonai.hokkaido.jp
+kimobetsu.hokkaido.jp
+kitahiroshima.hokkaido.jp
+kitami.hokkaido.jp
+kiyosato.hokkaido.jp
+koshimizu.hokkaido.jp
+kunneppu.hokkaido.jp
+kuriyama.hokkaido.jp
+kuromatsunai.hokkaido.jp
+kushiro.hokkaido.jp
+kutchan.hokkaido.jp
+kyowa.hokkaido.jp
+mashike.hokkaido.jp
+matsumae.hokkaido.jp
+mikasa.hokkaido.jp
+minamifurano.hokkaido.jp
+mombetsu.hokkaido.jp
+moseushi.hokkaido.jp
+mukawa.hokkaido.jp
+muroran.hokkaido.jp
+naie.hokkaido.jp
+nakagawa.hokkaido.jp
+nakasatsunai.hokkaido.jp
+nakatombetsu.hokkaido.jp
+nanae.hokkaido.jp
+nanporo.hokkaido.jp
+nayoro.hokkaido.jp
+nemuro.hokkaido.jp
+niikappu.hokkaido.jp
+niki.hokkaido.jp
+nishiokoppe.hokkaido.jp
+noboribetsu.hokkaido.jp
+numata.hokkaido.jp
+obihiro.hokkaido.jp
+obira.hokkaido.jp
+oketo.hokkaido.jp
+okoppe.hokkaido.jp
+otaru.hokkaido.jp
+otobe.hokkaido.jp
+otofuke.hokkaido.jp
+otoineppu.hokkaido.jp
+oumu.hokkaido.jp
+ozora.hokkaido.jp
+pippu.hokkaido.jp
+rankoshi.hokkaido.jp
+rebun.hokkaido.jp
+rikubetsu.hokkaido.jp
+rishiri.hokkaido.jp
+rishirifuji.hokkaido.jp
+saroma.hokkaido.jp
+sarufutsu.hokkaido.jp
+shakotan.hokkaido.jp
+shari.hokkaido.jp
+shibecha.hokkaido.jp
+shibetsu.hokkaido.jp
+shikabe.hokkaido.jp
+shikaoi.hokkaido.jp
+shimamaki.hokkaido.jp
+shimizu.hokkaido.jp
+shimokawa.hokkaido.jp
+shinshinotsu.hokkaido.jp
+shintoku.hokkaido.jp
+shiranuka.hokkaido.jp
+shiraoi.hokkaido.jp
+shiriuchi.hokkaido.jp
+sobetsu.hokkaido.jp
+sunagawa.hokkaido.jp
+taiki.hokkaido.jp
+takasu.hokkaido.jp
+takikawa.hokkaido.jp
+takinoue.hokkaido.jp
+teshikaga.hokkaido.jp
+tobetsu.hokkaido.jp
+tohma.hokkaido.jp
+tomakomai.hokkaido.jp
+tomari.hokkaido.jp
+toya.hokkaido.jp
+toyako.hokkaido.jp
+toyotomi.hokkaido.jp
+toyoura.hokkaido.jp
+tsubetsu.hokkaido.jp
+tsukigata.hokkaido.jp
+urakawa.hokkaido.jp
+urausu.hokkaido.jp
+uryu.hokkaido.jp
+utashinai.hokkaido.jp
+wakkanai.hokkaido.jp
+wassamu.hokkaido.jp
+yakumo.hokkaido.jp
+yoichi.hokkaido.jp
+aioi.hyogo.jp
+akashi.hyogo.jp
+ako.hyogo.jp
+amagasaki.hyogo.jp
+aogaki.hyogo.jp
+asago.hyogo.jp
+ashiya.hyogo.jp
+awaji.hyogo.jp
+fukusaki.hyogo.jp
+goshiki.hyogo.jp
+harima.hyogo.jp
+himeji.hyogo.jp
+ichikawa.hyogo.jp
+inagawa.hyogo.jp
+itami.hyogo.jp
+kakogawa.hyogo.jp
+kamigori.hyogo.jp
+kamikawa.hyogo.jp
+kasai.hyogo.jp
+kasuga.hyogo.jp
+kawanishi.hyogo.jp
+miki.hyogo.jp
+minamiawaji.hyogo.jp
+nishinomiya.hyogo.jp
+nishiwaki.hyogo.jp
+ono.hyogo.jp
+sanda.hyogo.jp
+sannan.hyogo.jp
+sasayama.hyogo.jp
+sayo.hyogo.jp
+shingu.hyogo.jp
+shinonsen.hyogo.jp
+shiso.hyogo.jp
+sumoto.hyogo.jp
+taishi.hyogo.jp
+taka.hyogo.jp
+takarazuka.hyogo.jp
+takasago.hyogo.jp
+takino.hyogo.jp
+tamba.hyogo.jp
+tatsuno.hyogo.jp
+toyooka.hyogo.jp
+yabu.hyogo.jp
+yashiro.hyogo.jp
+yoka.hyogo.jp
+yokawa.hyogo.jp
+ami.ibaraki.jp
+asahi.ibaraki.jp
+bando.ibaraki.jp
+chikusei.ibaraki.jp
+daigo.ibaraki.jp
+fujishiro.ibaraki.jp
+hitachi.ibaraki.jp
+hitachinaka.ibaraki.jp
+hitachiomiya.ibaraki.jp
+hitachiota.ibaraki.jp
+ibaraki.ibaraki.jp
+ina.ibaraki.jp
+inashiki.ibaraki.jp
+itako.ibaraki.jp
+iwama.ibaraki.jp
+joso.ibaraki.jp
+kamisu.ibaraki.jp
+kasama.ibaraki.jp
+kashima.ibaraki.jp
+kasumigaura.ibaraki.jp
+koga.ibaraki.jp
+miho.ibaraki.jp
+mito.ibaraki.jp
+moriya.ibaraki.jp
+naka.ibaraki.jp
+namegata.ibaraki.jp
+oarai.ibaraki.jp
+ogawa.ibaraki.jp
+omitama.ibaraki.jp
+ryugasaki.ibaraki.jp
+sakai.ibaraki.jp
+sakuragawa.ibaraki.jp
+shimodate.ibaraki.jp
+shimotsuma.ibaraki.jp
+shirosato.ibaraki.jp
+sowa.ibaraki.jp
+suifu.ibaraki.jp
+takahagi.ibaraki.jp
+tamatsukuri.ibaraki.jp
+tokai.ibaraki.jp
+tomobe.ibaraki.jp
+tone.ibaraki.jp
+toride.ibaraki.jp
+tsuchiura.ibaraki.jp
+tsukuba.ibaraki.jp
+uchihara.ibaraki.jp
+ushiku.ibaraki.jp
+yachiyo.ibaraki.jp
+yamagata.ibaraki.jp
+yawara.ibaraki.jp
+yuki.ibaraki.jp
+anamizu.ishikawa.jp
+hakui.ishikawa.jp
+hakusan.ishikawa.jp
+kaga.ishikawa.jp
+kahoku.ishikawa.jp
+kanazawa.ishikawa.jp
+kawakita.ishikawa.jp
+komatsu.ishikawa.jp
+nakanoto.ishikawa.jp
+nanao.ishikawa.jp
+nomi.ishikawa.jp
+nonoichi.ishikawa.jp
+noto.ishikawa.jp
+shika.ishikawa.jp
+suzu.ishikawa.jp
+tsubata.ishikawa.jp
+tsurugi.ishikawa.jp
+uchinada.ishikawa.jp
+wajima.ishikawa.jp
+fudai.iwate.jp
+fujisawa.iwate.jp
+hanamaki.iwate.jp
+hiraizumi.iwate.jp
+hirono.iwate.jp
+ichinohe.iwate.jp
+ichinoseki.iwate.jp
+iwaizumi.iwate.jp
+iwate.iwate.jp
+joboji.iwate.jp
+kamaishi.iwate.jp
+kanegasaki.iwate.jp
+karumai.iwate.jp
+kawai.iwate.jp
+kitakami.iwate.jp
+kuji.iwate.jp
+kunohe.iwate.jp
+kuzumaki.iwate.jp
+miyako.iwate.jp
+mizusawa.iwate.jp
+morioka.iwate.jp
+ninohe.iwate.jp
+noda.iwate.jp
+ofunato.iwate.jp
+oshu.iwate.jp
+otsuchi.iwate.jp
+rikuzentakata.iwate.jp
+shiwa.iwate.jp
+shizukuishi.iwate.jp
+sumita.iwate.jp
+tanohata.iwate.jp
+tono.iwate.jp
+yahaba.iwate.jp
+yamada.iwate.jp
+ayagawa.kagawa.jp
+higashikagawa.kagawa.jp
+kanonji.kagawa.jp
+kotohira.kagawa.jp
+manno.kagawa.jp
+marugame.kagawa.jp
+mitoyo.kagawa.jp
+naoshima.kagawa.jp
+sanuki.kagawa.jp
+tadotsu.kagawa.jp
+takamatsu.kagawa.jp
+tonosho.kagawa.jp
+uchinomi.kagawa.jp
+utazu.kagawa.jp
+zentsuji.kagawa.jp
+akune.kagoshima.jp
+amami.kagoshima.jp
+hioki.kagoshima.jp
+isa.kagoshima.jp
+isen.kagoshima.jp
+izumi.kagoshima.jp
+kagoshima.kagoshima.jp
+kanoya.kagoshima.jp
+kawanabe.kagoshima.jp
+kinko.kagoshima.jp
+kouyama.kagoshima.jp
+makurazaki.kagoshima.jp
+matsumoto.kagoshima.jp
+minamitane.kagoshima.jp
+nakatane.kagoshima.jp
+nishinoomote.kagoshima.jp
+satsumasendai.kagoshima.jp
+soo.kagoshima.jp
+tarumizu.kagoshima.jp
+yusui.kagoshima.jp
+aikawa.kanagawa.jp
+atsugi.kanagawa.jp
+ayase.kanagawa.jp
+chigasaki.kanagawa.jp
+ebina.kanagawa.jp
+fujisawa.kanagawa.jp
+hadano.kanagawa.jp
+hakone.kanagawa.jp
+hiratsuka.kanagawa.jp
+isehara.kanagawa.jp
+kaisei.kanagawa.jp
+kamakura.kanagawa.jp
+kiyokawa.kanagawa.jp
+matsuda.kanagawa.jp
+minamiashigara.kanagawa.jp
+miura.kanagawa.jp
+nakai.kanagawa.jp
+ninomiya.kanagawa.jp
+odawara.kanagawa.jp
+oi.kanagawa.jp
+oiso.kanagawa.jp
+sagamihara.kanagawa.jp
+samukawa.kanagawa.jp
+tsukui.kanagawa.jp
+yamakita.kanagawa.jp
+yamato.kanagawa.jp
+yokosuka.kanagawa.jp
+yugawara.kanagawa.jp
+zama.kanagawa.jp
+zushi.kanagawa.jp
+aki.kochi.jp
+geisei.kochi.jp
+hidaka.kochi.jp
+higashitsuno.kochi.jp
+ino.kochi.jp
+kagami.kochi.jp
+kami.kochi.jp
+kitagawa.kochi.jp
+kochi.kochi.jp
+mihara.kochi.jp
+motoyama.kochi.jp
+muroto.kochi.jp
+nahari.kochi.jp
+nakamura.kochi.jp
+nankoku.kochi.jp
+nishitosa.kochi.jp
+niyodogawa.kochi.jp
+ochi.kochi.jp
+okawa.kochi.jp
+otoyo.kochi.jp
+otsuki.kochi.jp
+sakawa.kochi.jp
+sukumo.kochi.jp
+susaki.kochi.jp
+tosa.kochi.jp
+tosashimizu.kochi.jp
+toyo.kochi.jp
+tsuno.kochi.jp
+umaji.kochi.jp
+yasuda.kochi.jp
+yusuhara.kochi.jp
+amakusa.kumamoto.jp
+arao.kumamoto.jp
+aso.kumamoto.jp
+choyo.kumamoto.jp
+gyokuto.kumamoto.jp
+kamiamakusa.kumamoto.jp
+kikuchi.kumamoto.jp
+kumamoto.kumamoto.jp
+mashiki.kumamoto.jp
+mifune.kumamoto.jp
+minamata.kumamoto.jp
+minamioguni.kumamoto.jp
+nagasu.kumamoto.jp
+nishihara.kumamoto.jp
+oguni.kumamoto.jp
+ozu.kumamoto.jp
+sumoto.kumamoto.jp
+takamori.kumamoto.jp
+uki.kumamoto.jp
+uto.kumamoto.jp
+yamaga.kumamoto.jp
+yamato.kumamoto.jp
+yatsushiro.kumamoto.jp
+ayabe.kyoto.jp
+fukuchiyama.kyoto.jp
+higashiyama.kyoto.jp
+ide.kyoto.jp
+ine.kyoto.jp
+joyo.kyoto.jp
+kameoka.kyoto.jp
+kamo.kyoto.jp
+kita.kyoto.jp
+kizu.kyoto.jp
+kumiyama.kyoto.jp
+kyotamba.kyoto.jp
+kyotanabe.kyoto.jp
+kyotango.kyoto.jp
+maizuru.kyoto.jp
+minami.kyoto.jp
+minamiyamashiro.kyoto.jp
+miyazu.kyoto.jp
+muko.kyoto.jp
+nagaokakyo.kyoto.jp
+nakagyo.kyoto.jp
+nantan.kyoto.jp
+oyamazaki.kyoto.jp
+sakyo.kyoto.jp
+seika.kyoto.jp
+tanabe.kyoto.jp
+uji.kyoto.jp
+ujitawara.kyoto.jp
+wazuka.kyoto.jp
+yamashina.kyoto.jp
+yawata.kyoto.jp
+asahi.mie.jp
+inabe.mie.jp
+ise.mie.jp
+kameyama.mie.jp
+kawagoe.mie.jp
+kiho.mie.jp
+kisosaki.mie.jp
+kiwa.mie.jp
+komono.mie.jp
+kumano.mie.jp
+kuwana.mie.jp
+matsusaka.mie.jp
+meiwa.mie.jp
+mihama.mie.jp
+minamiise.mie.jp
+misugi.mie.jp
+miyama.mie.jp
+nabari.mie.jp
+shima.mie.jp
+suzuka.mie.jp
+tado.mie.jp
+taiki.mie.jp
+taki.mie.jp
+tamaki.mie.jp
+toba.mie.jp
+tsu.mie.jp
+udono.mie.jp
+ureshino.mie.jp
+watarai.mie.jp
+yokkaichi.mie.jp
+furukawa.miyagi.jp
+higashimatsushima.miyagi.jp
+ishinomaki.miyagi.jp
+iwanuma.miyagi.jp
+kakuda.miyagi.jp
+kami.miyagi.jp
+kawasaki.miyagi.jp
+marumori.miyagi.jp
+matsushima.miyagi.jp
+minamisanriku.miyagi.jp
+misato.miyagi.jp
+murata.miyagi.jp
+natori.miyagi.jp
+ogawara.miyagi.jp
+ohira.miyagi.jp
+onagawa.miyagi.jp
+osaki.miyagi.jp
+rifu.miyagi.jp
+semine.miyagi.jp
+shibata.miyagi.jp
+shichikashuku.miyagi.jp
+shikama.miyagi.jp
+shiogama.miyagi.jp
+shiroishi.miyagi.jp
+tagajo.miyagi.jp
+taiwa.miyagi.jp
+tome.miyagi.jp
+tomiya.miyagi.jp
+wakuya.miyagi.jp
+watari.miyagi.jp
+yamamoto.miyagi.jp
+zao.miyagi.jp
+aya.miyazaki.jp
+ebino.miyazaki.jp
+gokase.miyazaki.jp
+hyuga.miyazaki.jp
+kadogawa.miyazaki.jp
+kawaminami.miyazaki.jp
+kijo.miyazaki.jp
+kitagawa.miyazaki.jp
+kitakata.miyazaki.jp
+kitaura.miyazaki.jp
+kobayashi.miyazaki.jp
+kunitomi.miyazaki.jp
+kushima.miyazaki.jp
+mimata.miyazaki.jp
+miyakonojo.miyazaki.jp
+miyazaki.miyazaki.jp
+morotsuka.miyazaki.jp
+nichinan.miyazaki.jp
+nishimera.miyazaki.jp
+nobeoka.miyazaki.jp
+saito.miyazaki.jp
+shiiba.miyazaki.jp
+shintomi.miyazaki.jp
+takaharu.miyazaki.jp
+takanabe.miyazaki.jp
+takazaki.miyazaki.jp
+tsuno.miyazaki.jp
+achi.nagano.jp
+agematsu.nagano.jp
+anan.nagano.jp
+aoki.nagano.jp
+asahi.nagano.jp
+azumino.nagano.jp
+chikuhoku.nagano.jp
+chikuma.nagano.jp
+chino.nagano.jp
+fujimi.nagano.jp
+hakuba.nagano.jp
+hara.nagano.jp
+hiraya.nagano.jp
+iida.nagano.jp
+iijima.nagano.jp
+iiyama.nagano.jp
+iizuna.nagano.jp
+ikeda.nagano.jp
+ikusaka.nagano.jp
+ina.nagano.jp
+karuizawa.nagano.jp
+kawakami.nagano.jp
+kiso.nagano.jp
+kisofukushima.nagano.jp
+kitaaiki.nagano.jp
+komagane.nagano.jp
+komoro.nagano.jp
+matsukawa.nagano.jp
+matsumoto.nagano.jp
+miasa.nagano.jp
+minamiaiki.nagano.jp
+minamimaki.nagano.jp
+minamiminowa.nagano.jp
+minowa.nagano.jp
+miyada.nagano.jp
+miyota.nagano.jp
+mochizuki.nagano.jp
+nagano.nagano.jp
+nagawa.nagano.jp
+nagiso.nagano.jp
+nakagawa.nagano.jp
+nakano.nagano.jp
+nozawaonsen.nagano.jp
+obuse.nagano.jp
+ogawa.nagano.jp
+okaya.nagano.jp
+omachi.nagano.jp
+omi.nagano.jp
+ookuwa.nagano.jp
+ooshika.nagano.jp
+otaki.nagano.jp
+otari.nagano.jp
+sakae.nagano.jp
+sakaki.nagano.jp
+saku.nagano.jp
+sakuho.nagano.jp
+shimosuwa.nagano.jp
+shinanomachi.nagano.jp
+shiojiri.nagano.jp
+suwa.nagano.jp
+suzaka.nagano.jp
+takagi.nagano.jp
+takamori.nagano.jp
+takayama.nagano.jp
+tateshina.nagano.jp
+tatsuno.nagano.jp
+togakushi.nagano.jp
+togura.nagano.jp
+tomi.nagano.jp
+ueda.nagano.jp
+wada.nagano.jp
+yamagata.nagano.jp
+yamanouchi.nagano.jp
+yasaka.nagano.jp
+yasuoka.nagano.jp
+chijiwa.nagasaki.jp
+futsu.nagasaki.jp
+goto.nagasaki.jp
+hasami.nagasaki.jp
+hirado.nagasaki.jp
+iki.nagasaki.jp
+isahaya.nagasaki.jp
+kawatana.nagasaki.jp
+kuchinotsu.nagasaki.jp
+matsuura.nagasaki.jp
+nagasaki.nagasaki.jp
+obama.nagasaki.jp
+omura.nagasaki.jp
+oseto.nagasaki.jp
+saikai.nagasaki.jp
+sasebo.nagasaki.jp
+seihi.nagasaki.jp
+shimabara.nagasaki.jp
+shinkamigoto.nagasaki.jp
+togitsu.nagasaki.jp
+tsushima.nagasaki.jp
+unzen.nagasaki.jp
+ando.nara.jp
+gose.nara.jp
+heguri.nara.jp
+higashiyoshino.nara.jp
+ikaruga.nara.jp
+ikoma.nara.jp
+kamikitayama.nara.jp
+kanmaki.nara.jp
+kashiba.nara.jp
+kashihara.nara.jp
+katsuragi.nara.jp
+kawai.nara.jp
+kawakami.nara.jp
+kawanishi.nara.jp
+koryo.nara.jp
+kurotaki.nara.jp
+mitsue.nara.jp
+miyake.nara.jp
+nara.nara.jp
+nosegawa.nara.jp
+oji.nara.jp
+ouda.nara.jp
+oyodo.nara.jp
+sakurai.nara.jp
+sango.nara.jp
+shimoichi.nara.jp
+shimokitayama.nara.jp
+shinjo.nara.jp
+soni.nara.jp
+takatori.nara.jp
+tawaramoto.nara.jp
+tenkawa.nara.jp
+tenri.nara.jp
+uda.nara.jp
+yamatokoriyama.nara.jp
+yamatotakada.nara.jp
+yamazoe.nara.jp
+yoshino.nara.jp
+aga.niigata.jp
+agano.niigata.jp
+gosen.niigata.jp
+itoigawa.niigata.jp
+izumozaki.niigata.jp
+joetsu.niigata.jp
+kamo.niigata.jp
+kariwa.niigata.jp
+kashiwazaki.niigata.jp
+minamiuonuma.niigata.jp
+mitsuke.niigata.jp
+muika.niigata.jp
+murakami.niigata.jp
+myoko.niigata.jp
+nagaoka.niigata.jp
+niigata.niigata.jp
+ojiya.niigata.jp
+omi.niigata.jp
+sado.niigata.jp
+sanjo.niigata.jp
+seiro.niigata.jp
+seirou.niigata.jp
+sekikawa.niigata.jp
+shibata.niigata.jp
+tagami.niigata.jp
+tainai.niigata.jp
+tochio.niigata.jp
+tokamachi.niigata.jp
+tsubame.niigata.jp
+tsunan.niigata.jp
+uonuma.niigata.jp
+yahiko.niigata.jp
+yoita.niigata.jp
+yuzawa.niigata.jp
+beppu.oita.jp
+bungoono.oita.jp
+bungotakada.oita.jp
+hasama.oita.jp
+hiji.oita.jp
+himeshima.oita.jp
+hita.oita.jp
+kamitsue.oita.jp
+kokonoe.oita.jp
+kuju.oita.jp
+kunisaki.oita.jp
+kusu.oita.jp
+oita.oita.jp
+saiki.oita.jp
+taketa.oita.jp
+tsukumi.oita.jp
+usa.oita.jp
+usuki.oita.jp
+yufu.oita.jp
+akaiwa.okayama.jp
+asakuchi.okayama.jp
+bizen.okayama.jp
+hayashima.okayama.jp
+ibara.okayama.jp
+kagamino.okayama.jp
+kasaoka.okayama.jp
+kibichuo.okayama.jp
+kumenan.okayama.jp
+kurashiki.okayama.jp
+maniwa.okayama.jp
+misaki.okayama.jp
+nagi.okayama.jp
+niimi.okayama.jp
+nishiawakura.okayama.jp
+okayama.okayama.jp
+satosho.okayama.jp
+setouchi.okayama.jp
+shinjo.okayama.jp
+shoo.okayama.jp
+soja.okayama.jp
+takahashi.okayama.jp
+tamano.okayama.jp
+tsuyama.okayama.jp
+wake.okayama.jp
+yakage.okayama.jp
+aguni.okinawa.jp
+ginowan.okinawa.jp
+ginoza.okinawa.jp
+gushikami.okinawa.jp
+haebaru.okinawa.jp
+higashi.okinawa.jp
+hirara.okinawa.jp
+iheya.okinawa.jp
+ishigaki.okinawa.jp
+ishikawa.okinawa.jp
+itoman.okinawa.jp
+izena.okinawa.jp
+kadena.okinawa.jp
+kin.okinawa.jp
+kitadaito.okinawa.jp
+kitanakagusuku.okinawa.jp
+kumejima.okinawa.jp
+kunigami.okinawa.jp
+minamidaito.okinawa.jp
+motobu.okinawa.jp
+nago.okinawa.jp
+naha.okinawa.jp
+nakagusuku.okinawa.jp
+nakijin.okinawa.jp
+nanjo.okinawa.jp
+nishihara.okinawa.jp
+ogimi.okinawa.jp
+okinawa.okinawa.jp
+onna.okinawa.jp
+shimoji.okinawa.jp
+taketomi.okinawa.jp
+tarama.okinawa.jp
+tokashiki.okinawa.jp
+tomigusuku.okinawa.jp
+tonaki.okinawa.jp
+urasoe.okinawa.jp
+uruma.okinawa.jp
+yaese.okinawa.jp
+yomitan.okinawa.jp
+yonabaru.okinawa.jp
+yonaguni.okinawa.jp
+zamami.okinawa.jp
+abeno.osaka.jp
+chihayaakasaka.osaka.jp
+chuo.osaka.jp
+daito.osaka.jp
+fujiidera.osaka.jp
+habikino.osaka.jp
+hannan.osaka.jp
+higashiosaka.osaka.jp
+higashisumiyoshi.osaka.jp
+higashiyodogawa.osaka.jp
+hirakata.osaka.jp
+ibaraki.osaka.jp
+ikeda.osaka.jp
+izumi.osaka.jp
+izumiotsu.osaka.jp
+izumisano.osaka.jp
+kadoma.osaka.jp
+kaizuka.osaka.jp
+kanan.osaka.jp
+kashiwara.osaka.jp
+katano.osaka.jp
+kawachinagano.osaka.jp
+kishiwada.osaka.jp
+kita.osaka.jp
+kumatori.osaka.jp
+matsubara.osaka.jp
+minato.osaka.jp
+minoh.osaka.jp
+misaki.osaka.jp
+moriguchi.osaka.jp
+neyagawa.osaka.jp
+nishi.osaka.jp
+nose.osaka.jp
+osakasayama.osaka.jp
+sakai.osaka.jp
+sayama.osaka.jp
+sennan.osaka.jp
+settsu.osaka.jp
+shijonawate.osaka.jp
+shimamoto.osaka.jp
+suita.osaka.jp
+tadaoka.osaka.jp
+taishi.osaka.jp
+tajiri.osaka.jp
+takaishi.osaka.jp
+takatsuki.osaka.jp
+tondabayashi.osaka.jp
+toyonaka.osaka.jp
+toyono.osaka.jp
+yao.osaka.jp
+ariake.saga.jp
+arita.saga.jp
+fukudomi.saga.jp
+genkai.saga.jp
+hamatama.saga.jp
+hizen.saga.jp
+imari.saga.jp
+kamimine.saga.jp
+kanzaki.saga.jp
+karatsu.saga.jp
+kashima.saga.jp
+kitagata.saga.jp
+kitahata.saga.jp
+kiyama.saga.jp
+kouhoku.saga.jp
+kyuragi.saga.jp
+nishiarita.saga.jp
+ogi.saga.jp
+omachi.saga.jp
+ouchi.saga.jp
+saga.saga.jp
+shiroishi.saga.jp
+taku.saga.jp
+tara.saga.jp
+tosu.saga.jp
+yoshinogari.saga.jp
+arakawa.saitama.jp
+asaka.saitama.jp
+chichibu.saitama.jp
+fujimi.saitama.jp
+fujimino.saitama.jp
+fukaya.saitama.jp
+hanno.saitama.jp
+hanyu.saitama.jp
+hasuda.saitama.jp
+hatogaya.saitama.jp
+hatoyama.saitama.jp
+hidaka.saitama.jp
+higashichichibu.saitama.jp
+higashimatsuyama.saitama.jp
+honjo.saitama.jp
+ina.saitama.jp
+iruma.saitama.jp
+iwatsuki.saitama.jp
+kamiizumi.saitama.jp
+kamikawa.saitama.jp
+kamisato.saitama.jp
+kasukabe.saitama.jp
+kawagoe.saitama.jp
+kawaguchi.saitama.jp
+kawajima.saitama.jp
+kazo.saitama.jp
+kitamoto.saitama.jp
+koshigaya.saitama.jp
+kounosu.saitama.jp
+kuki.saitama.jp
+kumagaya.saitama.jp
+matsubushi.saitama.jp
+minano.saitama.jp
+misato.saitama.jp
+miyashiro.saitama.jp
+miyoshi.saitama.jp
+moroyama.saitama.jp
+nagatoro.saitama.jp
+namegawa.saitama.jp
+niiza.saitama.jp
+ogano.saitama.jp
+ogawa.saitama.jp
+ogose.saitama.jp
+okegawa.saitama.jp
+omiya.saitama.jp
+otaki.saitama.jp
+ranzan.saitama.jp
+ryokami.saitama.jp
+saitama.saitama.jp
+sakado.saitama.jp
+satte.saitama.jp
+sayama.saitama.jp
+shiki.saitama.jp
+shiraoka.saitama.jp
+soka.saitama.jp
+sugito.saitama.jp
+toda.saitama.jp
+tokigawa.saitama.jp
+tokorozawa.saitama.jp
+tsurugashima.saitama.jp
+urawa.saitama.jp
+warabi.saitama.jp
+yashio.saitama.jp
+yokoze.saitama.jp
+yono.saitama.jp
+yorii.saitama.jp
+yoshida.saitama.jp
+yoshikawa.saitama.jp
+yoshimi.saitama.jp
+aisho.shiga.jp
+gamo.shiga.jp
+higashiomi.shiga.jp
+hikone.shiga.jp
+koka.shiga.jp
+konan.shiga.jp
+kosei.shiga.jp
+koto.shiga.jp
+kusatsu.shiga.jp
+maibara.shiga.jp
+moriyama.shiga.jp
+nagahama.shiga.jp
+nishiazai.shiga.jp
+notogawa.shiga.jp
+omihachiman.shiga.jp
+otsu.shiga.jp
+ritto.shiga.jp
+ryuoh.shiga.jp
+takashima.shiga.jp
+takatsuki.shiga.jp
+torahime.shiga.jp
+toyosato.shiga.jp
+yasu.shiga.jp
+akagi.shimane.jp
+ama.shimane.jp
+gotsu.shimane.jp
+hamada.shimane.jp
+higashiizumo.shimane.jp
+hikawa.shimane.jp
+hikimi.shimane.jp
+izumo.shimane.jp
+kakinoki.shimane.jp
+masuda.shimane.jp
+matsue.shimane.jp
+misato.shimane.jp
+nishinoshima.shimane.jp
+ohda.shimane.jp
+okinoshima.shimane.jp
+okuizumo.shimane.jp
+shimane.shimane.jp
+tamayu.shimane.jp
+tsuwano.shimane.jp
+unnan.shimane.jp
+yakumo.shimane.jp
+yasugi.shimane.jp
+yatsuka.shimane.jp
+arai.shizuoka.jp
+atami.shizuoka.jp
+fuji.shizuoka.jp
+fujieda.shizuoka.jp
+fujikawa.shizuoka.jp
+fujinomiya.shizuoka.jp
+fukuroi.shizuoka.jp
+gotemba.shizuoka.jp
+haibara.shizuoka.jp
+hamamatsu.shizuoka.jp
+higashiizu.shizuoka.jp
+ito.shizuoka.jp
+iwata.shizuoka.jp
+izu.shizuoka.jp
+izunokuni.shizuoka.jp
+kakegawa.shizuoka.jp
+kannami.shizuoka.jp
+kawanehon.shizuoka.jp
+kawazu.shizuoka.jp
+kikugawa.shizuoka.jp
+kosai.shizuoka.jp
+makinohara.shizuoka.jp
+matsuzaki.shizuoka.jp
+minamiizu.shizuoka.jp
+mishima.shizuoka.jp
+morimachi.shizuoka.jp
+nishiizu.shizuoka.jp
+numazu.shizuoka.jp
+omaezaki.shizuoka.jp
+shimada.shizuoka.jp
+shimizu.shizuoka.jp
+shimoda.shizuoka.jp
+shizuoka.shizuoka.jp
+susono.shizuoka.jp
+yaizu.shizuoka.jp
+yoshida.shizuoka.jp
+ashikaga.tochigi.jp
+bato.tochigi.jp
+haga.tochigi.jp
+ichikai.tochigi.jp
+iwafune.tochigi.jp
+kaminokawa.tochigi.jp
+kanuma.tochigi.jp
+karasuyama.tochigi.jp
+kuroiso.tochigi.jp
+mashiko.tochigi.jp
+mibu.tochigi.jp
+moka.tochigi.jp
+motegi.tochigi.jp
+nasu.tochigi.jp
+nasushiobara.tochigi.jp
+nikko.tochigi.jp
+nishikata.tochigi.jp
+nogi.tochigi.jp
+ohira.tochigi.jp
+ohtawara.tochigi.jp
+oyama.tochigi.jp
+sakura.tochigi.jp
+sano.tochigi.jp
+shimotsuke.tochigi.jp
+shioya.tochigi.jp
+takanezawa.tochigi.jp
+tochigi.tochigi.jp
+tsuga.tochigi.jp
+ujiie.tochigi.jp
+utsunomiya.tochigi.jp
+yaita.tochigi.jp
+aizumi.tokushima.jp
+anan.tokushima.jp
+ichiba.tokushima.jp
+itano.tokushima.jp
+kainan.tokushima.jp
+komatsushima.tokushima.jp
+matsushige.tokushima.jp
+mima.tokushima.jp
+minami.tokushima.jp
+miyoshi.tokushima.jp
+mugi.tokushima.jp
+nakagawa.tokushima.jp
+naruto.tokushima.jp
+sanagochi.tokushima.jp
+shishikui.tokushima.jp
+tokushima.tokushima.jp
+wajiki.tokushima.jp
+adachi.tokyo.jp
+akiruno.tokyo.jp
+akishima.tokyo.jp
+aogashima.tokyo.jp
+arakawa.tokyo.jp
+bunkyo.tokyo.jp
+chiyoda.tokyo.jp
+chofu.tokyo.jp
+chuo.tokyo.jp
+edogawa.tokyo.jp
+fuchu.tokyo.jp
+fussa.tokyo.jp
+hachijo.tokyo.jp
+hachioji.tokyo.jp
+hamura.tokyo.jp
+higashikurume.tokyo.jp
+higashimurayama.tokyo.jp
+higashiyamato.tokyo.jp
+hino.tokyo.jp
+hinode.tokyo.jp
+hinohara.tokyo.jp
+inagi.tokyo.jp
+itabashi.tokyo.jp
+katsushika.tokyo.jp
+kita.tokyo.jp
+kiyose.tokyo.jp
+kodaira.tokyo.jp
+koganei.tokyo.jp
+kokubunji.tokyo.jp
+komae.tokyo.jp
+koto.tokyo.jp
+kouzushima.tokyo.jp
+kunitachi.tokyo.jp
+machida.tokyo.jp
+meguro.tokyo.jp
+minato.tokyo.jp
+mitaka.tokyo.jp
+mizuho.tokyo.jp
+musashimurayama.tokyo.jp
+musashino.tokyo.jp
+nakano.tokyo.jp
+nerima.tokyo.jp
+ogasawara.tokyo.jp
+okutama.tokyo.jp
+ome.tokyo.jp
+oshima.tokyo.jp
+ota.tokyo.jp
+setagaya.tokyo.jp
+shibuya.tokyo.jp
+shinagawa.tokyo.jp
+shinjuku.tokyo.jp
+suginami.tokyo.jp
+sumida.tokyo.jp
+tachikawa.tokyo.jp
+taito.tokyo.jp
+tama.tokyo.jp
+toshima.tokyo.jp
+chizu.tottori.jp
+hino.tottori.jp
+kawahara.tottori.jp
+koge.tottori.jp
+kotoura.tottori.jp
+misasa.tottori.jp
+nanbu.tottori.jp
+nichinan.tottori.jp
+sakaiminato.tottori.jp
+tottori.tottori.jp
+wakasa.tottori.jp
+yazu.tottori.jp
+yonago.tottori.jp
+asahi.toyama.jp
+fuchu.toyama.jp
+fukumitsu.toyama.jp
+funahashi.toyama.jp
+himi.toyama.jp
+imizu.toyama.jp
+inami.toyama.jp
+johana.toyama.jp
+kamiichi.toyama.jp
+kurobe.toyama.jp
+nakaniikawa.toyama.jp
+namerikawa.toyama.jp
+nanto.toyama.jp
+nyuzen.toyama.jp
+oyabe.toyama.jp
+taira.toyama.jp
+takaoka.toyama.jp
+tateyama.toyama.jp
+toga.toyama.jp
+tonami.toyama.jp
+toyama.toyama.jp
+unazuki.toyama.jp
+uozu.toyama.jp
+yamada.toyama.jp
+arida.wakayama.jp
+aridagawa.wakayama.jp
+gobo.wakayama.jp
+hashimoto.wakayama.jp
+hidaka.wakayama.jp
+hirogawa.wakayama.jp
+inami.wakayama.jp
+iwade.wakayama.jp
+kainan.wakayama.jp
+kamitonda.wakayama.jp
+katsuragi.wakayama.jp
+kimino.wakayama.jp
+kinokawa.wakayama.jp
+kitayama.wakayama.jp
+koya.wakayama.jp
+koza.wakayama.jp
+kozagawa.wakayama.jp
+kudoyama.wakayama.jp
+kushimoto.wakayama.jp
+mihama.wakayama.jp
+misato.wakayama.jp
+nachikatsuura.wakayama.jp
+shingu.wakayama.jp
+shirahama.wakayama.jp
+taiji.wakayama.jp
+tanabe.wakayama.jp
+wakayama.wakayama.jp
+yuasa.wakayama.jp
+yura.wakayama.jp
+asahi.yamagata.jp
+funagata.yamagata.jp
+higashine.yamagata.jp
+iide.yamagata.jp
+kahoku.yamagata.jp
+kaminoyama.yamagata.jp
+kaneyama.yamagata.jp
+kawanishi.yamagata.jp
+mamurogawa.yamagata.jp
+mikawa.yamagata.jp
+murayama.yamagata.jp
+nagai.yamagata.jp
+nakayama.yamagata.jp
+nanyo.yamagata.jp
+nishikawa.yamagata.jp
+obanazawa.yamagata.jp
+oe.yamagata.jp
+oguni.yamagata.jp
+ohkura.yamagata.jp
+oishida.yamagata.jp
+sagae.yamagata.jp
+sakata.yamagata.jp
+sakegawa.yamagata.jp
+shinjo.yamagata.jp
+shirataka.yamagata.jp
+shonai.yamagata.jp
+takahata.yamagata.jp
+tendo.yamagata.jp
+tozawa.yamagata.jp
+tsuruoka.yamagata.jp
+yamagata.yamagata.jp
+yamanobe.yamagata.jp
+yonezawa.yamagata.jp
+yuza.yamagata.jp
+abu.yamaguchi.jp
+hagi.yamaguchi.jp
+hikari.yamaguchi.jp
+hofu.yamaguchi.jp
+iwakuni.yamaguchi.jp
+kudamatsu.yamaguchi.jp
+mitou.yamaguchi.jp
+nagato.yamaguchi.jp
+oshima.yamaguchi.jp
+shimonoseki.yamaguchi.jp
+shunan.yamaguchi.jp
+tabuse.yamaguchi.jp
+tokuyama.yamaguchi.jp
+toyota.yamaguchi.jp
+ube.yamaguchi.jp
+yuu.yamaguchi.jp
+chuo.yamanashi.jp
+doshi.yamanashi.jp
+fuefuki.yamanashi.jp
+fujikawa.yamanashi.jp
+fujikawaguchiko.yamanashi.jp
+fujiyoshida.yamanashi.jp
+hayakawa.yamanashi.jp
+hokuto.yamanashi.jp
+ichikawamisato.yamanashi.jp
+kai.yamanashi.jp
+kofu.yamanashi.jp
+koshu.yamanashi.jp
+kosuge.yamanashi.jp
+minami-alps.yamanashi.jp
+minobu.yamanashi.jp
+nakamichi.yamanashi.jp
+nanbu.yamanashi.jp
+narusawa.yamanashi.jp
+nirasaki.yamanashi.jp
+nishikatsura.yamanashi.jp
+oshino.yamanashi.jp
+otsuki.yamanashi.jp
+showa.yamanashi.jp
+tabayama.yamanashi.jp
+tsuru.yamanashi.jp
+uenohara.yamanashi.jp
+yamanakako.yamanashi.jp
+yamanashi.yamanashi.jp
+
+// ke : http://www.kenic.or.ke/index.php/en/ke-domains/ke-domains
+ke
+ac.ke
+co.ke
+go.ke
+info.ke
+me.ke
+mobi.ke
+ne.ke
+or.ke
+sc.ke
+
+// kg : http://www.domain.kg/dmn_n.html
+kg
+org.kg
+net.kg
+com.kg
+edu.kg
+gov.kg
+mil.kg
+
+// kh : http://www.mptc.gov.kh/dns_registration.htm
+*.kh
+
+// ki : http://www.ki/dns/index.html
+ki
+edu.ki
+biz.ki
+net.ki
+org.ki
+gov.ki
+info.ki
+com.ki
+
+// km : https://en.wikipedia.org/wiki/.km
+// http://www.domaine.km/documents/charte.doc
+km
+org.km
+nom.km
+gov.km
+prd.km
+tm.km
+edu.km
+mil.km
+ass.km
+com.km
+// These are only mentioned as proposed suggestions at domaine.km, but
+// https://en.wikipedia.org/wiki/.km says they're available for registration:
+coop.km
+asso.km
+presse.km
+medecin.km
+notaires.km
+pharmaciens.km
+veterinaire.km
+gouv.km
+
+// kn : https://en.wikipedia.org/wiki/.kn
+// http://www.dot.kn/domainRules.html
+kn
+net.kn
+org.kn
+edu.kn
+gov.kn
+
+// kp : http://www.kcce.kp/en_index.php
+kp
+com.kp
+edu.kp
+gov.kp
+org.kp
+rep.kp
+tra.kp
+
+// kr : https://en.wikipedia.org/wiki/.kr
+// see also: http://domain.nida.or.kr/eng/registration.jsp
+kr
+ac.kr
+co.kr
+es.kr
+go.kr
+hs.kr
+kg.kr
+mil.kr
+ms.kr
+ne.kr
+or.kr
+pe.kr
+re.kr
+sc.kr
+// kr geographical names
+busan.kr
+chungbuk.kr
+chungnam.kr
+daegu.kr
+daejeon.kr
+gangwon.kr
+gwangju.kr
+gyeongbuk.kr
+gyeonggi.kr
+gyeongnam.kr
+incheon.kr
+jeju.kr
+jeonbuk.kr
+jeonnam.kr
+seoul.kr
+ulsan.kr
+
+// kw : https://www.nic.kw/policies/
+// Confirmed by registry <nic.tech@citra.gov.kw>
+kw
+com.kw
+edu.kw
+emb.kw
+gov.kw
+ind.kw
+net.kw
+org.kw
+
+// ky : http://www.icta.ky/da_ky_reg_dom.php
+// Confirmed by registry <kysupport@perimeterusa.com> 2008-06-17
+ky
+com.ky
+edu.ky
+net.ky
+org.ky
+
+// kz : https://en.wikipedia.org/wiki/.kz
+// see also: http://www.nic.kz/rules/index.jsp
+kz
+org.kz
+edu.kz
+net.kz
+gov.kz
+mil.kz
+com.kz
+
+// la : https://en.wikipedia.org/wiki/.la
+// Submitted by registry <gavin.brown@nic.la>
+la
+int.la
+net.la
+info.la
+edu.la
+gov.la
+per.la
+com.la
+org.la
+
+// lb : https://en.wikipedia.org/wiki/.lb
+// Submitted by registry <randy@psg.com>
+lb
+com.lb
+edu.lb
+gov.lb
+net.lb
+org.lb
+
+// lc : https://en.wikipedia.org/wiki/.lc
+// see also: http://www.nic.lc/rules.htm
+lc
+com.lc
+net.lc
+co.lc
+org.lc
+edu.lc
+gov.lc
+
+// li : https://en.wikipedia.org/wiki/.li
+li
+
+// lk : https://www.nic.lk/index.php/domain-registration/lk-domain-naming-structure
+lk
+gov.lk
+sch.lk
+net.lk
+int.lk
+com.lk
+org.lk
+edu.lk
+ngo.lk
+soc.lk
+web.lk
+ltd.lk
+assn.lk
+grp.lk
+hotel.lk
+ac.lk
+
+// lr : http://psg.com/dns/lr/lr.txt
+// Submitted by registry <randy@psg.com>
+lr
+com.lr
+edu.lr
+gov.lr
+org.lr
+net.lr
+
+// ls : http://www.nic.ls/
+// Confirmed by registry <lsadmin@nic.ls>
+ls
+ac.ls
+biz.ls
+co.ls
+edu.ls
+gov.ls
+info.ls
+net.ls
+org.ls
+sc.ls
+
+// lt : https://en.wikipedia.org/wiki/.lt
+lt
+// gov.lt : http://www.gov.lt/index_en.php
+gov.lt
+
+// lu : http://www.dns.lu/en/
+lu
+
+// lv : http://www.nic.lv/DNS/En/generic.php
+lv
+com.lv
+edu.lv
+gov.lv
+org.lv
+mil.lv
+id.lv
+net.lv
+asn.lv
+conf.lv
+
+// ly : http://www.nic.ly/regulations.php
+ly
+com.ly
+net.ly
+gov.ly
+plc.ly
+edu.ly
+sch.ly
+med.ly
+org.ly
+id.ly
+
+// ma : https://en.wikipedia.org/wiki/.ma
+// http://www.anrt.ma/fr/admin/download/upload/file_fr782.pdf
+ma
+co.ma
+net.ma
+gov.ma
+org.ma
+ac.ma
+press.ma
+
+// mc : http://www.nic.mc/
+mc
+tm.mc
+asso.mc
+
+// md : https://en.wikipedia.org/wiki/.md
+md
+
+// me : https://en.wikipedia.org/wiki/.me
+me
+co.me
+net.me
+org.me
+edu.me
+ac.me
+gov.me
+its.me
+priv.me
+
+// mg : http://nic.mg/nicmg/?page_id=39
+mg
+org.mg
+nom.mg
+gov.mg
+prd.mg
+tm.mg
+edu.mg
+mil.mg
+com.mg
+co.mg
+
+// mh : https://en.wikipedia.org/wiki/.mh
+mh
+
+// mil : https://en.wikipedia.org/wiki/.mil
+mil
+
+// mk : https://en.wikipedia.org/wiki/.mk
+// see also: http://dns.marnet.net.mk/postapka.php
+mk
+com.mk
+org.mk
+net.mk
+edu.mk
+gov.mk
+inf.mk
+name.mk
+
+// ml : http://www.gobin.info/domainname/ml-template.doc
+// see also: https://en.wikipedia.org/wiki/.ml
+ml
+com.ml
+edu.ml
+gouv.ml
+gov.ml
+net.ml
+org.ml
+presse.ml
+
+// mm : https://en.wikipedia.org/wiki/.mm
+*.mm
+
+// mn : https://en.wikipedia.org/wiki/.mn
+mn
+gov.mn
+edu.mn
+org.mn
+
+// mo : http://www.monic.net.mo/
+mo
+com.mo
+net.mo
+org.mo
+edu.mo
+gov.mo
+
+// mobi : https://en.wikipedia.org/wiki/.mobi
+mobi
+
+// mp : http://www.dot.mp/
+// Confirmed by registry <dcamacho@saipan.com> 2008-06-17
+mp
+
+// mq : https://en.wikipedia.org/wiki/.mq
+mq
+
+// mr : https://en.wikipedia.org/wiki/.mr
+mr
+gov.mr
+
+// ms : http://www.nic.ms/pdf/MS_Domain_Name_Rules.pdf
+ms
+com.ms
+edu.ms
+gov.ms
+net.ms
+org.ms
+
+// mt : https://www.nic.org.mt/go/policy
+// Submitted by registry <help@nic.org.mt>
+mt
+com.mt
+edu.mt
+net.mt
+org.mt
+
+// mu : https://en.wikipedia.org/wiki/.mu
+mu
+com.mu
+net.mu
+org.mu
+gov.mu
+ac.mu
+co.mu
+or.mu
+
+// museum : http://about.museum/naming/
+// http://index.museum/
+museum
+academy.museum
+agriculture.museum
+air.museum
+airguard.museum
+alabama.museum
+alaska.museum
+amber.museum
+ambulance.museum
+american.museum
+americana.museum
+americanantiques.museum
+americanart.museum
+amsterdam.museum
+and.museum
+annefrank.museum
+anthro.museum
+anthropology.museum
+antiques.museum
+aquarium.museum
+arboretum.museum
+archaeological.museum
+archaeology.museum
+architecture.museum
+art.museum
+artanddesign.museum
+artcenter.museum
+artdeco.museum
+arteducation.museum
+artgallery.museum
+arts.museum
+artsandcrafts.museum
+asmatart.museum
+assassination.museum
+assisi.museum
+association.museum
+astronomy.museum
+atlanta.museum
+austin.museum
+australia.museum
+automotive.museum
+aviation.museum
+axis.museum
+badajoz.museum
+baghdad.museum
+bahn.museum
+bale.museum
+baltimore.museum
+barcelona.museum
+baseball.museum
+basel.museum
+baths.museum
+bauern.museum
+beauxarts.museum
+beeldengeluid.museum
+bellevue.museum
+bergbau.museum
+berkeley.museum
+berlin.museum
+bern.museum
+bible.museum
+bilbao.museum
+bill.museum
+birdart.museum
+birthplace.museum
+bonn.museum
+boston.museum
+botanical.museum
+botanicalgarden.museum
+botanicgarden.museum
+botany.museum
+brandywinevalley.museum
+brasil.museum
+bristol.museum
+british.museum
+britishcolumbia.museum
+broadcast.museum
+brunel.museum
+brussel.museum
+brussels.museum
+bruxelles.museum
+building.museum
+burghof.museum
+bus.museum
+bushey.museum
+cadaques.museum
+california.museum
+cambridge.museum
+can.museum
+canada.museum
+capebreton.museum
+carrier.museum
+cartoonart.museum
+casadelamoneda.museum
+castle.museum
+castres.museum
+celtic.museum
+center.museum
+chattanooga.museum
+cheltenham.museum
+chesapeakebay.museum
+chicago.museum
+children.museum
+childrens.museum
+childrensgarden.museum
+chiropractic.museum
+chocolate.museum
+christiansburg.museum
+cincinnati.museum
+cinema.museum
+circus.museum
+civilisation.museum
+civilization.museum
+civilwar.museum
+clinton.museum
+clock.museum
+coal.museum
+coastaldefence.museum
+cody.museum
+coldwar.museum
+collection.museum
+colonialwilliamsburg.museum
+coloradoplateau.museum
+columbia.museum
+columbus.museum
+communication.museum
+communications.museum
+community.museum
+computer.museum
+computerhistory.museum
+comunicações.museum
+contemporary.museum
+contemporaryart.museum
+convent.museum
+copenhagen.museum
+corporation.museum
+correios-e-telecomunicações.museum
+corvette.museum
+costume.museum
+countryestate.museum
+county.museum
+crafts.museum
+cranbrook.museum
+creation.museum
+cultural.museum
+culturalcenter.museum
+culture.museum
+cyber.museum
+cymru.museum
+dali.museum
+dallas.museum
+database.museum
+ddr.museum
+decorativearts.museum
+delaware.museum
+delmenhorst.museum
+denmark.museum
+depot.museum
+design.museum
+detroit.museum
+dinosaur.museum
+discovery.museum
+dolls.museum
+donostia.museum
+durham.museum
+eastafrica.museum
+eastcoast.museum
+education.museum
+educational.museum
+egyptian.museum
+eisenbahn.museum
+elburg.museum
+elvendrell.museum
+embroidery.museum
+encyclopedic.museum
+england.museum
+entomology.museum
+environment.museum
+environmentalconservation.museum
+epilepsy.museum
+essex.museum
+estate.museum
+ethnology.museum
+exeter.museum
+exhibition.museum
+family.museum
+farm.museum
+farmequipment.museum
+farmers.museum
+farmstead.museum
+field.museum
+figueres.museum
+filatelia.museum
+film.museum
+fineart.museum
+finearts.museum
+finland.museum
+flanders.museum
+florida.museum
+force.museum
+fortmissoula.museum
+fortworth.museum
+foundation.museum
+francaise.museum
+frankfurt.museum
+franziskaner.museum
+freemasonry.museum
+freiburg.museum
+fribourg.museum
+frog.museum
+fundacio.museum
+furniture.museum
+gallery.museum
+garden.museum
+gateway.museum
+geelvinck.museum
+gemological.museum
+geology.museum
+georgia.museum
+giessen.museum
+glas.museum
+glass.museum
+gorge.museum
+grandrapids.museum
+graz.museum
+guernsey.museum
+halloffame.museum
+hamburg.museum
+handson.museum
+harvestcelebration.museum
+hawaii.museum
+health.museum
+heimatunduhren.museum
+hellas.museum
+helsinki.museum
+hembygdsforbund.museum
+heritage.museum
+histoire.museum
+historical.museum
+historicalsociety.museum
+historichouses.museum
+historisch.museum
+historisches.museum
+history.museum
+historyofscience.museum
+horology.museum
+house.museum
+humanities.museum
+illustration.museum
+imageandsound.museum
+indian.museum
+indiana.museum
+indianapolis.museum
+indianmarket.museum
+intelligence.museum
+interactive.museum
+iraq.museum
+iron.museum
+isleofman.museum
+jamison.museum
+jefferson.museum
+jerusalem.museum
+jewelry.museum
+jewish.museum
+jewishart.museum
+jfk.museum
+journalism.museum
+judaica.museum
+judygarland.museum
+juedisches.museum
+juif.museum
+karate.museum
+karikatur.museum
+kids.museum
+koebenhavn.museum
+koeln.museum
+kunst.museum
+kunstsammlung.museum
+kunstunddesign.museum
+labor.museum
+labour.museum
+lajolla.museum
+lancashire.museum
+landes.museum
+lans.museum
+läns.museum
+larsson.museum
+lewismiller.museum
+lincoln.museum
+linz.museum
+living.museum
+livinghistory.museum
+localhistory.museum
+london.museum
+losangeles.museum
+louvre.museum
+loyalist.museum
+lucerne.museum
+luxembourg.museum
+luzern.museum
+mad.museum
+madrid.museum
+mallorca.museum
+manchester.museum
+mansion.museum
+mansions.museum
+manx.museum
+marburg.museum
+maritime.museum
+maritimo.museum
+maryland.museum
+marylhurst.museum
+media.museum
+medical.museum
+medizinhistorisches.museum
+meeres.museum
+memorial.museum
+mesaverde.museum
+michigan.museum
+midatlantic.museum
+military.museum
+mill.museum
+miners.museum
+mining.museum
+minnesota.museum
+missile.museum
+missoula.museum
+modern.museum
+moma.museum
+money.museum
+monmouth.museum
+monticello.museum
+montreal.museum
+moscow.museum
+motorcycle.museum
+muenchen.museum
+muenster.museum
+mulhouse.museum
+muncie.museum
+museet.museum
+museumcenter.museum
+museumvereniging.museum
+music.museum
+national.museum
+nationalfirearms.museum
+nationalheritage.museum
+nativeamerican.museum
+naturalhistory.museum
+naturalhistorymuseum.museum
+naturalsciences.museum
+nature.museum
+naturhistorisches.museum
+natuurwetenschappen.museum
+naumburg.museum
+naval.museum
+nebraska.museum
+neues.museum
+newhampshire.museum
+newjersey.museum
+newmexico.museum
+newport.museum
+newspaper.museum
+newyork.museum
+niepce.museum
+norfolk.museum
+north.museum
+nrw.museum
+nyc.museum
+nyny.museum
+oceanographic.museum
+oceanographique.museum
+omaha.museum
+online.museum
+ontario.museum
+openair.museum
+oregon.museum
+oregontrail.museum
+otago.museum
+oxford.museum
+pacific.museum
+paderborn.museum
+palace.museum
+paleo.museum
+palmsprings.museum
+panama.museum
+paris.museum
+pasadena.museum
+pharmacy.museum
+philadelphia.museum
+philadelphiaarea.museum
+philately.museum
+phoenix.museum
+photography.museum
+pilots.museum
+pittsburgh.museum
+planetarium.museum
+plantation.museum
+plants.museum
+plaza.museum
+portal.museum
+portland.museum
+portlligat.museum
+posts-and-telecommunications.museum
+preservation.museum
+presidio.museum
+press.museum
+project.museum
+public.museum
+pubol.museum
+quebec.museum
+railroad.museum
+railway.museum
+research.museum
+resistance.museum
+riodejaneiro.museum
+rochester.museum
+rockart.museum
+roma.museum
+russia.museum
+saintlouis.museum
+salem.museum
+salvadordali.museum
+salzburg.museum
+sandiego.museum
+sanfrancisco.museum
+santabarbara.museum
+santacruz.museum
+santafe.museum
+saskatchewan.museum
+satx.museum
+savannahga.museum
+schlesisches.museum
+schoenbrunn.museum
+schokoladen.museum
+school.museum
+schweiz.museum
+science.museum
+scienceandhistory.museum
+scienceandindustry.museum
+sciencecenter.museum
+sciencecenters.museum
+science-fiction.museum
+sciencehistory.museum
+sciences.museum
+sciencesnaturelles.museum
+scotland.museum
+seaport.museum
+settlement.museum
+settlers.museum
+shell.museum
+sherbrooke.museum
+sibenik.museum
+silk.museum
+ski.museum
+skole.museum
+society.museum
+sologne.museum
+soundandvision.museum
+southcarolina.museum
+southwest.museum
+space.museum
+spy.museum
+square.museum
+stadt.museum
+stalbans.museum
+starnberg.museum
+state.museum
+stateofdelaware.museum
+station.museum
+steam.museum
+steiermark.museum
+stjohn.museum
+stockholm.museum
+stpetersburg.museum
+stuttgart.museum
+suisse.museum
+surgeonshall.museum
+surrey.museum
+svizzera.museum
+sweden.museum
+sydney.museum
+tank.museum
+tcm.museum
+technology.museum
+telekommunikation.museum
+television.museum
+texas.museum
+textile.museum
+theater.museum
+time.museum
+timekeeping.museum
+topology.museum
+torino.museum
+touch.museum
+town.museum
+transport.museum
+tree.museum
+trolley.museum
+trust.museum
+trustee.museum
+uhren.museum
+ulm.museum
+undersea.museum
+university.museum
+usa.museum
+usantiques.museum
+usarts.museum
+uscountryestate.museum
+usculture.museum
+usdecorativearts.museum
+usgarden.museum
+ushistory.museum
+ushuaia.museum
+uslivinghistory.museum
+utah.museum
+uvic.museum
+valley.museum
+vantaa.museum
+versailles.museum
+viking.museum
+village.museum
+virginia.museum
+virtual.museum
+virtuel.museum
+vlaanderen.museum
+volkenkunde.museum
+wales.museum
+wallonie.museum
+war.museum
+washingtondc.museum
+watchandclock.museum
+watch-and-clock.museum
+western.museum
+westfalen.museum
+whaling.museum
+wildlife.museum
+williamsburg.museum
+windmill.museum
+workshop.museum
+york.museum
+yorkshire.museum
+yosemite.museum
+youth.museum
+zoological.museum
+zoology.museum
+ירושלים.museum
+иком.museum
+
+// mv : https://en.wikipedia.org/wiki/.mv
+// "mv" included because, contra Wikipedia, google.mv exists.
+mv
+aero.mv
+biz.mv
+com.mv
+coop.mv
+edu.mv
+gov.mv
+info.mv
+int.mv
+mil.mv
+museum.mv
+name.mv
+net.mv
+org.mv
+pro.mv
+
+// mw : http://www.registrar.mw/
+mw
+ac.mw
+biz.mw
+co.mw
+com.mw
+coop.mw
+edu.mw
+gov.mw
+int.mw
+museum.mw
+net.mw
+org.mw
+
+// mx : http://www.nic.mx/
+// Submitted by registry <farias@nic.mx>
+mx
+com.mx
+org.mx
+gob.mx
+edu.mx
+net.mx
+
+// my : http://www.mynic.my/
+// Available strings: https://mynic.my/resources/domains/buying-a-domain/
+my
+biz.my
+com.my
+edu.my
+gov.my
+mil.my
+name.my
+net.my
+org.my
+
+// mz : http://www.uem.mz/
+// Submitted by registry <antonio@uem.mz>
+mz
+ac.mz
+adv.mz
+co.mz
+edu.mz
+gov.mz
+mil.mz
+net.mz
+org.mz
+
+// na : http://www.na-nic.com.na/
+// http://www.info.na/domain/
+na
+info.na
+pro.na
+name.na
+school.na
+or.na
+dr.na
+us.na
+mx.na
+ca.na
+in.na
+cc.na
+tv.na
+ws.na
+mobi.na
+co.na
+com.na
+org.na
+
+// name : has 2nd-level tlds, but there's no list of them
+name
+
+// nc : http://www.cctld.nc/
+nc
+asso.nc
+nom.nc
+
+// ne : https://en.wikipedia.org/wiki/.ne
+ne
+
+// net : https://en.wikipedia.org/wiki/.net
+net
+
+// nf : https://en.wikipedia.org/wiki/.nf
+nf
+com.nf
+net.nf
+per.nf
+rec.nf
+web.nf
+arts.nf
+firm.nf
+info.nf
+other.nf
+store.nf
+
+// ng : http://www.nira.org.ng/index.php/join-us/register-ng-domain/189-nira-slds
+ng
+com.ng
+edu.ng
+gov.ng
+i.ng
+mil.ng
+mobi.ng
+name.ng
+net.ng
+org.ng
+sch.ng
+
+// ni : http://www.nic.ni/
+ni
+ac.ni
+biz.ni
+co.ni
+com.ni
+edu.ni
+gob.ni
+in.ni
+info.ni
+int.ni
+mil.ni
+net.ni
+nom.ni
+org.ni
+web.ni
+
+// nl : https://en.wikipedia.org/wiki/.nl
+// https://www.sidn.nl/
+// ccTLD for the Netherlands
+nl
+
+// no : https://www.norid.no/en/om-domenenavn/regelverk-for-no/
+// Norid geographical second level domains : https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-b/
+// Norid category second level domains : https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-c/
+// Norid category second-level domains managed by parties other than Norid : https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-d/
+// RSS feed: https://teknisk.norid.no/en/feed/
+no
+// Norid category second level domains : https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-c/
+fhs.no
+vgs.no
+fylkesbibl.no
+folkebibl.no
+museum.no
+idrett.no
+priv.no
+// Norid category second-level domains managed by parties other than Norid : https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-d/
+mil.no
+stat.no
+dep.no
+kommune.no
+herad.no
+// Norid geographical second level domains : https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-b/
+// counties
+aa.no
+ah.no
+bu.no
+fm.no
+hl.no
+hm.no
+jan-mayen.no
+mr.no
+nl.no
+nt.no
+of.no
+ol.no
+oslo.no
+rl.no
+sf.no
+st.no
+svalbard.no
+tm.no
+tr.no
+va.no
+vf.no
+// primary and lower secondary schools per county
+gs.aa.no
+gs.ah.no
+gs.bu.no
+gs.fm.no
+gs.hl.no
+gs.hm.no
+gs.jan-mayen.no
+gs.mr.no
+gs.nl.no
+gs.nt.no
+gs.of.no
+gs.ol.no
+gs.oslo.no
+gs.rl.no
+gs.sf.no
+gs.st.no
+gs.svalbard.no
+gs.tm.no
+gs.tr.no
+gs.va.no
+gs.vf.no
+// cities
+akrehamn.no
+åkrehamn.no
+algard.no
+ålgård.no
+arna.no
+brumunddal.no
+bryne.no
+bronnoysund.no
+brønnøysund.no
+drobak.no
+drøbak.no
+egersund.no
+fetsund.no
+floro.no
+florø.no
+fredrikstad.no
+hokksund.no
+honefoss.no
+hønefoss.no
+jessheim.no
+jorpeland.no
+jørpeland.no
+kirkenes.no
+kopervik.no
+krokstadelva.no
+langevag.no
+langevåg.no
+leirvik.no
+mjondalen.no
+mjøndalen.no
+mo-i-rana.no
+mosjoen.no
+mosjøen.no
+nesoddtangen.no
+orkanger.no
+osoyro.no
+osøyro.no
+raholt.no
+råholt.no
+sandnessjoen.no
+sandnessjøen.no
+skedsmokorset.no
+slattum.no
+spjelkavik.no
+stathelle.no
+stavern.no
+stjordalshalsen.no
+stjørdalshalsen.no
+tananger.no
+tranby.no
+vossevangen.no
+// communities
+afjord.no
+åfjord.no
+agdenes.no
+al.no
+ål.no
+alesund.no
+ålesund.no
+alstahaug.no
+alta.no
+áltá.no
+alaheadju.no
+álaheadju.no
+alvdal.no
+amli.no
+åmli.no
+amot.no
+åmot.no
+andebu.no
+andoy.no
+andøy.no
+andasuolo.no
+ardal.no
+årdal.no
+aremark.no
+arendal.no
+ås.no
+aseral.no
+åseral.no
+asker.no
+askim.no
+askvoll.no
+askoy.no
+askøy.no
+asnes.no
+åsnes.no
+audnedaln.no
+aukra.no
+aure.no
+aurland.no
+aurskog-holand.no
+aurskog-høland.no
+austevoll.no
+austrheim.no
+averoy.no
+averøy.no
+balestrand.no
+ballangen.no
+balat.no
+bálát.no
+balsfjord.no
+bahccavuotna.no
+báhccavuotna.no
+bamble.no
+bardu.no
+beardu.no
+beiarn.no
+bajddar.no
+bájddar.no
+baidar.no
+báidár.no
+berg.no
+bergen.no
+berlevag.no
+berlevåg.no
+bearalvahki.no
+bearalváhki.no
+bindal.no
+birkenes.no
+bjarkoy.no
+bjarkøy.no
+bjerkreim.no
+bjugn.no
+bodo.no
+bodø.no
+badaddja.no
+bådåddjå.no
+budejju.no
+bokn.no
+bremanger.no
+bronnoy.no
+brønnøy.no
+bygland.no
+bykle.no
+barum.no
+bærum.no
+bo.telemark.no
+bø.telemark.no
+bo.nordland.no
+bø.nordland.no
+bievat.no
+bievát.no
+bomlo.no
+bømlo.no
+batsfjord.no
+båtsfjord.no
+bahcavuotna.no
+báhcavuotna.no
+dovre.no
+drammen.no
+drangedal.no
+dyroy.no
+dyrøy.no
+donna.no
+dønna.no
+eid.no
+eidfjord.no
+eidsberg.no
+eidskog.no
+eidsvoll.no
+eigersund.no
+elverum.no
+enebakk.no
+engerdal.no
+etne.no
+etnedal.no
+evenes.no
+evenassi.no
+evenášši.no
+evje-og-hornnes.no
+farsund.no
+fauske.no
+fuossko.no
+fuoisku.no
+fedje.no
+fet.no
+finnoy.no
+finnøy.no
+fitjar.no
+fjaler.no
+fjell.no
+flakstad.no
+flatanger.no
+flekkefjord.no
+flesberg.no
+flora.no
+fla.no
+flå.no
+folldal.no
+forsand.no
+fosnes.no
+frei.no
+frogn.no
+froland.no
+frosta.no
+frana.no
+fræna.no
+froya.no
+frøya.no
+fusa.no
+fyresdal.no
+forde.no
+førde.no
+gamvik.no
+gangaviika.no
+gáŋgaviika.no
+gaular.no
+gausdal.no
+gildeskal.no
+gildeskål.no
+giske.no
+gjemnes.no
+gjerdrum.no
+gjerstad.no
+gjesdal.no
+gjovik.no
+gjøvik.no
+gloppen.no
+gol.no
+gran.no
+grane.no
+granvin.no
+gratangen.no
+grimstad.no
+grong.no
+kraanghke.no
+kråanghke.no
+grue.no
+gulen.no
+hadsel.no
+halden.no
+halsa.no
+hamar.no
+hamaroy.no
+habmer.no
+hábmer.no
+hapmir.no
+hápmir.no
+hammerfest.no
+hammarfeasta.no
+hámmárfeasta.no
+haram.no
+hareid.no
+harstad.no
+hasvik.no
+aknoluokta.no
+ákŋoluokta.no
+hattfjelldal.no
+aarborte.no
+haugesund.no
+hemne.no
+hemnes.no
+hemsedal.no
+heroy.more-og-romsdal.no
+herøy.møre-og-romsdal.no
+heroy.nordland.no
+herøy.nordland.no
+hitra.no
+hjartdal.no
+hjelmeland.no
+hobol.no
+hobøl.no
+hof.no
+hol.no
+hole.no
+holmestrand.no
+holtalen.no
+holtålen.no
+hornindal.no
+horten.no
+hurdal.no
+hurum.no
+hvaler.no
+hyllestad.no
+hagebostad.no
+hægebostad.no
+hoyanger.no
+høyanger.no
+hoylandet.no
+høylandet.no
+ha.no
+hå.no
+ibestad.no
+inderoy.no
+inderøy.no
+iveland.no
+jevnaker.no
+jondal.no
+jolster.no
+jølster.no
+karasjok.no
+karasjohka.no
+kárášjohka.no
+karlsoy.no
+galsa.no
+gálsá.no
+karmoy.no
+karmøy.no
+kautokeino.no
+guovdageaidnu.no
+klepp.no
+klabu.no
+klæbu.no
+kongsberg.no
+kongsvinger.no
+kragero.no
+kragerø.no
+kristiansand.no
+kristiansund.no
+krodsherad.no
+krødsherad.no
+kvalsund.no
+rahkkeravju.no
+ráhkkerávju.no
+kvam.no
+kvinesdal.no
+kvinnherad.no
+kviteseid.no
+kvitsoy.no
+kvitsøy.no
+kvafjord.no
+kvæfjord.no
+giehtavuoatna.no
+kvanangen.no
+kvænangen.no
+navuotna.no
+návuotna.no
+kafjord.no
+kåfjord.no
+gaivuotna.no
+gáivuotna.no
+larvik.no
+lavangen.no
+lavagis.no
+loabat.no
+loabát.no
+lebesby.no
+davvesiida.no
+leikanger.no
+leirfjord.no
+leka.no
+leksvik.no
+lenvik.no
+leangaviika.no
+leaŋgaviika.no
+lesja.no
+levanger.no
+lier.no
+lierne.no
+lillehammer.no
+lillesand.no
+lindesnes.no
+lindas.no
+lindås.no
+lom.no
+loppa.no
+lahppi.no
+láhppi.no
+lund.no
+lunner.no
+luroy.no
+lurøy.no
+luster.no
+lyngdal.no
+lyngen.no
+ivgu.no
+lardal.no
+lerdal.no
+lærdal.no
+lodingen.no
+lødingen.no
+lorenskog.no
+lørenskog.no
+loten.no
+løten.no
+malvik.no
+masoy.no
+måsøy.no
+muosat.no
+muosát.no
+mandal.no
+marker.no
+marnardal.no
+masfjorden.no
+meland.no
+meldal.no
+melhus.no
+meloy.no
+meløy.no
+meraker.no
+meråker.no
+moareke.no
+moåreke.no
+midsund.no
+midtre-gauldal.no
+modalen.no
+modum.no
+molde.no
+moskenes.no
+moss.no
+mosvik.no
+malselv.no
+målselv.no
+malatvuopmi.no
+málatvuopmi.no
+namdalseid.no
+aejrie.no
+namsos.no
+namsskogan.no
+naamesjevuemie.no
+nååmesjevuemie.no
+laakesvuemie.no
+nannestad.no
+narvik.no
+narviika.no
+naustdal.no
+nedre-eiker.no
+nes.akershus.no
+nes.buskerud.no
+nesna.no
+nesodden.no
+nesseby.no
+unjarga.no
+unjárga.no
+nesset.no
+nissedal.no
+nittedal.no
+nord-aurdal.no
+nord-fron.no
+nord-odal.no
+norddal.no
+nordkapp.no
+davvenjarga.no
+davvenjárga.no
+nordre-land.no
+nordreisa.no
+raisa.no
+ráisa.no
+nore-og-uvdal.no
+notodden.no
+naroy.no
+nærøy.no
+notteroy.no
+nøtterøy.no
+odda.no
+oksnes.no
+øksnes.no
+oppdal.no
+oppegard.no
+oppegård.no
+orkdal.no
+orland.no
+ørland.no
+orskog.no
+ørskog.no
+orsta.no
+ørsta.no
+os.hedmark.no
+os.hordaland.no
+osen.no
+osteroy.no
+osterøy.no
+ostre-toten.no
+østre-toten.no
+overhalla.no
+ovre-eiker.no
+øvre-eiker.no
+oyer.no
+øyer.no
+oygarden.no
+øygarden.no
+oystre-slidre.no
+øystre-slidre.no
+porsanger.no
+porsangu.no
+porsáŋgu.no
+porsgrunn.no
+radoy.no
+radøy.no
+rakkestad.no
+rana.no
+ruovat.no
+randaberg.no
+rauma.no
+rendalen.no
+rennebu.no
+rennesoy.no
+rennesøy.no
+rindal.no
+ringebu.no
+ringerike.no
+ringsaker.no
+rissa.no
+risor.no
+risør.no
+roan.no
+rollag.no
+rygge.no
+ralingen.no
+rælingen.no
+rodoy.no
+rødøy.no
+romskog.no
+rømskog.no
+roros.no
+røros.no
+rost.no
+røst.no
+royken.no
+røyken.no
+royrvik.no
+røyrvik.no
+rade.no
+råde.no
+salangen.no
+siellak.no
+saltdal.no
+salat.no
+sálát.no
+sálat.no
+samnanger.no
+sande.more-og-romsdal.no
+sande.møre-og-romsdal.no
+sande.vestfold.no
+sandefjord.no
+sandnes.no
+sandoy.no
+sandøy.no
+sarpsborg.no
+sauda.no
+sauherad.no
+sel.no
+selbu.no
+selje.no
+seljord.no
+sigdal.no
+siljan.no
+sirdal.no
+skaun.no
+skedsmo.no
+ski.no
+skien.no
+skiptvet.no
+skjervoy.no
+skjervøy.no
+skierva.no
+skiervá.no
+skjak.no
+skjåk.no
+skodje.no
+skanland.no
+skånland.no
+skanit.no
+skánit.no
+smola.no
+smøla.no
+snillfjord.no
+snasa.no
+snåsa.no
+snoasa.no
+snaase.no
+snåase.no
+sogndal.no
+sokndal.no
+sola.no
+solund.no
+songdalen.no
+sortland.no
+spydeberg.no
+stange.no
+stavanger.no
+steigen.no
+steinkjer.no
+stjordal.no
+stjørdal.no
+stokke.no
+stor-elvdal.no
+stord.no
+stordal.no
+storfjord.no
+omasvuotna.no
+strand.no
+stranda.no
+stryn.no
+sula.no
+suldal.no
+sund.no
+sunndal.no
+surnadal.no
+sveio.no
+svelvik.no
+sykkylven.no
+sogne.no
+søgne.no
+somna.no
+sømna.no
+sondre-land.no
+søndre-land.no
+sor-aurdal.no
+sør-aurdal.no
+sor-fron.no
+sør-fron.no
+sor-odal.no
+sør-odal.no
+sor-varanger.no
+sør-varanger.no
+matta-varjjat.no
+mátta-várjjat.no
+sorfold.no
+sørfold.no
+sorreisa.no
+sørreisa.no
+sorum.no
+sørum.no
+tana.no
+deatnu.no
+time.no
+tingvoll.no
+tinn.no
+tjeldsund.no
+dielddanuorri.no
+tjome.no
+tjøme.no
+tokke.no
+tolga.no
+torsken.no
+tranoy.no
+tranøy.no
+tromso.no
+tromsø.no
+tromsa.no
+romsa.no
+trondheim.no
+troandin.no
+trysil.no
+trana.no
+træna.no
+trogstad.no
+trøgstad.no
+tvedestrand.no
+tydal.no
+tynset.no
+tysfjord.no
+divtasvuodna.no
+divttasvuotna.no
+tysnes.no
+tysvar.no
+tysvær.no
+tonsberg.no
+tønsberg.no
+ullensaker.no
+ullensvang.no
+ulvik.no
+utsira.no
+vadso.no
+vadsø.no
+cahcesuolo.no
+čáhcesuolo.no
+vaksdal.no
+valle.no
+vang.no
+vanylven.no
+vardo.no
+vardø.no
+varggat.no
+várggát.no
+vefsn.no
+vaapste.no
+vega.no
+vegarshei.no
+vegårshei.no
+vennesla.no
+verdal.no
+verran.no
+vestby.no
+vestnes.no
+vestre-slidre.no
+vestre-toten.no
+vestvagoy.no
+vestvågøy.no
+vevelstad.no
+vik.no
+vikna.no
+vindafjord.no
+volda.no
+voss.no
+varoy.no
+værøy.no
+vagan.no
+vågan.no
+voagat.no
+vagsoy.no
+vågsøy.no
+vaga.no
+vågå.no
+valer.ostfold.no
+våler.østfold.no
+valer.hedmark.no
+våler.hedmark.no
+
+// np : http://www.mos.com.np/register.html
+*.np
+
+// nr : http://cenpac.net.nr/dns/index.html
+// Submitted by registry <technician@cenpac.net.nr>
+nr
+biz.nr
+info.nr
+gov.nr
+edu.nr
+org.nr
+net.nr
+com.nr
+
+// nu : https://en.wikipedia.org/wiki/.nu
+nu
+
+// nz : https://en.wikipedia.org/wiki/.nz
+// Submitted by registry <jay@nzrs.net.nz>
+nz
+ac.nz
+co.nz
+cri.nz
+geek.nz
+gen.nz
+govt.nz
+health.nz
+iwi.nz
+kiwi.nz
+maori.nz
+mil.nz
+māori.nz
+net.nz
+org.nz
+parliament.nz
+school.nz
+
+// om : https://en.wikipedia.org/wiki/.om
+om
+co.om
+com.om
+edu.om
+gov.om
+med.om
+museum.om
+net.om
+org.om
+pro.om
+
+// onion : https://tools.ietf.org/html/rfc7686
+onion
+
+// org : https://en.wikipedia.org/wiki/.org
+org
+
+// pa : http://www.nic.pa/
+// Some additional second level "domains" resolve directly as hostnames, such as
+// pannet.pa, so we add a rule for "pa".
+pa
+ac.pa
+gob.pa
+com.pa
+org.pa
+sld.pa
+edu.pa
+net.pa
+ing.pa
+abo.pa
+med.pa
+nom.pa
+
+// pe : https://www.nic.pe/InformeFinalComision.pdf
+pe
+edu.pe
+gob.pe
+nom.pe
+mil.pe
+org.pe
+com.pe
+net.pe
+
+// pf : http://www.gobin.info/domainname/formulaire-pf.pdf
+pf
+com.pf
+org.pf
+edu.pf
+
+// pg : https://en.wikipedia.org/wiki/.pg
+*.pg
+
+// ph : http://www.domains.ph/FAQ2.asp
+// Submitted by registry <jed@email.com.ph>
+ph
+com.ph
+net.ph
+org.ph
+gov.ph
+edu.ph
+ngo.ph
+mil.ph
+i.ph
+
+// pk : http://pk5.pknic.net.pk/pk5/msgNamepk.PK
+pk
+com.pk
+net.pk
+edu.pk
+org.pk
+fam.pk
+biz.pk
+web.pk
+gov.pk
+gob.pk
+gok.pk
+gon.pk
+gop.pk
+gos.pk
+info.pk
+
+// pl http://www.dns.pl/english/index.html
+// Submitted by registry
+pl
+com.pl
+net.pl
+org.pl
+// pl functional domains (http://www.dns.pl/english/index.html)
+aid.pl
+agro.pl
+atm.pl
+auto.pl
+biz.pl
+edu.pl
+gmina.pl
+gsm.pl
+info.pl
+mail.pl
+miasta.pl
+media.pl
+mil.pl
+nieruchomosci.pl
+nom.pl
+pc.pl
+powiat.pl
+priv.pl
+realestate.pl
+rel.pl
+sex.pl
+shop.pl
+sklep.pl
+sos.pl
+szkola.pl
+targi.pl
+tm.pl
+tourism.pl
+travel.pl
+turystyka.pl
+// Government domains
+gov.pl
+ap.gov.pl
+ic.gov.pl
+is.gov.pl
+us.gov.pl
+kmpsp.gov.pl
+kppsp.gov.pl
+kwpsp.gov.pl
+psp.gov.pl
+wskr.gov.pl
+kwp.gov.pl
+mw.gov.pl
+ug.gov.pl
+um.gov.pl
+umig.gov.pl
+ugim.gov.pl
+upow.gov.pl
+uw.gov.pl
+starostwo.gov.pl
+pa.gov.pl
+po.gov.pl
+psse.gov.pl
+pup.gov.pl
+rzgw.gov.pl
+sa.gov.pl
+so.gov.pl
+sr.gov.pl
+wsa.gov.pl
+sko.gov.pl
+uzs.gov.pl
+wiih.gov.pl
+winb.gov.pl
+pinb.gov.pl
+wios.gov.pl
+witd.gov.pl
+wzmiuw.gov.pl
+piw.gov.pl
+wiw.gov.pl
+griw.gov.pl
+wif.gov.pl
+oum.gov.pl
+sdn.gov.pl
+zp.gov.pl
+uppo.gov.pl
+mup.gov.pl
+wuoz.gov.pl
+konsulat.gov.pl
+oirm.gov.pl
+// pl regional domains (http://www.dns.pl/english/index.html)
+augustow.pl
+babia-gora.pl
+bedzin.pl
+beskidy.pl
+bialowieza.pl
+bialystok.pl
+bielawa.pl
+bieszczady.pl
+boleslawiec.pl
+bydgoszcz.pl
+bytom.pl
+cieszyn.pl
+czeladz.pl
+czest.pl
+dlugoleka.pl
+elblag.pl
+elk.pl
+glogow.pl
+gniezno.pl
+gorlice.pl
+grajewo.pl
+ilawa.pl
+jaworzno.pl
+jelenia-gora.pl
+jgora.pl
+kalisz.pl
+kazimierz-dolny.pl
+karpacz.pl
+kartuzy.pl
+kaszuby.pl
+katowice.pl
+kepno.pl
+ketrzyn.pl
+klodzko.pl
+kobierzyce.pl
+kolobrzeg.pl
+konin.pl
+konskowola.pl
+kutno.pl
+lapy.pl
+lebork.pl
+legnica.pl
+lezajsk.pl
+limanowa.pl
+lomza.pl
+lowicz.pl
+lubin.pl
+lukow.pl
+malbork.pl
+malopolska.pl
+mazowsze.pl
+mazury.pl
+mielec.pl
+mielno.pl
+mragowo.pl
+naklo.pl
+nowaruda.pl
+nysa.pl
+olawa.pl
+olecko.pl
+olkusz.pl
+olsztyn.pl
+opoczno.pl
+opole.pl
+ostroda.pl
+ostroleka.pl
+ostrowiec.pl
+ostrowwlkp.pl
+pila.pl
+pisz.pl
+podhale.pl
+podlasie.pl
+polkowice.pl
+pomorze.pl
+pomorskie.pl
+prochowice.pl
+pruszkow.pl
+przeworsk.pl
+pulawy.pl
+radom.pl
+rawa-maz.pl
+rybnik.pl
+rzeszow.pl
+sanok.pl
+sejny.pl
+slask.pl
+slupsk.pl
+sosnowiec.pl
+stalowa-wola.pl
+skoczow.pl
+starachowice.pl
+stargard.pl
+suwalki.pl
+swidnica.pl
+swiebodzin.pl
+swinoujscie.pl
+szczecin.pl
+szczytno.pl
+tarnobrzeg.pl
+tgory.pl
+turek.pl
+tychy.pl
+ustka.pl
+walbrzych.pl
+warmia.pl
+warszawa.pl
+waw.pl
+wegrow.pl
+wielun.pl
+wlocl.pl
+wloclawek.pl
+wodzislaw.pl
+wolomin.pl
+wroclaw.pl
+zachpomor.pl
+zagan.pl
+zarow.pl
+zgora.pl
+zgorzelec.pl
+
+// pm : http://www.afnic.fr/medias/documents/AFNIC-naming-policy2012.pdf
+pm
+
+// pn : http://www.government.pn/PnRegistry/policies.htm
+pn
+gov.pn
+co.pn
+org.pn
+edu.pn
+net.pn
+
+// post : https://en.wikipedia.org/wiki/.post
+post
+
+// pr : http://www.nic.pr/index.asp?f=1
+pr
+com.pr
+net.pr
+org.pr
+gov.pr
+edu.pr
+isla.pr
+pro.pr
+biz.pr
+info.pr
+name.pr
+// these aren't mentioned on nic.pr, but on https://en.wikipedia.org/wiki/.pr
+est.pr
+prof.pr
+ac.pr
+
+// pro : http://registry.pro/get-pro
+pro
+aaa.pro
+aca.pro
+acct.pro
+avocat.pro
+bar.pro
+cpa.pro
+eng.pro
+jur.pro
+law.pro
+med.pro
+recht.pro
+
+// ps : https://en.wikipedia.org/wiki/.ps
+// http://www.nic.ps/registration/policy.html#reg
+ps
+edu.ps
+gov.ps
+sec.ps
+plo.ps
+com.ps
+org.ps
+net.ps
+
+// pt : https://www.dns.pt/en/domain/pt-terms-and-conditions-registration-rules/
+pt
+net.pt
+gov.pt
+org.pt
+edu.pt
+int.pt
+publ.pt
+com.pt
+nome.pt
+
+// pw : https://en.wikipedia.org/wiki/.pw
+pw
+co.pw
+ne.pw
+or.pw
+ed.pw
+go.pw
+belau.pw
+
+// py : http://www.nic.py/pautas.html#seccion_9
+// Submitted by registry
+py
+com.py
+coop.py
+edu.py
+gov.py
+mil.py
+net.py
+org.py
+
+// qa : http://domains.qa/en/
+qa
+com.qa
+edu.qa
+gov.qa
+mil.qa
+name.qa
+net.qa
+org.qa
+sch.qa
+
+// re : http://www.afnic.re/obtenir/chartes/nommage-re/annexe-descriptifs
+re
+asso.re
+com.re
+nom.re
+
+// ro : http://www.rotld.ro/
+ro
+arts.ro
+com.ro
+firm.ro
+info.ro
+nom.ro
+nt.ro
+org.ro
+rec.ro
+store.ro
+tm.ro
+www.ro
+
+// rs : https://www.rnids.rs/en/domains/national-domains
+rs
+ac.rs
+co.rs
+edu.rs
+gov.rs
+in.rs
+org.rs
+
+// ru : https://cctld.ru/files/pdf/docs/en/rules_ru-rf.pdf
+// Submitted by George Georgievsky <gug@cctld.ru>
+ru
+
+// rw : https://www.ricta.org.rw/sites/default/files/resources/registry_registrar_contract_0.pdf
+rw
+ac.rw
+co.rw
+coop.rw
+gov.rw
+mil.rw
+net.rw
+org.rw
+
+// sa : http://www.nic.net.sa/
+sa
+com.sa
+net.sa
+org.sa
+gov.sa
+med.sa
+pub.sa
+edu.sa
+sch.sa
+
+// sb : http://www.sbnic.net.sb/
+// Submitted by registry <lee.humphries@telekom.com.sb>
+sb
+com.sb
+edu.sb
+gov.sb
+net.sb
+org.sb
+
+// sc : http://www.nic.sc/
+sc
+com.sc
+gov.sc
+net.sc
+org.sc
+edu.sc
+
+// sd : http://www.isoc.sd/sudanic.isoc.sd/billing_pricing.htm
+// Submitted by registry <admin@isoc.sd>
+sd
+com.sd
+net.sd
+org.sd
+edu.sd
+med.sd
+tv.sd
+gov.sd
+info.sd
+
+// se : https://en.wikipedia.org/wiki/.se
+// Submitted by registry <patrik.wallstrom@iis.se>
+se
+a.se
+ac.se
+b.se
+bd.se
+brand.se
+c.se
+d.se
+e.se
+f.se
+fh.se
+fhsk.se
+fhv.se
+g.se
+h.se
+i.se
+k.se
+komforb.se
+kommunalforbund.se
+komvux.se
+l.se
+lanbib.se
+m.se
+n.se
+naturbruksgymn.se
+o.se
+org.se
+p.se
+parti.se
+pp.se
+press.se
+r.se
+s.se
+t.se
+tm.se
+u.se
+w.se
+x.se
+y.se
+z.se
+
+// sg : http://www.nic.net.sg/page/registration-policies-procedures-and-guidelines
+sg
+com.sg
+net.sg
+org.sg
+gov.sg
+edu.sg
+per.sg
+
+// sh : http://nic.sh/rules.htm
+sh
+com.sh
+net.sh
+gov.sh
+org.sh
+mil.sh
+
+// si : https://en.wikipedia.org/wiki/.si
+si
+
+// sj : No registrations at this time.
+// Submitted by registry <jarle@uninett.no>
+sj
+
+// sk : https://en.wikipedia.org/wiki/.sk
+// list of 2nd level domains ?
+sk
+
+// sl : http://www.nic.sl
+// Submitted by registry <adam@neoip.com>
+sl
+com.sl
+net.sl
+edu.sl
+gov.sl
+org.sl
+
+// sm : https://en.wikipedia.org/wiki/.sm
+sm
+
+// sn : https://en.wikipedia.org/wiki/.sn
+sn
+art.sn
+com.sn
+edu.sn
+gouv.sn
+org.sn
+perso.sn
+univ.sn
+
+// so : http://sonic.so/policies/
+so
+com.so
+edu.so
+gov.so
+me.so
+net.so
+org.so
+
+// sr : https://en.wikipedia.org/wiki/.sr
+sr
+
+// ss : https://registry.nic.ss/
+// Submitted by registry <technical@nic.ss>
+ss
+biz.ss
+com.ss
+edu.ss
+gov.ss
+me.ss
+net.ss
+org.ss
+sch.ss
+
+// st : http://www.nic.st/html/policyrules/
+st
+co.st
+com.st
+consulado.st
+edu.st
+embaixada.st
+mil.st
+net.st
+org.st
+principe.st
+saotome.st
+store.st
+
+// su : https://en.wikipedia.org/wiki/.su
+su
+
+// sv : http://www.svnet.org.sv/niveldos.pdf
+sv
+com.sv
+edu.sv
+gob.sv
+org.sv
+red.sv
+
+// sx : https://en.wikipedia.org/wiki/.sx
+// Submitted by registry <jcvignes@openregistry.com>
+sx
+gov.sx
+
+// sy : https://en.wikipedia.org/wiki/.sy
+// see also: http://www.gobin.info/domainname/sy.doc
+sy
+edu.sy
+gov.sy
+net.sy
+mil.sy
+com.sy
+org.sy
+
+// sz : https://en.wikipedia.org/wiki/.sz
+// http://www.sispa.org.sz/
+sz
+co.sz
+ac.sz
+org.sz
+
+// tc : https://en.wikipedia.org/wiki/.tc
+tc
+
+// td : https://en.wikipedia.org/wiki/.td
+td
+
+// tel: https://en.wikipedia.org/wiki/.tel
+// http://www.telnic.org/
+tel
+
+// tf : https://en.wikipedia.org/wiki/.tf
+tf
+
+// tg : https://en.wikipedia.org/wiki/.tg
+// http://www.nic.tg/
+tg
+
+// th : https://en.wikipedia.org/wiki/.th
+// Submitted by registry <krit@thains.co.th>
+th
+ac.th
+co.th
+go.th
+in.th
+mi.th
+net.th
+or.th
+
+// tj : http://www.nic.tj/policy.html
+tj
+ac.tj
+biz.tj
+co.tj
+com.tj
+edu.tj
+go.tj
+gov.tj
+int.tj
+mil.tj
+name.tj
+net.tj
+nic.tj
+org.tj
+test.tj
+web.tj
+
+// tk : https://en.wikipedia.org/wiki/.tk
+tk
+
+// tl : https://en.wikipedia.org/wiki/.tl
+tl
+gov.tl
+
+// tm : http://www.nic.tm/local.html
+tm
+com.tm
+co.tm
+org.tm
+net.tm
+nom.tm
+gov.tm
+mil.tm
+edu.tm
+
+// tn : http://www.registre.tn/fr/
+// https://whois.ati.tn/
+tn
+com.tn
+ens.tn
+fin.tn
+gov.tn
+ind.tn
+info.tn
+intl.tn
+mincom.tn
+nat.tn
+net.tn
+org.tn
+perso.tn
+tourism.tn
+
+// to : https://en.wikipedia.org/wiki/.to
+// Submitted by registry <egullich@colo.to>
+to
+com.to
+gov.to
+net.to
+org.to
+edu.to
+mil.to
+
+// tr : https://nic.tr/
+// https://nic.tr/forms/eng/policies.pdf
+// https://nic.tr/index.php?USRACTN=PRICELST
+tr
+av.tr
+bbs.tr
+bel.tr
+biz.tr
+com.tr
+dr.tr
+edu.tr
+gen.tr
+gov.tr
+info.tr
+mil.tr
+k12.tr
+kep.tr
+name.tr
+net.tr
+org.tr
+pol.tr
+tel.tr
+tsk.tr
+tv.tr
+web.tr
+// Used by Northern Cyprus
+nc.tr
+// Used by government agencies of Northern Cyprus
+gov.nc.tr
+
+// tt : http://www.nic.tt/
+tt
+co.tt
+com.tt
+org.tt
+net.tt
+biz.tt
+info.tt
+pro.tt
+int.tt
+coop.tt
+jobs.tt
+mobi.tt
+travel.tt
+museum.tt
+aero.tt
+name.tt
+gov.tt
+edu.tt
+
+// tv : https://en.wikipedia.org/wiki/.tv
+// Not listing any 2LDs as reserved since none seem to exist in practice,
+// Wikipedia notwithstanding.
+tv
+
+// tw : https://en.wikipedia.org/wiki/.tw
+tw
+edu.tw
+gov.tw
+mil.tw
+com.tw
+net.tw
+org.tw
+idv.tw
+game.tw
+ebiz.tw
+club.tw
+網路.tw
+組織.tw
+商業.tw
+
+// tz : http://www.tznic.or.tz/index.php/domains
+// Submitted by registry <manager@tznic.or.tz>
+tz
+ac.tz
+co.tz
+go.tz
+hotel.tz
+info.tz
+me.tz
+mil.tz
+mobi.tz
+ne.tz
+or.tz
+sc.tz
+tv.tz
+
+// ua : https://hostmaster.ua/policy/?ua
+// Submitted by registry <dk@cctld.ua>
+ua
+// ua 2LD
+com.ua
+edu.ua
+gov.ua
+in.ua
+net.ua
+org.ua
+// ua geographic names
+// https://hostmaster.ua/2ld/
+cherkassy.ua
+cherkasy.ua
+chernigov.ua
+chernihiv.ua
+chernivtsi.ua
+chernovtsy.ua
+ck.ua
+cn.ua
+cr.ua
+crimea.ua
+cv.ua
+dn.ua
+dnepropetrovsk.ua
+dnipropetrovsk.ua
+donetsk.ua
+dp.ua
+if.ua
+ivano-frankivsk.ua
+kh.ua
+kharkiv.ua
+kharkov.ua
+kherson.ua
+khmelnitskiy.ua
+khmelnytskyi.ua
+kiev.ua
+kirovograd.ua
+km.ua
+kr.ua
+krym.ua
+ks.ua
+kv.ua
+kyiv.ua
+lg.ua
+lt.ua
+lugansk.ua
+lutsk.ua
+lv.ua
+lviv.ua
+mk.ua
+mykolaiv.ua
+nikolaev.ua
+od.ua
+odesa.ua
+odessa.ua
+pl.ua
+poltava.ua
+rivne.ua
+rovno.ua
+rv.ua
+sb.ua
+sebastopol.ua
+sevastopol.ua
+sm.ua
+sumy.ua
+te.ua
+ternopil.ua
+uz.ua
+uzhgorod.ua
+vinnica.ua
+vinnytsia.ua
+vn.ua
+volyn.ua
+yalta.ua
+zaporizhzhe.ua
+zaporizhzhia.ua
+zhitomir.ua
+zhytomyr.ua
+zp.ua
+zt.ua
+
+// ug : https://www.registry.co.ug/
+ug
+co.ug
+or.ug
+ac.ug
+sc.ug
+go.ug
+ne.ug
+com.ug
+org.ug
+
+// uk : https://en.wikipedia.org/wiki/.uk
+// Submitted by registry <Michael.Daly@nominet.org.uk>
+uk
+ac.uk
+co.uk
+gov.uk
+ltd.uk
+me.uk
+net.uk
+nhs.uk
+org.uk
+plc.uk
+police.uk
+*.sch.uk
+
+// us : https://en.wikipedia.org/wiki/.us
+us
+dni.us
+fed.us
+isa.us
+kids.us
+nsn.us
+// us geographic names
+ak.us
+al.us
+ar.us
+as.us
+az.us
+ca.us
+co.us
+ct.us
+dc.us
+de.us
+fl.us
+ga.us
+gu.us
+hi.us
+ia.us
+id.us
+il.us
+in.us
+ks.us
+ky.us
+la.us
+ma.us
+md.us
+me.us
+mi.us
+mn.us
+mo.us
+ms.us
+mt.us
+nc.us
+nd.us
+ne.us
+nh.us
+nj.us
+nm.us
+nv.us
+ny.us
+oh.us
+ok.us
+or.us
+pa.us
+pr.us
+ri.us
+sc.us
+sd.us
+tn.us
+tx.us
+ut.us
+vi.us
+vt.us
+va.us
+wa.us
+wi.us
+wv.us
+wy.us
+// The registrar notes several more specific domains available in each state,
+// such as state.*.us, dst.*.us, etc., but resolution of these is somewhat
+// haphazard; in some states these domains resolve as addresses, while in others
+// only subdomains are available, or even nothing at all. We include the
+// most common ones where it's clear that different sites are different
+// entities.
+k12.ak.us
+k12.al.us
+k12.ar.us
+k12.as.us
+k12.az.us
+k12.ca.us
+k12.co.us
+k12.ct.us
+k12.dc.us
+k12.de.us
+k12.fl.us
+k12.ga.us
+k12.gu.us
+// k12.hi.us Bug 614565 - Hawaii has a state-wide DOE login
+k12.ia.us
+k12.id.us
+k12.il.us
+k12.in.us
+k12.ks.us
+k12.ky.us
+k12.la.us
+k12.ma.us
+k12.md.us
+k12.me.us
+k12.mi.us
+k12.mn.us
+k12.mo.us
+k12.ms.us
+k12.mt.us
+k12.nc.us
+// k12.nd.us Bug 1028347 - Removed at request of Travis Rosso <trossow@nd.gov>
+k12.ne.us
+k12.nh.us
+k12.nj.us
+k12.nm.us
+k12.nv.us
+k12.ny.us
+k12.oh.us
+k12.ok.us
+k12.or.us
+k12.pa.us
+k12.pr.us
+// k12.ri.us Removed at request of Kim Cournoyer <netsupport@staff.ri.net>
+k12.sc.us
+// k12.sd.us Bug 934131 - Removed at request of James Booze <James.Booze@k12.sd.us>
+k12.tn.us
+k12.tx.us
+k12.ut.us
+k12.vi.us
+k12.vt.us
+k12.va.us
+k12.wa.us
+k12.wi.us
+// k12.wv.us Bug 947705 - Removed at request of Verne Britton <verne@wvnet.edu>
+k12.wy.us
+cc.ak.us
+cc.al.us
+cc.ar.us
+cc.as.us
+cc.az.us
+cc.ca.us
+cc.co.us
+cc.ct.us
+cc.dc.us
+cc.de.us
+cc.fl.us
+cc.ga.us
+cc.gu.us
+cc.hi.us
+cc.ia.us
+cc.id.us
+cc.il.us
+cc.in.us
+cc.ks.us
+cc.ky.us
+cc.la.us
+cc.ma.us
+cc.md.us
+cc.me.us
+cc.mi.us
+cc.mn.us
+cc.mo.us
+cc.ms.us
+cc.mt.us
+cc.nc.us
+cc.nd.us
+cc.ne.us
+cc.nh.us
+cc.nj.us
+cc.nm.us
+cc.nv.us
+cc.ny.us
+cc.oh.us
+cc.ok.us
+cc.or.us
+cc.pa.us
+cc.pr.us
+cc.ri.us
+cc.sc.us
+cc.sd.us
+cc.tn.us
+cc.tx.us
+cc.ut.us
+cc.vi.us
+cc.vt.us
+cc.va.us
+cc.wa.us
+cc.wi.us
+cc.wv.us
+cc.wy.us
+lib.ak.us
+lib.al.us
+lib.ar.us
+lib.as.us
+lib.az.us
+lib.ca.us
+lib.co.us
+lib.ct.us
+lib.dc.us
+// lib.de.us Issue #243 - Moved to Private section at request of Ed Moore <Ed.Moore@lib.de.us>
+lib.fl.us
+lib.ga.us
+lib.gu.us
+lib.hi.us
+lib.ia.us
+lib.id.us
+lib.il.us
+lib.in.us
+lib.ks.us
+lib.ky.us
+lib.la.us
+lib.ma.us
+lib.md.us
+lib.me.us
+lib.mi.us
+lib.mn.us
+lib.mo.us
+lib.ms.us
+lib.mt.us
+lib.nc.us
+lib.nd.us
+lib.ne.us
+lib.nh.us
+lib.nj.us
+lib.nm.us
+lib.nv.us
+lib.ny.us
+lib.oh.us
+lib.ok.us
+lib.or.us
+lib.pa.us
+lib.pr.us
+lib.ri.us
+lib.sc.us
+lib.sd.us
+lib.tn.us
+lib.tx.us
+lib.ut.us
+lib.vi.us
+lib.vt.us
+lib.va.us
+lib.wa.us
+lib.wi.us
+// lib.wv.us Bug 941670 - Removed at request of Larry W Arnold <arnold@wvlc.lib.wv.us>
+lib.wy.us
+// k12.ma.us contains school districts in Massachusetts. The 4LDs are
+// managed independently except for private (PVT), charter (CHTR) and
+// parochial (PAROCH) schools. Those are delegated directly to the
+// 5LD operators. <k12-ma-hostmaster _ at _ rsuc.gweep.net>
+pvt.k12.ma.us
+chtr.k12.ma.us
+paroch.k12.ma.us
+// Merit Network, Inc. maintains the registry for =~ /(k12|cc|lib).mi.us/ and the following
+// see also: http://domreg.merit.edu
+// see also: whois -h whois.domreg.merit.edu help
+ann-arbor.mi.us
+cog.mi.us
+dst.mi.us
+eaton.mi.us
+gen.mi.us
+mus.mi.us
+tec.mi.us
+washtenaw.mi.us
+
+// uy : http://www.nic.org.uy/
+uy
+com.uy
+edu.uy
+gub.uy
+mil.uy
+net.uy
+org.uy
+
+// uz : http://www.reg.uz/
+uz
+co.uz
+com.uz
+net.uz
+org.uz
+
+// va : https://en.wikipedia.org/wiki/.va
+va
+
+// vc : https://en.wikipedia.org/wiki/.vc
+// Submitted by registry <kshah@ca.afilias.info>
+vc
+com.vc
+net.vc
+org.vc
+gov.vc
+mil.vc
+edu.vc
+
+// ve : https://registro.nic.ve/
+// Submitted by registry nic@nic.ve and nicve@conatel.gob.ve
+ve
+arts.ve
+bib.ve
+co.ve
+com.ve
+e12.ve
+edu.ve
+firm.ve
+gob.ve
+gov.ve
+info.ve
+int.ve
+mil.ve
+net.ve
+nom.ve
+org.ve
+rar.ve
+rec.ve
+store.ve
+tec.ve
+web.ve
+
+// vg : https://en.wikipedia.org/wiki/.vg
+vg
+
+// vi : http://www.nic.vi/newdomainform.htm
+// http://www.nic.vi/Domain_Rules/body_domain_rules.html indicates some other
+// TLDs are "reserved", such as edu.vi and gov.vi, but doesn't actually say they
+// are available for registration (which they do not seem to be).
+vi
+co.vi
+com.vi
+k12.vi
+net.vi
+org.vi
+
+// vn : https://www.dot.vn/vnnic/vnnic/domainregistration.jsp
+vn
+com.vn
+net.vn
+org.vn
+edu.vn
+gov.vn
+int.vn
+ac.vn
+biz.vn
+info.vn
+name.vn
+pro.vn
+health.vn
+
+// vu : https://en.wikipedia.org/wiki/.vu
+// http://www.vunic.vu/
+vu
+com.vu
+edu.vu
+net.vu
+org.vu
+
+// wf : http://www.afnic.fr/medias/documents/AFNIC-naming-policy2012.pdf
+wf
+
+// ws : https://en.wikipedia.org/wiki/.ws
+// http://samoanic.ws/index.dhtml
+ws
+com.ws
+net.ws
+org.ws
+gov.ws
+edu.ws
+
+// yt : http://www.afnic.fr/medias/documents/AFNIC-naming-policy2012.pdf
+yt
+
+// IDN ccTLDs
+// When submitting patches, please maintain a sort by ISO 3166 ccTLD, then
+// U-label, and follow this format:
+// // A-Label ("<Latin renderings>", <language name>[, variant info]) : <ISO 3166 ccTLD>
+// // [sponsoring org]
+// U-Label
+
+// xn--mgbaam7a8h ("Emerat", Arabic) : AE
+// http://nic.ae/english/arabicdomain/rules.jsp
+امارات
+
+// xn--y9a3aq ("hye", Armenian) : AM
+// ISOC AM (operated by .am Registry)
+հայ
+
+// xn--54b7fta0cc ("Bangla", Bangla) : BD
+বাংলা
+
+// xn--90ae ("bg", Bulgarian) : BG
+бг
+
+// xn--mgbcpq6gpa1a ("albahrain", Arabic) : BH
+البحرين
+
+// xn--90ais ("bel", Belarusian/Russian Cyrillic) : BY
+// Operated by .by registry
+бел
+
+// xn--fiqs8s ("Zhongguo/China", Chinese, Simplified) : CN
+// CNNIC
+// http://cnnic.cn/html/Dir/2005/10/11/3218.htm
+中国
+
+// xn--fiqz9s ("Zhongguo/China", Chinese, Traditional) : CN
+// CNNIC
+// http://cnnic.cn/html/Dir/2005/10/11/3218.htm
+中國
+
+// xn--lgbbat1ad8j ("Algeria/Al Jazair", Arabic) : DZ
+الجزائر
+
+// xn--wgbh1c ("Egypt/Masr", Arabic) : EG
+// http://www.dotmasr.eg/
+مصر
+
+// xn--e1a4c ("eu", Cyrillic) : EU
+// https://eurid.eu
+ею
+
+// xn--qxa6a ("eu", Greek) : EU
+// https://eurid.eu
+ευ
+
+// xn--mgbah1a3hjkrd ("Mauritania", Arabic) : MR
+موريتانيا
+
+// xn--node ("ge", Georgian Mkhedruli) : GE
+გე
+
+// xn--qxam ("el", Greek) : GR
+// Hellenic Ministry of Infrastructure, Transport, and Networks
+ελ
+
+// xn--j6w193g ("Hong Kong", Chinese) : HK
+// https://www.hkirc.hk
+// Submitted by registry <hk.tech@hkirc.hk>
+// https://www.hkirc.hk/content.jsp?id=30#!/34
+香港
+公司.香港
+教育.香港
+政府.香港
+個人.香港
+網絡.香港
+組織.香港
+
+// xn--2scrj9c ("Bharat", Kannada) : IN
+// India
+ಭಾರತ
+
+// xn--3hcrj9c ("Bharat", Oriya) : IN
+// India
+ଭାରତ
+
+// xn--45br5cyl ("Bharatam", Assamese) : IN
+// India
+ভাৰত
+
+// xn--h2breg3eve ("Bharatam", Sanskrit) : IN
+// India
+भारतम्
+
+// xn--h2brj9c8c ("Bharot", Santali) : IN
+// India
+भारोत
+
+// xn--mgbgu82a ("Bharat", Sindhi) : IN
+// India
+ڀارت
+
+// xn--rvc1e0am3e ("Bharatam", Malayalam) : IN
+// India
+ഭാരതം
+
+// xn--h2brj9c ("Bharat", Devanagari) : IN
+// India
+भारत
+
+// xn--mgbbh1a ("Bharat", Kashmiri) : IN
+// India
+بارت
+
+// xn--mgbbh1a71e ("Bharat", Arabic) : IN
+// India
+بھارت
+
+// xn--fpcrj9c3d ("Bharat", Telugu) : IN
+// India
+భారత్
+
+// xn--gecrj9c ("Bharat", Gujarati) : IN
+// India
+ભારત
+
+// xn--s9brj9c ("Bharat", Gurmukhi) : IN
+// India
+ਭਾਰਤ
+
+// xn--45brj9c ("Bharat", Bengali) : IN
+// India
+ভারত
+
+// xn--xkc2dl3a5ee0h ("India", Tamil) : IN
+// India
+இந்தியா
+
+// xn--mgba3a4f16a ("Iran", Persian) : IR
+ایران
+
+// xn--mgba3a4fra ("Iran", Arabic) : IR
+ايران
+
+// xn--mgbtx2b ("Iraq", Arabic) : IQ
+// Communications and Media Commission
+عراق
+
+// xn--mgbayh7gpa ("al-Ordon", Arabic) : JO
+// National Information Technology Center (NITC)
+// Royal Scientific Society, Al-Jubeiha
+الاردن
+
+// xn--3e0b707e ("Republic of Korea", Hangul) : KR
+한국
+
+// xn--80ao21a ("Kaz", Kazakh) : KZ
+қаз
+
+// xn--q7ce6a ("Lao", Lao) : LA
+ລາວ
+
+// xn--fzc2c9e2c ("Lanka", Sinhalese-Sinhala) : LK
+// https://nic.lk
+ලංකා
+
+// xn--xkc2al3hye2a ("Ilangai", Tamil) : LK
+// https://nic.lk
+இலங்கை
+
+// xn--mgbc0a9azcg ("Morocco/al-Maghrib", Arabic) : MA
+المغرب
+
+// xn--d1alf ("mkd", Macedonian) : MK
+// MARnet
+мкд
+
+// xn--l1acc ("mon", Mongolian) : MN
+мон
+
+// xn--mix891f ("Macao", Chinese, Traditional) : MO
+// MONIC / HNET Asia (Registry Operator for .mo)
+澳門
+
+// xn--mix082f ("Macao", Chinese, Simplified) : MO
+澳门
+
+// xn--mgbx4cd0ab ("Malaysia", Malay) : MY
+مليسيا
+
+// xn--mgb9awbf ("Oman", Arabic) : OM
+عمان
+
+// xn--mgbai9azgqp6j ("Pakistan", Urdu/Arabic) : PK
+پاکستان
+
+// xn--mgbai9a5eva00b ("Pakistan", Urdu/Arabic, variant) : PK
+پاكستان
+
+// xn--ygbi2ammx ("Falasteen", Arabic) : PS
+// The Palestinian National Internet Naming Authority (PNINA)
+// http://www.pnina.ps
+فلسطين
+
+// xn--90a3ac ("srb", Cyrillic) : RS
+// https://www.rnids.rs/en/domains/national-domains
+срб
+пр.срб
+орг.срб
+обр.срб
+од.срб
+упр.срб
+ак.срб
+
+// xn--p1ai ("rf", Russian-Cyrillic) : RU
+// https://cctld.ru/files/pdf/docs/en/rules_ru-rf.pdf
+// Submitted by George Georgievsky <gug@cctld.ru>
+рф
+
+// xn--wgbl6a ("Qatar", Arabic) : QA
+// http://www.ict.gov.qa/
+قطر
+
+// xn--mgberp4a5d4ar ("AlSaudiah", Arabic) : SA
+// http://www.nic.net.sa/
+السعودية
+
+// xn--mgberp4a5d4a87g ("AlSaudiah", Arabic, variant) : SA
+السعودیة
+
+// xn--mgbqly7c0a67fbc ("AlSaudiah", Arabic, variant) : SA
+السعودیۃ
+
+// xn--mgbqly7cvafr ("AlSaudiah", Arabic, variant) : SA
+السعوديه
+
+// xn--mgbpl2fh ("sudan", Arabic) : SD
+// Operated by .sd registry
+سودان
+
+// xn--yfro4i67o Singapore ("Singapore", Chinese) : SG
+新加坡
+
+// xn--clchc0ea0b2g2a9gcd ("Singapore", Tamil) : SG
+சிங்கப்பூர்
+
+// xn--ogbpf8fl ("Syria", Arabic) : SY
+سورية
+
+// xn--mgbtf8fl ("Syria", Arabic, variant) : SY
+سوريا
+
+// xn--o3cw4h ("Thai", Thai) : TH
+// http://www.thnic.co.th
+ไทย
+ศึกษา.ไทย
+ธุรกิจ.ไทย
+รัฐบาล.ไทย
+ทหาร.ไทย
+เน็ต.ไทย
+องค์กร.ไทย
+
+// xn--pgbs0dh ("Tunisia", Arabic) : TN
+// http://nic.tn
+تونس
+
+// xn--kpry57d ("Taiwan", Chinese, Traditional) : TW
+// http://www.twnic.net/english/dn/dn_07a.htm
+台灣
+
+// xn--kprw13d ("Taiwan", Chinese, Simplified) : TW
+// http://www.twnic.net/english/dn/dn_07a.htm
+台湾
+
+// xn--nnx388a ("Taiwan", Chinese, variant) : TW
+臺灣
+
+// xn--j1amh ("ukr", Cyrillic) : UA
+укр
+
+// xn--mgb2ddes ("AlYemen", Arabic) : YE
+اليمن
+
+// xxx : http://icmregistry.com
+xxx
+
+// ye : http://www.y.net.ye/services/domain_name.htm
+ye
+com.ye
+edu.ye
+gov.ye
+net.ye
+mil.ye
+org.ye
+
+// za : https://www.zadna.org.za/content/page/domain-information/
+ac.za
+agric.za
+alt.za
+co.za
+edu.za
+gov.za
+grondar.za
+law.za
+mil.za
+net.za
+ngo.za
+nic.za
+nis.za
+nom.za
+org.za
+school.za
+tm.za
+web.za
+
+// zm : https://zicta.zm/
+// Submitted by registry <info@zicta.zm>
+zm
+ac.zm
+biz.zm
+co.zm
+com.zm
+edu.zm
+gov.zm
+info.zm
+mil.zm
+net.zm
+org.zm
+sch.zm
+
+// zw : https://www.potraz.gov.zw/
+// Confirmed by registry <bmtengwa@potraz.gov.zw> 2017-01-25
+zw
+ac.zw
+co.zw
+gov.zw
+mil.zw
+org.zw
+
+
+// newGTLDs
+
+// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2022-02-18T15:13:38Z
+// This list is auto-generated, don't edit it manually.
+// aaa : 2015-02-26 American Automobile Association, Inc.
+aaa
+
+// aarp : 2015-05-21 AARP
+aarp
+
+// abarth : 2015-07-30 Fiat Chrysler Automobiles N.V.
+abarth
+
+// abb : 2014-10-24 ABB Ltd
+abb
+
+// abbott : 2014-07-24 Abbott Laboratories, Inc.
+abbott
+
+// abbvie : 2015-07-30 AbbVie Inc.
+abbvie
+
+// abc : 2015-07-30 Disney Enterprises, Inc.
+abc
+
+// able : 2015-06-25 Able Inc.
+able
+
+// abogado : 2014-04-24 Registry Services, LLC
+abogado
+
+// abudhabi : 2015-07-30 Abu Dhabi Systems and Information Centre
+abudhabi
+
+// academy : 2013-11-07 Binky Moon, LLC
+academy
+
+// accenture : 2014-08-15 Accenture plc
+accenture
+
+// accountant : 2014-11-20 dot Accountant Limited
+accountant
+
+// accountants : 2014-03-20 Binky Moon, LLC
+accountants
+
+// aco : 2015-01-08 ACO Severin Ahlmann GmbH & Co. KG
+aco
+
+// actor : 2013-12-12 Dog Beach, LLC
+actor
+
+// adac : 2015-07-16 Allgemeiner Deutscher Automobil-Club e.V. (ADAC)
+adac
+
+// ads : 2014-12-04 Charleston Road Registry Inc.
+ads
+
+// adult : 2014-10-16 ICM Registry AD LLC
+adult
+
+// aeg : 2015-03-19 Aktiebolaget Electrolux
+aeg
+
+// aetna : 2015-05-21 Aetna Life Insurance Company
+aetna
+
+// afl : 2014-10-02 Australian Football League
+afl
+
+// africa : 2014-03-24 ZA Central Registry NPC trading as Registry.Africa
+africa
+
+// agakhan : 2015-04-23 Fondation Aga Khan (Aga Khan Foundation)
+agakhan
+
+// agency : 2013-11-14 Binky Moon, LLC
+agency
+
+// aig : 2014-12-18 American International Group, Inc.
+aig
+
+// airbus : 2015-07-30 Airbus S.A.S.
+airbus
+
+// airforce : 2014-03-06 Dog Beach, LLC
+airforce
+
+// airtel : 2014-10-24 Bharti Airtel Limited
+airtel
+
+// akdn : 2015-04-23 Fondation Aga Khan (Aga Khan Foundation)
+akdn
+
+// alfaromeo : 2015-07-31 Fiat Chrysler Automobiles N.V.
+alfaromeo
+
+// alibaba : 2015-01-15 Alibaba Group Holding Limited
+alibaba
+
+// alipay : 2015-01-15 Alibaba Group Holding Limited
+alipay
+
+// allfinanz : 2014-07-03 Allfinanz Deutsche Vermögensberatung Aktiengesellschaft
+allfinanz
+
+// allstate : 2015-07-31 Allstate Fire and Casualty Insurance Company
+allstate
+
+// ally : 2015-06-18 Ally Financial Inc.
+ally
+
+// alsace : 2014-07-02 Region Grand Est
+alsace
+
+// alstom : 2015-07-30 ALSTOM
+alstom
+
+// amazon : 2019-12-19 Amazon Registry Services, Inc.
+amazon
+
+// americanexpress : 2015-07-31 American Express Travel Related Services Company, Inc.
+americanexpress
+
+// americanfamily : 2015-07-23 AmFam, Inc.
+americanfamily
+
+// amex : 2015-07-31 American Express Travel Related Services Company, Inc.
+amex
+
+// amfam : 2015-07-23 AmFam, Inc.
+amfam
+
+// amica : 2015-05-28 Amica Mutual Insurance Company
+amica
+
+// amsterdam : 2014-07-24 Gemeente Amsterdam
+amsterdam
+
+// analytics : 2014-12-18 Campus IP LLC
+analytics
+
+// android : 2014-08-07 Charleston Road Registry Inc.
+android
+
+// anquan : 2015-01-08 Beijing Qihu Keji Co., Ltd.
+anquan
+
+// anz : 2015-07-31 Australia and New Zealand Banking Group Limited
+anz
+
+// aol : 2015-09-17 Oath Inc.
+aol
+
+// apartments : 2014-12-11 Binky Moon, LLC
+apartments
+
+// app : 2015-05-14 Charleston Road Registry Inc.
+app
+
+// apple : 2015-05-14 Apple Inc.
+apple
+
+// aquarelle : 2014-07-24 Aquarelle.com
+aquarelle
+
+// arab : 2015-11-12 League of Arab States
+arab
+
+// aramco : 2014-11-20 Aramco Services Company
+aramco
+
+// archi : 2014-02-06 Afilias Limited
+archi
+
+// army : 2014-03-06 Dog Beach, LLC
+army
+
+// art : 2016-03-24 UK Creative Ideas Limited
+art
+
+// arte : 2014-12-11 Association Relative à la Télévision Européenne G.E.I.E.
+arte
+
+// asda : 2015-07-31 Wal-Mart Stores, Inc.
+asda
+
+// associates : 2014-03-06 Binky Moon, LLC
+associates
+
+// athleta : 2015-07-30 The Gap, Inc.
+athleta
+
+// attorney : 2014-03-20 Dog Beach, LLC
+attorney
+
+// auction : 2014-03-20 Dog Beach, LLC
+auction
+
+// audi : 2015-05-21 AUDI Aktiengesellschaft
+audi
+
+// audible : 2015-06-25 Amazon Registry Services, Inc.
+audible
+
+// audio : 2014-03-20 UNR Corp.
+audio
+
+// auspost : 2015-08-13 Australian Postal Corporation
+auspost
+
+// author : 2014-12-18 Amazon Registry Services, Inc.
+author
+
+// auto : 2014-11-13 XYZ.COM LLC
+auto
+
+// autos : 2014-01-09 XYZ.COM LLC
+autos
+
+// avianca : 2015-01-08 Avianca Holdings S.A.
+avianca
+
+// aws : 2015-06-25 AWS Registry LLC
+aws
+
+// axa : 2013-12-19 AXA Group Operations SAS
+axa
+
+// azure : 2014-12-18 Microsoft Corporation
+azure
+
+// baby : 2015-04-09 XYZ.COM LLC
+baby
+
+// baidu : 2015-01-08 Baidu, Inc.
+baidu
+
+// banamex : 2015-07-30 Citigroup Inc.
+banamex
+
+// bananarepublic : 2015-07-31 The Gap, Inc.
+bananarepublic
+
+// band : 2014-06-12 Dog Beach, LLC
+band
+
+// bank : 2014-09-25 fTLD Registry Services LLC
+bank
+
+// bar : 2013-12-12 Punto 2012 Sociedad Anonima Promotora de Inversion de Capital Variable
+bar
+
+// barcelona : 2014-07-24 Municipi de Barcelona
+barcelona
+
+// barclaycard : 2014-11-20 Barclays Bank PLC
+barclaycard
+
+// barclays : 2014-11-20 Barclays Bank PLC
+barclays
+
+// barefoot : 2015-06-11 Gallo Vineyards, Inc.
+barefoot
+
+// bargains : 2013-11-14 Binky Moon, LLC
+bargains
+
+// baseball : 2015-10-29 MLB Advanced Media DH, LLC
+baseball
+
+// basketball : 2015-08-20 Fédération Internationale de Basketball (FIBA)
+basketball
+
+// bauhaus : 2014-04-17 Werkhaus GmbH
+bauhaus
+
+// bayern : 2014-01-23 Bayern Connect GmbH
+bayern
+
+// bbc : 2014-12-18 British Broadcasting Corporation
+bbc
+
+// bbt : 2015-07-23 BB&T Corporation
+bbt
+
+// bbva : 2014-10-02 BANCO BILBAO VIZCAYA ARGENTARIA, S.A.
+bbva
+
+// bcg : 2015-04-02 The Boston Consulting Group, Inc.
+bcg
+
+// bcn : 2014-07-24 Municipi de Barcelona
+bcn
+
+// beats : 2015-05-14 Beats Electronics, LLC
+beats
+
+// beauty : 2015-12-03 XYZ.COM LLC
+beauty
+
+// beer : 2014-01-09 Registry Services, LLC
+beer
+
+// bentley : 2014-12-18 Bentley Motors Limited
+bentley
+
+// berlin : 2013-10-31 dotBERLIN GmbH & Co. KG
+berlin
+
+// best : 2013-12-19 BestTLD Pty Ltd
+best
+
+// bestbuy : 2015-07-31 BBY Solutions, Inc.
+bestbuy
+
+// bet : 2015-05-07 Afilias Limited
+bet
+
+// bharti : 2014-01-09 Bharti Enterprises (Holding) Private Limited
+bharti
+
+// bible : 2014-06-19 American Bible Society
+bible
+
+// bid : 2013-12-19 dot Bid Limited
+bid
+
+// bike : 2013-08-27 Binky Moon, LLC
+bike
+
+// bing : 2014-12-18 Microsoft Corporation
+bing
+
+// bingo : 2014-12-04 Binky Moon, LLC
+bingo
+
+// bio : 2014-03-06 Afilias Limited
+bio
+
+// black : 2014-01-16 Afilias Limited
+black
+
+// blackfriday : 2014-01-16 UNR Corp.
+blackfriday
+
+// blockbuster : 2015-07-30 Dish DBS Corporation
+blockbuster
+
+// blog : 2015-05-14 Knock Knock WHOIS There, LLC
+blog
+
+// bloomberg : 2014-07-17 Bloomberg IP Holdings LLC
+bloomberg
+
+// blue : 2013-11-07 Afilias Limited
+blue
+
+// bms : 2014-10-30 Bristol-Myers Squibb Company
+bms
+
+// bmw : 2014-01-09 Bayerische Motoren Werke Aktiengesellschaft
+bmw
+
+// bnpparibas : 2014-05-29 BNP Paribas
+bnpparibas
+
+// boats : 2014-12-04 XYZ.COM LLC
+boats
+
+// boehringer : 2015-07-09 Boehringer Ingelheim International GmbH
+boehringer
+
+// bofa : 2015-07-31 Bank of America Corporation
+bofa
+
+// bom : 2014-10-16 Núcleo de Informação e Coordenação do Ponto BR - NIC.br
+bom
+
+// bond : 2014-06-05 ShortDot SA
+bond
+
+// boo : 2014-01-30 Charleston Road Registry Inc.
+boo
+
+// book : 2015-08-27 Amazon Registry Services, Inc.
+book
+
+// booking : 2015-07-16 Booking.com B.V.
+booking
+
+// bosch : 2015-06-18 Robert Bosch GMBH
+bosch
+
+// bostik : 2015-05-28 Bostik SA
+bostik
+
+// boston : 2015-12-10 Registry Services, LLC
+boston
+
+// bot : 2014-12-18 Amazon Registry Services, Inc.
+bot
+
+// boutique : 2013-11-14 Binky Moon, LLC
+boutique
+
+// box : 2015-11-12 Intercap Registry Inc.
+box
+
+// bradesco : 2014-12-18 Banco Bradesco S.A.
+bradesco
+
+// bridgestone : 2014-12-18 Bridgestone Corporation
+bridgestone
+
+// broadway : 2014-12-22 Celebrate Broadway, Inc.
+broadway
+
+// broker : 2014-12-11 Dog Beach, LLC
+broker
+
+// brother : 2015-01-29 Brother Industries, Ltd.
+brother
+
+// brussels : 2014-02-06 DNS.be vzw
+brussels
+
+// bugatti : 2015-07-23 Bugatti International SA
+bugatti
+
+// build : 2013-11-07 Plan Bee LLC
+build
+
+// builders : 2013-11-07 Binky Moon, LLC
+builders
+
+// business : 2013-11-07 Binky Moon, LLC
+business
+
+// buy : 2014-12-18 Amazon Registry Services, Inc.
+buy
+
+// buzz : 2013-10-02 DOTSTRATEGY CO.
+buzz
+
+// bzh : 2014-02-27 Association www.bzh
+bzh
+
+// cab : 2013-10-24 Binky Moon, LLC
+cab
+
+// cafe : 2015-02-11 Binky Moon, LLC
+cafe
+
+// cal : 2014-07-24 Charleston Road Registry Inc.
+cal
+
+// call : 2014-12-18 Amazon Registry Services, Inc.
+call
+
+// calvinklein : 2015-07-30 PVH gTLD Holdings LLC
+calvinklein
+
+// cam : 2016-04-21 Cam Connecting SARL
+cam
+
+// camera : 2013-08-27 Binky Moon, LLC
+camera
+
+// camp : 2013-11-07 Binky Moon, LLC
+camp
+
+// cancerresearch : 2014-05-15 Australian Cancer Research Foundation
+cancerresearch
+
+// canon : 2014-09-12 Canon Inc.
+canon
+
+// capetown : 2014-03-24 ZA Central Registry NPC trading as ZA Central Registry
+capetown
+
+// capital : 2014-03-06 Binky Moon, LLC
+capital
+
+// capitalone : 2015-08-06 Capital One Financial Corporation
+capitalone
+
+// car : 2015-01-22 XYZ.COM LLC
+car
+
+// caravan : 2013-12-12 Caravan International, Inc.
+caravan
+
+// cards : 2013-12-05 Binky Moon, LLC
+cards
+
+// care : 2014-03-06 Binky Moon, LLC
+care
+
+// career : 2013-10-09 dotCareer LLC
+career
+
+// careers : 2013-10-02 Binky Moon, LLC
+careers
+
+// cars : 2014-11-13 XYZ.COM LLC
+cars
+
+// casa : 2013-11-21 Registry Services, LLC
+casa
+
+// case : 2015-09-03 Helium TLDs Ltd
+case
+
+// cash : 2014-03-06 Binky Moon, LLC
+cash
+
+// casino : 2014-12-18 Binky Moon, LLC
+casino
+
+// catering : 2013-12-05 Binky Moon, LLC
+catering
+
+// catholic : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
+catholic
+
+// cba : 2014-06-26 COMMONWEALTH BANK OF AUSTRALIA
+cba
+
+// cbn : 2014-08-22 The Christian Broadcasting Network, Inc.
+cbn
+
+// cbre : 2015-07-02 CBRE, Inc.
+cbre
+
+// cbs : 2015-08-06 CBS Domains Inc.
+cbs
+
+// center : 2013-11-07 Binky Moon, LLC
+center
+
+// ceo : 2013-11-07 CEOTLD Pty Ltd
+ceo
+
+// cern : 2014-06-05 European Organization for Nuclear Research ("CERN")
+cern
+
+// cfa : 2014-08-28 CFA Institute
+cfa
+
+// cfd : 2014-12-11 ShortDot SA
+cfd
+
+// chanel : 2015-04-09 Chanel International B.V.
+chanel
+
+// channel : 2014-05-08 Charleston Road Registry Inc.
+channel
+
+// charity : 2018-04-11 Binky Moon, LLC
+charity
+
+// chase : 2015-04-30 JPMorgan Chase Bank, National Association
+chase
+
+// chat : 2014-12-04 Binky Moon, LLC
+chat
+
+// cheap : 2013-11-14 Binky Moon, LLC
+cheap
+
+// chintai : 2015-06-11 CHINTAI Corporation
+chintai
+
+// christmas : 2013-11-21 UNR Corp.
+christmas
+
+// chrome : 2014-07-24 Charleston Road Registry Inc.
+chrome
+
+// church : 2014-02-06 Binky Moon, LLC
+church
+
+// cipriani : 2015-02-19 Hotel Cipriani Srl
+cipriani
+
+// circle : 2014-12-18 Amazon Registry Services, Inc.
+circle
+
+// cisco : 2014-12-22 Cisco Technology, Inc.
+cisco
+
+// citadel : 2015-07-23 Citadel Domain LLC
+citadel
+
+// citi : 2015-07-30 Citigroup Inc.
+citi
+
+// citic : 2014-01-09 CITIC Group Corporation
+citic
+
+// city : 2014-05-29 Binky Moon, LLC
+city
+
+// cityeats : 2014-12-11 Lifestyle Domain Holdings, Inc.
+cityeats
+
+// claims : 2014-03-20 Binky Moon, LLC
+claims
+
+// cleaning : 2013-12-05 Binky Moon, LLC
+cleaning
+
+// click : 2014-06-05 UNR Corp.
+click
+
+// clinic : 2014-03-20 Binky Moon, LLC
+clinic
+
+// clinique : 2015-10-01 The Estée Lauder Companies Inc.
+clinique
+
+// clothing : 2013-08-27 Binky Moon, LLC
+clothing
+
+// cloud : 2015-04-16 Aruba PEC S.p.A.
+cloud
+
+// club : 2013-11-08 Registry Services, LLC
+club
+
+// clubmed : 2015-06-25 Club Méditerranée S.A.
+clubmed
+
+// coach : 2014-10-09 Binky Moon, LLC
+coach
+
+// codes : 2013-10-31 Binky Moon, LLC
+codes
+
+// coffee : 2013-10-17 Binky Moon, LLC
+coffee
+
+// college : 2014-01-16 XYZ.COM LLC
+college
+
+// cologne : 2014-02-05 dotKoeln GmbH
+cologne
+
+// comcast : 2015-07-23 Comcast IP Holdings I, LLC
+comcast
+
+// commbank : 2014-06-26 COMMONWEALTH BANK OF AUSTRALIA
+commbank
+
+// community : 2013-12-05 Binky Moon, LLC
+community
+
+// company : 2013-11-07 Binky Moon, LLC
+company
+
+// compare : 2015-10-08 Registry Services, LLC
+compare
+
+// computer : 2013-10-24 Binky Moon, LLC
+computer
+
+// comsec : 2015-01-08 VeriSign, Inc.
+comsec
+
+// condos : 2013-12-05 Binky Moon, LLC
+condos
+
+// construction : 2013-09-16 Binky Moon, LLC
+construction
+
+// consulting : 2013-12-05 Dog Beach, LLC
+consulting
+
+// contact : 2015-01-08 Dog Beach, LLC
+contact
+
+// contractors : 2013-09-10 Binky Moon, LLC
+contractors
+
+// cooking : 2013-11-21 Registry Services, LLC
+cooking
+
+// cookingchannel : 2015-07-02 Lifestyle Domain Holdings, Inc.
+cookingchannel
+
+// cool : 2013-11-14 Binky Moon, LLC
+cool
+
+// corsica : 2014-09-25 Collectivité de Corse
+corsica
+
+// country : 2013-12-19 DotCountry LLC
+country
+
+// coupon : 2015-02-26 Amazon Registry Services, Inc.
+coupon
+
+// coupons : 2015-03-26 Binky Moon, LLC
+coupons
+
+// courses : 2014-12-04 OPEN UNIVERSITIES AUSTRALIA PTY LTD
+courses
+
+// cpa : 2019-06-10 American Institute of Certified Public Accountants
+cpa
+
+// credit : 2014-03-20 Binky Moon, LLC
+credit
+
+// creditcard : 2014-03-20 Binky Moon, LLC
+creditcard
+
+// creditunion : 2015-01-22 DotCooperation LLC
+creditunion
+
+// cricket : 2014-10-09 dot Cricket Limited
+cricket
+
+// crown : 2014-10-24 Crown Equipment Corporation
+crown
+
+// crs : 2014-04-03 Federated Co-operatives Limited
+crs
+
+// cruise : 2015-12-10 Viking River Cruises (Bermuda) Ltd.
+cruise
+
+// cruises : 2013-12-05 Binky Moon, LLC
+cruises
+
+// cuisinella : 2014-04-03 SCHMIDT GROUPE S.A.S.
+cuisinella
+
+// cymru : 2014-05-08 Nominet UK
+cymru
+
+// cyou : 2015-01-22 ShortDot SA
+cyou
+
+// dabur : 2014-02-06 Dabur India Limited
+dabur
+
+// dad : 2014-01-23 Charleston Road Registry Inc.
+dad
+
+// dance : 2013-10-24 Dog Beach, LLC
+dance
+
+// data : 2016-06-02 Dish DBS Corporation
+data
+
+// date : 2014-11-20 dot Date Limited
+date
+
+// dating : 2013-12-05 Binky Moon, LLC
+dating
+
+// datsun : 2014-03-27 NISSAN MOTOR CO., LTD.
+datsun
+
+// day : 2014-01-30 Charleston Road Registry Inc.
+day
+
+// dclk : 2014-11-20 Charleston Road Registry Inc.
+dclk
+
+// dds : 2015-05-07 Registry Services, LLC
+dds
+
+// deal : 2015-06-25 Amazon Registry Services, Inc.
+deal
+
+// dealer : 2014-12-22 Intercap Registry Inc.
+dealer
+
+// deals : 2014-05-22 Binky Moon, LLC
+deals
+
+// degree : 2014-03-06 Dog Beach, LLC
+degree
+
+// delivery : 2014-09-11 Binky Moon, LLC
+delivery
+
+// dell : 2014-10-24 Dell Inc.
+dell
+
+// deloitte : 2015-07-31 Deloitte Touche Tohmatsu
+deloitte
+
+// delta : 2015-02-19 Delta Air Lines, Inc.
+delta
+
+// democrat : 2013-10-24 Dog Beach, LLC
+democrat
+
+// dental : 2014-03-20 Binky Moon, LLC
+dental
+
+// dentist : 2014-03-20 Dog Beach, LLC
+dentist
+
+// desi : 2013-11-14 Desi Networks LLC
+desi
+
+// design : 2014-11-07 Registry Services, LLC
+design
+
+// dev : 2014-10-16 Charleston Road Registry Inc.
+dev
+
+// dhl : 2015-07-23 Deutsche Post AG
+dhl
+
+// diamonds : 2013-09-22 Binky Moon, LLC
+diamonds
+
+// diet : 2014-06-26 UNR Corp.
+diet
+
+// digital : 2014-03-06 Binky Moon, LLC
+digital
+
+// direct : 2014-04-10 Binky Moon, LLC
+direct
+
+// directory : 2013-09-20 Binky Moon, LLC
+directory
+
+// discount : 2014-03-06 Binky Moon, LLC
+discount
+
+// discover : 2015-07-23 Discover Financial Services
+discover
+
+// dish : 2015-07-30 Dish DBS Corporation
+dish
+
+// diy : 2015-11-05 Lifestyle Domain Holdings, Inc.
+diy
+
+// dnp : 2013-12-13 Dai Nippon Printing Co., Ltd.
+dnp
+
+// docs : 2014-10-16 Charleston Road Registry Inc.
+docs
+
+// doctor : 2016-06-02 Binky Moon, LLC
+doctor
+
+// dog : 2014-12-04 Binky Moon, LLC
+dog
+
+// domains : 2013-10-17 Binky Moon, LLC
+domains
+
+// dot : 2015-05-21 Dish DBS Corporation
+dot
+
+// download : 2014-11-20 dot Support Limited
+download
+
+// drive : 2015-03-05 Charleston Road Registry Inc.
+drive
+
+// dtv : 2015-06-04 Dish DBS Corporation
+dtv
+
+// dubai : 2015-01-01 Dubai Smart Government Department
+dubai
+
+// dunlop : 2015-07-02 The Goodyear Tire & Rubber Company
+dunlop
+
+// dupont : 2015-06-25 DuPont Specialty Products USA, LLC
+dupont
+
+// durban : 2014-03-24 ZA Central Registry NPC trading as ZA Central Registry
+durban
+
+// dvag : 2014-06-23 Deutsche Vermögensberatung Aktiengesellschaft DVAG
+dvag
+
+// dvr : 2016-05-26 DISH Technologies L.L.C.
+dvr
+
+// earth : 2014-12-04 Interlink Co., Ltd.
+earth
+
+// eat : 2014-01-23 Charleston Road Registry Inc.
+eat
+
+// eco : 2016-07-08 Big Room Inc.
+eco
+
+// edeka : 2014-12-18 EDEKA Verband kaufmännischer Genossenschaften e.V.
+edeka
+
+// education : 2013-11-07 Binky Moon, LLC
+education
+
+// email : 2013-10-31 Binky Moon, LLC
+email
+
+// emerck : 2014-04-03 Merck KGaA
+emerck
+
+// energy : 2014-09-11 Binky Moon, LLC
+energy
+
+// engineer : 2014-03-06 Dog Beach, LLC
+engineer
+
+// engineering : 2014-03-06 Binky Moon, LLC
+engineering
+
+// enterprises : 2013-09-20 Binky Moon, LLC
+enterprises
+
+// epson : 2014-12-04 Seiko Epson Corporation
+epson
+
+// equipment : 2013-08-27 Binky Moon, LLC
+equipment
+
+// ericsson : 2015-07-09 Telefonaktiebolaget L M Ericsson
+ericsson
+
+// erni : 2014-04-03 ERNI Group Holding AG
+erni
+
+// esq : 2014-05-08 Charleston Road Registry Inc.
+esq
+
+// estate : 2013-08-27 Binky Moon, LLC
+estate
+
+// etisalat : 2015-09-03 Emirates Telecommunications Corporation (trading as Etisalat)
+etisalat
+
+// eurovision : 2014-04-24 European Broadcasting Union (EBU)
+eurovision
+
+// eus : 2013-12-12 Puntueus Fundazioa
+eus
+
+// events : 2013-12-05 Binky Moon, LLC
+events
+
+// exchange : 2014-03-06 Binky Moon, LLC
+exchange
+
+// expert : 2013-11-21 Binky Moon, LLC
+expert
+
+// exposed : 2013-12-05 Binky Moon, LLC
+exposed
+
+// express : 2015-02-11 Binky Moon, LLC
+express
+
+// extraspace : 2015-05-14 Extra Space Storage LLC
+extraspace
+
+// fage : 2014-12-18 Fage International S.A.
+fage
+
+// fail : 2014-03-06 Binky Moon, LLC
+fail
+
+// fairwinds : 2014-11-13 FairWinds Partners, LLC
+fairwinds
+
+// faith : 2014-11-20 dot Faith Limited
+faith
+
+// family : 2015-04-02 Dog Beach, LLC
+family
+
+// fan : 2014-03-06 Dog Beach, LLC
+fan
+
+// fans : 2014-11-07 ZDNS International Limited
+fans
+
+// farm : 2013-11-07 Binky Moon, LLC
+farm
+
+// farmers : 2015-07-09 Farmers Insurance Exchange
+farmers
+
+// fashion : 2014-07-03 Registry Services, LLC
+fashion
+
+// fast : 2014-12-18 Amazon Registry Services, Inc.
+fast
+
+// fedex : 2015-08-06 Federal Express Corporation
+fedex
+
+// feedback : 2013-12-19 Top Level Spectrum, Inc.
+feedback
+
+// ferrari : 2015-07-31 Fiat Chrysler Automobiles N.V.
+ferrari
+
+// ferrero : 2014-12-18 Ferrero Trading Lux S.A.
+ferrero
+
+// fiat : 2015-07-31 Fiat Chrysler Automobiles N.V.
+fiat
+
+// fidelity : 2015-07-30 Fidelity Brokerage Services LLC
+fidelity
+
+// fido : 2015-08-06 Rogers Communications Canada Inc.
+fido
+
+// film : 2015-01-08 Motion Picture Domain Registry Pty Ltd
+film
+
+// final : 2014-10-16 Núcleo de Informação e Coordenação do Ponto BR - NIC.br
+final
+
+// finance : 2014-03-20 Binky Moon, LLC
+finance
+
+// financial : 2014-03-06 Binky Moon, LLC
+financial
+
+// fire : 2015-06-25 Amazon Registry Services, Inc.
+fire
+
+// firestone : 2014-12-18 Bridgestone Licensing Services, Inc
+firestone
+
+// firmdale : 2014-03-27 Firmdale Holdings Limited
+firmdale
+
+// fish : 2013-12-12 Binky Moon, LLC
+fish
+
+// fishing : 2013-11-21 Registry Services, LLC
+fishing
+
+// fit : 2014-11-07 Registry Services, LLC
+fit
+
+// fitness : 2014-03-06 Binky Moon, LLC
+fitness
+
+// flickr : 2015-04-02 Flickr, Inc.
+flickr
+
+// flights : 2013-12-05 Binky Moon, LLC
+flights
+
+// flir : 2015-07-23 FLIR Systems, Inc.
+flir
+
+// florist : 2013-11-07 Binky Moon, LLC
+florist
+
+// flowers : 2014-10-09 UNR Corp.
+flowers
+
+// fly : 2014-05-08 Charleston Road Registry Inc.
+fly
+
+// foo : 2014-01-23 Charleston Road Registry Inc.
+foo
+
+// food : 2016-04-21 Lifestyle Domain Holdings, Inc.
+food
+
+// foodnetwork : 2015-07-02 Lifestyle Domain Holdings, Inc.
+foodnetwork
+
+// football : 2014-12-18 Binky Moon, LLC
+football
+
+// ford : 2014-11-13 Ford Motor Company
+ford
+
+// forex : 2014-12-11 Dog Beach, LLC
+forex
+
+// forsale : 2014-05-22 Dog Beach, LLC
+forsale
+
+// forum : 2015-04-02 Fegistry, LLC
+forum
+
+// foundation : 2013-12-05 Binky Moon, LLC
+foundation
+
+// fox : 2015-09-11 FOX Registry, LLC
+fox
+
+// free : 2015-12-10 Amazon Registry Services, Inc.
+free
+
+// fresenius : 2015-07-30 Fresenius Immobilien-Verwaltungs-GmbH
+fresenius
+
+// frl : 2014-05-15 FRLregistry B.V.
+frl
+
+// frogans : 2013-12-19 OP3FT
+frogans
+
+// frontdoor : 2015-07-02 Lifestyle Domain Holdings, Inc.
+frontdoor
+
+// frontier : 2015-02-05 Frontier Communications Corporation
+frontier
+
+// ftr : 2015-07-16 Frontier Communications Corporation
+ftr
+
+// fujitsu : 2015-07-30 Fujitsu Limited
+fujitsu
+
+// fun : 2016-01-14 Radix FZC
+fun
+
+// fund : 2014-03-20 Binky Moon, LLC
+fund
+
+// furniture : 2014-03-20 Binky Moon, LLC
+furniture
+
+// futbol : 2013-09-20 Dog Beach, LLC
+futbol
+
+// fyi : 2015-04-02 Binky Moon, LLC
+fyi
+
+// gal : 2013-11-07 Asociación puntoGAL
+gal
+
+// gallery : 2013-09-13 Binky Moon, LLC
+gallery
+
+// gallo : 2015-06-11 Gallo Vineyards, Inc.
+gallo
+
+// gallup : 2015-02-19 Gallup, Inc.
+gallup
+
+// game : 2015-05-28 UNR Corp.
+game
+
+// games : 2015-05-28 Dog Beach, LLC
+games
+
+// gap : 2015-07-31 The Gap, Inc.
+gap
+
+// garden : 2014-06-26 Registry Services, LLC
+garden
+
+// gay : 2019-05-23 Top Level Design, LLC
+gay
+
+// gbiz : 2014-07-17 Charleston Road Registry Inc.
+gbiz
+
+// gdn : 2014-07-31 Joint Stock Company "Navigation-information systems"
+gdn
+
+// gea : 2014-12-04 GEA Group Aktiengesellschaft
+gea
+
+// gent : 2014-01-23 COMBELL NV
+gent
+
+// genting : 2015-03-12 Resorts World Inc Pte. Ltd.
+genting
+
+// george : 2015-07-31 Wal-Mart Stores, Inc.
+george
+
+// ggee : 2014-01-09 GMO Internet, Inc.
+ggee
+
+// gift : 2013-10-17 DotGift, LLC
+gift
+
+// gifts : 2014-07-03 Binky Moon, LLC
+gifts
+
+// gives : 2014-03-06 Dog Beach, LLC
+gives
+
+// giving : 2014-11-13 Giving Limited
+giving
+
+// glass : 2013-11-07 Binky Moon, LLC
+glass
+
+// gle : 2014-07-24 Charleston Road Registry Inc.
+gle
+
+// global : 2014-04-17 Dot Global Domain Registry Limited
+global
+
+// globo : 2013-12-19 Globo Comunicação e Participações S.A
+globo
+
+// gmail : 2014-05-01 Charleston Road Registry Inc.
+gmail
+
+// gmbh : 2016-01-29 Binky Moon, LLC
+gmbh
+
+// gmo : 2014-01-09 GMO Internet, Inc.
+gmo
+
+// gmx : 2014-04-24 1&1 Mail & Media GmbH
+gmx
+
+// godaddy : 2015-07-23 Go Daddy East, LLC
+godaddy
+
+// gold : 2015-01-22 Binky Moon, LLC
+gold
+
+// goldpoint : 2014-11-20 YODOBASHI CAMERA CO.,LTD.
+goldpoint
+
+// golf : 2014-12-18 Binky Moon, LLC
+golf
+
+// goo : 2014-12-18 NTT Resonant Inc.
+goo
+
+// goodyear : 2015-07-02 The Goodyear Tire & Rubber Company
+goodyear
+
+// goog : 2014-11-20 Charleston Road Registry Inc.
+goog
+
+// google : 2014-07-24 Charleston Road Registry Inc.
+google
+
+// gop : 2014-01-16 Republican State Leadership Committee, Inc.
+gop
+
+// got : 2014-12-18 Amazon Registry Services, Inc.
+got
+
+// grainger : 2015-05-07 Grainger Registry Services, LLC
+grainger
+
+// graphics : 2013-09-13 Binky Moon, LLC
+graphics
+
+// gratis : 2014-03-20 Binky Moon, LLC
+gratis
+
+// green : 2014-05-08 Afilias Limited
+green
+
+// gripe : 2014-03-06 Binky Moon, LLC
+gripe
+
+// grocery : 2016-06-16 Wal-Mart Stores, Inc.
+grocery
+
+// group : 2014-08-15 Binky Moon, LLC
+group
+
+// guardian : 2015-07-30 The Guardian Life Insurance Company of America
+guardian
+
+// gucci : 2014-11-13 Guccio Gucci S.p.a.
+gucci
+
+// guge : 2014-08-28 Charleston Road Registry Inc.
+guge
+
+// guide : 2013-09-13 Binky Moon, LLC
+guide
+
+// guitars : 2013-11-14 UNR Corp.
+guitars
+
+// guru : 2013-08-27 Binky Moon, LLC
+guru
+
+// hair : 2015-12-03 XYZ.COM LLC
+hair
+
+// hamburg : 2014-02-20 Hamburg Top-Level-Domain GmbH
+hamburg
+
+// hangout : 2014-11-13 Charleston Road Registry Inc.
+hangout
+
+// haus : 2013-12-05 Dog Beach, LLC
+haus
+
+// hbo : 2015-07-30 HBO Registry Services, Inc.
+hbo
+
+// hdfc : 2015-07-30 HOUSING DEVELOPMENT FINANCE CORPORATION LIMITED
+hdfc
+
+// hdfcbank : 2015-02-12 HDFC Bank Limited
+hdfcbank
+
+// health : 2015-02-11 DotHealth, LLC
+health
+
+// healthcare : 2014-06-12 Binky Moon, LLC
+healthcare
+
+// help : 2014-06-26 UNR Corp.
+help
+
+// helsinki : 2015-02-05 City of Helsinki
+helsinki
+
+// here : 2014-02-06 Charleston Road Registry Inc.
+here
+
+// hermes : 2014-07-10 HERMES INTERNATIONAL
+hermes
+
+// hgtv : 2015-07-02 Lifestyle Domain Holdings, Inc.
+hgtv
+
+// hiphop : 2014-03-06 UNR Corp.
+hiphop
+
+// hisamitsu : 2015-07-16 Hisamitsu Pharmaceutical Co.,Inc.
+hisamitsu
+
+// hitachi : 2014-10-31 Hitachi, Ltd.
+hitachi
+
+// hiv : 2014-03-13 UNR Corp.
+hiv
+
+// hkt : 2015-05-14 PCCW-HKT DataCom Services Limited
+hkt
+
+// hockey : 2015-03-19 Binky Moon, LLC
+hockey
+
+// holdings : 2013-08-27 Binky Moon, LLC
+holdings
+
+// holiday : 2013-11-07 Binky Moon, LLC
+holiday
+
+// homedepot : 2015-04-02 Home Depot Product Authority, LLC
+homedepot
+
+// homegoods : 2015-07-16 The TJX Companies, Inc.
+homegoods
+
+// homes : 2014-01-09 XYZ.COM LLC
+homes
+
+// homesense : 2015-07-16 The TJX Companies, Inc.
+homesense
+
+// honda : 2014-12-18 Honda Motor Co., Ltd.
+honda
+
+// horse : 2013-11-21 Registry Services, LLC
+horse
+
+// hospital : 2016-10-20 Binky Moon, LLC
+hospital
+
+// host : 2014-04-17 Radix FZC
+host
+
+// hosting : 2014-05-29 UNR Corp.
+hosting
+
+// hot : 2015-08-27 Amazon Registry Services, Inc.
+hot
+
+// hoteles : 2015-03-05 Travel Reservations SRL
+hoteles
+
+// hotels : 2016-04-07 Booking.com B.V.
+hotels
+
+// hotmail : 2014-12-18 Microsoft Corporation
+hotmail
+
+// house : 2013-11-07 Binky Moon, LLC
+house
+
+// how : 2014-01-23 Charleston Road Registry Inc.
+how
+
+// hsbc : 2014-10-24 HSBC Global Services (UK) Limited
+hsbc
+
+// hughes : 2015-07-30 Hughes Satellite Systems Corporation
+hughes
+
+// hyatt : 2015-07-30 Hyatt GTLD, L.L.C.
+hyatt
+
+// hyundai : 2015-07-09 Hyundai Motor Company
+hyundai
+
+// ibm : 2014-07-31 International Business Machines Corporation
+ibm
+
+// icbc : 2015-02-19 Industrial and Commercial Bank of China Limited
+icbc
+
+// ice : 2014-10-30 IntercontinentalExchange, Inc.
+ice
+
+// icu : 2015-01-08 ShortDot SA
+icu
+
+// ieee : 2015-07-23 IEEE Global LLC
+ieee
+
+// ifm : 2014-01-30 ifm electronic gmbh
+ifm
+
+// ikano : 2015-07-09 Ikano S.A.
+ikano
+
+// imamat : 2015-08-06 Fondation Aga Khan (Aga Khan Foundation)
+imamat
+
+// imdb : 2015-06-25 Amazon Registry Services, Inc.
+imdb
+
+// immo : 2014-07-10 Binky Moon, LLC
+immo
+
+// immobilien : 2013-11-07 Dog Beach, LLC
+immobilien
+
+// inc : 2018-03-10 Intercap Registry Inc.
+inc
+
+// industries : 2013-12-05 Binky Moon, LLC
+industries
+
+// infiniti : 2014-03-27 NISSAN MOTOR CO., LTD.
+infiniti
+
+// ing : 2014-01-23 Charleston Road Registry Inc.
+ing
+
+// ink : 2013-12-05 Top Level Design, LLC
+ink
+
+// institute : 2013-11-07 Binky Moon, LLC
+institute
+
+// insurance : 2015-02-19 fTLD Registry Services LLC
+insurance
+
+// insure : 2014-03-20 Binky Moon, LLC
+insure
+
+// international : 2013-11-07 Binky Moon, LLC
+international
+
+// intuit : 2015-07-30 Intuit Administrative Services, Inc.
+intuit
+
+// investments : 2014-03-20 Binky Moon, LLC
+investments
+
+// ipiranga : 2014-08-28 Ipiranga Produtos de Petroleo S.A.
+ipiranga
+
+// irish : 2014-08-07 Binky Moon, LLC
+irish
+
+// ismaili : 2015-08-06 Fondation Aga Khan (Aga Khan Foundation)
+ismaili
+
+// ist : 2014-08-28 Istanbul Metropolitan Municipality
+ist
+
+// istanbul : 2014-08-28 Istanbul Metropolitan Municipality
+istanbul
+
+// itau : 2014-10-02 Itau Unibanco Holding S.A.
+itau
+
+// itv : 2015-07-09 ITV Services Limited
+itv
+
+// jaguar : 2014-11-13 Jaguar Land Rover Ltd
+jaguar
+
+// java : 2014-06-19 Oracle Corporation
+java
+
+// jcb : 2014-11-20 JCB Co., Ltd.
+jcb
+
+// jeep : 2015-07-30 FCA US LLC.
+jeep
+
+// jetzt : 2014-01-09 Binky Moon, LLC
+jetzt
+
+// jewelry : 2015-03-05 Binky Moon, LLC
+jewelry
+
+// jio : 2015-04-02 Reliance Industries Limited
+jio
+
+// jll : 2015-04-02 Jones Lang LaSalle Incorporated
+jll
+
+// jmp : 2015-03-26 Matrix IP LLC
+jmp
+
+// jnj : 2015-06-18 Johnson & Johnson Services, Inc.
+jnj
+
+// joburg : 2014-03-24 ZA Central Registry NPC trading as ZA Central Registry
+joburg
+
+// jot : 2014-12-18 Amazon Registry Services, Inc.
+jot
+
+// joy : 2014-12-18 Amazon Registry Services, Inc.
+joy
+
+// jpmorgan : 2015-04-30 JPMorgan Chase Bank, National Association
+jpmorgan
+
+// jprs : 2014-09-18 Japan Registry Services Co., Ltd.
+jprs
+
+// juegos : 2014-03-20 UNR Corp.
+juegos
+
+// juniper : 2015-07-30 JUNIPER NETWORKS, INC.
+juniper
+
+// kaufen : 2013-11-07 Dog Beach, LLC
+kaufen
+
+// kddi : 2014-09-12 KDDI CORPORATION
+kddi
+
+// kerryhotels : 2015-04-30 Kerry Trading Co. Limited
+kerryhotels
+
+// kerrylogistics : 2015-04-09 Kerry Trading Co. Limited
+kerrylogistics
+
+// kerryproperties : 2015-04-09 Kerry Trading Co. Limited
+kerryproperties
+
+// kfh : 2014-12-04 Kuwait Finance House
+kfh
+
+// kia : 2015-07-09 KIA MOTORS CORPORATION
+kia
+
+// kids : 2021-08-13 DotKids Foundation Limited
+kids
+
+// kim : 2013-09-23 Afilias Limited
+kim
+
+// kinder : 2014-11-07 Ferrero Trading Lux S.A.
+kinder
+
+// kindle : 2015-06-25 Amazon Registry Services, Inc.
+kindle
+
+// kitchen : 2013-09-20 Binky Moon, LLC
+kitchen
+
+// kiwi : 2013-09-20 DOT KIWI LIMITED
+kiwi
+
+// koeln : 2014-01-09 dotKoeln GmbH
+koeln
+
+// komatsu : 2015-01-08 Komatsu Ltd.
+komatsu
+
+// kosher : 2015-08-20 Kosher Marketing Assets LLC
+kosher
+
+// kpmg : 2015-04-23 KPMG International Cooperative (KPMG International Genossenschaft)
+kpmg
+
+// kpn : 2015-01-08 Koninklijke KPN N.V.
+kpn
+
+// krd : 2013-12-05 KRG Department of Information Technology
+krd
+
+// kred : 2013-12-19 KredTLD Pty Ltd
+kred
+
+// kuokgroup : 2015-04-09 Kerry Trading Co. Limited
+kuokgroup
+
+// kyoto : 2014-11-07 Academic Institution: Kyoto Jyoho Gakuen
+kyoto
+
+// lacaixa : 2014-01-09 Fundación Bancaria Caixa d’Estalvis i Pensions de Barcelona, “la Caixa”
+lacaixa
+
+// lamborghini : 2015-06-04 Automobili Lamborghini S.p.A.
+lamborghini
+
+// lamer : 2015-10-01 The Estée Lauder Companies Inc.
+lamer
+
+// lancaster : 2015-02-12 LANCASTER
+lancaster
+
+// lancia : 2015-07-31 Fiat Chrysler Automobiles N.V.
+lancia
+
+// land : 2013-09-10 Binky Moon, LLC
+land
+
+// landrover : 2014-11-13 Jaguar Land Rover Ltd
+landrover
+
+// lanxess : 2015-07-30 LANXESS Corporation
+lanxess
+
+// lasalle : 2015-04-02 Jones Lang LaSalle Incorporated
+lasalle
+
+// lat : 2014-10-16 ECOM-LAC Federaciòn de Latinoamèrica y el Caribe para Internet y el Comercio Electrònico
+lat
+
+// latino : 2015-07-30 Dish DBS Corporation
+latino
+
+// latrobe : 2014-06-16 La Trobe University
+latrobe
+
+// law : 2015-01-22 Registry Services, LLC
+law
+
+// lawyer : 2014-03-20 Dog Beach, LLC
+lawyer
+
+// lds : 2014-03-20 IRI Domain Management, LLC
+lds
+
+// lease : 2014-03-06 Binky Moon, LLC
+lease
+
+// leclerc : 2014-08-07 A.C.D. LEC Association des Centres Distributeurs Edouard Leclerc
+leclerc
+
+// lefrak : 2015-07-16 LeFrak Organization, Inc.
+lefrak
+
+// legal : 2014-10-16 Binky Moon, LLC
+legal
+
+// lego : 2015-07-16 LEGO Juris A/S
+lego
+
+// lexus : 2015-04-23 TOYOTA MOTOR CORPORATION
+lexus
+
+// lgbt : 2014-05-08 Afilias Limited
+lgbt
+
+// lidl : 2014-09-18 Schwarz Domains und Services GmbH & Co. KG
+lidl
+
+// life : 2014-02-06 Binky Moon, LLC
+life
+
+// lifeinsurance : 2015-01-15 American Council of Life Insurers
+lifeinsurance
+
+// lifestyle : 2014-12-11 Lifestyle Domain Holdings, Inc.
+lifestyle
+
+// lighting : 2013-08-27 Binky Moon, LLC
+lighting
+
+// like : 2014-12-18 Amazon Registry Services, Inc.
+like
+
+// lilly : 2015-07-31 Eli Lilly and Company
+lilly
+
+// limited : 2014-03-06 Binky Moon, LLC
+limited
+
+// limo : 2013-10-17 Binky Moon, LLC
+limo
+
+// lincoln : 2014-11-13 Ford Motor Company
+lincoln
+
+// linde : 2014-12-04 Linde Aktiengesellschaft
+linde
+
+// link : 2013-11-14 UNR Corp.
+link
+
+// lipsy : 2015-06-25 Lipsy Ltd
+lipsy
+
+// live : 2014-12-04 Dog Beach, LLC
+live
+
+// living : 2015-07-30 Lifestyle Domain Holdings, Inc.
+living
+
+// llc : 2017-12-14 Afilias Limited
+llc
+
+// llp : 2019-08-26 UNR Corp.
+llp
+
+// loan : 2014-11-20 dot Loan Limited
+loan
+
+// loans : 2014-03-20 Binky Moon, LLC
+loans
+
+// locker : 2015-06-04 Dish DBS Corporation
+locker
+
+// locus : 2015-06-25 Locus Analytics LLC
+locus
+
+// loft : 2015-07-30 Annco, Inc.
+loft
+
+// lol : 2015-01-30 UNR Corp.
+lol
+
+// london : 2013-11-14 Dot London Domains Limited
+london
+
+// lotte : 2014-11-07 Lotte Holdings Co., Ltd.
+lotte
+
+// lotto : 2014-04-10 Afilias Limited
+lotto
+
+// love : 2014-12-22 Merchant Law Group LLP
+love
+
+// lpl : 2015-07-30 LPL Holdings, Inc.
+lpl
+
+// lplfinancial : 2015-07-30 LPL Holdings, Inc.
+lplfinancial
+
+// ltd : 2014-09-25 Binky Moon, LLC
+ltd
+
+// ltda : 2014-04-17 InterNetX, Corp
+ltda
+
+// lundbeck : 2015-08-06 H. Lundbeck A/S
+lundbeck
+
+// luxe : 2014-01-09 Registry Services, LLC
+luxe
+
+// luxury : 2013-10-17 Luxury Partners, LLC
+luxury
+
+// macys : 2015-07-31 Macys, Inc.
+macys
+
+// madrid : 2014-05-01 Comunidad de Madrid
+madrid
+
+// maif : 2014-10-02 Mutuelle Assurance Instituteur France (MAIF)
+maif
+
+// maison : 2013-12-05 Binky Moon, LLC
+maison
+
+// makeup : 2015-01-15 XYZ.COM LLC
+makeup
+
+// man : 2014-12-04 MAN SE
+man
+
+// management : 2013-11-07 Binky Moon, LLC
+management
+
+// mango : 2013-10-24 PUNTO FA S.L.
+mango
+
+// map : 2016-06-09 Charleston Road Registry Inc.
+map
+
+// market : 2014-03-06 Dog Beach, LLC
+market
+
+// marketing : 2013-11-07 Binky Moon, LLC
+marketing
+
+// markets : 2014-12-11 Dog Beach, LLC
+markets
+
+// marriott : 2014-10-09 Marriott Worldwide Corporation
+marriott
+
+// marshalls : 2015-07-16 The TJX Companies, Inc.
+marshalls
+
+// maserati : 2015-07-31 Fiat Chrysler Automobiles N.V.
+maserati
+
+// mattel : 2015-08-06 Mattel Sites, Inc.
+mattel
+
+// mba : 2015-04-02 Binky Moon, LLC
+mba
+
+// mckinsey : 2015-07-31 McKinsey Holdings, Inc.
+mckinsey
+
+// med : 2015-08-06 Medistry LLC
+med
+
+// media : 2014-03-06 Binky Moon, LLC
+media
+
+// meet : 2014-01-16 Charleston Road Registry Inc.
+meet
+
+// melbourne : 2014-05-29 The Crown in right of the State of Victoria, represented by its Department of State Development, Business and Innovation
+melbourne
+
+// meme : 2014-01-30 Charleston Road Registry Inc.
+meme
+
+// memorial : 2014-10-16 Dog Beach, LLC
+memorial
+
+// men : 2015-02-26 Exclusive Registry Limited
+men
+
+// menu : 2013-09-11 Dot Menu Registry, LLC
+menu
+
+// merckmsd : 2016-07-14 MSD Registry Holdings, Inc.
+merckmsd
+
+// miami : 2013-12-19 Registry Services, LLC
+miami
+
+// microsoft : 2014-12-18 Microsoft Corporation
+microsoft
+
+// mini : 2014-01-09 Bayerische Motoren Werke Aktiengesellschaft
+mini
+
+// mint : 2015-07-30 Intuit Administrative Services, Inc.
+mint
+
+// mit : 2015-07-02 Massachusetts Institute of Technology
+mit
+
+// mitsubishi : 2015-07-23 Mitsubishi Corporation
+mitsubishi
+
+// mlb : 2015-05-21 MLB Advanced Media DH, LLC
+mlb
+
+// mls : 2015-04-23 The Canadian Real Estate Association
+mls
+
+// mma : 2014-11-07 MMA IARD
+mma
+
+// mobile : 2016-06-02 Dish DBS Corporation
+mobile
+
+// moda : 2013-11-07 Dog Beach, LLC
+moda
+
+// moe : 2013-11-13 Interlink Co., Ltd.
+moe
+
+// moi : 2014-12-18 Amazon Registry Services, Inc.
+moi
+
+// mom : 2015-04-16 UNR Corp.
+mom
+
+// monash : 2013-09-30 Monash University
+monash
+
+// money : 2014-10-16 Binky Moon, LLC
+money
+
+// monster : 2015-09-11 XYZ.COM LLC
+monster
+
+// mormon : 2013-12-05 IRI Domain Management, LLC
+mormon
+
+// mortgage : 2014-03-20 Dog Beach, LLC
+mortgage
+
+// moscow : 2013-12-19 Foundation for Assistance for Internet Technologies and Infrastructure Development (FAITID)
+moscow
+
+// moto : 2015-06-04 Motorola Trademark Holdings, LLC
+moto
+
+// motorcycles : 2014-01-09 XYZ.COM LLC
+motorcycles
+
+// mov : 2014-01-30 Charleston Road Registry Inc.
+mov
+
+// movie : 2015-02-05 Binky Moon, LLC
+movie
+
+// msd : 2015-07-23 MSD Registry Holdings, Inc.
+msd
+
+// mtn : 2014-12-04 MTN Dubai Limited
+mtn
+
+// mtr : 2015-03-12 MTR Corporation Limited
+mtr
+
+// music : 2021-05-04 DotMusic Limited
+music
+
+// mutual : 2015-04-02 Northwestern Mutual MU TLD Registry, LLC
+mutual
+
+// nab : 2015-08-20 National Australia Bank Limited
+nab
+
+// nagoya : 2013-10-24 GMO Registry, Inc.
+nagoya
+
+// natura : 2015-03-12 NATURA COSMÉTICOS S.A.
+natura
+
+// navy : 2014-03-06 Dog Beach, LLC
+navy
+
+// nba : 2015-07-31 NBA REGISTRY, LLC
+nba
+
+// nec : 2015-01-08 NEC Corporation
+nec
+
+// netbank : 2014-06-26 COMMONWEALTH BANK OF AUSTRALIA
+netbank
+
+// netflix : 2015-06-18 Netflix, Inc.
+netflix
+
+// network : 2013-11-14 Binky Moon, LLC
+network
+
+// neustar : 2013-12-05 NeuStar, Inc.
+neustar
+
+// new : 2014-01-30 Charleston Road Registry Inc.
+new
+
+// news : 2014-12-18 Dog Beach, LLC
+news
+
+// next : 2015-06-18 Next plc
+next
+
+// nextdirect : 2015-06-18 Next plc
+nextdirect
+
+// nexus : 2014-07-24 Charleston Road Registry Inc.
+nexus
+
+// nfl : 2015-07-23 NFL Reg Ops LLC
+nfl
+
+// ngo : 2014-03-06 Public Interest Registry
+ngo
+
+// nhk : 2014-02-13 Japan Broadcasting Corporation (NHK)
+nhk
+
+// nico : 2014-12-04 DWANGO Co., Ltd.
+nico
+
+// nike : 2015-07-23 NIKE, Inc.
+nike
+
+// nikon : 2015-05-21 NIKON CORPORATION
+nikon
+
+// ninja : 2013-11-07 Dog Beach, LLC
+ninja
+
+// nissan : 2014-03-27 NISSAN MOTOR CO., LTD.
+nissan
+
+// nissay : 2015-10-29 Nippon Life Insurance Company
+nissay
+
+// nokia : 2015-01-08 Nokia Corporation
+nokia
+
+// northwesternmutual : 2015-06-18 Northwestern Mutual Registry, LLC
+northwesternmutual
+
+// norton : 2014-12-04 NortonLifeLock Inc.
+norton
+
+// now : 2015-06-25 Amazon Registry Services, Inc.
+now
+
+// nowruz : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.
+nowruz
+
+// nowtv : 2015-05-14 Starbucks (HK) Limited
+nowtv
+
+// nra : 2014-05-22 NRA Holdings Company, INC.
+nra
+
+// nrw : 2013-11-21 Minds + Machines GmbH
+nrw
+
+// ntt : 2014-10-31 NIPPON TELEGRAPH AND TELEPHONE CORPORATION
+ntt
+
+// nyc : 2014-01-23 The City of New York by and through the New York City Department of Information Technology & Telecommunications
+nyc
+
+// obi : 2014-09-25 OBI Group Holding SE & Co. KGaA
+obi
+
+// observer : 2015-04-30 Dog Beach, LLC
+observer
+
+// office : 2015-03-12 Microsoft Corporation
+office
+
+// okinawa : 2013-12-05 BRregistry, Inc.
+okinawa
+
+// olayan : 2015-05-14 Crescent Holding GmbH
+olayan
+
+// olayangroup : 2015-05-14 Crescent Holding GmbH
+olayangroup
+
+// oldnavy : 2015-07-31 The Gap, Inc.
+oldnavy
+
+// ollo : 2015-06-04 Dish DBS Corporation
+ollo
+
+// omega : 2015-01-08 The Swatch Group Ltd
+omega
+
+// one : 2014-11-07 One.com A/S
+one
+
+// ong : 2014-03-06 Public Interest Registry
+ong
+
+// onl : 2013-09-16 iRegistry GmbH
+onl
+
+// online : 2015-01-15 Radix FZC
+online
+
+// ooo : 2014-01-09 INFIBEAM AVENUES LIMITED
+ooo
+
+// open : 2015-07-31 American Express Travel Related Services Company, Inc.
+open
+
+// oracle : 2014-06-19 Oracle Corporation
+oracle
+
+// orange : 2015-03-12 Orange Brand Services Limited
+orange
+
+// organic : 2014-03-27 Afilias Limited
+organic
+
+// origins : 2015-10-01 The Estée Lauder Companies Inc.
+origins
+
+// osaka : 2014-09-04 Osaka Registry Co., Ltd.
+osaka
+
+// otsuka : 2013-10-11 Otsuka Holdings Co., Ltd.
+otsuka
+
+// ott : 2015-06-04 Dish DBS Corporation
+ott
+
+// ovh : 2014-01-16 MédiaBC
+ovh
+
+// page : 2014-12-04 Charleston Road Registry Inc.
+page
+
+// panasonic : 2015-07-30 Panasonic Corporation
+panasonic
+
+// paris : 2014-01-30 City of Paris
+paris
+
+// pars : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.
+pars
+
+// partners : 2013-12-05 Binky Moon, LLC
+partners
+
+// parts : 2013-12-05 Binky Moon, LLC
+parts
+
+// party : 2014-09-11 Blue Sky Registry Limited
+party
+
+// passagens : 2015-03-05 Travel Reservations SRL
+passagens
+
+// pay : 2015-08-27 Amazon Registry Services, Inc.
+pay
+
+// pccw : 2015-05-14 PCCW Enterprises Limited
+pccw
+
+// pet : 2015-05-07 Afilias Limited
+pet
+
+// pfizer : 2015-09-11 Pfizer Inc.
+pfizer
+
+// pharmacy : 2014-06-19 National Association of Boards of Pharmacy
+pharmacy
+
+// phd : 2016-07-28 Charleston Road Registry Inc.
+phd
+
+// philips : 2014-11-07 Koninklijke Philips N.V.
+philips
+
+// phone : 2016-06-02 Dish DBS Corporation
+phone
+
+// photo : 2013-11-14 UNR Corp.
+photo
+
+// photography : 2013-09-20 Binky Moon, LLC
+photography
+
+// photos : 2013-10-17 Binky Moon, LLC
+photos
+
+// physio : 2014-05-01 PhysBiz Pty Ltd
+physio
+
+// pics : 2013-11-14 UNR Corp.
+pics
+
+// pictet : 2014-06-26 Pictet Europe S.A.
+pictet
+
+// pictures : 2014-03-06 Binky Moon, LLC
+pictures
+
+// pid : 2015-01-08 Top Level Spectrum, Inc.
+pid
+
+// pin : 2014-12-18 Amazon Registry Services, Inc.
+pin
+
+// ping : 2015-06-11 Ping Registry Provider, Inc.
+ping
+
+// pink : 2013-10-01 Afilias Limited
+pink
+
+// pioneer : 2015-07-16 Pioneer Corporation
+pioneer
+
+// pizza : 2014-06-26 Binky Moon, LLC
+pizza
+
+// place : 2014-04-24 Binky Moon, LLC
+place
+
+// play : 2015-03-05 Charleston Road Registry Inc.
+play
+
+// playstation : 2015-07-02 Sony Interactive Entertainment Inc.
+playstation
+
+// plumbing : 2013-09-10 Binky Moon, LLC
+plumbing
+
+// plus : 2015-02-05 Binky Moon, LLC
+plus
+
+// pnc : 2015-07-02 PNC Domain Co., LLC
+pnc
+
+// pohl : 2014-06-23 Deutsche Vermögensberatung Aktiengesellschaft DVAG
+pohl
+
+// poker : 2014-07-03 Afilias Limited
+poker
+
+// politie : 2015-08-20 Politie Nederland
+politie
+
+// porn : 2014-10-16 ICM Registry PN LLC
+porn
+
+// pramerica : 2015-07-30 Prudential Financial, Inc.
+pramerica
+
+// praxi : 2013-12-05 Praxi S.p.A.
+praxi
+
+// press : 2014-04-03 Radix FZC
+press
+
+// prime : 2015-06-25 Amazon Registry Services, Inc.
+prime
+
+// prod : 2014-01-23 Charleston Road Registry Inc.
+prod
+
+// productions : 2013-12-05 Binky Moon, LLC
+productions
+
+// prof : 2014-07-24 Charleston Road Registry Inc.
+prof
+
+// progressive : 2015-07-23 Progressive Casualty Insurance Company
+progressive
+
+// promo : 2014-12-18 Afilias Limited
+promo
+
+// properties : 2013-12-05 Binky Moon, LLC
+properties
+
+// property : 2014-05-22 UNR Corp.
+property
+
+// protection : 2015-04-23 XYZ.COM LLC
+protection
+
+// pru : 2015-07-30 Prudential Financial, Inc.
+pru
+
+// prudential : 2015-07-30 Prudential Financial, Inc.
+prudential
+
+// pub : 2013-12-12 Dog Beach, LLC
+pub
+
+// pwc : 2015-10-29 PricewaterhouseCoopers LLP
+pwc
+
+// qpon : 2013-11-14 dotCOOL, Inc.
+qpon
+
+// quebec : 2013-12-19 PointQuébec Inc
+quebec
+
+// quest : 2015-03-26 XYZ.COM LLC
+quest
+
+// racing : 2014-12-04 Premier Registry Limited
+racing
+
+// radio : 2016-07-21 European Broadcasting Union (EBU)
+radio
+
+// read : 2014-12-18 Amazon Registry Services, Inc.
+read
+
+// realestate : 2015-09-11 dotRealEstate LLC
+realestate
+
+// realtor : 2014-05-29 Real Estate Domains LLC
+realtor
+
+// realty : 2015-03-19 Dog Beach, LLC
+realty
+
+// recipes : 2013-10-17 Binky Moon, LLC
+recipes
+
+// red : 2013-11-07 Afilias Limited
+red
+
+// redstone : 2014-10-31 Redstone Haute Couture Co., Ltd.
+redstone
+
+// redumbrella : 2015-03-26 Travelers TLD, LLC
+redumbrella
+
+// rehab : 2014-03-06 Dog Beach, LLC
+rehab
+
+// reise : 2014-03-13 Binky Moon, LLC
+reise
+
+// reisen : 2014-03-06 Binky Moon, LLC
+reisen
+
+// reit : 2014-09-04 National Association of Real Estate Investment Trusts, Inc.
+reit
+
+// reliance : 2015-04-02 Reliance Industries Limited
+reliance
+
+// ren : 2013-12-12 ZDNS International Limited
+ren
+
+// rent : 2014-12-04 XYZ.COM LLC
+rent
+
+// rentals : 2013-12-05 Binky Moon, LLC
+rentals
+
+// repair : 2013-11-07 Binky Moon, LLC
+repair
+
+// report : 2013-12-05 Binky Moon, LLC
+report
+
+// republican : 2014-03-20 Dog Beach, LLC
+republican
+
+// rest : 2013-12-19 Punto 2012 Sociedad Anonima Promotora de Inversion de Capital Variable
+rest
+
+// restaurant : 2014-07-03 Binky Moon, LLC
+restaurant
+
+// review : 2014-11-20 dot Review Limited
+review
+
+// reviews : 2013-09-13 Dog Beach, LLC
+reviews
+
+// rexroth : 2015-06-18 Robert Bosch GMBH
+rexroth
+
+// rich : 2013-11-21 iRegistry GmbH
+rich
+
+// richardli : 2015-05-14 Pacific Century Asset Management (HK) Limited
+richardli
+
+// ricoh : 2014-11-20 Ricoh Company, Ltd.
+ricoh
+
+// ril : 2015-04-02 Reliance Industries Limited
+ril
+
+// rio : 2014-02-27 Empresa Municipal de Informática SA - IPLANRIO
+rio
+
+// rip : 2014-07-10 Dog Beach, LLC
+rip
+
+// rocher : 2014-12-18 Ferrero Trading Lux S.A.
+rocher
+
+// rocks : 2013-11-14 Dog Beach, LLC
+rocks
+
+// rodeo : 2013-12-19 Registry Services, LLC
+rodeo
+
+// rogers : 2015-08-06 Rogers Communications Canada Inc.
+rogers
+
+// room : 2014-12-18 Amazon Registry Services, Inc.
+room
+
+// rsvp : 2014-05-08 Charleston Road Registry Inc.
+rsvp
+
+// rugby : 2016-12-15 World Rugby Strategic Developments Limited
+rugby
+
+// ruhr : 2013-10-02 regiodot GmbH & Co. KG
+ruhr
+
+// run : 2015-03-19 Binky Moon, LLC
+run
+
+// rwe : 2015-04-02 RWE AG
+rwe
+
+// ryukyu : 2014-01-09 BRregistry, Inc.
+ryukyu
+
+// saarland : 2013-12-12 dotSaarland GmbH
+saarland
+
+// safe : 2014-12-18 Amazon Registry Services, Inc.
+safe
+
+// safety : 2015-01-08 Safety Registry Services, LLC.
+safety
+
+// sakura : 2014-12-18 SAKURA Internet Inc.
+sakura
+
+// sale : 2014-10-16 Dog Beach, LLC
+sale
+
+// salon : 2014-12-11 Binky Moon, LLC
+salon
+
+// samsclub : 2015-07-31 Wal-Mart Stores, Inc.
+samsclub
+
+// samsung : 2014-04-03 SAMSUNG SDS CO., LTD
+samsung
+
+// sandvik : 2014-11-13 Sandvik AB
+sandvik
+
+// sandvikcoromant : 2014-11-07 Sandvik AB
+sandvikcoromant
+
+// sanofi : 2014-10-09 Sanofi
+sanofi
+
+// sap : 2014-03-27 SAP AG
+sap
+
+// sarl : 2014-07-03 Binky Moon, LLC
+sarl
+
+// sas : 2015-04-02 Research IP LLC
+sas
+
+// save : 2015-06-25 Amazon Registry Services, Inc.
+save
+
+// saxo : 2014-10-31 Saxo Bank A/S
+saxo
+
+// sbi : 2015-03-12 STATE BANK OF INDIA
+sbi
+
+// sbs : 2014-11-07 ShortDot SA
+sbs
+
+// sca : 2014-03-13 SVENSKA CELLULOSA AKTIEBOLAGET SCA (publ)
+sca
+
+// scb : 2014-02-20 The Siam Commercial Bank Public Company Limited ("SCB")
+scb
+
+// schaeffler : 2015-08-06 Schaeffler Technologies AG & Co. KG
+schaeffler
+
+// schmidt : 2014-04-03 SCHMIDT GROUPE S.A.S.
+schmidt
+
+// scholarships : 2014-04-24 Scholarships.com, LLC
+scholarships
+
+// school : 2014-12-18 Binky Moon, LLC
+school
+
+// schule : 2014-03-06 Binky Moon, LLC
+schule
+
+// schwarz : 2014-09-18 Schwarz Domains und Services GmbH & Co. KG
+schwarz
+
+// science : 2014-09-11 dot Science Limited
+science
+
+// scot : 2014-01-23 Dot Scot Registry Limited
+scot
+
+// search : 2016-06-09 Charleston Road Registry Inc.
+search
+
+// seat : 2014-05-22 SEAT, S.A. (Sociedad Unipersonal)
+seat
+
+// secure : 2015-08-27 Amazon Registry Services, Inc.
+secure
+
+// security : 2015-05-14 XYZ.COM LLC
+security
+
+// seek : 2014-12-04 Seek Limited
+seek
+
+// select : 2015-10-08 Registry Services, LLC
+select
+
+// sener : 2014-10-24 Sener Ingeniería y Sistemas, S.A.
+sener
+
+// services : 2014-02-27 Binky Moon, LLC
+services
+
+// ses : 2015-07-23 SES
+ses
+
+// seven : 2015-08-06 Seven West Media Ltd
+seven
+
+// sew : 2014-07-17 SEW-EURODRIVE GmbH & Co KG
+sew
+
+// sex : 2014-11-13 ICM Registry SX LLC
+sex
+
+// sexy : 2013-09-11 UNR Corp.
+sexy
+
+// sfr : 2015-08-13 Societe Francaise du Radiotelephone - SFR
+sfr
+
+// shangrila : 2015-09-03 Shangri‐La International Hotel Management Limited
+shangrila
+
+// sharp : 2014-05-01 Sharp Corporation
+sharp
+
+// shaw : 2015-04-23 Shaw Cablesystems G.P.
+shaw
+
+// shell : 2015-07-30 Shell Information Technology International Inc
+shell
+
+// shia : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.
+shia
+
+// shiksha : 2013-11-14 Afilias Limited
+shiksha
+
+// shoes : 2013-10-02 Binky Moon, LLC
+shoes
+
+// shop : 2016-04-08 GMO Registry, Inc.
+shop
+
+// shopping : 2016-03-31 Binky Moon, LLC
+shopping
+
+// shouji : 2015-01-08 Beijing Qihu Keji Co., Ltd.
+shouji
+
+// show : 2015-03-05 Binky Moon, LLC
+show
+
+// showtime : 2015-08-06 CBS Domains Inc.
+showtime
+
+// silk : 2015-06-25 Amazon Registry Services, Inc.
+silk
+
+// sina : 2015-03-12 Sina Corporation
+sina
+
+// singles : 2013-08-27 Binky Moon, LLC
+singles
+
+// site : 2015-01-15 Radix FZC
+site
+
+// ski : 2015-04-09 Afilias Limited
+ski
+
+// skin : 2015-01-15 XYZ.COM LLC
+skin
+
+// sky : 2014-06-19 Sky International AG
+sky
+
+// skype : 2014-12-18 Microsoft Corporation
+skype
+
+// sling : 2015-07-30 DISH Technologies L.L.C.
+sling
+
+// smart : 2015-07-09 Smart Communications, Inc. (SMART)
+smart
+
+// smile : 2014-12-18 Amazon Registry Services, Inc.
+smile
+
+// sncf : 2015-02-19 Société Nationale des Chemins de fer Francais S N C F
+sncf
+
+// soccer : 2015-03-26 Binky Moon, LLC
+soccer
+
+// social : 2013-11-07 Dog Beach, LLC
+social
+
+// softbank : 2015-07-02 SoftBank Group Corp.
+softbank
+
+// software : 2014-03-20 Dog Beach, LLC
+software
+
+// sohu : 2013-12-19 Sohu.com Limited
+sohu
+
+// solar : 2013-11-07 Binky Moon, LLC
+solar
+
+// solutions : 2013-11-07 Binky Moon, LLC
+solutions
+
+// song : 2015-02-26 Amazon Registry Services, Inc.
+song
+
+// sony : 2015-01-08 Sony Corporation
+sony
+
+// soy : 2014-01-23 Charleston Road Registry Inc.
+soy
+
+// spa : 2019-09-19 Asia Spa and Wellness Promotion Council Limited
+spa
+
+// space : 2014-04-03 Radix FZC
+space
+
+// sport : 2017-11-16 Global Association of International Sports Federations (GAISF)
+sport
+
+// spot : 2015-02-26 Amazon Registry Services, Inc.
+spot
+
+// srl : 2015-05-07 InterNetX, Corp
+srl
+
+// stada : 2014-11-13 STADA Arzneimittel AG
+stada
+
+// staples : 2015-07-30 Staples, Inc.
+staples
+
+// star : 2015-01-08 Star India Private Limited
+star
+
+// statebank : 2015-03-12 STATE BANK OF INDIA
+statebank
+
+// statefarm : 2015-07-30 State Farm Mutual Automobile Insurance Company
+statefarm
+
+// stc : 2014-10-09 Saudi Telecom Company
+stc
+
+// stcgroup : 2014-10-09 Saudi Telecom Company
+stcgroup
+
+// stockholm : 2014-12-18 Stockholms kommun
+stockholm
+
+// storage : 2014-12-22 XYZ.COM LLC
+storage
+
+// store : 2015-04-09 Radix FZC
+store
+
+// stream : 2016-01-08 dot Stream Limited
+stream
+
+// studio : 2015-02-11 Dog Beach, LLC
+studio
+
+// study : 2014-12-11 OPEN UNIVERSITIES AUSTRALIA PTY LTD
+study
+
+// style : 2014-12-04 Binky Moon, LLC
+style
+
+// sucks : 2014-12-22 Vox Populi Registry Ltd.
+sucks
+
+// supplies : 2013-12-19 Binky Moon, LLC
+supplies
+
+// supply : 2013-12-19 Binky Moon, LLC
+supply
+
+// support : 2013-10-24 Binky Moon, LLC
+support
+
+// surf : 2014-01-09 Registry Services, LLC
+surf
+
+// surgery : 2014-03-20 Binky Moon, LLC
+surgery
+
+// suzuki : 2014-02-20 SUZUKI MOTOR CORPORATION
+suzuki
+
+// swatch : 2015-01-08 The Swatch Group Ltd
+swatch
+
+// swiss : 2014-10-16 Swiss Confederation
+swiss
+
+// sydney : 2014-09-18 State of New South Wales, Department of Premier and Cabinet
+sydney
+
+// systems : 2013-11-07 Binky Moon, LLC
+systems
+
+// tab : 2014-12-04 Tabcorp Holdings Limited
+tab
+
+// taipei : 2014-07-10 Taipei City Government
+taipei
+
+// talk : 2015-04-09 Amazon Registry Services, Inc.
+talk
+
+// taobao : 2015-01-15 Alibaba Group Holding Limited
+taobao
+
+// target : 2015-07-31 Target Domain Holdings, LLC
+target
+
+// tatamotors : 2015-03-12 Tata Motors Ltd
+tatamotors
+
+// tatar : 2014-04-24 Limited Liability Company "Coordination Center of Regional Domain of Tatarstan Republic"
+tatar
+
+// tattoo : 2013-08-30 UNR Corp.
+tattoo
+
+// tax : 2014-03-20 Binky Moon, LLC
+tax
+
+// taxi : 2015-03-19 Binky Moon, LLC
+taxi
+
+// tci : 2014-09-12 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.
+tci
+
+// tdk : 2015-06-11 TDK Corporation
+tdk
+
+// team : 2015-03-05 Binky Moon, LLC
+team
+
+// tech : 2015-01-30 Radix FZC
+tech
+
+// technology : 2013-09-13 Binky Moon, LLC
+technology
+
+// temasek : 2014-08-07 Temasek Holdings (Private) Limited
+temasek
+
+// tennis : 2014-12-04 Binky Moon, LLC
+tennis
+
+// teva : 2015-07-02 Teva Pharmaceutical Industries Limited
+teva
+
+// thd : 2015-04-02 Home Depot Product Authority, LLC
+thd
+
+// theater : 2015-03-19 Binky Moon, LLC
+theater
+
+// theatre : 2015-05-07 XYZ.COM LLC
+theatre
+
+// tiaa : 2015-07-23 Teachers Insurance and Annuity Association of America
+tiaa
+
+// tickets : 2015-02-05 XYZ.COM LLC
+tickets
+
+// tienda : 2013-11-14 Binky Moon, LLC
+tienda
+
+// tiffany : 2015-01-30 Tiffany and Company
+tiffany
+
+// tips : 2013-09-20 Binky Moon, LLC
+tips
+
+// tires : 2014-11-07 Binky Moon, LLC
+tires
+
+// tirol : 2014-04-24 punkt Tirol GmbH
+tirol
+
+// tjmaxx : 2015-07-16 The TJX Companies, Inc.
+tjmaxx
+
+// tjx : 2015-07-16 The TJX Companies, Inc.
+tjx
+
+// tkmaxx : 2015-07-16 The TJX Companies, Inc.
+tkmaxx
+
+// tmall : 2015-01-15 Alibaba Group Holding Limited
+tmall
+
+// today : 2013-09-20 Binky Moon, LLC
+today
+
+// tokyo : 2013-11-13 GMO Registry, Inc.
+tokyo
+
+// tools : 2013-11-21 Binky Moon, LLC
+tools
+
+// top : 2014-03-20 .TOP Registry
+top
+
+// toray : 2014-12-18 Toray Industries, Inc.
+toray
+
+// toshiba : 2014-04-10 TOSHIBA Corporation
+toshiba
+
+// total : 2015-08-06 Total SA
+total
+
+// tours : 2015-01-22 Binky Moon, LLC
+tours
+
+// town : 2014-03-06 Binky Moon, LLC
+town
+
+// toyota : 2015-04-23 TOYOTA MOTOR CORPORATION
+toyota
+
+// toys : 2014-03-06 Binky Moon, LLC
+toys
+
+// trade : 2014-01-23 Elite Registry Limited
+trade
+
+// trading : 2014-12-11 Dog Beach, LLC
+trading
+
+// training : 2013-11-07 Binky Moon, LLC
+training
+
+// travel : 2015-10-09 Dog Beach, LLC
+travel
+
+// travelchannel : 2015-07-02 Lifestyle Domain Holdings, Inc.
+travelchannel
+
+// travelers : 2015-03-26 Travelers TLD, LLC
+travelers
+
+// travelersinsurance : 2015-03-26 Travelers TLD, LLC
+travelersinsurance
+
+// trust : 2014-10-16 UNR Corp.
+trust
+
+// trv : 2015-03-26 Travelers TLD, LLC
+trv
+
+// tube : 2015-06-11 Latin American Telecom LLC
+tube
+
+// tui : 2014-07-03 TUI AG
+tui
+
+// tunes : 2015-02-26 Amazon Registry Services, Inc.
+tunes
+
+// tushu : 2014-12-18 Amazon Registry Services, Inc.
+tushu
+
+// tvs : 2015-02-19 T V SUNDRAM IYENGAR & SONS LIMITED
+tvs
+
+// ubank : 2015-08-20 National Australia Bank Limited
+ubank
+
+// ubs : 2014-12-11 UBS AG
+ubs
+
+// unicom : 2015-10-15 China United Network Communications Corporation Limited
+unicom
+
+// university : 2014-03-06 Binky Moon, LLC
+university
+
+// uno : 2013-09-11 Radix FZC
+uno
+
+// uol : 2014-05-01 UBN INTERNET LTDA.
+uol
+
+// ups : 2015-06-25 UPS Market Driver, Inc.
+ups
+
+// vacations : 2013-12-05 Binky Moon, LLC
+vacations
+
+// vana : 2014-12-11 Lifestyle Domain Holdings, Inc.
+vana
+
+// vanguard : 2015-09-03 The Vanguard Group, Inc.
+vanguard
+
+// vegas : 2014-01-16 Dot Vegas, Inc.
+vegas
+
+// ventures : 2013-08-27 Binky Moon, LLC
+ventures
+
+// verisign : 2015-08-13 VeriSign, Inc.
+verisign
+
+// versicherung : 2014-03-20 tldbox GmbH
+versicherung
+
+// vet : 2014-03-06 Dog Beach, LLC
+vet
+
+// viajes : 2013-10-17 Binky Moon, LLC
+viajes
+
+// video : 2014-10-16 Dog Beach, LLC
+video
+
+// vig : 2015-05-14 VIENNA INSURANCE GROUP AG Wiener Versicherung Gruppe
+vig
+
+// viking : 2015-04-02 Viking River Cruises (Bermuda) Ltd.
+viking
+
+// villas : 2013-12-05 Binky Moon, LLC
+villas
+
+// vin : 2015-06-18 Binky Moon, LLC
+vin
+
+// vip : 2015-01-22 Registry Services, LLC
+vip
+
+// virgin : 2014-09-25 Virgin Enterprises Limited
+virgin
+
+// visa : 2015-07-30 Visa Worldwide Pte. Limited
+visa
+
+// vision : 2013-12-05 Binky Moon, LLC
+vision
+
+// viva : 2014-11-07 Saudi Telecom Company
+viva
+
+// vivo : 2015-07-31 Telefonica Brasil S.A.
+vivo
+
+// vlaanderen : 2014-02-06 DNS.be vzw
+vlaanderen
+
+// vodka : 2013-12-19 Registry Services, LLC
+vodka
+
+// volkswagen : 2015-05-14 Volkswagen Group of America Inc.
+volkswagen
+
+// volvo : 2015-11-12 Volvo Holding Sverige Aktiebolag
+volvo
+
+// vote : 2013-11-21 Monolith Registry LLC
+vote
+
+// voting : 2013-11-13 Valuetainment Corp.
+voting
+
+// voto : 2013-11-21 Monolith Registry LLC
+voto
+
+// voyage : 2013-08-27 Binky Moon, LLC
+voyage
+
+// vuelos : 2015-03-05 Travel Reservations SRL
+vuelos
+
+// wales : 2014-05-08 Nominet UK
+wales
+
+// walmart : 2015-07-31 Wal-Mart Stores, Inc.
+walmart
+
+// walter : 2014-11-13 Sandvik AB
+walter
+
+// wang : 2013-10-24 Zodiac Wang Limited
+wang
+
+// wanggou : 2014-12-18 Amazon Registry Services, Inc.
+wanggou
+
+// watch : 2013-11-14 Binky Moon, LLC
+watch
+
+// watches : 2014-12-22 Afilias Limited
+watches
+
+// weather : 2015-01-08 International Business Machines Corporation
+weather
+
+// weatherchannel : 2015-03-12 International Business Machines Corporation
+weatherchannel
+
+// webcam : 2014-01-23 dot Webcam Limited
+webcam
+
+// weber : 2015-06-04 Saint-Gobain Weber SA
+weber
+
+// website : 2014-04-03 Radix FZC
+website
+
+// wedding : 2014-04-24 Registry Services, LLC
+wedding
+
+// weibo : 2015-03-05 Sina Corporation
+weibo
+
+// weir : 2015-01-29 Weir Group IP Limited
+weir
+
+// whoswho : 2014-02-20 Who's Who Registry
+whoswho
+
+// wien : 2013-10-28 punkt.wien GmbH
+wien
+
+// wiki : 2013-11-07 Top Level Design, LLC
+wiki
+
+// williamhill : 2014-03-13 William Hill Organization Limited
+williamhill
+
+// win : 2014-11-20 First Registry Limited
+win
+
+// windows : 2014-12-18 Microsoft Corporation
+windows
+
+// wine : 2015-06-18 Binky Moon, LLC
+wine
+
+// winners : 2015-07-16 The TJX Companies, Inc.
+winners
+
+// wme : 2014-02-13 William Morris Endeavor Entertainment, LLC
+wme
+
+// wolterskluwer : 2015-08-06 Wolters Kluwer N.V.
+wolterskluwer
+
+// woodside : 2015-07-09 Woodside Petroleum Limited
+woodside
+
+// work : 2013-12-19 Registry Services, LLC
+work
+
+// works : 2013-11-14 Binky Moon, LLC
+works
+
+// world : 2014-06-12 Binky Moon, LLC
+world
+
+// wow : 2015-10-08 Amazon Registry Services, Inc.
+wow
+
+// wtc : 2013-12-19 World Trade Centers Association, Inc.
+wtc
+
+// wtf : 2014-03-06 Binky Moon, LLC
+wtf
+
+// xbox : 2014-12-18 Microsoft Corporation
+xbox
+
+// xerox : 2014-10-24 Xerox DNHC LLC
+xerox
+
+// xfinity : 2015-07-09 Comcast IP Holdings I, LLC
+xfinity
+
+// xihuan : 2015-01-08 Beijing Qihu Keji Co., Ltd.
+xihuan
+
+// xin : 2014-12-11 Elegant Leader Limited
+xin
+
+// xn--11b4c3d : 2015-01-15 VeriSign Sarl
+कॉम
+
+// xn--1ck2e1b : 2015-02-26 Amazon Registry Services, Inc.
+セール
+
+// xn--1qqw23a : 2014-01-09 Guangzhou YU Wei Information Technology Co., Ltd.
+佛山
+
+// xn--30rr7y : 2014-06-12 Excellent First Limited
+慈善
+
+// xn--3bst00m : 2013-09-13 Eagle Horizon Limited
+集团
+
+// xn--3ds443g : 2013-09-08 TLD REGISTRY LIMITED OY
+在线
+
+// xn--3pxu8k : 2015-01-15 VeriSign Sarl
+点看
+
+// xn--42c2d9a : 2015-01-15 VeriSign Sarl
+คอม
+
+// xn--45q11c : 2013-11-21 Zodiac Gemini Ltd
+八卦
+
+// xn--4gbrim : 2013-10-04 Helium TLDs Ltd
+موقع
+
+// xn--55qw42g : 2013-11-08 China Organizational Name Administration Center
+公益
+
+// xn--55qx5d : 2013-11-14 China Internet Network Information Center (CNNIC)
+公司
+
+// xn--5su34j936bgsg : 2015-09-03 Shangri‐La International Hotel Management Limited
+香格里拉
+
+// xn--5tzm5g : 2014-12-22 Global Website TLD Asia Limited
+网站
+
+// xn--6frz82g : 2013-09-23 Afilias Limited
+移动
+
+// xn--6qq986b3xl : 2013-09-13 Tycoon Treasure Limited
+我爱你
+
+// xn--80adxhks : 2013-12-19 Foundation for Assistance for Internet Technologies and Infrastructure Development (FAITID)
+москва
+
+// xn--80aqecdr1a : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
+католик
+
+// xn--80asehdb : 2013-07-14 CORE Association
+онлайн
+
+// xn--80aswg : 2013-07-14 CORE Association
+сайт
+
+// xn--8y0a063a : 2015-03-26 China United Network Communications Corporation Limited
+联通
+
+// xn--9dbq2a : 2015-01-15 VeriSign Sarl
+קום
+
+// xn--9et52u : 2014-06-12 RISE VICTORY LIMITED
+时尚
+
+// xn--9krt00a : 2015-03-12 Sina Corporation
+微博
+
+// xn--b4w605ferd : 2014-08-07 Temasek Holdings (Private) Limited
+淡马锡
+
+// xn--bck1b9a5dre4c : 2015-02-26 Amazon Registry Services, Inc.
+ファッション
+
+// xn--c1avg : 2013-11-14 Public Interest Registry
+орг
+
+// xn--c2br7g : 2015-01-15 VeriSign Sarl
+नेट
+
+// xn--cck2b3b : 2015-02-26 Amazon Registry Services, Inc.
+ストア
+
+// xn--cckwcxetd : 2019-12-19 Amazon Registry Services, Inc.
+アマゾン
+
+// xn--cg4bki : 2013-09-27 SAMSUNG SDS CO., LTD
+삼성
+
+// xn--czr694b : 2014-01-16 Internet DotTrademark Organisation Limited
+商标
+
+// xn--czrs0t : 2013-12-19 Binky Moon, LLC
+商店
+
+// xn--czru2d : 2013-11-21 Zodiac Aquarius Limited
+商城
+
+// xn--d1acj3b : 2013-11-20 The Foundation for Network Initiatives “The Smart Internet”
+дети
+
+// xn--eckvdtc9d : 2014-12-18 Amazon Registry Services, Inc.
+ポイント
+
+// xn--efvy88h : 2014-08-22 Guangzhou YU Wei Information Technology Co., Ltd.
+新闻
+
+// xn--fct429k : 2015-04-09 Amazon Registry Services, Inc.
+家電
+
+// xn--fhbei : 2015-01-15 VeriSign Sarl
+كوم
+
+// xn--fiq228c5hs : 2013-09-08 TLD REGISTRY LIMITED OY
+中文网
+
+// xn--fiq64b : 2013-10-14 CITIC Group Corporation
+中信
+
+// xn--fjq720a : 2014-05-22 Binky Moon, LLC
+娱乐
+
+// xn--flw351e : 2014-07-31 Charleston Road Registry Inc.
+谷歌
+
+// xn--fzys8d69uvgm : 2015-05-14 PCCW Enterprises Limited
+電訊盈科
+
+// xn--g2xx48c : 2015-01-30 Nawang Heli(Xiamen) Network Service Co., LTD.
+购物
+
+// xn--gckr3f0f : 2015-02-26 Amazon Registry Services, Inc.
+クラウド
+
+// xn--gk3at1e : 2015-10-08 Amazon Registry Services, Inc.
+通販
+
+// xn--hxt814e : 2014-05-15 Zodiac Taurus Limited
+网店
+
+// xn--i1b6b1a6a2e : 2013-11-14 Public Interest Registry
+संगठन
+
+// xn--imr513n : 2014-12-11 Internet DotTrademark Organisation Limited
+餐厅
+
+// xn--io0a7i : 2013-11-14 China Internet Network Information Center (CNNIC)
+网络
+
+// xn--j1aef : 2015-01-15 VeriSign Sarl
+ком
+
+// xn--jlq480n2rg : 2019-12-19 Amazon Registry Services, Inc.
+亚马逊
+
+// xn--jlq61u9w7b : 2015-01-08 Nokia Corporation
+诺基亚
+
+// xn--jvr189m : 2015-02-26 Amazon Registry Services, Inc.
+食品
+
+// xn--kcrx77d1x4a : 2014-11-07 Koninklijke Philips N.V.
+飞利浦
+
+// xn--kput3i : 2014-02-13 Beijing RITT-Net Technology Development Co., Ltd
+手机
+
+// xn--mgba3a3ejt : 2014-11-20 Aramco Services Company
+ارامكو
+
+// xn--mgba7c0bbn0a : 2015-05-14 Crescent Holding GmbH
+العليان
+
+// xn--mgbaakc7dvf : 2015-09-03 Emirates Telecommunications Corporation (trading as Etisalat)
+اتصالات
+
+// xn--mgbab2bd : 2013-10-31 CORE Association
+بازار
+
+// xn--mgbca7dzdo : 2015-07-30 Abu Dhabi Systems and Information Centre
+ابوظبي
+
+// xn--mgbi4ecexp : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
+كاثوليك
+
+// xn--mgbt3dhd : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.
+همراه
+
+// xn--mk1bu44c : 2015-01-15 VeriSign Sarl
+닷컴
+
+// xn--mxtq1m : 2014-03-06 Net-Chinese Co., Ltd.
+政府
+
+// xn--ngbc5azd : 2013-07-13 International Domain Registry Pty. Ltd.
+شبكة
+
+// xn--ngbe9e0a : 2014-12-04 Kuwait Finance House
+بيتك
+
+// xn--ngbrx : 2015-11-12 League of Arab States
+عرب
+
+// xn--nqv7f : 2013-11-14 Public Interest Registry
+机构
+
+// xn--nqv7fs00ema : 2013-11-14 Public Interest Registry
+组织机构
+
+// xn--nyqy26a : 2014-11-07 Stable Tone Limited
+健康
+
+// xn--otu796d : 2017-08-06 Jiang Yu Liang Cai Technology Company Limited
+招聘
+
+// xn--p1acf : 2013-12-12 Rusnames Limited
+рус
+
+// xn--pssy2u : 2015-01-15 VeriSign Sarl
+大拿
+
+// xn--q9jyb4c : 2013-09-17 Charleston Road Registry Inc.
+みんな
+
+// xn--qcka1pmc : 2014-07-31 Charleston Road Registry Inc.
+グーグル
+
+// xn--rhqv96g : 2013-09-11 Stable Tone Limited
+世界
+
+// xn--rovu88b : 2015-02-26 Amazon Registry Services, Inc.
+書籍
+
+// xn--ses554g : 2014-01-16 KNET Co., Ltd.
+网址
+
+// xn--t60b56a : 2015-01-15 VeriSign Sarl
+닷넷
+
+// xn--tckwe : 2015-01-15 VeriSign Sarl
+コム
+
+// xn--tiq49xqyj : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
+天主教
+
+// xn--unup4y : 2013-07-14 Binky Moon, LLC
+游戏
+
+// xn--vermgensberater-ctb : 2014-06-23 Deutsche Vermögensberatung Aktiengesellschaft DVAG
+vermögensberater
+
+// xn--vermgensberatung-pwb : 2014-06-23 Deutsche Vermögensberatung Aktiengesellschaft DVAG
+vermögensberatung
+
+// xn--vhquv : 2013-08-27 Binky Moon, LLC
+企业
+
+// xn--vuq861b : 2014-10-16 Beijing Tele-info Network Technology Co., Ltd.
+信息
+
+// xn--w4r85el8fhu5dnra : 2015-04-30 Kerry Trading Co. Limited
+嘉里大酒店
+
+// xn--w4rs40l : 2015-07-30 Kerry Trading Co. Limited
+嘉里
+
+// xn--xhq521b : 2013-11-14 Guangzhou YU Wei Information Technology Co., Ltd.
+广东
+
+// xn--zfr164b : 2013-11-08 China Organizational Name Administration Center
+政务
+
+// xyz : 2013-12-05 XYZ.COM LLC
+xyz
+
+// yachts : 2014-01-09 XYZ.COM LLC
+yachts
+
+// yahoo : 2015-04-02 Oath Inc.
+yahoo
+
+// yamaxun : 2014-12-18 Amazon Registry Services, Inc.
+yamaxun
+
+// yandex : 2014-04-10 Yandex Europe B.V.
+yandex
+
+// yodobashi : 2014-11-20 YODOBASHI CAMERA CO.,LTD.
+yodobashi
+
+// yoga : 2014-05-29 Registry Services, LLC
+yoga
+
+// yokohama : 2013-12-12 GMO Registry, Inc.
+yokohama
+
+// you : 2015-04-09 Amazon Registry Services, Inc.
+you
+
+// youtube : 2014-05-01 Charleston Road Registry Inc.
+youtube
+
+// yun : 2015-01-08 Beijing Qihu Keji Co., Ltd.
+yun
+
+// zappos : 2015-06-25 Amazon Registry Services, Inc.
+zappos
+
+// zara : 2014-11-07 Industria de Diseño Textil, S.A. (INDITEX, S.A.)
+zara
+
+// zero : 2014-12-18 Amazon Registry Services, Inc.
+zero
+
+// zip : 2014-05-08 Charleston Road Registry Inc.
+zip
+
+// zone : 2013-11-14 Binky Moon, LLC
+zone
+
+// zuerich : 2014-11-07 Kanton Zürich (Canton of Zurich)
+zuerich
+
+
+// ===END ICANN DOMAINS===
+// ===BEGIN PRIVATE DOMAINS===
+// (Note: these are in alphabetical order by company name)
+
+// 1GB LLC : https://www.1gb.ua/
+// Submitted by 1GB LLC <noc@1gb.com.ua>
+cc.ua
+inf.ua
+ltd.ua
+
+// 611coin : https://611project.org/
+611.to
+
+// Aaron Marais' Gitlab pages: https://lab.aaronleem.co.za
+// Submitted by Aaron Marais <its_me@aaronleem.co.za>
+graphox.us
+
+// accesso Technology Group, plc. : https://accesso.com/
+// Submitted by accesso Team <accessoecommerce@accesso.com>
+*.devcdnaccesso.com
+
+// Adobe : https://www.adobe.com/
+// Submitted by Ian Boston <boston@adobe.com> and Lars Trieloff <trieloff@adobe.com>
+adobeaemcloud.com
+*.dev.adobeaemcloud.com
+hlx.live
+adobeaemcloud.net
+hlx.page
+hlx3.page
+
+// Agnat sp. z o.o. : https://domena.pl
+// Submitted by Przemyslaw Plewa <it-admin@domena.pl>
+beep.pl
+
+// Aiven: https://aiven.io/
+// Submitted by Etienne Stalmans <security@aiven.io>
+aivencloud.com
+
+// alboto.ca : http://alboto.ca
+// Submitted by Anton Avramov <avramov@alboto.ca>
+barsy.ca
+
+// Alces Software Ltd : http://alces-software.com
+// Submitted by Mark J. Titorenko <mark.titorenko@alces-software.com>
+*.compute.estate
+*.alces.network
+
+// all-inkl.com : https://all-inkl.com
+// Submitted by Werner Kaltofen <wk@all-inkl.com>
+kasserver.com
+
+// Altervista: https://www.altervista.org
+// Submitted by Carlo Cannas <tech_staff@altervista.it>
+altervista.org
+
+// alwaysdata : https://www.alwaysdata.com
+// Submitted by Cyril <admin@alwaysdata.com>
+alwaysdata.net
+
+// Amazon CloudFront : https://aws.amazon.com/cloudfront/
+// Submitted by Donavan Miller <donavanm@amazon.com>
+cloudfront.net
+
+// Amazon Elastic Compute Cloud : https://aws.amazon.com/ec2/
+// Submitted by Luke Wells <psl-maintainers@amazon.com>
+*.compute.amazonaws.com
+*.compute-1.amazonaws.com
+*.compute.amazonaws.com.cn
+us-east-1.amazonaws.com
+
+// Amazon Elastic Beanstalk : https://aws.amazon.com/elasticbeanstalk/
+// Submitted by Luke Wells <psl-maintainers@amazon.com>
+cn-north-1.eb.amazonaws.com.cn
+cn-northwest-1.eb.amazonaws.com.cn
+elasticbeanstalk.com
+ap-northeast-1.elasticbeanstalk.com
+ap-northeast-2.elasticbeanstalk.com
+ap-northeast-3.elasticbeanstalk.com
+ap-south-1.elasticbeanstalk.com
+ap-southeast-1.elasticbeanstalk.com
+ap-southeast-2.elasticbeanstalk.com
+ca-central-1.elasticbeanstalk.com
+eu-central-1.elasticbeanstalk.com
+eu-west-1.elasticbeanstalk.com
+eu-west-2.elasticbeanstalk.com
+eu-west-3.elasticbeanstalk.com
+sa-east-1.elasticbeanstalk.com
+us-east-1.elasticbeanstalk.com
+us-east-2.elasticbeanstalk.com
+us-gov-west-1.elasticbeanstalk.com
+us-west-1.elasticbeanstalk.com
+us-west-2.elasticbeanstalk.com
+
+// Amazon Elastic Load Balancing : https://aws.amazon.com/elasticloadbalancing/
+// Submitted by Luke Wells <psl-maintainers@amazon.com>
+*.elb.amazonaws.com
+*.elb.amazonaws.com.cn
+
+// Amazon Global Accelerator : https://aws.amazon.com/global-accelerator/
+// Submitted by Daniel Massaguer <psl-maintainers@amazon.com>
+awsglobalaccelerator.com
+
+// Amazon S3 : https://aws.amazon.com/s3/
+// Submitted by Luke Wells <psl-maintainers@amazon.com>
+s3.amazonaws.com
+s3-ap-northeast-1.amazonaws.com
+s3-ap-northeast-2.amazonaws.com
+s3-ap-south-1.amazonaws.com
+s3-ap-southeast-1.amazonaws.com
+s3-ap-southeast-2.amazonaws.com
+s3-ca-central-1.amazonaws.com
+s3-eu-central-1.amazonaws.com
+s3-eu-west-1.amazonaws.com
+s3-eu-west-2.amazonaws.com
+s3-eu-west-3.amazonaws.com
+s3-external-1.amazonaws.com
+s3-fips-us-gov-west-1.amazonaws.com
+s3-sa-east-1.amazonaws.com
+s3-us-gov-west-1.amazonaws.com
+s3-us-east-2.amazonaws.com
+s3-us-west-1.amazonaws.com
+s3-us-west-2.amazonaws.com
+s3.ap-northeast-2.amazonaws.com
+s3.ap-south-1.amazonaws.com
+s3.cn-north-1.amazonaws.com.cn
+s3.ca-central-1.amazonaws.com
+s3.eu-central-1.amazonaws.com
+s3.eu-west-2.amazonaws.com
+s3.eu-west-3.amazonaws.com
+s3.us-east-2.amazonaws.com
+s3.dualstack.ap-northeast-1.amazonaws.com
+s3.dualstack.ap-northeast-2.amazonaws.com
+s3.dualstack.ap-south-1.amazonaws.com
+s3.dualstack.ap-southeast-1.amazonaws.com
+s3.dualstack.ap-southeast-2.amazonaws.com
+s3.dualstack.ca-central-1.amazonaws.com
+s3.dualstack.eu-central-1.amazonaws.com
+s3.dualstack.eu-west-1.amazonaws.com
+s3.dualstack.eu-west-2.amazonaws.com
+s3.dualstack.eu-west-3.amazonaws.com
+s3.dualstack.sa-east-1.amazonaws.com
+s3.dualstack.us-east-1.amazonaws.com
+s3.dualstack.us-east-2.amazonaws.com
+s3-website-us-east-1.amazonaws.com
+s3-website-us-west-1.amazonaws.com
+s3-website-us-west-2.amazonaws.com
+s3-website-ap-northeast-1.amazonaws.com
+s3-website-ap-southeast-1.amazonaws.com
+s3-website-ap-southeast-2.amazonaws.com
+s3-website-eu-west-1.amazonaws.com
+s3-website-sa-east-1.amazonaws.com
+s3-website.ap-northeast-2.amazonaws.com
+s3-website.ap-south-1.amazonaws.com
+s3-website.ca-central-1.amazonaws.com
+s3-website.eu-central-1.amazonaws.com
+s3-website.eu-west-2.amazonaws.com
+s3-website.eu-west-3.amazonaws.com
+s3-website.us-east-2.amazonaws.com
+
+// Amune : https://amune.org/
+// Submitted by Team Amune <cert@amune.org>
+t3l3p0rt.net
+tele.amune.org
+
+// Apigee : https://apigee.com/
+// Submitted by Apigee Security Team <security@apigee.com>
+apigee.io
+
+// Apphud : https://apphud.com
+// Submitted by Alexander Selivanov <alex@apphud.com>
+siiites.com
+
+// Appspace : https://www.appspace.com
+// Submitted by Appspace Security Team <security@appspace.com>
+appspacehosted.com
+appspaceusercontent.com
+
+// Appudo UG (haftungsbeschränkt) : https://www.appudo.com
+// Submitted by Alexander Hochbaum <admin@appudo.com>
+appudo.net
+
+// Aptible : https://www.aptible.com/
+// Submitted by Thomas Orozco <thomas@aptible.com>
+on-aptible.com
+
+// ASEINet : https://www.aseinet.com/
+// Submitted by Asei SEKIGUCHI <mail@aseinet.com>
+user.aseinet.ne.jp
+gv.vc
+d.gv.vc
+
+// Asociación Amigos de la Informática "Euskalamiga" : http://encounter.eus/
+// Submitted by Hector Martin <marcan@euskalencounter.org>
+user.party.eus
+
+// Association potager.org : https://potager.org/
+// Submitted by Lunar <jardiniers@potager.org>
+pimienta.org
+poivron.org
+potager.org
+sweetpepper.org
+
+// ASUSTOR Inc. : http://www.asustor.com
+// Submitted by Vincent Tseng <vincenttseng@asustor.com>
+myasustor.com
+
+// Atlassian : https://atlassian.com
+// Submitted by Sam Smyth <devloop@atlassian.com>
+cdn.prod.atlassian-dev.net
+
+// Authentick UG (haftungsbeschränkt) : https://authentick.net
+// Submitted by Lukas Reschke <lukas@authentick.net>
+translated.page
+
+// AVM : https://avm.de
+// Submitted by Andreas Weise <a.weise@avm.de>
+myfritz.net
+
+// AVStack Pte. Ltd. : https://avstack.io
+// Submitted by Jasper Hugo <jasper@avstack.io>
+onavstack.net
+
+// AW AdvisorWebsites.com Software Inc : https://advisorwebsites.com
+// Submitted by James Kennedy <domains@advisorwebsites.com>
+*.awdev.ca
+*.advisor.ws
+
+// AZ.pl sp. z.o.o: https://az.pl
+// Submited by Krzysztof Wolski <krzysztof.wolski@home.eu>
+ecommerce-shop.pl
+
+// b-data GmbH : https://www.b-data.io
+// Submitted by Olivier Benz <olivier.benz@b-data.ch>
+b-data.io
+
+// backplane : https://www.backplane.io
+// Submitted by Anthony Voutas <anthony@backplane.io>
+backplaneapp.io
+
+// Balena : https://www.balena.io
+// Submitted by Petros Angelatos <petrosagg@balena.io>
+balena-devices.com
+
+// University of Banja Luka : https://unibl.org
+// Domains for Republic of Srpska administrative entity.
+// Submitted by Marko Ivanovic <kormang@hotmail.rs>
+rs.ba
+
+// Banzai Cloud
+// Submitted by Janos Matyas <info@banzaicloud.com>
+*.banzai.cloud
+app.banzaicloud.io
+*.backyards.banzaicloud.io
+
+// BASE, Inc. : https://binc.jp
+// Submitted by Yuya NAGASAWA <public-suffix-list@binc.jp>
+base.ec
+official.ec
+buyshop.jp
+fashionstore.jp
+handcrafted.jp
+kawaiishop.jp
+supersale.jp
+theshop.jp
+shopselect.net
+base.shop
+
+// Beget Ltd
+// Submitted by Lev Nekrasov <lnekrasov@beget.com>
+*.beget.app
+
+// BetaInABox
+// Submitted by Adrian <adrian@betainabox.com>
+betainabox.com
+
+// BinaryLane : http://www.binarylane.com
+// Submitted by Nathan O'Sullivan <nathan@mammoth.com.au>
+bnr.la
+
+// Bitbucket : http://bitbucket.org
+// Submitted by Andy Ortlieb <aortlieb@atlassian.com>
+bitbucket.io
+
+// Blackbaud, Inc. : https://www.blackbaud.com
+// Submitted by Paul Crowder <paul.crowder@blackbaud.com>
+blackbaudcdn.net
+
+// Blatech : http://www.blatech.net
+// Submitted by Luke Bratch <luke@bratch.co.uk>
+of.je
+
+// Blue Bite, LLC : https://bluebite.com
+// Submitted by Joshua Weiss <admin.engineering@bluebite.com>
+bluebite.io
+
+// Boomla : https://boomla.com
+// Submitted by Tibor Halter <thalter@boomla.com>
+boomla.net
+
+// Boutir : https://www.boutir.com
+// Submitted by Eric Ng Ka Ka <ngkaka@boutir.com>
+boutir.com
+
+// Boxfuse : https://boxfuse.com
+// Submitted by Axel Fontaine <axel@boxfuse.com>
+boxfuse.io
+
+// bplaced : https://www.bplaced.net/
+// Submitted by Miroslav Bozic <security@bplaced.net>
+square7.ch
+bplaced.com
+bplaced.de
+square7.de
+bplaced.net
+square7.net
+
+// Brendly : https://brendly.rs
+// Submitted by Dusan Radovanovic <dusan.radovanovic@brendly.rs>
+shop.brendly.rs
+
+// BrowserSafetyMark
+// Submitted by Dave Tharp <browsersafetymark.io@quicinc.com>
+browsersafetymark.io
+
+// Bytemark Hosting : https://www.bytemark.co.uk
+// Submitted by Paul Cammish <paul.cammish@bytemark.co.uk>
+uk0.bigv.io
+dh.bytemark.co.uk
+vm.bytemark.co.uk
+
+// Caf.js Labs LLC : https://www.cafjs.com
+// Submitted by Antonio Lain <antlai@cafjs.com>
+cafjs.com
+
+// callidomus : https://www.callidomus.com/
+// Submitted by Marcus Popp <admin@callidomus.com>
+mycd.eu
+
+// Carrd : https://carrd.co
+// Submitted by AJ <aj@carrd.co>
+drr.ac
+uwu.ai
+carrd.co
+crd.co
+ju.mp
+
+// CentralNic : http://www.centralnic.com/names/domains
+// Submitted by registry <gavin.brown@centralnic.com>
+ae.org
+br.com
+cn.com
+com.de
+com.se
+de.com
+eu.com
+gb.net
+hu.net
+jp.net
+jpn.com
+mex.com
+ru.com
+sa.com
+se.net
+uk.com
+uk.net
+us.com
+za.bz
+za.com
+
+// No longer operated by CentralNic, these entries should be adopted and/or removed by current operators
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+ar.com
+hu.com
+kr.com
+no.com
+qc.com
+uy.com
+
+// Africa.com Web Solutions Ltd : https://registry.africa.com
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+africa.com
+
+// iDOT Services Limited : http://www.domain.gr.com
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+gr.com
+
+// Radix FZC : http://domains.in.net
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+in.net
+web.in
+
+// US REGISTRY LLC : http://us.org
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+us.org
+
+// co.com Registry, LLC : https://registry.co.com
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+co.com
+
+// Roar Domains LLC : https://roar.basketball/
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+aus.basketball
+nz.basketball
+
+// BRS Media : https://brsmedia.com/
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+radio.am
+radio.fm
+
+// c.la : http://www.c.la/
+c.la
+
+// certmgr.org : https://certmgr.org
+// Submitted by B. Blechschmidt <hostmaster@certmgr.org>
+certmgr.org
+
+// Cityhost LLC : https://cityhost.ua
+// Submitted by Maksym Rivtin <support@cityhost.net.ua>
+cx.ua
+
+// Civilized Discourse Construction Kit, Inc. : https://www.discourse.org/
+// Submitted by Rishabh Nambiar & Michael Brown <team@discourse.org>
+discourse.group
+discourse.team
+
+// Clever Cloud : https://www.clever-cloud.com/
+// Submitted by Quentin Adam <noc@clever-cloud.com>
+cleverapps.io
+
+// Clerk : https://www.clerk.dev
+// Submitted by Colin Sidoti <systems@clerk.dev>
+clerk.app
+clerkstage.app
+*.lcl.dev
+*.lclstage.dev
+*.stg.dev
+*.stgstage.dev
+
+// ClickRising : https://clickrising.com/
+// Submitted by Umut Gumeli <infrastructure-publicsuffixlist@clickrising.com>
+clickrising.net
+
+// Cloud66 : https://www.cloud66.com/
+// Submitted by Khash Sajadi <khash@cloud66.com>
+c66.me
+cloud66.ws
+cloud66.zone
+
+// CloudAccess.net : https://www.cloudaccess.net/
+// Submitted by Pawel Panek <noc@cloudaccess.net>
+jdevcloud.com
+wpdevcloud.com
+cloudaccess.host
+freesite.host
+cloudaccess.net
+
+// cloudControl : https://www.cloudcontrol.com/
+// Submitted by Tobias Wilken <tw@cloudcontrol.com>
+cloudcontrolled.com
+cloudcontrolapp.com
+
+// Cloudera, Inc. : https://www.cloudera.com/
+// Submitted by Kedarnath Waikar <security@cloudera.com>
+*.cloudera.site
+
+// Cloudflare, Inc. : https://www.cloudflare.com/
+// Submitted by Cloudflare Team <publicsuffixlist@cloudflare.com>
+pages.dev
+trycloudflare.com
+workers.dev
+
+// Clovyr : https://clovyr.io
+// Submitted by Patrick Nielsen <patrick@clovyr.io>
+wnext.app
+
+// co.ca : http://registry.co.ca/
+co.ca
+
+// Co & Co : https://co-co.nl/
+// Submitted by Govert Versluis <govert@co-co.nl>
+*.otap.co
+
+// i-registry s.r.o. : http://www.i-registry.cz/
+// Submitted by Martin Semrad <semrad@i-registry.cz>
+co.cz
+
+// CDN77.com : http://www.cdn77.com
+// Submitted by Jan Krpes <jan.krpes@cdn77.com>
+c.cdn77.org
+cdn77-ssl.net
+r.cdn77.net
+rsc.cdn77.org
+ssl.origin.cdn77-secure.org
+
+// Cloud DNS Ltd : http://www.cloudns.net
+// Submitted by Aleksander Hristov <noc@cloudns.net>
+cloudns.asia
+cloudns.biz
+cloudns.club
+cloudns.cc
+cloudns.eu
+cloudns.in
+cloudns.info
+cloudns.org
+cloudns.pro
+cloudns.pw
+cloudns.us
+
+// CNPY : https://cnpy.gdn
+// Submitted by Angelo Gladding <angelo@lahacker.net>
+cnpy.gdn
+
+// Codeberg e. V. : https://codeberg.org
+// Submitted by Moritz Marquardt <git@momar.de>
+codeberg.page
+
+// CoDNS B.V.
+co.nl
+co.no
+
+// Combell.com : https://www.combell.com
+// Submitted by Thomas Wouters <thomas.wouters@combellgroup.com>
+webhosting.be
+hosting-cluster.nl
+
+// Coordination Center for TLD RU and XN--P1AI : https://cctld.ru/en/domains/domens_ru/reserved/
+// Submitted by George Georgievsky <gug@cctld.ru>
+ac.ru
+edu.ru
+gov.ru
+int.ru
+mil.ru
+test.ru
+
+// COSIMO GmbH : http://www.cosimo.de
+// Submitted by Rene Marticke <rmarticke@cosimo.de>
+dyn.cosidns.de
+dynamisches-dns.de
+dnsupdater.de
+internet-dns.de
+l-o-g-i-n.de
+dynamic-dns.info
+feste-ip.net
+knx-server.net
+static-access.net
+
+// Craynic, s.r.o. : http://www.craynic.com/
+// Submitted by Ales Krajnik <ales.krajnik@craynic.com>
+realm.cz
+
+// Cryptonomic : https://cryptonomic.net/
+// Submitted by Andrew Cady <public-suffix-list@cryptonomic.net>
+*.cryptonomic.net
+
+// Cupcake : https://cupcake.io/
+// Submitted by Jonathan Rudenberg <jonathan@cupcake.io>
+cupcake.is
+
+// Curv UG : https://curv-labs.de/
+// Submitted by Marvin Wiesner <Marvin@curv-labs.de>
+curv.dev
+
+// Customer OCI - Oracle Dyn https://cloud.oracle.com/home https://dyn.com/dns/
+// Submitted by Gregory Drake <support@dyn.com>
+// Note: This is intended to also include customer-oci.com due to wildcards implicitly including the current label
+*.customer-oci.com
+*.oci.customer-oci.com
+*.ocp.customer-oci.com
+*.ocs.customer-oci.com
+
+// cyon GmbH : https://www.cyon.ch/
+// Submitted by Dominic Luechinger <dol@cyon.ch>
+cyon.link
+cyon.site
+
+// Danger Science Group: https://dangerscience.com/
+// Submitted by Skylar MacDonald <skylar@dangerscience.com>
+fnwk.site
+folionetwork.site
+platform0.app
+
+// Daplie, Inc : https://daplie.com
+// Submitted by AJ ONeal <aj@daplie.com>
+daplie.me
+localhost.daplie.me
+
+// Datto, Inc. : https://www.datto.com/
+// Submitted by Philipp Heckel <ph@datto.com>
+dattolocal.com
+dattorelay.com
+dattoweb.com
+mydatto.com
+dattolocal.net
+mydatto.net
+
+// Dansk.net : http://www.dansk.net/
+// Submitted by Anani Voule <digital@digital.co.dk>
+biz.dk
+co.dk
+firm.dk
+reg.dk
+store.dk
+
+// dappnode.io : https://dappnode.io/
+// Submitted by Abel Boldu / DAppNode Team <community@dappnode.io>
+dyndns.dappnode.io
+
+// dapps.earth : https://dapps.earth/
+// Submitted by Daniil Burdakov <icqkill@gmail.com>
+*.dapps.earth
+*.bzz.dapps.earth
+
+// Dark, Inc. : https://darklang.com
+// Submitted by Paul Biggar <ops@darklang.com>
+builtwithdark.com
+
+// DataDetect, LLC. : https://datadetect.com
+// Submitted by Andrew Banchich <abanchich@sceven.com>
+demo.datadetect.com
+instance.datadetect.com
+
+// Datawire, Inc : https://www.datawire.io
+// Submitted by Richard Li <secalert@datawire.io>
+edgestack.me
+
+// DDNS5 : https://ddns5.com
+// Submitted by Cameron Elliott <cameron@cameronelliott.com>
+ddns5.com
+
+// Debian : https://www.debian.org/
+// Submitted by Peter Palfrader / Debian Sysadmin Team <dsa-publicsuffixlist@debian.org>
+debian.net
+
+// Deno Land Inc : https://deno.com/
+// Submitted by Luca Casonato <hostmaster@deno.com>
+deno.dev
+deno-staging.dev
+
+// deSEC : https://desec.io/
+// Submitted by Peter Thomassen <peter@desec.io>
+dedyn.io
+
+// Diher Solutions : https://diher.solutions
+// Submitted by Didi Hermawan <mail@diher.solutions>
+*.rss.my.id
+*.diher.solutions
+
+// Discord Inc : https://discord.com
+// Submitted by Sahn Lam <slam@discordapp.com>
+discordsays.com
+discordsez.com
+
+// DNS Africa Ltd https://dns.business
+// Submitted by Calvin Browne <calvin@dns.business>
+jozi.biz
+
+// DNShome : https://www.dnshome.de/
+// Submitted by Norbert Auler <mail@dnshome.de>
+dnshome.de
+
+// DotArai : https://www.dotarai.com/
+// Submitted by Atsadawat Netcharadsang <atsadawat@dotarai.co.th>
+online.th
+shop.th
+
+// DrayTek Corp. : https://www.draytek.com/
+// Submitted by Paul Fang <mis@draytek.com>
+drayddns.com
+
+// DreamCommerce : https://shoper.pl/
+// Submitted by Konrad Kotarba <konrad.kotarba@dreamcommerce.com>
+shoparena.pl
+
+// DreamHost : http://www.dreamhost.com/
+// Submitted by Andrew Farmer <andrew.farmer@dreamhost.com>
+dreamhosters.com
+
+// Drobo : http://www.drobo.com/
+// Submitted by Ricardo Padilha <rpadilha@drobo.com>
+mydrobo.com
+
+// Drud Holdings, LLC. : https://www.drud.com/
+// Submitted by Kevin Bridges <kevin@drud.com>
+drud.io
+drud.us
+
+// DuckDNS : http://www.duckdns.org/
+// Submitted by Richard Harper <richard@duckdns.org>
+duckdns.org
+
+// Bip : https://bip.sh
+// Submitted by Joel Kennedy <joel@bip.sh>
+bip.sh
+
+// bitbridge.net : Submitted by Craig Welch, abeliidev@gmail.com
+bitbridge.net
+
+// dy.fi : http://dy.fi/
+// Submitted by Heikki Hannikainen <hessu@hes.iki.fi>
+dy.fi
+tunk.org
+
+// DynDNS.com : http://www.dyndns.com/services/dns/dyndns/
+dyndns-at-home.com
+dyndns-at-work.com
+dyndns-blog.com
+dyndns-free.com
+dyndns-home.com
+dyndns-ip.com
+dyndns-mail.com
+dyndns-office.com
+dyndns-pics.com
+dyndns-remote.com
+dyndns-server.com
+dyndns-web.com
+dyndns-wiki.com
+dyndns-work.com
+dyndns.biz
+dyndns.info
+dyndns.org
+dyndns.tv
+at-band-camp.net
+ath.cx
+barrel-of-knowledge.info
+barrell-of-knowledge.info
+better-than.tv
+blogdns.com
+blogdns.net
+blogdns.org
+blogsite.org
+boldlygoingnowhere.org
+broke-it.net
+buyshouses.net
+cechire.com
+dnsalias.com
+dnsalias.net
+dnsalias.org
+dnsdojo.com
+dnsdojo.net
+dnsdojo.org
+does-it.net
+doesntexist.com
+doesntexist.org
+dontexist.com
+dontexist.net
+dontexist.org
+doomdns.com
+doomdns.org
+dvrdns.org
+dyn-o-saur.com
+dynalias.com
+dynalias.net
+dynalias.org
+dynathome.net
+dyndns.ws
+endofinternet.net
+endofinternet.org
+endoftheinternet.org
+est-a-la-maison.com
+est-a-la-masion.com
+est-le-patron.com
+est-mon-blogueur.com
+for-better.biz
+for-more.biz
+for-our.info
+for-some.biz
+for-the.biz
+forgot.her.name
+forgot.his.name
+from-ak.com
+from-al.com
+from-ar.com
+from-az.net
+from-ca.com
+from-co.net
+from-ct.com
+from-dc.com
+from-de.com
+from-fl.com
+from-ga.com
+from-hi.com
+from-ia.com
+from-id.com
+from-il.com
+from-in.com
+from-ks.com
+from-ky.com
+from-la.net
+from-ma.com
+from-md.com
+from-me.org
+from-mi.com
+from-mn.com
+from-mo.com
+from-ms.com
+from-mt.com
+from-nc.com
+from-nd.com
+from-ne.com
+from-nh.com
+from-nj.com
+from-nm.com
+from-nv.com
+from-ny.net
+from-oh.com
+from-ok.com
+from-or.com
+from-pa.com
+from-pr.com
+from-ri.com
+from-sc.com
+from-sd.com
+from-tn.com
+from-tx.com
+from-ut.com
+from-va.com
+from-vt.com
+from-wa.com
+from-wi.com
+from-wv.com
+from-wy.com
+ftpaccess.cc
+fuettertdasnetz.de
+game-host.org
+game-server.cc
+getmyip.com
+gets-it.net
+go.dyndns.org
+gotdns.com
+gotdns.org
+groks-the.info
+groks-this.info
+ham-radio-op.net
+here-for-more.info
+hobby-site.com
+hobby-site.org
+home.dyndns.org
+homedns.org
+homeftp.net
+homeftp.org
+homeip.net
+homelinux.com
+homelinux.net
+homelinux.org
+homeunix.com
+homeunix.net
+homeunix.org
+iamallama.com
+in-the-band.net
+is-a-anarchist.com
+is-a-blogger.com
+is-a-bookkeeper.com
+is-a-bruinsfan.org
+is-a-bulls-fan.com
+is-a-candidate.org
+is-a-caterer.com
+is-a-celticsfan.org
+is-a-chef.com
+is-a-chef.net
+is-a-chef.org
+is-a-conservative.com
+is-a-cpa.com
+is-a-cubicle-slave.com
+is-a-democrat.com
+is-a-designer.com
+is-a-doctor.com
+is-a-financialadvisor.com
+is-a-geek.com
+is-a-geek.net
+is-a-geek.org
+is-a-green.com
+is-a-guru.com
+is-a-hard-worker.com
+is-a-hunter.com
+is-a-knight.org
+is-a-landscaper.com
+is-a-lawyer.com
+is-a-liberal.com
+is-a-libertarian.com
+is-a-linux-user.org
+is-a-llama.com
+is-a-musician.com
+is-a-nascarfan.com
+is-a-nurse.com
+is-a-painter.com
+is-a-patsfan.org
+is-a-personaltrainer.com
+is-a-photographer.com
+is-a-player.com
+is-a-republican.com
+is-a-rockstar.com
+is-a-socialist.com
+is-a-soxfan.org
+is-a-student.com
+is-a-teacher.com
+is-a-techie.com
+is-a-therapist.com
+is-an-accountant.com
+is-an-actor.com
+is-an-actress.com
+is-an-anarchist.com
+is-an-artist.com
+is-an-engineer.com
+is-an-entertainer.com
+is-by.us
+is-certified.com
+is-found.org
+is-gone.com
+is-into-anime.com
+is-into-cars.com
+is-into-cartoons.com
+is-into-games.com
+is-leet.com
+is-lost.org
+is-not-certified.com
+is-saved.org
+is-slick.com
+is-uberleet.com
+is-very-bad.org
+is-very-evil.org
+is-very-good.org
+is-very-nice.org
+is-very-sweet.org
+is-with-theband.com
+isa-geek.com
+isa-geek.net
+isa-geek.org
+isa-hockeynut.com
+issmarterthanyou.com
+isteingeek.de
+istmein.de
+kicks-ass.net
+kicks-ass.org
+knowsitall.info
+land-4-sale.us
+lebtimnetz.de
+leitungsen.de
+likes-pie.com
+likescandy.com
+merseine.nu
+mine.nu
+misconfused.org
+mypets.ws
+myphotos.cc
+neat-url.com
+office-on-the.net
+on-the-web.tv
+podzone.net
+podzone.org
+readmyblog.org
+saves-the-whales.com
+scrapper-site.net
+scrapping.cc
+selfip.biz
+selfip.com
+selfip.info
+selfip.net
+selfip.org
+sells-for-less.com
+sells-for-u.com
+sells-it.net
+sellsyourhome.org
+servebbs.com
+servebbs.net
+servebbs.org
+serveftp.net
+serveftp.org
+servegame.org
+shacknet.nu
+simple-url.com
+space-to-rent.com
+stuff-4-sale.org
+stuff-4-sale.us
+teaches-yoga.com
+thruhere.net
+traeumtgerade.de
+webhop.biz
+webhop.info
+webhop.net
+webhop.org
+worse-than.tv
+writesthisblog.com
+
+// ddnss.de : https://www.ddnss.de/
+// Submitted by Robert Niedziela <webmaster@ddnss.de>
+ddnss.de
+dyn.ddnss.de
+dyndns.ddnss.de
+dyndns1.de
+dyn-ip24.de
+home-webserver.de
+dyn.home-webserver.de
+myhome-server.de
+ddnss.org
+
+// Definima : http://www.definima.com/
+// Submitted by Maxence Bitterli <maxence@definima.com>
+definima.net
+definima.io
+
+// DigitalOcean App Platform : https://www.digitalocean.com/products/app-platform/
+// Submitted by Braxton Huggins <psl-maintainers@digitalocean.com>
+ondigitalocean.app
+
+// DigitalOcean Spaces : https://www.digitalocean.com/products/spaces/
+// Submitted by Robin H. Johnson <psl-maintainers@digitalocean.com>
+*.digitaloceanspaces.com
+
+// dnstrace.pro : https://dnstrace.pro/
+// Submitted by Chris Partridge <chris@partridge.tech>
+bci.dnstrace.pro
+
+// Dynu.com : https://www.dynu.com/
+// Submitted by Sue Ye <sue@dynu.com>
+ddnsfree.com
+ddnsgeek.com
+giize.com
+gleeze.com
+kozow.com
+loseyourip.com
+ooguy.com
+theworkpc.com
+casacam.net
+dynu.net
+accesscam.org
+camdvr.org
+freeddns.org
+mywire.org
+webredirect.org
+myddns.rocks
+blogsite.xyz
+
+// dynv6 : https://dynv6.com
+// Submitted by Dominik Menke <dom@digineo.de>
+dynv6.net
+
+// E4YOU spol. s.r.o. : https://e4you.cz/
+// Submitted by Vladimir Dudr <info@e4you.cz>
+e4.cz
+
+// eero : https://eero.com/
+// Submitted by Yue Kang <eero-dynamic-dns@amazon.com>
+eero.online
+eero-stage.online
+
+// Elementor : Elementor Ltd.
+// Submitted by Anton Barkan <antonb@elementor.com>
+elementor.cloud
+elementor.cool
+
+// En root‽ : https://en-root.org
+// Submitted by Emmanuel Raviart <emmanuel@raviart.com>
+en-root.fr
+
+// Enalean SAS: https://www.enalean.com
+// Submitted by Thomas Cottier <thomas.cottier@enalean.com>
+mytuleap.com
+tuleap-partners.com
+
+// ECG Robotics, Inc: https://ecgrobotics.org
+// Submitted by <frc1533@ecgrobotics.org>
+onred.one
+staging.onred.one
+
+// encoway GmbH : https://www.encoway.de
+// Submitted by Marcel Daus <cloudops@encoway.de>
+eu.encoway.cloud
+
+// EU.org https://eu.org/
+// Submitted by Pierre Beyssac <hostmaster@eu.org>
+eu.org
+al.eu.org
+asso.eu.org
+at.eu.org
+au.eu.org
+be.eu.org
+bg.eu.org
+ca.eu.org
+cd.eu.org
+ch.eu.org
+cn.eu.org
+cy.eu.org
+cz.eu.org
+de.eu.org
+dk.eu.org
+edu.eu.org
+ee.eu.org
+es.eu.org
+fi.eu.org
+fr.eu.org
+gr.eu.org
+hr.eu.org
+hu.eu.org
+ie.eu.org
+il.eu.org
+in.eu.org
+int.eu.org
+is.eu.org
+it.eu.org
+jp.eu.org
+kr.eu.org
+lt.eu.org
+lu.eu.org
+lv.eu.org
+mc.eu.org
+me.eu.org
+mk.eu.org
+mt.eu.org
+my.eu.org
+net.eu.org
+ng.eu.org
+nl.eu.org
+no.eu.org
+nz.eu.org
+paris.eu.org
+pl.eu.org
+pt.eu.org
+q-a.eu.org
+ro.eu.org
+ru.eu.org
+se.eu.org
+si.eu.org
+sk.eu.org
+tr.eu.org
+uk.eu.org
+us.eu.org
+
+// Eurobyte : https://eurobyte.ru
+// Submitted by Evgeniy Subbotin <e.subbotin@eurobyte.ru>
+eurodir.ru
+
+// Evennode : http://www.evennode.com/
+// Submitted by Michal Kralik <support@evennode.com>
+eu-1.evennode.com
+eu-2.evennode.com
+eu-3.evennode.com
+eu-4.evennode.com
+us-1.evennode.com
+us-2.evennode.com
+us-3.evennode.com
+us-4.evennode.com
+
+// eDirect Corp. : https://hosting.url.com.tw/
+// Submitted by C.S. chang <cschang@corp.url.com.tw>
+twmail.cc
+twmail.net
+twmail.org
+mymailer.com.tw
+url.tw
+
+// Fabrica Technologies, Inc. : https://www.fabrica.dev/
+// Submitted by Eric Jiang <eric@fabrica.dev>
+onfabrica.com
+
+// Facebook, Inc.
+// Submitted by Peter Ruibal <public-suffix@fb.com>
+apps.fbsbx.com
+
+// FAITID : https://faitid.org/
+// Submitted by Maxim Alzoba <tech.contact@faitid.org>
+// https://www.flexireg.net/stat_info
+ru.net
+adygeya.ru
+bashkiria.ru
+bir.ru
+cbg.ru
+com.ru
+dagestan.ru
+grozny.ru
+kalmykia.ru
+kustanai.ru
+marine.ru
+mordovia.ru
+msk.ru
+mytis.ru
+nalchik.ru
+nov.ru
+pyatigorsk.ru
+spb.ru
+vladikavkaz.ru
+vladimir.ru
+abkhazia.su
+adygeya.su
+aktyubinsk.su
+arkhangelsk.su
+armenia.su
+ashgabad.su
+azerbaijan.su
+balashov.su
+bashkiria.su
+bryansk.su
+bukhara.su
+chimkent.su
+dagestan.su
+east-kazakhstan.su
+exnet.su
+georgia.su
+grozny.su
+ivanovo.su
+jambyl.su
+kalmykia.su
+kaluga.su
+karacol.su
+karaganda.su
+karelia.su
+khakassia.su
+krasnodar.su
+kurgan.su
+kustanai.su
+lenug.su
+mangyshlak.su
+mordovia.su
+msk.su
+murmansk.su
+nalchik.su
+navoi.su
+north-kazakhstan.su
+nov.su
+obninsk.su
+penza.su
+pokrovsk.su
+sochi.su
+spb.su
+tashkent.su
+termez.su
+togliatti.su
+troitsk.su
+tselinograd.su
+tula.su
+tuva.su
+vladikavkaz.su
+vladimir.su
+vologda.su
+
+// Fancy Bits, LLC : http://getchannels.com
+// Submitted by Aman Gupta <aman@getchannels.com>
+channelsdvr.net
+u.channelsdvr.net
+
+// Fastly Inc. : http://www.fastly.com/
+// Submitted by Fastly Security <security@fastly.com>
+edgecompute.app
+fastly-terrarium.com
+fastlylb.net
+map.fastlylb.net
+freetls.fastly.net
+map.fastly.net
+a.prod.fastly.net
+global.prod.fastly.net
+a.ssl.fastly.net
+b.ssl.fastly.net
+global.ssl.fastly.net
+
+// FASTVPS EESTI OU : https://fastvps.ru/
+// Submitted by Likhachev Vasiliy <lihachev@fastvps.ru>
+fastvps-server.com
+fastvps.host
+myfast.host
+fastvps.site
+myfast.space
+
+// Fedora : https://fedoraproject.org/
+// submitted by Patrick Uiterwijk <puiterwijk@fedoraproject.org>
+fedorainfracloud.org
+fedorapeople.org
+cloud.fedoraproject.org
+app.os.fedoraproject.org
+app.os.stg.fedoraproject.org
+
+// FearWorks Media Ltd. : https://fearworksmedia.co.uk
+// submitted by Keith Fairley <domains@fearworksmedia.co.uk>
+conn.uk
+copro.uk
+hosp.uk
+
+// Fermax : https://fermax.com/
+// submitted by Koen Van Isterdael <k.vanisterdael@fermax.be>
+mydobiss.com
+
+// FH Muenster : https://www.fh-muenster.de
+// Submitted by Robin Naundorf <r.naundorf@fh-muenster.de>
+fh-muenster.io
+
+// Filegear Inc. : https://www.filegear.com
+// Submitted by Jason Zhu <jason@owtware.com>
+filegear.me
+filegear-au.me
+filegear-de.me
+filegear-gb.me
+filegear-ie.me
+filegear-jp.me
+filegear-sg.me
+
+// Firebase, Inc.
+// Submitted by Chris Raynor <chris@firebase.com>
+firebaseapp.com
+
+// Firewebkit : https://www.firewebkit.com
+// Submitted by Majid Qureshi <mqureshi@amrayn.com>
+fireweb.app
+
+// FLAP : https://www.flap.cloud
+// Submitted by Louis Chemineau <louis@chmn.me>
+flap.id
+
+// FlashDrive : https://flashdrive.io
+// Submitted by Eric Chan <support@flashdrive.io>
+onflashdrive.app
+fldrv.com
+
+// fly.io: https://fly.io
+// Submitted by Kurt Mackey <kurt@fly.io>
+fly.dev
+edgeapp.net
+shw.io
+
+// Flynn : https://flynn.io
+// Submitted by Jonathan Rudenberg <jonathan@flynn.io>
+flynnhosting.net
+
+// Forgerock : https://www.forgerock.com
+// Submitted by Roderick Parr <roderick.parr@forgerock.com>
+forgeblocks.com
+id.forgerock.io
+
+// Framer : https://www.framer.com
+// Submitted by Koen Rouwhorst <koenrh@framer.com>
+framer.app
+framercanvas.com
+
+// Frusky MEDIA&PR : https://www.frusky.de
+// Submitted by Victor Pupynin <hallo@frusky.de>
+*.frusky.de
+
+// RavPage : https://www.ravpage.co.il
+// Submitted by Roni Horowitz <roni@responder.co.il>
+ravpage.co.il
+
+// Frederik Braun https://frederik-braun.com
+// Submitted by Frederik Braun <fb@frederik-braun.com>
+0e.vc
+
+// Freebox : http://www.freebox.fr
+// Submitted by Romain Fliedel <rfliedel@freebox.fr>
+freebox-os.com
+freeboxos.com
+fbx-os.fr
+fbxos.fr
+freebox-os.fr
+freeboxos.fr
+
+// freedesktop.org : https://www.freedesktop.org
+// Submitted by Daniel Stone <daniel@fooishbar.org>
+freedesktop.org
+
+// freemyip.com : https://freemyip.com
+// Submitted by Cadence <contact@freemyip.com>
+freemyip.com
+
+// FunkFeuer - Verein zur Förderung freier Netze : https://www.funkfeuer.at
+// Submitted by Daniel A. Maierhofer <vorstand@funkfeuer.at>
+wien.funkfeuer.at
+
+// Futureweb OG : http://www.futureweb.at
+// Submitted by Andreas Schnederle-Wagner <schnederle@futureweb.at>
+*.futurecms.at
+*.ex.futurecms.at
+*.in.futurecms.at
+futurehosting.at
+futuremailing.at
+*.ex.ortsinfo.at
+*.kunden.ortsinfo.at
+*.statics.cloud
+
+// GDS : https://www.gov.uk/service-manual/technology/managing-domain-names
+// Submitted by Stephen Ford <hostmaster@digital.cabinet-office.gov.uk>
+independent-commission.uk
+independent-inquest.uk
+independent-inquiry.uk
+independent-panel.uk
+independent-review.uk
+public-inquiry.uk
+royal-commission.uk
+service.gov.uk
+
+// CDDO : https://www.gov.uk/guidance/get-an-api-domain-on-govuk
+// Submitted by Jamie Tanna <jamie.tanna@digital.cabinet-office.gov.uk>
+api.gov.uk
+
+// Gehirn Inc. : https://www.gehirn.co.jp/
+// Submitted by Kohei YOSHIDA <tech@gehirn.co.jp>
+gehirn.ne.jp
+usercontent.jp
+
+// Gentlent, Inc. : https://www.gentlent.com
+// Submitted by Tom Klein <tom@gentlent.com>
+gentapps.com
+gentlentapis.com
+lab.ms
+cdn-edges.net
+
+// Ghost Foundation : https://ghost.org
+// Submitted by Matt Hanley <security@ghost.org>
+ghost.io
+
+// GignoSystemJapan: http://gsj.bz
+// Submitted by GignoSystemJapan <kakutou-ec@gsj.bz>
+gsj.bz
+
+// GitHub, Inc.
+// Submitted by Patrick Toomey <security@github.com>
+githubusercontent.com
+githubpreview.dev
+github.io
+
+// GitLab, Inc.
+// Submitted by Alex Hanselka <alex@gitlab.com>
+gitlab.io
+
+// Gitplac.si - https://gitplac.si
+// Submitted by Aljaž Starc <me@aljaxus.eu>
+gitapp.si
+gitpage.si
+
+// Glitch, Inc : https://glitch.com
+// Submitted by Mads Hartmann <mads@glitch.com>
+glitch.me
+
+// Global NOG Alliance : https://nogalliance.org/
+// Submitted by Sander Steffann <sander@nogalliance.org>
+nog.community
+
+// Globe Hosting SRL : https://www.globehosting.com/
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+co.ro
+shop.ro
+
+// GMO Pepabo, Inc. : https://pepabo.com/
+// Submitted by Hosting Div <admin@pepabo.com>
+lolipop.io
+angry.jp
+babyblue.jp
+babymilk.jp
+backdrop.jp
+bambina.jp
+bitter.jp
+blush.jp
+boo.jp
+boy.jp
+boyfriend.jp
+but.jp
+candypop.jp
+capoo.jp
+catfood.jp
+cheap.jp
+chicappa.jp
+chillout.jp
+chips.jp
+chowder.jp
+chu.jp
+ciao.jp
+cocotte.jp
+coolblog.jp
+cranky.jp
+cutegirl.jp
+daa.jp
+deca.jp
+deci.jp
+digick.jp
+egoism.jp
+fakefur.jp
+fem.jp
+flier.jp
+floppy.jp
+fool.jp
+frenchkiss.jp
+girlfriend.jp
+girly.jp
+gloomy.jp
+gonna.jp
+greater.jp
+hacca.jp
+heavy.jp
+her.jp
+hiho.jp
+hippy.jp
+holy.jp
+hungry.jp
+icurus.jp
+itigo.jp
+jellybean.jp
+kikirara.jp
+kill.jp
+kilo.jp
+kuron.jp
+littlestar.jp
+lolitapunk.jp
+lomo.jp
+lovepop.jp
+lovesick.jp
+main.jp
+mods.jp
+mond.jp
+mongolian.jp
+moo.jp
+namaste.jp
+nikita.jp
+nobushi.jp
+noor.jp
+oops.jp
+parallel.jp
+parasite.jp
+pecori.jp
+peewee.jp
+penne.jp
+pepper.jp
+perma.jp
+pigboat.jp
+pinoko.jp
+punyu.jp
+pupu.jp
+pussycat.jp
+pya.jp
+raindrop.jp
+readymade.jp
+sadist.jp
+schoolbus.jp
+secret.jp
+staba.jp
+stripper.jp
+sub.jp
+sunnyday.jp
+thick.jp
+tonkotsu.jp
+under.jp
+upper.jp
+velvet.jp
+verse.jp
+versus.jp
+vivian.jp
+watson.jp
+weblike.jp
+whitesnow.jp
+zombie.jp
+heteml.net
+
+// GOV.UK Platform as a Service : https://www.cloud.service.gov.uk/
+// Submitted by Tom Whitwell <gov-uk-paas-support@digital.cabinet-office.gov.uk>
+cloudapps.digital
+london.cloudapps.digital
+
+// GOV.UK Pay : https://www.payments.service.gov.uk/
+// Submitted by Richard Baker <richard.baker@digital.cabinet-office.gov.uk>
+pymnt.uk
+
+// UKHomeOffice : https://www.gov.uk/government/organisations/home-office
+// Submitted by Jon Shanks <jon.shanks@digital.homeoffice.gov.uk>
+homeoffice.gov.uk
+
+// GlobeHosting, Inc.
+// Submitted by Zoltan Egresi <egresi@globehosting.com>
+ro.im
+
+// GoIP DNS Services : http://www.goip.de
+// Submitted by Christian Poulter <milchstrasse@goip.de>
+goip.de
+
+// Google, Inc.
+// Submitted by Eduardo Vela <evn@google.com>
+run.app
+a.run.app
+web.app
+*.0emm.com
+appspot.com
+*.r.appspot.com
+codespot.com
+googleapis.com
+googlecode.com
+pagespeedmobilizer.com
+publishproxy.com
+withgoogle.com
+withyoutube.com
+*.gateway.dev
+cloud.goog
+translate.goog
+*.usercontent.goog
+cloudfunctions.net
+blogspot.ae
+blogspot.al
+blogspot.am
+blogspot.ba
+blogspot.be
+blogspot.bg
+blogspot.bj
+blogspot.ca
+blogspot.cf
+blogspot.ch
+blogspot.cl
+blogspot.co.at
+blogspot.co.id
+blogspot.co.il
+blogspot.co.ke
+blogspot.co.nz
+blogspot.co.uk
+blogspot.co.za
+blogspot.com
+blogspot.com.ar
+blogspot.com.au
+blogspot.com.br
+blogspot.com.by
+blogspot.com.co
+blogspot.com.cy
+blogspot.com.ee
+blogspot.com.eg
+blogspot.com.es
+blogspot.com.mt
+blogspot.com.ng
+blogspot.com.tr
+blogspot.com.uy
+blogspot.cv
+blogspot.cz
+blogspot.de
+blogspot.dk
+blogspot.fi
+blogspot.fr
+blogspot.gr
+blogspot.hk
+blogspot.hr
+blogspot.hu
+blogspot.ie
+blogspot.in
+blogspot.is
+blogspot.it
+blogspot.jp
+blogspot.kr
+blogspot.li
+blogspot.lt
+blogspot.lu
+blogspot.md
+blogspot.mk
+blogspot.mr
+blogspot.mx
+blogspot.my
+blogspot.nl
+blogspot.no
+blogspot.pe
+blogspot.pt
+blogspot.qa
+blogspot.re
+blogspot.ro
+blogspot.rs
+blogspot.ru
+blogspot.se
+blogspot.sg
+blogspot.si
+blogspot.sk
+blogspot.sn
+blogspot.td
+blogspot.tw
+blogspot.ug
+blogspot.vn
+
+// Goupile : https://goupile.fr
+// Submitted by Niels Martignene <hello@goupile.fr>
+goupile.fr
+
+// Group 53, LLC : https://www.group53.com
+// Submitted by Tyler Todd <noc@nova53.net>
+awsmppl.com
+
+// GünstigBestellen : https://günstigbestellen.de
+// Submitted by Furkan Akkoc <info@hendelzon.de>
+günstigbestellen.de
+günstigliefern.de
+
+// Hakaran group: http://hakaran.cz
+// Submited by Arseniy Sokolov <security@hakaran.cz>
+fin.ci
+free.hr
+caa.li
+ua.rs
+conf.se
+
+// Handshake : https://handshake.org
+// Submitted by Mike Damm <md@md.vc>
+hs.zone
+hs.run
+
+// Hashbang : https://hashbang.sh
+hashbang.sh
+
+// Hasura : https://hasura.io
+// Submitted by Shahidh K Muhammed <shahidh@hasura.io>
+hasura.app
+hasura-app.io
+
+// Heilbronn University of Applied Sciences - Faculty Informatics (GitLab Pages): https://www.hs-heilbronn.de
+// Submitted by Richard Zowalla <mi-admin@hs-heilbronn.de>
+pages.it.hs-heilbronn.de
+
+// Hepforge : https://www.hepforge.org
+// Submitted by David Grellscheid <admin@hepforge.org>
+hepforge.org
+
+// Heroku : https://www.heroku.com/
+// Submitted by Tom Maher <tmaher@heroku.com>
+herokuapp.com
+herokussl.com
+
+// Hibernating Rhinos
+// Submitted by Oren Eini <oren@ravendb.net>
+ravendb.cloud
+myravendb.com
+ravendb.community
+ravendb.me
+development.run
+ravendb.run
+
+// home.pl S.A.: https://home.pl
+// Submited by Krzysztof Wolski <krzysztof.wolski@home.eu>
+homesklep.pl
+
+// Hong Kong Productivity Council: https://www.hkpc.org/
+// Submitted by SECaaS Team <summchan@hkpc.org>
+secaas.hk
+
+// Hoplix : https://www.hoplix.com
+// Submitted by Danilo De Franco<info@hoplix.shop>
+hoplix.shop
+
+
+// HOSTBIP REGISTRY : https://www.hostbip.com/
+// Submitted by Atanunu Igbunuroghene <publicsuffixlist@hostbip.com>
+orx.biz
+biz.gl
+col.ng
+firm.ng
+gen.ng
+ltd.ng
+ngo.ng
+edu.scot
+sch.so
+org.yt
+
+// HostyHosting (hostyhosting.com)
+hostyhosting.io
+
+// Häkkinen.fi
+// Submitted by Eero Häkkinen <Eero+psl@Häkkinen.fi>
+häkkinen.fi
+
+// Ici la Lune : http://www.icilalune.com/
+// Submitted by Simon Morvan <simon@icilalune.com>
+*.moonscale.io
+moonscale.net
+
+// iki.fi
+// Submitted by Hannu Aronsson <haa@iki.fi>
+iki.fi
+
+// Impertrix Solutions : <https://impertrixcdn.com>
+// Submitted by Zhixiang Zhao <csuite@impertrix.com>
+impertrixcdn.com
+impertrix.com
+
+// Incsub, LLC: https://incsub.com/
+// Submitted by Aaron Edwards <sysadmins@incsub.com>
+smushcdn.com
+wphostedmail.com
+wpmucdn.com
+tempurl.host
+wpmudev.host
+
+// Individual Network Berlin e.V. : https://www.in-berlin.de/
+// Submitted by Christian Seitz <chris@in-berlin.de>
+dyn-berlin.de
+in-berlin.de
+in-brb.de
+in-butter.de
+in-dsl.de
+in-dsl.net
+in-dsl.org
+in-vpn.de
+in-vpn.net
+in-vpn.org
+
+// info.at : http://www.info.at/
+biz.at
+info.at
+
+// info.cx : http://info.cx
+// Submitted by Jacob Slater <whois@igloo.to>
+info.cx
+
+// Interlegis : http://www.interlegis.leg.br
+// Submitted by Gabriel Ferreira <registrobr@interlegis.leg.br>
+ac.leg.br
+al.leg.br
+am.leg.br
+ap.leg.br
+ba.leg.br
+ce.leg.br
+df.leg.br
+es.leg.br
+go.leg.br
+ma.leg.br
+mg.leg.br
+ms.leg.br
+mt.leg.br
+pa.leg.br
+pb.leg.br
+pe.leg.br
+pi.leg.br
+pr.leg.br
+rj.leg.br
+rn.leg.br
+ro.leg.br
+rr.leg.br
+rs.leg.br
+sc.leg.br
+se.leg.br
+sp.leg.br
+to.leg.br
+
+// intermetrics GmbH : https://pixolino.com/
+// Submitted by Wolfgang Schwarz <admin@intermetrics.de>
+pixolino.com
+
+// Internet-Pro, LLP: https://netangels.ru/
+// Submited by Vasiliy Sheredeko <piphon@gmail.com>
+na4u.ru
+
+// iopsys software solutions AB : https://iopsys.eu/
+// Submitted by Roman Azarenko <roman.azarenko@iopsys.eu>
+iopsys.se
+
+// IPiFony Systems, Inc. : https://www.ipifony.com/
+// Submitted by Matthew Hardeman <mhardeman@ipifony.com>
+ipifony.net
+
+// IServ GmbH : https://iserv.eu
+// Submitted by Kim-Alexander Brodowski <info@iserv.eu>
+mein-iserv.de
+schulserver.de
+test-iserv.de
+iserv.dev
+
+// I-O DATA DEVICE, INC. : http://www.iodata.com/
+// Submitted by Yuji Minagawa <domains-admin@iodata.jp>
+iobb.net
+
+// Jelastic, Inc. : https://jelastic.com/
+// Submited by Ihor Kolodyuk <ik@jelastic.com>
+mel.cloudlets.com.au
+cloud.interhostsolutions.be
+users.scale.virtualcloud.com.br
+mycloud.by
+alp1.ae.flow.ch
+appengine.flow.ch
+es-1.axarnet.cloud
+diadem.cloud
+vip.jelastic.cloud
+jele.cloud
+it1.eur.aruba.jenv-aruba.cloud
+it1.jenv-aruba.cloud
+keliweb.cloud
+cs.keliweb.cloud
+oxa.cloud
+tn.oxa.cloud
+uk.oxa.cloud
+primetel.cloud
+uk.primetel.cloud
+ca.reclaim.cloud
+uk.reclaim.cloud
+us.reclaim.cloud
+ch.trendhosting.cloud
+de.trendhosting.cloud
+jele.club
+amscompute.com
+clicketcloud.com
+dopaas.com
+hidora.com
+paas.hosted-by-previder.com
+rag-cloud.hosteur.com
+rag-cloud-ch.hosteur.com
+jcloud.ik-server.com
+jcloud-ver-jpc.ik-server.com
+demo.jelastic.com
+kilatiron.com
+paas.massivegrid.com
+jed.wafaicloud.com
+lon.wafaicloud.com
+ryd.wafaicloud.com
+j.scaleforce.com.cy
+jelastic.dogado.eu
+fi.cloudplatform.fi
+demo.datacenter.fi
+paas.datacenter.fi
+jele.host
+mircloud.host
+paas.beebyte.io
+sekd1.beebyteapp.io
+jele.io
+cloud-fr1.unispace.io
+jc.neen.it
+cloud.jelastic.open.tim.it
+jcloud.kz
+upaas.kazteleport.kz
+cloudjiffy.net
+fra1-de.cloudjiffy.net
+west1-us.cloudjiffy.net
+jls-sto1.elastx.net
+jls-sto2.elastx.net
+jls-sto3.elastx.net
+faststacks.net
+fr-1.paas.massivegrid.net
+lon-1.paas.massivegrid.net
+lon-2.paas.massivegrid.net
+ny-1.paas.massivegrid.net
+ny-2.paas.massivegrid.net
+sg-1.paas.massivegrid.net
+jelastic.saveincloud.net
+nordeste-idc.saveincloud.net
+j.scaleforce.net
+jelastic.tsukaeru.net
+sdscloud.pl
+unicloud.pl
+mircloud.ru
+jelastic.regruhosting.ru
+enscaled.sg
+jele.site
+jelastic.team
+orangecloud.tn
+j.layershift.co.uk
+phx.enscaled.us
+mircloud.us
+
+// Jino : https://www.jino.ru
+// Submitted by Sergey Ulyashin <ulyashin@jino.ru>
+myjino.ru
+*.hosting.myjino.ru
+*.landing.myjino.ru
+*.spectrum.myjino.ru
+*.vps.myjino.ru
+
+// Jotelulu S.L. : https://jotelulu.com
+// Submitted by Daniel Fariña <ingenieria@jotelulu.com>
+jotelulu.cloud
+
+// Joyent : https://www.joyent.com/
+// Submitted by Brian Bennett <brian.bennett@joyent.com>
+*.triton.zone
+*.cns.joyent.com
+
+// JS.ORG : http://dns.js.org
+// Submitted by Stefan Keim <admin@js.org>
+js.org
+
+// KaasHosting : http://www.kaashosting.nl/
+// Submitted by Wouter Bakker <hostmaster@kaashosting.nl>
+kaas.gg
+khplay.nl
+
+// Kakao : https://www.kakaocorp.com/
+// Submitted by JaeYoong Lee <cec@kakaocorp.com>
+ktistory.com
+
+// Kapsi : https://kapsi.fi
+// Submitted by Tomi Juntunen <erani@kapsi.fi>
+kapsi.fi
+
+// Keyweb AG : https://www.keyweb.de
+// Submitted by Martin Dannehl <postmaster@keymachine.de>
+keymachine.de
+
+// KingHost : https://king.host
+// Submitted by Felipe Keller Braz <felipebraz@kinghost.com.br>
+kinghost.net
+uni5.net
+
+// KnightPoint Systems, LLC : http://www.knightpoint.com/
+// Submitted by Roy Keene <rkeene@knightpoint.com>
+knightpoint.systems
+
+// KoobinEvent, SL: https://www.koobin.com
+// Submitted by Iván Oliva <ivan.oliva@koobin.com>
+koobin.events
+
+// KUROKU LTD : https://kuroku.ltd/
+// Submitted by DisposaBoy <security@oya.to>
+oya.to
+
+// Katholieke Universiteit Leuven: https://www.kuleuven.be
+// Submitted by Abuse KU Leuven <abuse@kuleuven.be>
+kuleuven.cloud
+ezproxy.kuleuven.be
+
+// .KRD : http://nic.krd/data/krd/Registration%20Policy.pdf
+co.krd
+edu.krd
+
+// Krellian Ltd. : https://krellian.com
+// Submitted by Ben Francis <ben@krellian.com>
+krellian.net
+webthings.io
+
+// LCube - Professional hosting e.K. : https://www.lcube-webhosting.de
+// Submitted by Lars Laehn <info@lcube.de>
+git-repos.de
+lcube-server.de
+svn-repos.de
+
+// Leadpages : https://www.leadpages.net
+// Submitted by Greg Dallavalle <domains@leadpages.net>
+leadpages.co
+lpages.co
+lpusercontent.com
+
+// Lelux.fi : https://lelux.fi/
+// Submitted by Lelux Admin <publisuffix@lelux.site>
+lelux.site
+
+// Lifetime Hosting : https://Lifetime.Hosting/
+// Submitted by Mike Fillator <support@lifetime.hosting>
+co.business
+co.education
+co.events
+co.financial
+co.network
+co.place
+co.technology
+
+// Lightmaker Property Manager, Inc. : https://app.lmpm.com/
+// Submitted by Greg Holland <greg.holland@lmpm.com>
+app.lmpm.com
+
+// linkyard ldt: https://www.linkyard.ch/
+// Submitted by Mario Siegenthaler <mario.siegenthaler@linkyard.ch>
+linkyard.cloud
+linkyard-cloud.ch
+
+// Linode : https://linode.com
+// Submitted by <security@linode.com>
+members.linode.com
+*.nodebalancer.linode.com
+*.linodeobjects.com
+ip.linodeusercontent.com
+
+// LiquidNet Ltd : http://www.liquidnetlimited.com/
+// Submitted by Victor Velchev <admin@liquidnetlimited.com>
+we.bs
+
+// localzone.xyz
+// Submitted by Kenny Niehage <hello@yahe.sh>
+localzone.xyz
+
+// Log'in Line : https://www.loginline.com/
+// Submitted by Rémi Mach <remi.mach@loginline.com>
+loginline.app
+loginline.dev
+loginline.io
+loginline.services
+loginline.site
+
+// Lokalized : https://lokalized.nl
+// Submitted by Noah Taheij <noah@lokalized.nl>
+servers.run
+
+// Lõhmus Family, The
+// Submitted by Heiki Lõhmus <hostmaster at lohmus dot me>
+lohmus.me
+
+// LubMAN UMCS Sp. z o.o : https://lubman.pl/
+// Submitted by Ireneusz Maliszewski <ireneusz.maliszewski@lubman.pl>
+krasnik.pl
+leczna.pl
+lubartow.pl
+lublin.pl
+poniatowa.pl
+swidnik.pl
+
+// Lug.org.uk : https://lug.org.uk
+// Submitted by Jon Spriggs <admin@lug.org.uk>
+glug.org.uk
+lug.org.uk
+lugs.org.uk
+
+// Lukanet Ltd : https://lukanet.com
+// Submitted by Anton Avramov <register@lukanet.com>
+barsy.bg
+barsy.co.uk
+barsyonline.co.uk
+barsycenter.com
+barsyonline.com
+barsy.club
+barsy.de
+barsy.eu
+barsy.in
+barsy.info
+barsy.io
+barsy.me
+barsy.menu
+barsy.mobi
+barsy.net
+barsy.online
+barsy.org
+barsy.pro
+barsy.pub
+barsy.ro
+barsy.shop
+barsy.site
+barsy.support
+barsy.uk
+
+// Magento Commerce
+// Submitted by Damien Tournoud <dtournoud@magento.cloud>
+*.magentosite.cloud
+
+// May First - People Link : https://mayfirst.org/
+// Submitted by Jamie McClelland <info@mayfirst.org>
+mayfirst.info
+mayfirst.org
+
+// Mail.Ru Group : https://hb.cldmail.ru
+// Submitted by Ilya Zaretskiy <zaretskiy@corp.mail.ru>
+hb.cldmail.ru
+
+// Mail Transfer Platform : https://www.neupeer.com
+// Submitted by Li Hui <lihui@neupeer.com>
+cn.vu
+
+// Maze Play: https://www.mazeplay.com
+// Submitted by Adam Humpherys <adam@mws.dev>
+mazeplay.com
+
+// mcpe.me : https://mcpe.me
+// Submitted by Noa Heyl <hi@noa.dev>
+mcpe.me
+
+// McHost : https://mchost.ru
+// Submitted by Evgeniy Subbotin <e.subbotin@mchost.ru>
+mcdir.me
+mcdir.ru
+mcpre.ru
+vps.mcdir.ru
+
+// Mediatech : https://mediatech.by
+// Submitted by Evgeniy Kozhuhovskiy <ugenk@mediatech.by>
+mediatech.by
+mediatech.dev
+
+// Medicom Health : https://medicomhealth.com
+// Submitted by Michael Olson <molson@medicomhealth.com>
+hra.health
+
+// Memset hosting : https://www.memset.com
+// Submitted by Tom Whitwell <domains@memset.com>
+miniserver.com
+memset.net
+
+// MetaCentrum, CESNET z.s.p.o. : https://www.metacentrum.cz/en/
+// Submitted by Zdeněk Šustr <zdenek.sustr@cesnet.cz>
+*.cloud.metacentrum.cz
+custom.metacentrum.cz
+
+// MetaCentrum, CESNET z.s.p.o. : https://www.metacentrum.cz/en/
+// Submitted by Radim Janča <janca@cesnet.cz>
+flt.cloud.muni.cz
+usr.cloud.muni.cz
+
+// Meteor Development Group : https://www.meteor.com/hosting
+// Submitted by Pierre Carrier <pierre@meteor.com>
+meteorapp.com
+eu.meteorapp.com
+
+// Michau Enterprises Limited : http://www.co.pl/
+co.pl
+
+// Microsoft Corporation : http://microsoft.com
+// Submitted by Mitch Webster <miwebst@microsoft.com>
+*.azurecontainer.io
+azurewebsites.net
+azure-mobile.net
+cloudapp.net
+azurestaticapps.net
+centralus.azurestaticapps.net
+eastasia.azurestaticapps.net
+eastus2.azurestaticapps.net
+westeurope.azurestaticapps.net
+westus2.azurestaticapps.net
+
+// minion.systems : http://minion.systems
+// Submitted by Robert Böttinger <r@minion.systems>
+csx.cc
+
+// Mintere : https://mintere.com/
+// Submitted by Ben Aubin <security@mintere.com>
+mintere.site
+
+// MobileEducation, LLC : https://joinforte.com
+// Submitted by Grayson Martin <grayson.martin@mobileeducation.us>
+forte.id
+
+// Mozilla Corporation : https://mozilla.com
+// Submitted by Ben Francis <bfrancis@mozilla.com>
+mozilla-iot.org
+
+// Mozilla Foundation : https://mozilla.org/
+// Submitted by glob <glob@mozilla.com>
+bmoattachments.org
+
+// MSK-IX : https://www.msk-ix.ru/
+// Submitted by Khannanov Roman <r.khannanov@msk-ix.ru>
+net.ru
+org.ru
+pp.ru
+
+// Mythic Beasts : https://www.mythic-beasts.com
+// Submitted by Paul Cammish <kelduum@mythic-beasts.com>
+hostedpi.com
+customer.mythic-beasts.com
+caracal.mythic-beasts.com
+fentiger.mythic-beasts.com
+lynx.mythic-beasts.com
+ocelot.mythic-beasts.com
+oncilla.mythic-beasts.com
+onza.mythic-beasts.com
+sphinx.mythic-beasts.com
+vs.mythic-beasts.com
+x.mythic-beasts.com
+yali.mythic-beasts.com
+cust.retrosnub.co.uk
+
+// Nabu Casa : https://www.nabucasa.com
+// Submitted by Paulus Schoutsen <infra@nabucasa.com>
+ui.nabu.casa
+
+// Names.of.London : https://names.of.london/
+// Submitted by James Stevens <registry[at]names.of.london> or <publiclist[at]jrcs.net>
+pony.club
+of.fashion
+in.london
+of.london
+from.marketing
+with.marketing
+for.men
+repair.men
+and.mom
+for.mom
+for.one
+under.one
+for.sale
+that.win
+from.work
+to.work
+
+// Net at Work Gmbh : https://www.netatwork.de
+// Submitted by Jan Jaeschke <jan.jaeschke@netatwork.de>
+cloud.nospamproxy.com
+
+// Netlify : https://www.netlify.com
+// Submitted by Jessica Parsons <jessica@netlify.com>
+netlify.app
+
+// Neustar Inc.
+// Submitted by Trung Tran <Trung.Tran@neustar.biz>
+4u.com
+
+// ngrok : https://ngrok.com/
+// Submitted by Alan Shreve <alan@ngrok.com>
+ngrok.io
+
+// Nimbus Hosting Ltd. : https://www.nimbushosting.co.uk/
+// Submitted by Nicholas Ford <nick@nimbushosting.co.uk>
+nh-serv.co.uk
+
+// NFSN, Inc. : https://www.NearlyFreeSpeech.NET/
+// Submitted by Jeff Wheelhouse <support@nearlyfreespeech.net>
+nfshost.com
+
+// Noop : https://noop.app
+// Submitted by Nathaniel Schweinberg <noop@rearc.io>
+*.developer.app
+noop.app
+
+// Northflank Ltd. : https://northflank.com/
+// Submitted by Marco Suter <marco@northflank.com>
+*.northflank.app
+*.build.run
+*.code.run
+*.database.run
+*.migration.run
+
+// Noticeable : https://noticeable.io
+// Submitted by Laurent Pellegrino <security@noticeable.io>
+noticeable.news
+
+// Now-DNS : https://now-dns.com
+// Submitted by Steve Russell <steve@now-dns.com>
+dnsking.ch
+mypi.co
+n4t.co
+001www.com
+ddnslive.com
+myiphost.com
+forumz.info
+16-b.it
+32-b.it
+64-b.it
+soundcast.me
+tcp4.me
+dnsup.net
+hicam.net
+now-dns.net
+ownip.net
+vpndns.net
+dynserv.org
+now-dns.org
+x443.pw
+now-dns.top
+ntdll.top
+freeddns.us
+crafting.xyz
+zapto.xyz
+
+// nsupdate.info : https://www.nsupdate.info/
+// Submitted by Thomas Waldmann <info@nsupdate.info>
+nsupdate.info
+nerdpol.ovh
+
+// No-IP.com : https://noip.com/
+// Submitted by Deven Reza <publicsuffixlist@noip.com>
+blogsyte.com
+brasilia.me
+cable-modem.org
+ciscofreak.com
+collegefan.org
+couchpotatofries.org
+damnserver.com
+ddns.me
+ditchyourip.com
+dnsfor.me
+dnsiskinky.com
+dvrcam.info
+dynns.com
+eating-organic.net
+fantasyleague.cc
+geekgalaxy.com
+golffan.us
+health-carereform.com
+homesecuritymac.com
+homesecuritypc.com
+hopto.me
+ilovecollege.info
+loginto.me
+mlbfan.org
+mmafan.biz
+myactivedirectory.com
+mydissent.net
+myeffect.net
+mymediapc.net
+mypsx.net
+mysecuritycamera.com
+mysecuritycamera.net
+mysecuritycamera.org
+net-freaks.com
+nflfan.org
+nhlfan.net
+no-ip.ca
+no-ip.co.uk
+no-ip.net
+noip.us
+onthewifi.com
+pgafan.net
+point2this.com
+pointto.us
+privatizehealthinsurance.net
+quicksytes.com
+read-books.org
+securitytactics.com
+serveexchange.com
+servehumour.com
+servep2p.com
+servesarcasm.com
+stufftoread.com
+ufcfan.org
+unusualperson.com
+workisboring.com
+3utilities.com
+bounceme.net
+ddns.net
+ddnsking.com
+gotdns.ch
+hopto.org
+myftp.biz
+myftp.org
+myvnc.com
+no-ip.biz
+no-ip.info
+no-ip.org
+noip.me
+redirectme.net
+servebeer.com
+serveblog.net
+servecounterstrike.com
+serveftp.com
+servegame.com
+servehalflife.com
+servehttp.com
+serveirc.com
+serveminecraft.net
+servemp3.com
+servepics.com
+servequake.com
+sytes.net
+webhop.me
+zapto.org
+
+// NodeArt : https://nodeart.io
+// Submitted by Konstantin Nosov <Nosov@nodeart.io>
+stage.nodeart.io
+
+// Nucleos Inc. : https://nucleos.com
+// Submitted by Piotr Zduniak <piotr@nucleos.com>
+pcloud.host
+
+// NYC.mn : http://www.information.nyc.mn
+// Submitted by Matthew Brown <mattbrown@nyc.mn>
+nyc.mn
+
+// Observable, Inc. : https://observablehq.com
+// Submitted by Mike Bostock <dns@observablehq.com>
+static.observableusercontent.com
+
+// Octopodal Solutions, LLC. : https://ulterius.io/
+// Submitted by Andrew Sampson <andrew@ulterius.io>
+cya.gg
+
+// OMG.LOL : <https://omg.lol>
+// Submitted by Adam Newbold <adam@omg.lol>
+omg.lol
+
+// Omnibond Systems, LLC. : https://www.omnibond.com
+// Submitted by Cole Estep <cole@omnibond.com>
+cloudycluster.net
+
+// OmniWe Limited: https://omniwe.com
+// Submitted by Vicary Archangel <vicary@omniwe.com>
+omniwe.site
+
+// One.com: https://www.one.com/
+// Submitted by Jacob Bunk Nielsen <jbn@one.com>
+service.one
+
+// One Fold Media : http://www.onefoldmedia.com/
+// Submitted by Eddie Jones <eddie@onefoldmedia.com>
+nid.io
+
+// Open Social : https://www.getopensocial.com/
+// Submitted by Alexander Varwijk <security@getopensocial.com>
+opensocial.site
+
+// OpenCraft GmbH : http://opencraft.com/
+// Submitted by Sven Marnach <sven@opencraft.com>
+opencraft.hosting
+
+// OpenResearch GmbH: https://openresearch.com/
+// Submitted by Philipp Schmid <ops@openresearch.com>
+orsites.com
+
+// Opera Software, A.S.A.
+// Submitted by Yngve Pettersen <yngve@opera.com>
+operaunite.com
+
+// Orange : https://www.orange.com
+// Submitted by Alexandre Linte <alexandre.linte@orange.com>
+tech.orange
+
+// Oursky Limited : https://authgear.com/, https://skygear.io/
+// Submited by Authgear Team <hello@authgear.com>, Skygear Developer <hello@skygear.io>
+authgear-staging.com
+authgearapps.com
+skygearapp.com
+
+// OutSystems
+// Submitted by Duarte Santos <domain-admin@outsystemscloud.com>
+outsystemscloud.com
+
+// OVHcloud: https://ovhcloud.com
+// Submitted by Vincent Cassé <vincent.casse@ovhcloud.com>
+*.webpaas.ovh.net
+*.hosting.ovh.net
+
+// OwnProvider GmbH: http://www.ownprovider.com
+// Submitted by Jan Moennich <jan.moennich@ownprovider.com>
+ownprovider.com
+own.pm
+
+// OwO : https://whats-th.is/
+// Submitted by Dean Sheather <dean@deansheather.com>
+*.owo.codes
+
+// OX : http://www.ox.rs
+// Submitted by Adam Grand <webmaster@mail.ox.rs>
+ox.rs
+
+// oy.lc
+// Submitted by Charly Coste <changaco@changaco.oy.lc>
+oy.lc
+
+// Pagefog : https://pagefog.com/
+// Submitted by Derek Myers <derek@pagefog.com>
+pgfog.com
+
+// Pagefront : https://www.pagefronthq.com/
+// Submitted by Jason Kriss <jason@pagefronthq.com>
+pagefrontapp.com
+
+// PageXL : https://pagexl.com
+// Submitted by Yann Guichard <yann@pagexl.com>
+pagexl.com
+
+// Paywhirl, Inc : https://paywhirl.com/
+// Submitted by Daniel Netzer <dan@paywhirl.com>
+*.paywhirl.com
+
+// pcarrier.ca Software Inc: https://pcarrier.ca/
+// Submitted by Pierre Carrier <pc@rrier.ca>
+bar0.net
+bar1.net
+bar2.net
+rdv.to
+
+// .pl domains (grandfathered)
+art.pl
+gliwice.pl
+krakow.pl
+poznan.pl
+wroc.pl
+zakopane.pl
+
+// Pantheon Systems, Inc. : https://pantheon.io/
+// Submitted by Gary Dylina <gary@pantheon.io>
+pantheonsite.io
+gotpantheon.com
+
+// Peplink | Pepwave : http://peplink.com/
+// Submitted by Steve Leung <steveleung@peplink.com>
+mypep.link
+
+// Perspecta : https://perspecta.com/
+// Submitted by Kenneth Van Alstyne <kvanalstyne@perspecta.com>
+perspecta.cloud
+
+// PE Ulyanov Kirill Sergeevich : https://airy.host
+// Submitted by Kirill Ulyanov <k.ulyanov@airy.host>
+lk3.ru
+
+// Planet-Work : https://www.planet-work.com/
+// Submitted by Frédéric VANNIÈRE <f.vanniere@planet-work.com>
+on-web.fr
+
+// Platform.sh : https://platform.sh
+// Submitted by Nikola Kotur <nikola@platform.sh>
+bc.platform.sh
+ent.platform.sh
+eu.platform.sh
+us.platform.sh
+*.platformsh.site
+*.tst.site
+
+// Platter: https://platter.dev
+// Submitted by Patrick Flor <patrick@platter.dev>
+platter-app.com
+platter-app.dev
+platterp.us
+
+// Plesk : https://www.plesk.com/
+// Submitted by Anton Akhtyamov <program-managers@plesk.com>
+pdns.page
+plesk.page
+pleskns.com
+
+// Port53 : https://port53.io/
+// Submitted by Maximilian Schieder <maxi@zeug.co>
+dyn53.io
+
+// Porter : https://porter.run/
+// Submitted by Rudraksh MK <rudi@porter.run>
+onporter.run
+
+// Positive Codes Technology Company : http://co.bn/faq.html
+// Submitted by Zulfais <pc@co.bn>
+co.bn
+
+// Postman, Inc : https://postman.com
+// Submitted by Rahul Dhawan <security@postman.com>
+postman-echo.com
+pstmn.io
+mock.pstmn.io
+httpbin.org
+
+//prequalifyme.today : https://prequalifyme.today
+//Submitted by DeepakTiwari deepak@ivylead.io
+prequalifyme.today
+
+// prgmr.com : https://prgmr.com/
+// Submitted by Sarah Newman <owner@prgmr.com>
+xen.prgmr.com
+
+// priv.at : http://www.nic.priv.at/
+// Submitted by registry <lendl@nic.at>
+priv.at
+
+// privacytools.io : https://www.privacytools.io/
+// Submitted by Jonah Aragon <jonah@privacytools.io>
+prvcy.page
+
+// Protocol Labs : https://protocol.ai/
+// Submitted by Michael Burns <noc@protocol.ai>
+*.dweb.link
+
+// Protonet GmbH : http://protonet.io
+// Submitted by Martin Meier <admin@protonet.io>
+protonet.io
+
+// Publication Presse Communication SARL : https://ppcom.fr
+// Submitted by Yaacov Akiba Slama <admin@chirurgiens-dentistes-en-france.fr>
+chirurgiens-dentistes-en-france.fr
+byen.site
+
+// pubtls.org: https://www.pubtls.org
+// Submitted by Kor Nielsen <kor@pubtls.org>
+pubtls.org
+
+// PythonAnywhere LLP: https://www.pythonanywhere.com
+// Submitted by Giles Thomas <giles@pythonanywhere.com>
+pythonanywhere.com
+eu.pythonanywhere.com
+
+// QOTO, Org.
+// Submitted by Jeffrey Phillips Freeman <jeffrey.freeman@qoto.org>
+qoto.io
+
+// Qualifio : https://qualifio.com/
+// Submitted by Xavier De Cock <xdecock@gmail.com>
+qualifioapp.com
+
+// QuickBackend: https://www.quickbackend.com
+// Submitted by Dani Biro <dani@pymet.com>
+qbuser.com
+
+// Rad Web Hosting: https://radwebhosting.com
+// Submitted by Scott Claeys <s.claeys@radwebhosting.com>
+cloudsite.builders
+
+// Redgate Software: https://red-gate.com
+// Submitted by Andrew Farries <andrew.farries@red-gate.com>
+instances.spawn.cc
+
+// Redstar Consultants : https://www.redstarconsultants.com/
+// Submitted by Jons Slemmer <jons@redstarconsultants.com>
+instantcloud.cn
+
+// Russian Academy of Sciences
+// Submitted by Tech Support <support@rasnet.ru>
+ras.ru
+
+// QA2
+// Submitted by Daniel Dent (https://www.danieldent.com/)
+qa2.com
+
+// QCX
+// Submitted by Cassandra Beelen <cassandra@beelen.one>
+qcx.io
+*.sys.qcx.io
+
+// QNAP System Inc : https://www.qnap.com
+// Submitted by Nick Chang <nickchang@qnap.com>
+dev-myqnapcloud.com
+alpha-myqnapcloud.com
+myqnapcloud.com
+
+// Quip : https://quip.com
+// Submitted by Patrick Linehan <plinehan@quip.com>
+*.quipelements.com
+
+// Qutheory LLC : http://qutheory.io
+// Submitted by Jonas Schwartz <jonas@qutheory.io>
+vapor.cloud
+vaporcloud.io
+
+// Rackmaze LLC : https://www.rackmaze.com
+// Submitted by Kirill Pertsev <kika@rackmaze.com>
+rackmaze.com
+rackmaze.net
+
+// Rakuten Games, Inc : https://dev.viberplay.io
+// Submitted by Joshua Zhang <public-suffix@rgames.jp>
+g.vbrplsbx.io
+
+// Rancher Labs, Inc : https://rancher.com
+// Submitted by Vincent Fiduccia <domains@rancher.com>
+*.on-k3s.io
+*.on-rancher.cloud
+*.on-rio.io
+
+// Read The Docs, Inc : https://www.readthedocs.org
+// Submitted by David Fischer <team@readthedocs.org>
+readthedocs.io
+
+// Red Hat, Inc. OpenShift : https://openshift.redhat.com/
+// Submitted by Tim Kramer <tkramer@rhcloud.com>
+rhcloud.com
+
+// Render : https://render.com
+// Submitted by Anurag Goel <dev@render.com>
+app.render.com
+onrender.com
+
+// Repl.it : https://repl.it
+// Submitted by Mason Clayton <mason@repl.it>
+repl.co
+id.repl.co
+repl.run
+
+// Resin.io : https://resin.io
+// Submitted by Tim Perry <tim@resin.io>
+resindevice.io
+devices.resinstaging.io
+
+// RethinkDB : https://www.rethinkdb.com/
+// Submitted by Chris Kastorff <info@rethinkdb.com>
+hzc.io
+
+// Revitalised Limited : http://www.revitalised.co.uk
+// Submitted by Jack Price <jack@revitalised.co.uk>
+wellbeingzone.eu
+wellbeingzone.co.uk
+
+// Rico Developments Limited : https://adimo.co
+// Submitted by Colin Brown <hello@adimo.co>
+adimo.co.uk
+
+// Riseup Networks : https://riseup.net
+// Submitted by Micah Anderson <micah@riseup.net>
+itcouldbewor.se
+
+// Rochester Institute of Technology : http://www.rit.edu/
+// Submitted by Jennifer Herting <jchits@rit.edu>
+git-pages.rit.edu
+
+// Rocky Enterprise Software Foundation : https://resf.org
+// Submitted by Neil Hanlon <neil@resf.org>
+rocky.page
+
+// Rusnames Limited: http://rusnames.ru/
+// Submitted by Sergey Zotov <admin@rusnames.ru>
+биз.рус
+ком.рус
+крым.рус
+мир.рус
+мск.рус
+орг.рус
+самара.рус
+сочи.рус
+спб.рус
+я.рус
+
+// Sandstorm Development Group, Inc. : https://sandcats.io/
+// Submitted by Asheesh Laroia <asheesh@sandstorm.io>
+sandcats.io
+
+// SBE network solutions GmbH : https://www.sbe.de/
+// Submitted by Norman Meilick <nm@sbe.de>
+logoip.de
+logoip.com
+
+// schokokeks.org GbR : https://schokokeks.org/
+// Submitted by Hanno Böck <hanno@schokokeks.org>
+schokokeks.net
+
+// Scottish Government: https://www.gov.scot
+// Submitted by Martin Ellis <martin.ellis@gov.scot>
+gov.scot
+service.gov.scot
+
+// Scry Security : http://www.scrysec.com
+// Submitted by Shante Adam <shante@skyhat.io>
+scrysec.com
+
+// Securepoint GmbH : https://www.securepoint.de
+// Submitted by Erik Anders <erik.anders@securepoint.de>
+firewall-gateway.com
+firewall-gateway.de
+my-gateway.de
+my-router.de
+spdns.de
+spdns.eu
+firewall-gateway.net
+my-firewall.org
+myfirewall.org
+spdns.org
+
+// Seidat : https://www.seidat.com
+// Submitted by Artem Kondratev <accounts@seidat.com>
+seidat.net
+
+// Sellfy : https://sellfy.com
+// Submitted by Yuriy Romadin <contact@sellfy.com>
+sellfy.store
+
+// Senseering GmbH : https://www.senseering.de
+// Submitted by Felix Mönckemeyer <f.moenckemeyer@senseering.de>
+senseering.net
+
+// Sendmsg: https://www.sendmsg.co.il
+// Submitted by Assaf Stern <domains@comstar.co.il>
+minisite.ms
+
+// Service Magnet : https://myservicemagnet.com
+// Submitted by Dave Sanders <dave@myservicemagnet.com>
+magnet.page
+
+// Service Online LLC : http://drs.ua/
+// Submitted by Serhii Bulakh <support@drs.ua>
+biz.ua
+co.ua
+pp.ua
+
+// Shift Crypto AG : https://shiftcrypto.ch
+// Submitted by alex <alex@shiftcrypto.ch>
+shiftcrypto.dev
+shiftcrypto.io
+
+// ShiftEdit : https://shiftedit.net/
+// Submitted by Adam Jimenez <adam@shiftcreate.com>
+shiftedit.io
+
+// Shopblocks : http://www.shopblocks.com/
+// Submitted by Alex Bowers <alex@shopblocks.com>
+myshopblocks.com
+
+// Shopify : https://www.shopify.com
+// Submitted by Alex Richter <alex.richter@shopify.com>
+myshopify.com
+
+// Shopit : https://www.shopitcommerce.com/
+// Submitted by Craig McMahon <craig@shopitcommerce.com>
+shopitsite.com
+
+// shopware AG : https://shopware.com
+// Submitted by Jens Küper <cloud@shopware.com>
+shopware.store
+
+// Siemens Mobility GmbH
+// Submitted by Oliver Graebner <security@mo-siemens.io>
+mo-siemens.io
+
+// SinaAppEngine : http://sae.sina.com.cn/
+// Submitted by SinaAppEngine <saesupport@sinacloud.com>
+1kapp.com
+appchizi.com
+applinzi.com
+sinaapp.com
+vipsinaapp.com
+
+// Siteleaf : https://www.siteleaf.com/
+// Submitted by Skylar Challand <support@siteleaf.com>
+siteleaf.net
+
+// Skyhat : http://www.skyhat.io
+// Submitted by Shante Adam <shante@skyhat.io>
+bounty-full.com
+alpha.bounty-full.com
+beta.bounty-full.com
+
+// Small Technology Foundation : https://small-tech.org
+// Submitted by Aral Balkan <aral@small-tech.org>
+small-web.org
+
+// Smoove.io : https://www.smoove.io/
+// Submitted by Dan Kozak <dan@smoove.io>
+vp4.me
+
+// Snowplow Analytics : https://snowplowanalytics.com/
+// Submitted by Ian Streeter <ian@snowplowanalytics.com>
+try-snowplow.com
+
+// SourceHut : https://sourcehut.org
+// Submitted by Drew DeVault <sir@cmpwn.com>
+srht.site
+
+// Stackhero : https://www.stackhero.io
+// Submitted by Adrien Gillon <adrien+public-suffix-list@stackhero.io>
+stackhero-network.com
+
+// Staclar : https://staclar.com
+// Submitted by Matthias Merkel <matthias.merkel@staclar.com>
+novecore.site
+
+// staticland : https://static.land
+// Submitted by Seth Vincent <sethvincent@gmail.com>
+static.land
+dev.static.land
+sites.static.land
+
+// Storebase : https://www.storebase.io
+// Submitted by Tony Schirmer <tony@storebase.io>
+storebase.store
+
+// Strategic System Consulting (eApps Hosting): https://www.eapps.com/
+// Submitted by Alex Oancea <aoancea@cloudscale365.com>
+vps-host.net
+atl.jelastic.vps-host.net
+njs.jelastic.vps-host.net
+ric.jelastic.vps-host.net
+
+// Sony Interactive Entertainment LLC : https://sie.com/
+// Submitted by David Coles <david.coles@sony.com>
+playstation-cloud.com
+
+// SourceLair PC : https://www.sourcelair.com
+// Submitted by Antonis Kalipetis <akalipetis@sourcelair.com>
+apps.lair.io
+*.stolos.io
+
+// SpaceKit : https://www.spacekit.io/
+// Submitted by Reza Akhavan <spacekit.io@gmail.com>
+spacekit.io
+
+// SpeedPartner GmbH: https://www.speedpartner.de/
+// Submitted by Stefan Neufeind <info@speedpartner.de>
+customer.speedpartner.de
+
+// Spreadshop (sprd.net AG) : https://www.spreadshop.com/
+// Submitted by Martin Breest <security@spreadshop.com>
+myspreadshop.at
+myspreadshop.com.au
+myspreadshop.be
+myspreadshop.ca
+myspreadshop.ch
+myspreadshop.com
+myspreadshop.de
+myspreadshop.dk
+myspreadshop.es
+myspreadshop.fi
+myspreadshop.fr
+myspreadshop.ie
+myspreadshop.it
+myspreadshop.net
+myspreadshop.nl
+myspreadshop.no
+myspreadshop.pl
+myspreadshop.se
+myspreadshop.co.uk
+
+// Standard Library : https://stdlib.com
+// Submitted by Jacob Lee <jacob@stdlib.com>
+api.stdlib.com
+
+// Storj Labs Inc. : https://storj.io/
+// Submitted by Philip Hutchins <hostmaster@storj.io>
+storj.farm
+
+// Studenten Net Twente : http://www.snt.utwente.nl/
+// Submitted by Silke Hofstra <syscom@snt.utwente.nl>
+utwente.io
+
+// Student-Run Computing Facility : https://www.srcf.net/
+// Submitted by Edwin Balani <sysadmins@srcf.net>
+soc.srcf.net
+user.srcf.net
+
+// Sub 6 Limited: http://www.sub6.com
+// Submitted by Dan Miller <dm@sub6.com>
+temp-dns.com
+
+// Supabase : https://supabase.io
+// Submitted by Inian Parameshwaran <security@supabase.io>
+supabase.co
+supabase.in
+supabase.net
+su.paba.se
+
+// Symfony, SAS : https://symfony.com/
+// Submitted by Fabien Potencier <fabien@symfony.com>
+*.s5y.io
+*.sensiosite.cloud
+
+// Syncloud : https://syncloud.org
+// Submitted by Boris Rybalkin <syncloud@syncloud.it>
+syncloud.it
+
+// Synology, Inc. : https://www.synology.com/
+// Submitted by Rony Weng <ronyweng@synology.com>
+diskstation.me
+dscloud.biz
+dscloud.me
+dscloud.mobi
+dsmynas.com
+dsmynas.net
+dsmynas.org
+familyds.com
+familyds.net
+familyds.org
+i234.me
+myds.me
+synology.me
+vpnplus.to
+direct.quickconnect.to
+
+// Tabit Technologies Ltd. : https://tabit.cloud/
+// Submitted by Oren Agiv <oren@tabit.cloud>
+tabitorder.co.il
+
+// TAIFUN Software AG : http://taifun-software.de
+// Submitted by Bjoern Henke <dev-server@taifun-software.de>
+taifun-dns.de
+
+// Tailscale Inc. : https://www.tailscale.com
+// Submitted by David Anderson <danderson@tailscale.com>
+beta.tailscale.net
+ts.net
+
+// TASK geographical domains (www.task.gda.pl/uslugi/dns)
+gda.pl
+gdansk.pl
+gdynia.pl
+med.pl
+sopot.pl
+
+// team.blue https://team.blue
+// Submitted by Cedric Dubois <cedric.dubois@team.blue>
+site.tb-hosting.com
+
+// Teckids e.V. : https://www.teckids.org
+// Submitted by Dominik George <dominik.george@teckids.org>
+edugit.io
+s3.teckids.org
+
+// Telebit : https://telebit.cloud
+// Submitted by AJ ONeal <aj@telebit.cloud>
+telebit.app
+telebit.io
+*.telebit.xyz
+
+// The Gwiddle Foundation : https://gwiddlefoundation.org.uk
+// Submitted by Joshua Bayfield <joshua.bayfield@gwiddlefoundation.org.uk>
+gwiddle.co.uk
+
+// Thingdust AG : https://thingdust.com/
+// Submitted by Adrian Imboden <adi@thingdust.com>
+*.firenet.ch
+*.svc.firenet.ch
+reservd.com
+thingdustdata.com
+cust.dev.thingdust.io
+cust.disrec.thingdust.io
+cust.prod.thingdust.io
+cust.testing.thingdust.io
+reservd.dev.thingdust.io
+reservd.disrec.thingdust.io
+reservd.testing.thingdust.io
+
+// ticket i/O GmbH : https://ticket.io
+// Submitted by Christian Franke <it@ticket.io>
+tickets.io
+
+// Tlon.io : https://tlon.io
+// Submitted by Mark Staarink <mark@tlon.io>
+arvo.network
+azimuth.network
+tlon.network
+
+// Tor Project, Inc. : https://torproject.org
+// Submitted by Antoine Beaupré <anarcat@torproject.org
+torproject.net
+pages.torproject.net
+
+// TownNews.com : http://www.townnews.com
+// Submitted by Dustin Ward <dward@townnews.com>
+bloxcms.com
+townnews-staging.com
+
+// TradableBits: https://tradablebits.com
+// Submitted by Dmitry Khrisanov dmitry@tradablebits.com
+tbits.me
+
+// TrafficPlex GmbH : https://www.trafficplex.de/
+// Submitted by Phillipp Röll <phillipp.roell@trafficplex.de>
+12hp.at
+2ix.at
+4lima.at
+lima-city.at
+12hp.ch
+2ix.ch
+4lima.ch
+lima-city.ch
+trafficplex.cloud
+de.cool
+12hp.de
+2ix.de
+4lima.de
+lima-city.de
+1337.pictures
+clan.rip
+lima-city.rocks
+webspace.rocks
+lima.zone
+
+// TransIP : https://www.transip.nl
+// Submitted by Rory Breuk <rbreuk@transip.nl>
+*.transurl.be
+*.transurl.eu
+*.transurl.nl
+
+// TransIP: https://www.transip.nl
+// Submitted by Cedric Dubois <cedric.dubois@team.blue>
+site.transip.me
+
+// TuxFamily : http://tuxfamily.org
+// Submitted by TuxFamily administrators <adm@staff.tuxfamily.org>
+tuxfamily.org
+
+// TwoDNS : https://www.twodns.de/
+// Submitted by TwoDNS-Support <support@two-dns.de>
+dd-dns.de
+diskstation.eu
+diskstation.org
+dray-dns.de
+draydns.de
+dyn-vpn.de
+dynvpn.de
+mein-vigor.de
+my-vigor.de
+my-wan.de
+syno-ds.de
+synology-diskstation.de
+synology-ds.de
+
+// Typeform : https://www.typeform.com
+// Submitted by Sergi Ferriz <sergi.ferriz@typeform.com>
+pro.typeform.com
+
+// Uberspace : https://uberspace.de
+// Submitted by Moritz Werner <mwerner@jonaspasche.com>
+uber.space
+*.uberspace.de
+
+// UDR Limited : http://www.udr.hk.com
+// Submitted by registry <hostmaster@udr.hk.com>
+hk.com
+hk.org
+ltd.hk
+inc.hk
+
+// United Gameserver GmbH : https://united-gameserver.de
+// Submitted by Stefan Schwarz <sysadm@united-gameserver.de>
+virtualuser.de
+virtual-user.de
+
+// Upli : https://upli.io
+// Submitted by Lenny Bakkalian <lenny.bakkalian@gmail.com>
+upli.io
+
+// urown.net : https://urown.net
+// Submitted by Hostmaster <hostmaster@urown.net>
+urown.cloud
+dnsupdate.info
+
+// .US
+// Submitted by Ed Moore <Ed.Moore@lib.de.us>
+lib.de.us
+
+// VeryPositive SIA : http://very.lv
+// Submitted by Danko Aleksejevs <danko@very.lv>
+2038.io
+
+// Vercel, Inc : https://vercel.com/
+// Submitted by Connor Davis <security@vercel.com>
+vercel.app
+vercel.dev
+now.sh
+
+// Viprinet Europe GmbH : http://www.viprinet.com
+// Submitted by Simon Kissel <hostmaster@viprinet.com>
+router.management
+
+// Virtual-Info : https://www.virtual-info.info/
+// Submitted by Adnan RIHAN <hostmaster@v-info.info>
+v-info.info
+
+// Voorloper.com: https://voorloper.com
+// Submitted by Nathan van Bakel <info@voorloper.com>
+voorloper.cloud
+
+// Voxel.sh DNS : https://voxel.sh/dns/
+// Submitted by Mia Rehlinger <dns@voxel.sh>
+neko.am
+nyaa.am
+be.ax
+cat.ax
+es.ax
+eu.ax
+gg.ax
+mc.ax
+us.ax
+xy.ax
+nl.ci
+xx.gl
+app.gp
+blog.gt
+de.gt
+to.gt
+be.gy
+cc.hn
+blog.kg
+io.kg
+jp.kg
+tv.kg
+uk.kg
+us.kg
+de.ls
+at.md
+de.md
+jp.md
+to.md
+indie.porn
+vxl.sh
+ch.tc
+me.tc
+we.tc
+nyan.to
+at.vg
+blog.vu
+dev.vu
+me.vu
+
+// V.UA Domain Administrator : https://domain.v.ua/
+// Submitted by Serhii Rostilo <sergey@rostilo.kiev.ua>
+v.ua
+
+// Vultr Objects : https://www.vultr.com/products/object-storage/
+// Submitted by Niels Maumenee <storage@vultr.com>
+*.vultrobjects.com
+
+// Waffle Computer Inc., Ltd. : https://docs.waffleinfo.com
+// Submitted by Masayuki Note <masa@blade.wafflecell.com>
+wafflecell.com
+
+// WebHare bv: https://www.webhare.com/
+// Submitted by Arnold Hendriks <info@webhare.com>
+*.webhare.dev
+
+// WebHotelier Technologies Ltd: https://www.webhotelier.net/
+// Submitted by Apostolos Tsakpinis <apostolos.tsakpinis@gmail.com>
+reserve-online.net
+reserve-online.com
+bookonline.app
+hotelwithflight.com
+
+// WeDeploy by Liferay, Inc. : https://www.wedeploy.com
+// Submitted by Henrique Vicente <security@wedeploy.com>
+wedeploy.io
+wedeploy.me
+wedeploy.sh
+
+// Western Digital Technologies, Inc : https://www.wdc.com
+// Submitted by Jung Jin <jungseok.jin@wdc.com>
+remotewd.com
+
+// WIARD Enterprises : https://wiardweb.com
+// Submitted by Kidd Hustle <kiddhustle@wiardweb.com>
+pages.wiardweb.com
+
+// Wikimedia Labs : https://wikitech.wikimedia.org
+// Submitted by Arturo Borrero Gonzalez <aborrero@wikimedia.org>
+wmflabs.org
+toolforge.org
+wmcloud.org
+
+// WISP : https://wisp.gg
+// Submitted by Stepan Fedotov <stepan@wisp.gg>
+panel.gg
+daemon.panel.gg
+
+// Wizard Zines : https://wizardzines.com
+// Submitted by Julia Evans <julia@wizardzines.com>
+messwithdns.com
+
+// WoltLab GmbH : https://www.woltlab.com
+// Submitted by Tim Düsterhus <security@woltlab.cloud>
+woltlab-demo.com
+myforum.community
+community-pro.de
+diskussionsbereich.de
+community-pro.net
+meinforum.net
+
+// Woods Valldata : https://www.woodsvalldata.co.uk/
+// Submitted by Chris Whittle <chris.whittle@woodsvalldata.co.uk>
+affinitylottery.org.uk
+raffleentry.org.uk
+weeklylottery.org.uk
+
+// WP Engine : https://wpengine.com/
+// Submitted by Michael Smith <michael.smith@wpengine.com>
+// Submitted by Brandon DuRette <brandon.durette@wpengine.com>
+wpenginepowered.com
+js.wpenginepowered.com
+
+// Wix.com, Inc. : https://www.wix.com
+// Submitted by Shahar Talmi <shahar@wix.com>
+wixsite.com
+editorx.io
+
+// XenonCloud GbR: https://xenoncloud.net
+// Submitted by Julian Uphoff <publicsuffixlist@xenoncloud.net>
+half.host
+
+// XnBay Technology : http://www.xnbay.com/
+// Submitted by XnBay Developer <developer.xncloud@gmail.com>
+xnbay.com
+u2.xnbay.com
+u2-local.xnbay.com
+
+// XS4ALL Internet bv : https://www.xs4all.nl/
+// Submitted by Daniel Mostertman <unixbeheer+publicsuffix@xs4all.net>
+cistron.nl
+demon.nl
+xs4all.space
+
+// Yandex.Cloud LLC: https://cloud.yandex.com
+// Submitted by Alexander Lodin <security+psl@yandex-team.ru>
+yandexcloud.net
+storage.yandexcloud.net
+website.yandexcloud.net
+
+// YesCourse Pty Ltd : https://yescourse.com
+// Submitted by Atul Bhouraskar <atul@yescourse.com>
+official.academy
+
+// Yola : https://www.yola.com/
+// Submitted by Stefano Rivera <stefano@yola.com>
+yolasite.com
+
+// Yombo : https://yombo.net
+// Submitted by Mitch Schwenk <mitch@yombo.net>
+ybo.faith
+yombo.me
+homelink.one
+ybo.party
+ybo.review
+ybo.science
+ybo.trade
+
+// Yunohost : https://yunohost.org
+// Submitted by Valentin Grimaud <security@yunohost.org>
+ynh.fr
+nohost.me
+noho.st
+
+// ZaNiC : http://www.za.net/
+// Submitted by registry <hostmaster@nic.za.net>
+za.net
+za.org
+
+// Zine EOOD : https://zine.bg/
+// Submitted by Martin Angelov <martin@zine.bg>
+bss.design
+
+// Zitcom A/S : https://www.zitcom.dk
+// Submitted by Emil Stahl <esp@zitcom.dk>
+basicserver.io
+virtualserver.io
+enterprisecloud.nu
+
+// ===END PRIVATE DOMAINS===
\ No newline at end of file
diff --git a/web/authors/ammer/index.html b/web/authors/ammer/index.html
--- a/web/authors/ammer/index.html
+++ b/web/authors/ammer/index.html
@@ -1,96 +1,105 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Thomas Ammer- Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../authors/ammer/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="ammer" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/authors/ammer/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="ammer"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../search"><img src="../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../"><li >Home</li></a>
<a href="../../topics/"><li >Topics</li></a>
<a href="../../download/"><li >Download</li></a>
<a href="../../help/"><li >Help</li></a>
<a href="../../submission/"><li >Submission</li></a>
<a href="../../statistics/"><li >Statistics</li></a>
<a href="../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>T</span>homas <span class='first'>A</span>mmer</h1>
<div>
</div>
</header><div>
-<h2>Entries</h2><h3 class="head">2021</h3><article class="entry">
+<h2>Entries</h2><h3 class="head">2022</h3><article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="../../entries/Number_Theoretic_Transform.html">Number Theoretic Transform</a></h5> <br>by <a href="../../authors/ammer">Thomas Ammer</a> and <a href="../../authors/kreuzer">Katharina Kreuzer</a></div>
+ <span class="date">
+ Aug 18
+ </span>
+</article>
+
+
+<h3 class="head">2021</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Van_Emde_Boas_Trees.html">van Emde Boas Trees</a></h5> <br>by <a href="../../authors/ammer">Thomas Ammer</a> and <a href="../../authors/lammich">Peter Lammich</a></div>
<span class="date">
Nov 23
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/authors/ammer/index.xml b/web/authors/ammer/index.xml
--- a/web/authors/ammer/index.xml
+++ b/web/authors/ammer/index.xml
@@ -1,20 +1,29 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>ammer on Archive of Formal Proofs</title>
<link>/authors/ammer/</link>
<description>Recent content in ammer on Archive of Formal Proofs</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-gb</language>
- <lastBuildDate>Tue, 23 Nov 2021 00:00:00 +0000</lastBuildDate><atom:link href="/authors/ammer/index.xml" rel="self" type="application/rss+xml" />
+ <lastBuildDate>Thu, 18 Aug 2022 00:00:00 +0000</lastBuildDate><atom:link href="/authors/ammer/index.xml" rel="self" type="application/rss+xml" />
+ <item>
+ <title>Number Theoretic Transform</title>
+ <link>/entries/Number_Theoretic_Transform.html</link>
+ <pubDate>Thu, 18 Aug 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Number_Theoretic_Transform.html</guid>
+ <description></description>
+ </item>
+
<item>
<title>van Emde Boas Trees</title>
<link>/entries/Van_Emde_Boas_Trees.html</link>
<pubDate>Tue, 23 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Van_Emde_Boas_Trees.html</guid>
<description></description>
</item>
</channel>
</rss>
diff --git a/web/authors/argyraki/index.html b/web/authors/argyraki/index.html
--- a/web/authors/argyraki/index.html
+++ b/web/authors/argyraki/index.html
@@ -1,163 +1,170 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Angeliki Koutsoukou-Argyraki- Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../authors/argyraki/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="argyraki" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/authors/argyraki/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="argyraki"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../search"><img src="../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../"><li >Home</li></a>
<a href="../../topics/"><li >Topics</li></a>
<a href="../../download/"><li >Download</li></a>
<a href="../../help/"><li >Help</li></a>
<a href="../../submission/"><li >Submission</li></a>
<a href="../../statistics/"><li >Statistics</li></a>
<a href="../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>A</span>ngeliki <span class='first'>K</span>outsoukou-<span class='first'>A</span>rgyraki</h1>
<div>
</div>
</header><div>
<h2>Homepages 🌐</h2>
<ul><li><a href="https://www.cl.cam.ac.uk/~ak2110/">https://www.cl.cam.ac.uk/~ak2110/</a></li><li><a href="https://www.cst.cam.ac.uk/people/ak2110">https://www.cst.cam.ac.uk/people/ak2110</a></li></ul>
<h2>Entries</h2><h3 class="head">2022</h3><article class="entry">
<div class="item-text">
+ <h5><a class="title" href="../../entries/Khovanskii_Theorem.html">Khovanskii&#39;s Theorem</a></h5> <br>by <a href="../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> <a href="https://www.cl.cam.ac.uk/~ak2110/">🌐</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a></div>
+ <span class="date">
+ Sep 02
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
<h5><a class="title" href="../../entries/Pluennecke_Ruzsa_Inequality.html">The Plünnecke-Ruzsa Inequality</a></h5> <br>by <a href="../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> <a href="https://www.cl.cam.ac.uk/~ak2110/">🌐</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
May 26
</span>
</article>
<h3 class="head">2021</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Roth_Arithmetic_Progressions.html">Roth&#39;s Theorem on Arithmetic Progressions</a></h5> <br>by <a href="../../authors/edmonds">Chelsea Edmonds</a> <a href="https://www.cst.cam.ac.uk/people/cle47">🌐</a>, <a href="../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> <a href="https://www.cl.cam.ac.uk/~ak2110/">🌐</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Szemeredi_Regularity.html">Szemerédi&#39;s Regularity Lemma</a></h5> <br>by <a href="../../authors/edmonds">Chelsea Edmonds</a> <a href="https://www.cst.cam.ac.uk/people/cle47">🌐</a>, <a href="../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> <a href="https://www.cst.cam.ac.uk/people/ak2110">🌐</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Nov 05
</span>
</article>
<h3 class="head">2020</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Amicable_Numbers.html">Amicable Numbers</a></h5> <br>by <a href="../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> <a href="https://www.cl.cam.ac.uk/~ak2110/">🌐</a></div>
<span class="date">
Aug 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Irrational_Series_Erdos_Straus.html">Irrationality Criteria for Series by Erdős and Straus</a></h5> <br>by <a href="../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> <a href="https://www.cl.cam.ac.uk/~ak2110/">🌐</a> and <a href="../../authors/li">Wenda Li</a> <a href="https://www.cl.cam.ac.uk/~wl302/">🌐</a></div>
<span class="date">
May 12
</span>
</article>
<h3 class="head">2019</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Aristotles_Assertoric_Syllogistic.html">Aristotle&#39;s Assertoric Syllogistic</a></h5> <br>by <a href="../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> <a href="https://www.cl.cam.ac.uk/~ak2110/">🌐</a></div>
<span class="date">
Oct 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Transcendence_Series_Hancl_Rucki.html">The Transcendence of Certain Infinite Series</a></h5> <br>by <a href="../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> <a href="https://www.cl.cam.ac.uk/~ak2110/">🌐</a> and <a href="../../authors/li">Wenda Li</a> <a href="https://www.cl.cam.ac.uk/~wl302/">🌐</a></div>
<span class="date">
Mar 27
</span>
</article>
<h3 class="head">2018</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Octonions.html">Octonions</a></h5> <br>by <a href="../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> <a href="https://www.cl.cam.ac.uk/~ak2110/">🌐</a></div>
<span class="date">
Sep 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Irrationality_J_Hancl.html">Irrational Rapidly Convergent Series</a></h5> <br>by <a href="../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> <a href="https://www.cl.cam.ac.uk/~ak2110/">🌐</a> and <a href="../../authors/li">Wenda Li</a> <a href="https://www.cl.cam.ac.uk/~wl302/">🌐</a></div>
<span class="date">
May 23
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/authors/argyraki/index.xml b/web/authors/argyraki/index.xml
--- a/web/authors/argyraki/index.xml
+++ b/web/authors/argyraki/index.xml
@@ -1,92 +1,101 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>argyraki on Archive of Formal Proofs</title>
<link>/authors/argyraki/</link>
<description>Recent content in argyraki on Archive of Formal Proofs</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-gb</language>
- <lastBuildDate>Thu, 26 May 2022 00:00:00 +0000</lastBuildDate><atom:link href="/authors/argyraki/index.xml" rel="self" type="application/rss+xml" />
+ <lastBuildDate>Fri, 02 Sep 2022 00:00:00 +0000</lastBuildDate><atom:link href="/authors/argyraki/index.xml" rel="self" type="application/rss+xml" />
+ <item>
+ <title>Khovanskii&amp;#x27;s Theorem</title>
+ <link>/entries/Khovanskii_Theorem.html</link>
+ <pubDate>Fri, 02 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Khovanskii_Theorem.html</guid>
+ <description></description>
+ </item>
+
<item>
<title>The Plünnecke-Ruzsa Inequality</title>
<link>/entries/Pluennecke_Ruzsa_Inequality.html</link>
<pubDate>Thu, 26 May 2022 00:00:00 +0000</pubDate>
<guid>/entries/Pluennecke_Ruzsa_Inequality.html</guid>
<description></description>
</item>
<item>
<title>Roth&#39;s Theorem on Arithmetic Progressions</title>
<link>/entries/Roth_Arithmetic_Progressions.html</link>
<pubDate>Tue, 28 Dec 2021 00:00:00 +0000</pubDate>
<guid>/entries/Roth_Arithmetic_Progressions.html</guid>
<description></description>
</item>
<item>
<title>Szemerédi&#39;s Regularity Lemma</title>
<link>/entries/Szemeredi_Regularity.html</link>
<pubDate>Fri, 05 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Szemeredi_Regularity.html</guid>
<description></description>
</item>
<item>
<title>Amicable Numbers</title>
<link>/entries/Amicable_Numbers.html</link>
<pubDate>Tue, 04 Aug 2020 00:00:00 +0000</pubDate>
<guid>/entries/Amicable_Numbers.html</guid>
<description></description>
</item>
<item>
<title>Irrationality Criteria for Series by Erdős and Straus</title>
<link>/entries/Irrational_Series_Erdos_Straus.html</link>
<pubDate>Tue, 12 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Irrational_Series_Erdos_Straus.html</guid>
<description></description>
</item>
<item>
<title>Aristotle&#39;s Assertoric Syllogistic</title>
<link>/entries/Aristotles_Assertoric_Syllogistic.html</link>
<pubDate>Tue, 08 Oct 2019 00:00:00 +0000</pubDate>
<guid>/entries/Aristotles_Assertoric_Syllogistic.html</guid>
<description></description>
</item>
<item>
<title>The Transcendence of Certain Infinite Series</title>
<link>/entries/Transcendence_Series_Hancl_Rucki.html</link>
<pubDate>Wed, 27 Mar 2019 00:00:00 +0000</pubDate>
<guid>/entries/Transcendence_Series_Hancl_Rucki.html</guid>
<description></description>
</item>
<item>
<title>Octonions</title>
<link>/entries/Octonions.html</link>
<pubDate>Fri, 14 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Octonions.html</guid>
<description></description>
</item>
<item>
<title>Irrational Rapidly Convergent Series</title>
<link>/entries/Irrationality_J_Hancl.html</link>
<pubDate>Wed, 23 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/Irrationality_J_Hancl.html</guid>
<description></description>
</item>
</channel>
</rss>
diff --git a/web/authors/bortin/index.html b/web/authors/bortin/index.html
--- a/web/authors/bortin/index.html
+++ b/web/authors/bortin/index.html
@@ -1,115 +1,115 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Maksym Bortin- Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../authors/bortin/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="bortin" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/authors/bortin/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="bortin"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../search"><img src="../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../"><li >Home</li></a>
<a href="../../topics/"><li >Topics</li></a>
<a href="../../download/"><li >Download</li></a>
<a href="../../help/"><li >Help</li></a>
<a href="../../submission/"><li >Submission</li></a>
<a href="../../statistics/"><li >Statistics</li></a>
<a href="../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>M</span>aksym <span class='first'>B</span>ortin</h1>
<div>
</div>
</header><div>
<h2>E-Mails 📧</h2>
-<ul><li><a class="obfuscated" data="eyJob3N0IjpbIm5pY3RhIiwiY29tIiwiYXUiXSwidXNlciI6WyJtYWtzeW0iLCJib3J0aW4iXX0="><span class="rev">ua</span>.<span class="rev">moc</span>.<span class="rev">atcin</span>@<span class="rev">nitrob</span>.<span class="rev">myskam</span></a></li></ul>
+<ul><li><a class="obfuscated" data="eyJob3N0IjpbIm5pY3RhIiwiY29tIiwiYXUiXSwidXNlciI6WyJtYWtzeW0iLCJib3J0aW4iXX0="><span class="rev">ua</span>.<span class="rev">moc</span>.<span class="rev">atcin</span>@<span class="rev">nitrob</span>.<span class="rev">myskam</span></a></li><li><a class="obfuscated" data="eyJob3N0IjpbImdtYWlsIiwiY29tIl0sInVzZXIiOlsibWJvcnRpbiJdfQ=="><span class="rev">moc</span>.<span class="rev">liamg</span>@<span class="rev">nitrobm</span></a></li></ul>
<h2>Entries</h2><h3 class="head">2022</h3><article class="entry">
<div class="item-text">
- <h5><a class="title" href="../../entries/Involutions2Squares.html">From THE BOOK: Two Squares via Involutions</a></h5> <br>by <a href="../../authors/bortin">Maksym Bortin</a> <a class="obfuscated" data="eyJob3N0IjpbIm5pY3RhIiwiY29tIiwiYXUiXSwidXNlciI6WyJtYWtzeW0iLCJib3J0aW4iXX0=">📧</a></div>
+ <h5><a class="title" href="../../entries/Involutions2Squares.html">From THE BOOK: Two Squares via Involutions</a></h5> <br>by <a href="../../authors/bortin">Maksym Bortin</a> <a class="obfuscated" data="eyJob3N0IjpbImdtYWlsIiwiY29tIl0sInVzZXIiOlsibWJvcnRpbiJdfQ==">📧</a></div>
<span class="date">
Aug 15
</span>
</article>
<h3 class="head">2016</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Complx.html">COMPLX: A Verification Framework for Concurrent Imperative Programs</a></h5> <br>by <a href="../../authors/amani">Sidney Amani</a>, <a href="../../authors/andronick">June Andronick</a>, <a href="../../authors/bortin">Maksym Bortin</a>, <a href="../../authors/lewis">Corey Lewis</a>, <a href="../../authors/rizkallah">Christine Rizkallah</a> and <a href="../../authors/tuongj">Joseph Tuong</a></div>
<span class="date">
Nov 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/CYK.html">A formalisation of the Cocke-Younger-Kasami algorithm</a></h5> <br>by <a href="../../authors/bortin">Maksym Bortin</a> <a class="obfuscated" data="eyJob3N0IjpbIm5pY3RhIiwiY29tIiwiYXUiXSwidXNlciI6WyJtYWtzeW0iLCJib3J0aW4iXX0=">📧</a></div>
<span class="date">
Apr 27
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/authors/eberl/index.html b/web/authors/eberl/index.html
--- a/web/authors/eberl/index.html
+++ b/web/authors/eberl/index.html
@@ -1,520 +1,527 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Manuel Eberl- Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../authors/eberl/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="eberl" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/authors/eberl/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="eberl"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../search"><img src="../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../"><li >Home</li></a>
<a href="../../topics/"><li >Topics</li></a>
<a href="../../download/"><li >Download</li></a>
<a href="../../help/"><li >Help</li></a>
<a href="../../submission/"><li >Submission</li></a>
<a href="../../statistics/"><li >Statistics</li></a>
<a href="../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>M</span>anuel <span class='first'>E</span>berl</h1>
<div>
</div>
</header><div><a href="https://orcid.org/0000-0002-4263-6571">
<img alt="ORCID logo" src="https://info.orcid.org/wp-content/uploads/2019/11/orcid_16x16.png" width="16" height="16" />
0000-0002-4263-6571
</a>
<h2>Homepages 🌐</h2>
<ul><li><a href="https://pruvisto.org/">https://pruvisto.org/</a></li><li><a href="https://www.in.tum.de/~eberlm">https://www.in.tum.de/~eberlm</a></li></ul>
<h2>E-Mails 📧</h2>
-<ul><li><a class="obfuscated" data="eyJob3N0IjpbInBydXZpc3RvIiwib3JnIl0sInVzZXIiOlsibWFudWVsIl19"><span class="rev">gro</span>.<span class="rev">otsivurp</span>@<span class="rev">leunam</span></a></li></ul>
+<ul><li><a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsibWFudWVsIiwiZWJlcmwiXX0="><span class="rev">ta</span>.<span class="rev">ca</span>.<span class="rev">kbiu</span>@<span class="rev">lrebe</span>.<span class="rev">leunam</span></a></li><li><a class="obfuscated" data="eyJob3N0IjpbInBydXZpc3RvIiwib3JnIl0sInVzZXIiOlsibWFudWVsIl19"><span class="rev">gro</span>.<span class="rev">otsivurp</span>@<span class="rev">leunam</span></a></li></ul>
<h2>Entries</h2><h3 class="head">2022</h3><article class="entry">
<div class="item-text">
+ <h5><a class="title" href="../../entries/Hales_Jewett.html">The Hales–Jewett Theorem</a></h5> <br>by <a href="../../authors/sulejmani">Ujkan Sulejmani</a> <a class="obfuscated" data="eyJob3N0IjpbInR1bSIsImRlIl0sInVzZXIiOlsidWprYW4iLCJzdWxlam1hbmkiXX0=">📧</a>, <a href="../../authors/eberl">Manuel Eberl</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsibWFudWVsIiwiZWJlcmwiXX0=">📧</a> and <a href="../../authors/kreuzer">Katharina Kreuzer</a> <a class="obfuscated" data="eyJob3N0IjpbInR1bSIsImRlIl0sInVzZXIiOlsiayIsImtyZXV6ZXIiXX0=">📧</a></div>
+ <span class="date">
+ Sep 02
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
<h5><a class="title" href="../../entries/Weighted_Arithmetic_Geometric_Mean.html">Pólya’s Proof of the Weighted Arithmetic–Geometric Mean Inequality</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Jul 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Sophomores_Dream.html">The Sophomore&#39;s Dream</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Apr 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Cotangent_PFD_Formula.html">A Proof from THE BOOK: The Partial Fraction Expansion of the Cotangent</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Mar 15
</span>
</article>
<h3 class="head">2021</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Factor_Algebraic_Polynomial.html">Factorization of Polynomials with Algebraic Coefficients</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a> and <a href="../../authors/thiemann">René Thiemann</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsicmVuZSIsInRoaWVtYW5uIl19">📧</a></div>
<span class="date">
Nov 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Finitely_Generated_Abelian_Groups.html">Finitely Generated Abelian Groups</a></h5> <br>by <a href="../../authors/thommes">Joseph Thommes</a> and <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Jul 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Van_der_Waerden.html">Van der Waerden&#39;s Theorem</a></h5> <br>by <a href="../../authors/kreuzer">Katharina Kreuzer</a> <a href="https://www21.in.tum.de/team/kreuzer/">🌐</a> and <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Jun 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Hermite_Lindemann.html">The Hermite–Lindemann–Weierstraß Transcendence Theorem</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Mar 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Formal_Puiseux_Series.html">Formal Puiseux Series</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Feb 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Laws_of_Large_Numbers.html">The Laws of Large Numbers</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Feb 10
</span>
</article>
<h3 class="head">2020</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Lambert_W.html">The Lambert W Function on the Reals</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Apr 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Power_Sum_Polynomials.html">Power Sum Polynomials</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Apr 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Gaussian_Integers.html">Gaussian Integers</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Apr 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Furstenberg_Topology.html">Furstenberg&#39;s topology and his proof of the infinitude of primes</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Mar 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Mersenne_Primes.html">Mersenne primes and the Lucas–Lehmer test</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Jan 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Skip_Lists.html">Skip Lists</a></h5> <br>by <a href="../../authors/haslbeck">Max W. Haslbeck</a> <a href="http://cl-informatik.uibk.ac.at/users/mhaslbeck/">🌐</a> and <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Jan 09
</span>
</article>
<h3 class="head">2019</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Zeta_3_Irrational.html">The Irrationality of ζ(3)</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Dec 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Gauss_Sums.html">Gauss Sums and the Pólya–Vinogradov Inequality</a></h5> <br>by <a href="../../authors/raya">Rodrigo Raya</a> <a href="https://people.epfl.ch/rodrigo.raya">🌐</a> and <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Dec 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/IMO2019.html">Selected Problems from the International Mathematical Olympiad 2019</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Aug 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Prime_Distribution_Elementary.html">Elementary Facts About the Distribution of Primes</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Feb 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Probabilistic_Prime_Tests.html">Probabilistic Primality Testing</a></h5> <br>by <a href="../../authors/stuewe">Daniel Stüwe</a> and <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Feb 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/List_Inversions.html">The Inversions of a List</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Feb 01
</span>
</article>
<h3 class="head">2018</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Randomised_BSTs.html">Randomised Binary Search Trees</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Pi_Transcendental.html">The Transcendence of π</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Symmetric_Polynomials.html">Symmetric Polynomials</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Sep 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Prime_Number_Theorem.html">The Prime Number Theorem</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Sep 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Pell.html">Pell&#39;s Equation</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Jun 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Fishburn_Impossibility.html">The Incompatibility of Fishburn-Strategyproofness and Pareto-Efficiency</a></h5> <br>by <a href="../../authors/brandt">Felix Brandt</a> <a href="http://dss.in.tum.de/staff/brandt.html">🌐</a>, <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a>, <a href="../../authors/saile">Christian Saile</a> <a href="http://dss.in.tum.de/staff/christian-saile.html">🌐</a> and <a href="../../authors/stricker">Christian Stricker</a> <a href="http://dss.in.tum.de/staff/christian-stricker.html">🌐</a></div>
<span class="date">
Mar 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Treaps.html">Treaps</a></h5> <br>by <a href="../../authors/haslbeck">Max W. Haslbeck</a> <a href="http://cl-informatik.uibk.ac.at/users/mhaslbeck/">🌐</a>, <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://www.in.tum.de/~eberlm">🌐</a> and <a href="../../authors/nipkow">Tobias Nipkow</a> <a href="https://www.in.tum.de/~nipkow/">🌐</a></div>
<span class="date">
Feb 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Error_Function.html">The Error Function</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Feb 06
</span>
</article>
<h3 class="head">2017</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Median_Of_Medians_Selection.html">The Median-of-Medians Selection Algorithm</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Dec 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Mason_Stothers.html">The Mason–Stothers Theorem</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Dec 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Dirichlet_L.html">Dirichlet L-Functions and Dirichlet&#39;s Theorem</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Dec 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Zeta_Function.html">The Hurwitz and Riemann ζ Functions</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Linear_Recurrences.html">Linear Recurrences</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Dirichlet_Series.html">Dirichlet Series</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Minkowskis_Theorem.html">Minkowski&#39;s Theorem</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Jul 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Buffons_Needle.html">Buffon&#39;s Needle Problem</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Jun 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Monad_Normalisation.html">Monad normalisation</a></h5> <br>by <a href="../../authors/schneider">Joshua Schneider</a>, <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a> and <a href="../../authors/lochbihler">Andreas Lochbihler</a> <a href="http://www.andreas-lochbihler.de/">🌐</a></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Random_BSTs.html">Expected Shape of Random Binary Search Trees</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Apr 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Quick_Sort_Cost.html">The number of comparisons in QuickSort</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Mar 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Comparison_Sort_Lower_Bound.html">Lower bound on comparison-based sorting algorithms</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Mar 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Euler_MacLaurin.html">The Euler–MacLaurin Formula</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Mar 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Bernoulli.html">Bernoulli Numbers</a></h5> <br>by <a href="../../authors/bulwahn">Lukas Bulwahn</a> <a class="obfuscated" data="eyJob3N0IjpbImdtYWlsIiwiY29tIl0sInVzZXIiOlsibHVrYXMiLCJidWx3YWhuIl19">📧</a> and <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Jan 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Bertrands_Postulate.html">Bertrand&#39;s postulate</a></h5> <br>by <a href="../../authors/biendarra">Julian Biendarra</a> and <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Jan 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/E_Transcendental.html">The Transcendence of e</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Jan 12
</span>
</article>
<h3 class="head">2016</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Fisher_Yates.html">Fisher–Yates shuffle</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Sep 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Stirling_Formula.html">Stirling&#39;s formula</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Sep 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Catalan_Numbers.html">Catalan Numbers</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Jun 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Randomised_Social_Choice.html">Randomised Social Choice Theory</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a class="obfuscated" data="eyJob3N0IjpbInBydXZpc3RvIiwib3JnIl0sInVzZXIiOlsibWFudWVsIl19">📧</a></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/SDS_Impossibility.html">The Incompatibility of SD-Efficiency and SD-Strategy-Proofness</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a class="obfuscated" data="eyJob3N0IjpbInBydXZpc3RvIiwib3JnIl0sInVzZXIiOlsibWFudWVsIl19">📧</a></div>
<span class="date">
May 04
</span>
</article>
<h3 class="head">2015</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Prime_Harmonic_Series.html">The Divergence of the Prime Harmonic Series</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Liouville_Numbers.html">Liouville numbers</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Descartes_Sign_Rule.html">Descartes&#39; Rule of Signs</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Triangle.html">Basic Geometric Properties of Triangles</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Akra_Bazzi.html">The Akra-Bazzi theorem and the Master theorem</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Jul 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Landau_Symbols.html">Landau Symbols</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Jul 14
</span>
</article>
<h3 class="head">2014</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Density_Compiler.html">A Verified Compiler for Probability Density Functions</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a>, <a href="../../authors/hoelzl">Johannes Hölzl</a> <a href="http://home.in.tum.de/~hoelzl">🌐</a> and <a href="../../authors/nipkow">Tobias Nipkow</a> <a href="https://www.in.tum.de/~nipkow/">🌐</a></div>
<span class="date">
Oct 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Sturm_Sequences.html">Sturm&#39;s Theorem</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Jan 11
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/authors/eberl/index.xml b/web/authors/eberl/index.xml
--- a/web/authors/eberl/index.xml
+++ b/web/authors/eberl/index.xml
@@ -1,533 +1,542 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>eberl on Archive of Formal Proofs</title>
<link>/authors/eberl/</link>
<description>Recent content in eberl on Archive of Formal Proofs</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-gb</language>
- <lastBuildDate>Mon, 11 Jul 2022 00:00:00 +0000</lastBuildDate><atom:link href="/authors/eberl/index.xml" rel="self" type="application/rss+xml" />
+ <lastBuildDate>Fri, 02 Sep 2022 00:00:00 +0000</lastBuildDate><atom:link href="/authors/eberl/index.xml" rel="self" type="application/rss+xml" />
+ <item>
+ <title>The Hales–Jewett Theorem</title>
+ <link>/entries/Hales_Jewett.html</link>
+ <pubDate>Fri, 02 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Hales_Jewett.html</guid>
+ <description></description>
+ </item>
+
<item>
<title>Pólya’s Proof of the Weighted Arithmetic–Geometric Mean Inequality</title>
<link>/entries/Weighted_Arithmetic_Geometric_Mean.html</link>
<pubDate>Mon, 11 Jul 2022 00:00:00 +0000</pubDate>
<guid>/entries/Weighted_Arithmetic_Geometric_Mean.html</guid>
<description></description>
</item>
<item>
<title>The Sophomore&#39;s Dream</title>
<link>/entries/Sophomores_Dream.html</link>
<pubDate>Sun, 10 Apr 2022 00:00:00 +0000</pubDate>
<guid>/entries/Sophomores_Dream.html</guid>
<description></description>
</item>
<item>
<title>A Proof from THE BOOK: The Partial Fraction Expansion of the Cotangent</title>
<link>/entries/Cotangent_PFD_Formula.html</link>
<pubDate>Tue, 15 Mar 2022 00:00:00 +0000</pubDate>
<guid>/entries/Cotangent_PFD_Formula.html</guid>
<description></description>
</item>
<item>
<title>Factorization of Polynomials with Algebraic Coefficients</title>
<link>/entries/Factor_Algebraic_Polynomial.html</link>
<pubDate>Mon, 08 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Factor_Algebraic_Polynomial.html</guid>
<description></description>
</item>
<item>
<title>Finitely Generated Abelian Groups</title>
<link>/entries/Finitely_Generated_Abelian_Groups.html</link>
<pubDate>Wed, 07 Jul 2021 00:00:00 +0000</pubDate>
<guid>/entries/Finitely_Generated_Abelian_Groups.html</guid>
<description></description>
</item>
<item>
<title>Van der Waerden&#39;s Theorem</title>
<link>/entries/Van_der_Waerden.html</link>
<pubDate>Tue, 22 Jun 2021 00:00:00 +0000</pubDate>
<guid>/entries/Van_der_Waerden.html</guid>
<description></description>
</item>
<item>
<title>The Hermite–Lindemann–Weierstraß Transcendence Theorem</title>
<link>/entries/Hermite_Lindemann.html</link>
<pubDate>Wed, 03 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Hermite_Lindemann.html</guid>
<description></description>
</item>
<item>
<title>Formal Puiseux Series</title>
<link>/entries/Formal_Puiseux_Series.html</link>
<pubDate>Wed, 17 Feb 2021 00:00:00 +0000</pubDate>
<guid>/entries/Formal_Puiseux_Series.html</guid>
<description></description>
</item>
<item>
<title>The Laws of Large Numbers</title>
<link>/entries/Laws_of_Large_Numbers.html</link>
<pubDate>Wed, 10 Feb 2021 00:00:00 +0000</pubDate>
<guid>/entries/Laws_of_Large_Numbers.html</guid>
<description></description>
</item>
<item>
<title>Gaussian Integers</title>
<link>/entries/Gaussian_Integers.html</link>
<pubDate>Fri, 24 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Gaussian_Integers.html</guid>
<description></description>
</item>
<item>
<title>Power Sum Polynomials</title>
<link>/entries/Power_Sum_Polynomials.html</link>
<pubDate>Fri, 24 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Power_Sum_Polynomials.html</guid>
<description></description>
</item>
<item>
<title>The Lambert W Function on the Reals</title>
<link>/entries/Lambert_W.html</link>
<pubDate>Fri, 24 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Lambert_W.html</guid>
<description></description>
</item>
<item>
<title>Furstenberg&#39;s topology and his proof of the infinitude of primes</title>
<link>/entries/Furstenberg_Topology.html</link>
<pubDate>Sun, 22 Mar 2020 00:00:00 +0000</pubDate>
<guid>/entries/Furstenberg_Topology.html</guid>
<description></description>
</item>
<item>
<title>Mersenne primes and the Lucas–Lehmer test</title>
<link>/entries/Mersenne_Primes.html</link>
<pubDate>Fri, 17 Jan 2020 00:00:00 +0000</pubDate>
<guid>/entries/Mersenne_Primes.html</guid>
<description></description>
</item>
<item>
<title>Skip Lists</title>
<link>/entries/Skip_Lists.html</link>
<pubDate>Thu, 09 Jan 2020 00:00:00 +0000</pubDate>
<guid>/entries/Skip_Lists.html</guid>
<description></description>
</item>
<item>
<title>The Irrationality of ζ(3)</title>
<link>/entries/Zeta_3_Irrational.html</link>
<pubDate>Fri, 27 Dec 2019 00:00:00 +0000</pubDate>
<guid>/entries/Zeta_3_Irrational.html</guid>
<description></description>
</item>
<item>
<title>Gauss Sums and the Pólya–Vinogradov Inequality</title>
<link>/entries/Gauss_Sums.html</link>
<pubDate>Tue, 10 Dec 2019 00:00:00 +0000</pubDate>
<guid>/entries/Gauss_Sums.html</guid>
<description></description>
</item>
<item>
<title>Selected Problems from the International Mathematical Olympiad 2019</title>
<link>/entries/IMO2019.html</link>
<pubDate>Mon, 05 Aug 2019 00:00:00 +0000</pubDate>
<guid>/entries/IMO2019.html</guid>
<description></description>
</item>
<item>
<title>Elementary Facts About the Distribution of Primes</title>
<link>/entries/Prime_Distribution_Elementary.html</link>
<pubDate>Thu, 21 Feb 2019 00:00:00 +0000</pubDate>
<guid>/entries/Prime_Distribution_Elementary.html</guid>
<description></description>
</item>
<item>
<title>Probabilistic Primality Testing</title>
<link>/entries/Probabilistic_Prime_Tests.html</link>
<pubDate>Mon, 11 Feb 2019 00:00:00 +0000</pubDate>
<guid>/entries/Probabilistic_Prime_Tests.html</guid>
<description></description>
</item>
<item>
<title>The Inversions of a List</title>
<link>/entries/List_Inversions.html</link>
<pubDate>Fri, 01 Feb 2019 00:00:00 +0000</pubDate>
<guid>/entries/List_Inversions.html</guid>
<description></description>
</item>
<item>
<title>Randomised Binary Search Trees</title>
<link>/entries/Randomised_BSTs.html</link>
<pubDate>Fri, 19 Oct 2018 00:00:00 +0000</pubDate>
<guid>/entries/Randomised_BSTs.html</guid>
<description></description>
</item>
<item>
<title>The Transcendence of π</title>
<link>/entries/Pi_Transcendental.html</link>
<pubDate>Fri, 28 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Pi_Transcendental.html</guid>
<description></description>
</item>
<item>
<title>Symmetric Polynomials</title>
<link>/entries/Symmetric_Polynomials.html</link>
<pubDate>Tue, 25 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Symmetric_Polynomials.html</guid>
<description></description>
</item>
<item>
<title>The Prime Number Theorem</title>
<link>/entries/Prime_Number_Theorem.html</link>
<pubDate>Wed, 19 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Prime_Number_Theorem.html</guid>
<description></description>
</item>
<item>
<title>Pell&#39;s Equation</title>
<link>/entries/Pell.html</link>
<pubDate>Sat, 23 Jun 2018 00:00:00 +0000</pubDate>
<guid>/entries/Pell.html</guid>
<description></description>
</item>
<item>
<title>The Incompatibility of Fishburn-Strategyproofness and Pareto-Efficiency</title>
<link>/entries/Fishburn_Impossibility.html</link>
<pubDate>Thu, 22 Mar 2018 00:00:00 +0000</pubDate>
<guid>/entries/Fishburn_Impossibility.html</guid>
<description></description>
</item>
<item>
<title>The Error Function</title>
<link>/entries/Error_Function.html</link>
<pubDate>Tue, 06 Feb 2018 00:00:00 +0000</pubDate>
<guid>/entries/Error_Function.html</guid>
<description></description>
</item>
<item>
<title>Treaps</title>
<link>/entries/Treaps.html</link>
<pubDate>Tue, 06 Feb 2018 00:00:00 +0000</pubDate>
<guid>/entries/Treaps.html</guid>
<description></description>
</item>
<item>
<title>Dirichlet L-Functions and Dirichlet&#39;s Theorem</title>
<link>/entries/Dirichlet_L.html</link>
<pubDate>Thu, 21 Dec 2017 00:00:00 +0000</pubDate>
<guid>/entries/Dirichlet_L.html</guid>
<description></description>
</item>
<item>
<title>The Mason–Stothers Theorem</title>
<link>/entries/Mason_Stothers.html</link>
<pubDate>Thu, 21 Dec 2017 00:00:00 +0000</pubDate>
<guid>/entries/Mason_Stothers.html</guid>
<description></description>
</item>
<item>
<title>The Median-of-Medians Selection Algorithm</title>
<link>/entries/Median_Of_Medians_Selection.html</link>
<pubDate>Thu, 21 Dec 2017 00:00:00 +0000</pubDate>
<guid>/entries/Median_Of_Medians_Selection.html</guid>
<description></description>
</item>
<item>
<title>Dirichlet Series</title>
<link>/entries/Dirichlet_Series.html</link>
<pubDate>Thu, 12 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Dirichlet_Series.html</guid>
<description></description>
</item>
<item>
<title>Linear Recurrences</title>
<link>/entries/Linear_Recurrences.html</link>
<pubDate>Thu, 12 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Linear_Recurrences.html</guid>
<description></description>
</item>
<item>
<title>The Hurwitz and Riemann ζ Functions</title>
<link>/entries/Zeta_Function.html</link>
<pubDate>Thu, 12 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Zeta_Function.html</guid>
<description></description>
</item>
<item>
<title>Minkowski&#39;s Theorem</title>
<link>/entries/Minkowskis_Theorem.html</link>
<pubDate>Thu, 13 Jul 2017 00:00:00 +0000</pubDate>
<guid>/entries/Minkowskis_Theorem.html</guid>
<description></description>
</item>
<item>
<title>Buffon&#39;s Needle Problem</title>
<link>/entries/Buffons_Needle.html</link>
<pubDate>Tue, 06 Jun 2017 00:00:00 +0000</pubDate>
<guid>/entries/Buffons_Needle.html</guid>
<description></description>
</item>
<item>
<title>Monad normalisation</title>
<link>/entries/Monad_Normalisation.html</link>
<pubDate>Fri, 05 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Monad_Normalisation.html</guid>
<description></description>
</item>
<item>
<title>Expected Shape of Random Binary Search Trees</title>
<link>/entries/Random_BSTs.html</link>
<pubDate>Tue, 04 Apr 2017 00:00:00 +0000</pubDate>
<guid>/entries/Random_BSTs.html</guid>
<description></description>
</item>
<item>
<title>Lower bound on comparison-based sorting algorithms</title>
<link>/entries/Comparison_Sort_Lower_Bound.html</link>
<pubDate>Wed, 15 Mar 2017 00:00:00 +0000</pubDate>
<guid>/entries/Comparison_Sort_Lower_Bound.html</guid>
<description></description>
</item>
<item>
<title>The number of comparisons in QuickSort</title>
<link>/entries/Quick_Sort_Cost.html</link>
<pubDate>Wed, 15 Mar 2017 00:00:00 +0000</pubDate>
<guid>/entries/Quick_Sort_Cost.html</guid>
<description></description>
</item>
<item>
<title>The Euler–MacLaurin Formula</title>
<link>/entries/Euler_MacLaurin.html</link>
<pubDate>Fri, 10 Mar 2017 00:00:00 +0000</pubDate>
<guid>/entries/Euler_MacLaurin.html</guid>
<description></description>
</item>
<item>
<title>Bernoulli Numbers</title>
<link>/entries/Bernoulli.html</link>
<pubDate>Tue, 24 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/Bernoulli.html</guid>
<description></description>
</item>
<item>
<title>Bertrand&#39;s postulate</title>
<link>/entries/Bertrands_Postulate.html</link>
<pubDate>Tue, 17 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/Bertrands_Postulate.html</guid>
<description></description>
</item>
<item>
<title>The Transcendence of e</title>
<link>/entries/E_Transcendental.html</link>
<pubDate>Thu, 12 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/E_Transcendental.html</guid>
<description></description>
</item>
<item>
<title>Fisher–Yates shuffle</title>
<link>/entries/Fisher_Yates.html</link>
<pubDate>Fri, 30 Sep 2016 00:00:00 +0000</pubDate>
<guid>/entries/Fisher_Yates.html</guid>
<description></description>
</item>
<item>
<title>Stirling&#39;s formula</title>
<link>/entries/Stirling_Formula.html</link>
<pubDate>Thu, 01 Sep 2016 00:00:00 +0000</pubDate>
<guid>/entries/Stirling_Formula.html</guid>
<description></description>
</item>
<item>
<title>Catalan Numbers</title>
<link>/entries/Catalan_Numbers.html</link>
<pubDate>Tue, 21 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Catalan_Numbers.html</guid>
<description></description>
</item>
<item>
<title>Randomised Social Choice Theory</title>
<link>/entries/Randomised_Social_Choice.html</link>
<pubDate>Thu, 05 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Randomised_Social_Choice.html</guid>
<description></description>
</item>
<item>
<title>The Incompatibility of SD-Efficiency and SD-Strategy-Proofness</title>
<link>/entries/SDS_Impossibility.html</link>
<pubDate>Wed, 04 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/SDS_Impossibility.html</guid>
<description></description>
</item>
<item>
<title>Basic Geometric Properties of Triangles</title>
<link>/entries/Triangle.html</link>
<pubDate>Mon, 28 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Triangle.html</guid>
<description></description>
</item>
<item>
<title>Descartes&#39; Rule of Signs</title>
<link>/entries/Descartes_Sign_Rule.html</link>
<pubDate>Mon, 28 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Descartes_Sign_Rule.html</guid>
<description></description>
</item>
<item>
<title>Liouville numbers</title>
<link>/entries/Liouville_Numbers.html</link>
<pubDate>Mon, 28 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Liouville_Numbers.html</guid>
<description></description>
</item>
<item>
<title>The Divergence of the Prime Harmonic Series</title>
<link>/entries/Prime_Harmonic_Series.html</link>
<pubDate>Mon, 28 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Prime_Harmonic_Series.html</guid>
<description></description>
</item>
<item>
<title>Landau Symbols</title>
<link>/entries/Landau_Symbols.html</link>
<pubDate>Tue, 14 Jul 2015 00:00:00 +0000</pubDate>
<guid>/entries/Landau_Symbols.html</guid>
<description></description>
</item>
<item>
<title>The Akra-Bazzi theorem and the Master theorem</title>
<link>/entries/Akra_Bazzi.html</link>
<pubDate>Tue, 14 Jul 2015 00:00:00 +0000</pubDate>
<guid>/entries/Akra_Bazzi.html</guid>
<description></description>
</item>
<item>
<title>A Verified Compiler for Probability Density Functions</title>
<link>/entries/Density_Compiler.html</link>
<pubDate>Thu, 09 Oct 2014 00:00:00 +0000</pubDate>
<guid>/entries/Density_Compiler.html</guid>
<description></description>
</item>
<item>
<title>Sturm&#39;s Theorem</title>
<link>/entries/Sturm_Sequences.html</link>
<pubDate>Sat, 11 Jan 2014 00:00:00 +0000</pubDate>
<guid>/entries/Sturm_Sequences.html</guid>
<description></description>
</item>
</channel>
</rss>
diff --git a/web/authors/index.html b/web/authors/index.html
--- a/web/authors/index.html
+++ b/web/authors/index.html
@@ -1,946 +1,948 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="Authors" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/authors/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Authors"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon"><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>A</span>uthors</h1>
<div>
</div>
</header><div>
<table class="entries">
<tbody>
<tr>
<td>
<ul>
<li><a href="../authors/abdulaziz/">Mohammad Abdulaziz</a></li>
<li><a href="../authors/adelsberger/">Stephan Adelsberger</a></li>
<li><a href="../authors/aehlig/">Klaus Aehlig</a></li>
<li><a href="../authors/aissat/">Romain Aissat</a></li>
<li><a href="../authors/amani/">Sidney Amani</a></li>
<li><a href="../authors/ammer/">Thomas Ammer</a></li>
<li><a href="../authors/andronick/">June Andronick</a></li>
<li><a href="../authors/aransay/">Jesús Aransay</a></li>
<li><a href="../authors/argyraki/">Angeliki Koutsoukou-Argyraki</a></li>
<li><a href="../authors/armstrong/">Alasdair Armstrong</a></li>
<li><a href="../authors/aspinall/">David Aspinall</a></li>
<li><a href="../authors/ausaf/">Fahad Ausaf</a></li>
<li><a href="../authors/avigad/">Jeremy Avigad</a></li>
<li><a href="../authors/back/">Ralph-Johan Back</a></li>
<li><a href="../authors/balbach/">Frank J. Balbach</a></li>
<li><a href="../authors/ballarin/">Clemens Ballarin</a></li>
<li><a href="../authors/barsotti/">Damián Barsotti</a></li>
<li><a href="../authors/bauer/">Gertrud Bauer</a></li>
<li><a href="../authors/bauereiss/">Thomas Bauereiss</a></li>
<li><a href="../authors/bayer/">Jonas Bayer</a></li>
<li><a href="../authors/becker/">Heiko Becker</a></li>
<li><a href="../authors/beeren/">Joel Beeren</a></li>
<li><a href="../authors/bella/">Giampaolo Bella</a></li>
<li><a href="../authors/bengtson/">Jesper Bengtson</a></li>
<li><a href="../authors/bentkamp/">Alexander Bentkamp</a></li>
<li><a href="../authors/benzmueller/">Christoph Benzmüller</a></li>
<li><a href="../authors/beresford/">Alastair R. Beresford</a></li>
<li><a href="../authors/berghofer/">Stefan Berghofer</a></li>
<li><a href="../authors/beringer/">Lennart Beringer</a></li>
<li><a href="../authors/bharadwaj/">Abhijith Bharadwaj</a></li>
<li><a href="../authors/bhatt/">Bhargav Bhatt</a></li>
<li><a href="../authors/biendarra/">Julian Biendarra</a></li>
<li><a href="../authors/bisping/">Benjamin Bisping</a></li>
<li><a href="../authors/blanchette/">Jasmin Christian Blanchette</a></li>
<li><a href="../authors/blasum/">Holger Blasum</a></li>
<li><a href="../authors/blumson/">Ben Blumson</a></li>
<li><a href="../authors/bockenek/">Joshua Bockenek</a></li>
<li><a href="../authors/boehme/">Sascha Böhme</a></li>
<li><a href="../authors/bohrer/">Rose Bohrer</a></li>
<li><a href="../authors/bordg/">Anthony Bordg</a></li>
<li><a href="../authors/borgstroem/">Johannes Borgström</a></li>
<li><a href="../authors/bortin/">Maksym Bortin</a></li>
<li><a href="../authors/bottesch/">Ralph Bottesch</a></li>
<li><a href="../authors/boulanger/">Frédéric Boulanger</a></li>
<li><a href="../authors/bourke/">Timothy Bourke</a></li>
<li><a href="../authors/boutry/">Pierre Boutry</a></li>
<li><a href="../authors/boyton/">Andrew Boyton</a></li>
<li><a href="../authors/bracevac/">Oliver Bračevac</a></li>
<li><a href="../authors/brandt/">Felix Brandt</a></li>
<li><a href="../authors/breitner/">Joachim Breitner</a></li>
<li><a href="../authors/brien/">Nicolas Robinson-O&#39;Brien</a></li>
<li><a href="../authors/brinkop/">Hauke Brinkop</a></li>
<li><a href="../authors/brodmann/">Paul-David Brodmann</a></li>
<li><a href="../authors/brucker/">Achim D. Brucker</a></li>
<li><a href="../authors/bruegger/">Lukas Brügger</a></li>
<li><a href="../authors/brun/">Matthias Brun</a></li>
<li><a href="../authors/brunner/">Julian Brunner</a></li>
<li><a href="../authors/bulwahn/">Lukas Bulwahn</a></li>
<li><a href="../authors/butler/">David Butler</a></li>
<li><a href="../authors/buyse/">Maxime Buyse</a></li>
<li><a href="../authors/caballero/">José Manuel Rodríguez Caballero</a></li>
<li><a href="../authors/caminati/">Marco B. Caminati</a></li>
<li><a href="../authors/campo/">Alejandro del Campo</a></li>
<li><a href="../authors/chapman/">Peter Chapman</a></li>
<li><a href="../authors/chen/">L. Chen</a></li>
<li><a href="../authors/clouston/">Ranald Clouston</a></li>
<li><a href="../authors/cock/">David Cock</a></li>
<li><a href="../authors/coghetto/">Roland Coghetto</a></li>
<li><a href="../authors/coglio/">Alessandro Coglio</a></li>
<li><a href="../authors/cohen/">Ernie Cohen</a></li>
<li><a href="../authors/cordwell/">Katherine Cordwell</a></li>
<li><a href="../authors/cousin/">Marie Cousin</a></li>
<li><a href="../authors/crighton/">Aaron Crighton</a></li>
<li><a href="../authors/dardinier/">Thibault Dardinier</a></li>
<li><a href="../authors/david/">Marco David</a></li>
<li><a href="../authors/debrat/">Henri Debrat</a></li>
<li><a href="../authors/decova/">Sára Decova</a></li>
<li><a href="../authors/derrick/">John Derrick</a></li>
<li><a href="../authors/desharnais/">Martin Desharnais</a></li>
<li><a href="../authors/diaz/">Javier Díaz</a></li>
<li><a href="../authors/diekmann/">Cornelius Diekmann</a></li>
<li><a href="../authors/dirix/">Stefan Dirix</a></li>
<li><a href="../authors/dittmann/">Christoph Dittmann</a></li>
<li><a href="../authors/divason/">Jose Divasón</a></li>
<li><a href="../authors/doczkal/">Christian Doczkal</a></li>
<li><a href="../authors/dongol/">Brijesh Dongol</a></li>
<li><a href="../authors/doty/">Matthew Wampler-Doty</a></li>
<li><a href="../authors/dubut/">Jérémy Dubut</a></li>
<li><a href="../authors/dunaev/">Georgy Dunaev</a></li>
<li><a href="../authors/dyckhoff/">Roy Dyckhoff</a></li>
<li><a href="../authors/eberl/">Manuel Eberl</a></li>
<li><a href="../authors/echenim/">Mnacho Echenim</a></li>
<li><a href="../authors/edmonds/">Chelsea Edmonds</a></li>
<li><a href="../authors/engelhardt/">Kai Engelhardt</a></li>
<li><a href="../authors/eriksson/">Lars-Henrik Eriksson</a></li>
<li><a href="../authors/esparza/">Javier Esparza</a></li>
<li><a href="../authors/essmann/">Robin Eßmann</a></li>
<li><a href="../authors/felgenhauer/">Bertram Felgenhauer</a></li>
<li><a href="../authors/feliachi/">Abderrahmane Feliachi</a></li>
<li><a href="../authors/fell/">Julian Fell</a></li>
<li><a href="../authors/fernandez/">Matthew Fernandez</a></li>
<li><a href="../authors/fiedler/">Ben Fiedler</a></li>
<li><a href="../authors/fleuriot/">Jacques D. Fleuriot</a></li>
<li><a href="../authors/fleury/">Mathias Fleury</a></li>
<li><a href="../authors/foster/">Michael Foster</a></li>
<li><a href="../authors/fosterj/">J. Nathan Foster</a></li>
<li><a href="../authors/fosters/">Simon Foster</a></li>
<li><a href="../authors/fouillard/">Valentin Fouillard</a></li>
<li><a href="../authors/friedrich/">Stefan Friedrich</a></li>
<li><a href="../authors/from/">Asta Halkjær From</a></li>
<li><a href="../authors/fuenmayor/">David Fuenmayor</a></li>
<li><a href="../authors/furusawa/">Hitoshi Furusawa</a></li>
<li><a href="../authors/gammie/">Peter Gammie</a></li>
<li><a href="../authors/gao/">Xin Gao</a></li>
<li><a href="../authors/gaudel/">Marie-Claude Gaudel</a></li>
<li><a href="../authors/gay/">Richard Gay</a></li>
<li><a href="../authors/georgescu/">George Georgescu</a></li>
<li><a href="../authors/gheri/">Lorenzo Gheri</a></li>
<li><a href="../authors/ghourabi/">Fadoua Ghourabi</a></li>
<li><a href="../authors/gioiosa/">Gianpaolo Gioiosa</a></li>
<li><a href="../authors/glabbeek/">Rob van Glabbeek</a></li>
<li><a href="../authors/gomes/">Victor B. F. Gomes</a></li>
<li><a href="../authors/gonzalez/">Edgar Gonzàlez</a></li>
<li><a href="../authors/gore/">Rajeev Gore</a></li>
<li><a href="../authors/gouezel/">Sebastien Gouezel</a></li>
<li><a href="../authors/grechuk/">Bogdan Grechuk</a></li>
<li><a href="../authors/grewe/">Sylvia Grewe</a></li>
<li><a href="../authors/griebel/">Simon Griebel</a></li>
<li><a href="../authors/grov/">Gudmund Grov</a></li>
<li><a href="../authors/guerraoui/">Rachid Guerraoui</a></li>
<li><a href="../authors/guiol/">Hervé Guiol</a></li>
<li><a href="../authors/gunther/">Emmanuel Gunther</a></li>
<li><a href="../authors/gutkovas/">Ramunas Gutkovas</a></li>
<li><a href="../authors/guttmann/">Walter Guttmann</a></li>
<li><a href="../authors/haftmann/">Florian Haftmann</a></li>
<li><a href="../authors/haslbeck/">Max W. Haslbeck</a></li>
<li><a href="../authors/haslbeckm/">Maximilian P. L. Haslbeck</a></li>
<li><a href="../authors/havle/">Oto Havle</a></li>
<li><a href="../authors/hayes/">Ian J. Hayes</a></li>
<li><a href="../authors/he/">Yijun He</a></li>
<li><a href="../authors/heimes/">Lukas Heimes</a></li>
<li><a href="../authors/helke/">Steffen Helke</a></li>
<li><a href="../authors/hellauer/">Fabian Hellauer</a></li>
<li><a href="../authors/heller/">Armin Heller</a></li>
<li><a href="../authors/henrio/">Ludovic Henrio</a></li>
<li><a href="../authors/herzberg/">Michael Herzberg</a></li>
<li><a href="../authors/hess/">Andreas V. Hess</a></li>
<li><a href="../authors/hetzl/">Stefan Hetzl</a></li>
<li><a href="../authors/hibon/">Quentin Hibon</a></li>
<li><a href="../authors/hirata/">Michikazu Hirata</a></li>
<li><a href="../authors/hoefner/">Peter Höfner</a></li>
<li><a href="../authors/hoelzl/">Johannes Hölzl</a></li>
<li><a href="../authors/hofmann/">Martin Hofmann</a></li>
<li><a href="../authors/holub/">Štěpán Holub</a></li>
<li><a href="../authors/hosking/">Tony Hosking</a></li>
<li><a href="../authors/hou/">Zhe Hou</a></li>
<li><a href="../authors/hu/">Shuwei Hu</a></li>
<li><a href="../authors/huffman/">Brian Huffman</a></li>
<li><a href="../authors/hupel/">Lars Hupel</a></li>
<li><a href="../authors/ijbema/">Mark Ijbema</a></li>
<li><a href="../authors/immler/">Fabian Immler</a></li>
<li><a href="../authors/ito/">Yosuke Ito</a></li>
<li><a href="../authors/iwama/">Fumiya Iwama</a></li>
<li><a href="../authors/jacobsen/">Frederik Krogsdal Jacobsen</a></li>
<li><a href="../authors/jaskelioff/">Mauro Jaskelioff</a></li>
<li><a href="../authors/jaskolka/">Jason Jaskolka</a></li>
<li><a href="../authors/jensen/">Alexander Birch Jensen</a></li>
<li><a href="../authors/jiang/">Nan Jiang</a></li>
<li><a href="../authors/jiangd/">Dongchen Jiang</a></li>
<li><a href="../authors/joosten/">Sebastiaan J. C. Joosten</a></li>
<li><a href="../authors/jungnickel/">Tim Jungnickel</a></li>
<li><a href="../authors/kadzioka/">Maya Kądziołka</a></li>
<li><a href="../authors/kaliszyk/">Cezary Kaliszyk</a></li>
<li><a href="../authors/kammueller/">Florian Kammüller</a></li>
<li><a href="../authors/kappelmann/">Kevin Kappelmann</a></li>
<li><a href="../authors/karayel/">Emin Karayel</a></li>
<li><a href="../authors/kastermans/">Bart Kastermans</a></li>
<li><a href="../authors/katovsky/">Alexander Katovsky</a></li>
<li><a href="../authors/kaufmann/">Daniela Kaufmann</a></li>
<li><a href="../authors/keefe/">Greg O&#39;Keefe</a></li>
<li><a href="../authors/keinholz/">Jonas Keinholz</a></li>
<li><a href="../authors/kerber/">Manfred Kerber</a></li>
<li><a href="../authors/ketland/">Jeffrey Ketland</a></li>
<li><a href="../authors/kirchner/">Daniel Kirchner</a></li>
<li><a href="../authors/klein/">Gerwin Klein</a></li>
<li><a href="../authors/klenze/">Tobias Klenze</a></li>
<li><a href="../authors/kleppmann/">Martin Kleppmann</a></li>
<li><a href="../authors/kobayashi/">Hidetsune Kobayashi</a></li>
<li><a href="../authors/koerner/">Stefan Körner</a></li>
<li><a href="../authors/kolanski/">Rafal Kolanski</a></li>
<li><a href="../authors/koller/">Lukas Koller</a></li>
<li><a href="../authors/krauss/">Alexander Krauss</a></li>
<li><a href="../authors/kreuzer/">Katharina Kreuzer</a></li>
<li><a href="../authors/kuncak/">Viktor Kuncak</a></li>
<li><a href="../authors/kuncar/">Ondřej Kunčar</a></li>
<li><a href="../authors/kurz/">Friedrich Kurz</a></li>
<li><a href="../authors/lachnitt/">Hanna Lachnitt</a></li>
<li><a href="../authors/lallemand/">Joseph Lallemand</a></li>
<li><a href="../authors/lammich/">Peter Lammich</a></li>
<li><a href="../authors/lange/">Christoph Lange</a></li>
<li><a href="../authors/langenstein/">Bruno Langenstein</a></li>
<li><a href="../authors/lattuada/">Andrea Lattuada</a></li>
<li><a href="../authors/lee/">Holden Lee</a></li>
<li><a href="../authors/leustean/">Laurentiu Leustean</a></li>
<li><a href="../authors/lewis/">Corey Lewis</a></li>
<li><a href="../authors/li/">Wenda Li</a></li>
<li><a href="../authors/lim/">Japheth Lim</a></li>
<li><a href="../authors/lindenberg/">Christina Lindenberg</a></li>
<li><a href="../authors/linker/">Sven Linker</a></li>
<li><a href="../authors/liu/">Junyi Liu</a></li>
<li><a href="../authors/liut/">Tao Liu</a></li>
<li><a href="../authors/liuy/">Yang Liu</a></li>
<li><a href="../authors/liy/">Yangjia Li</a></li>
<li><a href="../authors/lochbihler/">Andreas Lochbihler</a></li>
<li><a href="../authors/lochmann/">Alexander Lochmann</a></li>
<li><a href="../authors/lohner/">Denis Lohner</a></li>
<li><a href="../authors/loibl/">Matthias Loibl</a></li>
<li><a href="../authors/londono/">Alejandro Gómez-Londoño</a></li>
<li><a href="../authors/losa/">Giuliano Losa</a></li>
<li><a href="../authors/lutz/">Bianca Lutz</a></li>
<li><a href="../authors/lux/">Alexander Lux</a></li>
<li><a href="../authors/makarios/">T. J. M. Makarios</a></li>
<li><a href="../authors/maletzky/">Alexander Maletzky</a></li>
<li><a href="../authors/mansky/">Susannah Mansky</a></li>
<li><a href="../authors/mantel/">Heiko Mantel</a></li>
<li><a href="../authors/margetson/">James Margetson</a></li>
<li><a href="../authors/maric/">Ognjen Marić</a></li>
<li><a href="../authors/maricf/">Filip Marić</a></li>
<li><a href="../authors/marmsoler/">Diego Marmsoler</a></li>
<li><a href="../authors/matache/">Cristina Matache</a></li>
<li><a href="../authors/matichuk/">Daniel Matichuk</a></li>
<li><a href="../authors/matiyasevich/">Yuri Matiyasevich</a></li>
<li><a href="../authors/maximova/">Alexandra Maximova</a></li>
<li><a href="../authors/meis/">Rene Meis</a></li>
<li><a href="../authors/merz/">Stephan Merz</a></li>
<li><a href="../authors/messner/">Florian Messner</a></li>
<li><a href="../authors/michaelis/">Julius Michaelis</a></li>
<li><a href="../authors/milehins/">Mihails Milehins</a></li>
<li><a href="../authors/minamide/">Yasuhiko Minamide</a></li>
<li><a href="../authors/mitchell/">Neil Mitchell</a></li>
<li><a href="../authors/mitsch/">Stefan Mitsch</a></li>
<li><a href="../authors/moedersheim/">Sebastian Mödersheim</a></li>
<li><a href="../authors/moeller/">Bernhard Möller</a></li>
<li><a href="../authors/muendler/">Niels Mündler</a></li>
<li><a href="../authors/mulligan/">Dominic P. Mulligan</a></li>
<li><a href="../authors/munive/">Jonathan Julian Huerta y Munive</a></li>
<li><a href="../authors/murao/">H. Murao</a></li>
<li><a href="../authors/murray/">Toby Murray</a></li>
<li><a href="../authors/nagashima/">Yutaka Nagashima</a></li>
<li><a href="../authors/nagele/">Julian Nagele</a></li>
<li><a href="../authors/naraschewski/">Wolfgang Naraschewski</a></li>
<li><a href="../authors/nedzelsky/">Michael Nedzelsky</a></li>
<li><a href="../authors/nemeti/">István Németi</a></li>
<li><a href="../authors/nemouchi/">Yakoub Nemouchi</a></li>
<li><a href="../authors/nestmann/">Uwe Nestmann</a></li>
<li><a href="../authors/neumann/">René Neumann</a></li>
<li><a href="../authors/nielsen/">Finn Nielsen</a></li>
<li><a href="../authors/nikiforov/">Denis Nikiforov</a></li>
<li><a href="../authors/nipkow/">Tobias Nipkow</a></li>
<li><a href="../authors/nishihara/">Toshiaki Nishihara</a></li>
<li><a href="../authors/noce/">Pasquale Noce</a></li>
<li><a href="../authors/nordhoff/">Benedikt Nordhoff</a></li>
<li><a href="../authors/noschinski/">Lars Noschinski</a></li>
<li><a href="../authors/obua/">Steven Obua</a></li>
<li><a href="../authors/ogawa/">Mizuhito Ogawa</a></li>
<li><a href="../authors/oldenburg/">Lennart Oldenburg</a></li>
<li><a href="../authors/olm/">Markus Müller-Olm</a></li>
<li><a href="../authors/oosterhuis/">Roelof Oosterhuis</a></li>
<li><a href="../authors/oostrom/">Vincent van Oostrom</a></li>
<li><a href="../authors/ortner/">Veronika Ortner</a></li>
<li><a href="../authors/overbeek/">Roy Overbeek</a></li>
<li><a href="../authors/pagano/">Miguel Pagano</a></li>
<li><a href="../authors/pal/">Abhik Pal</a></li>
<li><a href="../authors/paleo/">Bruno Woltzenlogel Paleo</a></li>
<li><a href="../authors/palmer/">Jake Palmer</a></li>
<li><a href="../authors/parkinson/">Matthew Parkinson</a></li>
<li><a href="../authors/parrow/">Joachim Parrow</a></li>
<li><a href="../authors/parsert/">Julian Parsert</a></li>
<li><a href="../authors/paulson/">Lawrence C. Paulson</a></li>
<li><a href="../authors/peltier/">Nicolas Peltier</a></li>
<li><a href="../authors/peters/">Kirstin Peters</a></li>
<li><a href="../authors/petrovic/">Danijela Petrovic</a></li>
<li><a href="../authors/pierzchalski/">Edward Pierzchalski</a></li>
<li><a href="../authors/platzer/">André Platzer</a></li>
<li><a href="../authors/pollak/">Florian Pollak</a></li>
<li><a href="../authors/popescu/">Andrei Popescu</a></li>
<li><a href="../authors/porter/">Benjamin Porter</a></li>
<li><a href="../authors/prathamesh/">T.V.H. Prathamesh</a></li>
<li><a href="../authors/preoteasa/">Viorel Preoteasa</a></li>
<li><a href="../authors/pusch/">Cornelia Pusch</a></li>
<li><a href="../authors/rabe/">Markus N. Rabe</a></li>
<li><a href="../authors/raedle/">Jonas Rädle</a></li>
<li><a href="../authors/raska/">Martin Raška</a></li>
<li><a href="../authors/raszyk/">Martin Raszyk</a></li>
<li><a href="../authors/rau/">Martin Rau</a></li>
<li><a href="../authors/rauch/">Nicole Rauch</a></li>
<li><a href="../authors/raumer/">Jakob von Raumer</a></li>
<li><a href="../authors/ravindran/">Binoy Ravindran</a></li>
<li><a href="../authors/rawson/">Michael Rawson</a></li>
<li><a href="../authors/raya/">Rodrigo Raya</a></li>
+ <li><a href="../authors/regensburger/">Franz Regensburger</a></li>
+
<li><a href="../authors/reiche/">Sebastian Reiche</a></li>
<li><a href="../authors/reiter/">Markus Reiter</a></li>
<li><a href="../authors/reynaud/">Alban Reynaud</a></li>
<li><a href="../authors/ribeiro/">Pedro Ribeiro</a></li>
<li><a href="../authors/richter/">Stefan Richter</a></li>
<li><a href="../authors/rickmann/">Christina Rickmann</a></li>
<li><a href="../authors/ridge/">Tom Ridge</a></li>
<li><a href="../authors/rizaldi/">Albert Rizaldi</a></li>
<li><a href="../authors/rizkallah/">Christine Rizkallah</a></li>
<li><a href="../authors/robillard/">Simon Robillard</a></li>
<li><a href="../authors/roessle/">Ian Roessle</a></li>
<li><a href="../authors/romanos/">Ralph Romanos</a></li>
<li><a href="../authors/rosskopf/">Simon Roßkopf</a></li>
<li><a href="../authors/rowat/">Colin Rowat</a></li>
<li><a href="../authors/sabouret/">Nicolas Sabouret</a></li>
<li><a href="../authors/sachtleben/">Robert Sachtleben</a></li>
<li><a href="../authors/saile/">Christian Saile</a></li>
<li><a href="../authors/sanan/">David Sanan</a></li>
<li><a href="../authors/sato/">Tetsuya Sato</a></li>
<li><a href="../authors/sauer/">Jens Sauer</a></li>
<li><a href="../authors/schaeffeler/">Maximilian Schäffeler</a></li>
<li><a href="../authors/scharager/">Matias Scharager</a></li>
<li><a href="../authors/schimpf/">Alexander Schimpf</a></li>
<li><a href="../authors/schirmer/">Norbert Schirmer</a></li>
<li><a href="../authors/schleicher/">Dierk Schleicher</a></li>
<li><a href="../authors/schlichtkrull/">Anders Schlichtkrull</a></li>
<li><a href="../authors/schmaltz/">Julien Schmaltz</a></li>
<li><a href="../authors/schmidinger/">Lukas Schmidinger</a></li>
<li><a href="../authors/schmoetten/">Richard Schmoetten</a></li>
<li><a href="../authors/schneider/">Joshua Schneider</a></li>
<li><a href="../authors/schoepe/">Daniel Schoepe</a></li>
<li><a href="../authors/schoepf/">Jonas Schöpf</a></li>
<li><a href="../authors/scott/">Dana Scott</a></li>
<li><a href="../authors/sefidgar/">S. Reza Sefidgar</a></li>
<li><a href="../authors/seidl/">Benedikt Seidl</a></li>
<li><a href="../authors/seidler/">Henning Seidler</a></li>
<li><a href="../authors/sewell/">Thomas Sewell</a></li>
<li><a href="../authors/sickert/">Salomon Sickert</a></li>
<li><a href="../authors/siek/">Jeremy Siek</a></li>
<li><a href="../authors/simic/">Danijela Simić</a></li>
<li><a href="../authors/sison/">Robert Sison</a></li>
<li><a href="../authors/smaus/">Jan-Georg Smaus</a></li>
<li><a href="../authors/smola/">Filip Smola</a></li>
<li><a href="../authors/snelting/">Gregor Snelting</a></li>
<li><a href="../authors/somaini/">Ivano Somaini</a></li>
<li><a href="../authors/somogyi/">Dániel Somogyi</a></li>
<li><a href="../authors/spasic/">Mirko Spasić</a></li>
<li><a href="../authors/spichkova/">Maria Spichkova</a></li>
<li><a href="../authors/sprenger/">Christoph Sprenger</a></li>
<li><a href="../authors/stannett/">Mike Stannett</a></li>
<li><a href="../authors/stark/">Eugene W. Stark</a></li>
<li><a href="../authors/starosta/">Štěpán Starosta</a></li>
<li><a href="../authors/steinberg/">Matías Steinberg</a></li>
<li><a href="../authors/stephan/">Werner Stephan</a></li>
<li><a href="../authors/sternagel/">Christian Sternagel</a></li>
<li><a href="../authors/sternagelt/">Thomas Sternagel</a></li>
<li><a href="../authors/stevens/">Lukas Stevens</a></li>
<li><a href="../authors/stock/">Benedikt Stock</a></li>
<li><a href="../authors/stricker/">Christian Stricker</a></li>
<li><a href="../authors/strnisa/">Rok Strniša</a></li>
<li><a href="../authors/struth/">Georg Struth</a></li>
<li><a href="../authors/stueber/">Anke Stüber</a></li>
<li><a href="../authors/stuewe/">Daniel Stüwe</a></li>
<li><a href="../authors/sudbrock/">Henning Sudbrock</a></li>
<li><a href="../authors/sudhof/">Henry Sudhof</a></li>
<li><a href="../authors/sulejmani/">Ujkan Sulejmani</a></li>
<li><a href="../authors/sylvestre/">Jeremy Sylvestre</a></li>
<li><a href="../authors/taha/">Safouan Taha</a></li>
<li><a href="../authors/tan/">Yong Kiam Tan</a></li>
<li><a href="../authors/tasch/">Markus Tasch</a></li>
<li><a href="../authors/taylor/">Ramsay G. Taylor</a></li>
<li><a href="../authors/terraf/">Pedro Sánchez Terraf</a></li>
<li><a href="../authors/thiemann/">René Thiemann</a></li>
<li><a href="../authors/thommes/">Joseph Thommes</a></li>
<li><a href="../authors/thomson/">Fox Thomson</a></li>
<li><a href="../authors/tiu/">Alwen Tiu</a></li>
<li><a href="../authors/toth/">Balazs Toth</a></li>
<li><a href="../authors/tourret/">Sophie Tourret</a></li>
<li><a href="../authors/trachtenherz/">David Trachtenherz</a></li>
<li><a href="../authors/traut/">Christoph Traut</a></li>
<li><a href="../authors/traytel/">Dmitriy Traytel</a></li>
<li><a href="../authors/tuong/">Frédéric Tuong</a></li>
<li><a href="../authors/tuongj/">Joseph Tuong</a></li>
<li><a href="../authors/tverdyshev/">Sergey Tverdyshev</a></li>
<li><a href="../authors/ullrich/">Sebastian Ullrich</a></li>
<li><a href="../authors/unruh/">Dominique Unruh</a></li>
<li><a href="../authors/urban/">Christian Urban</a></li>
<li><a href="../authors/van/">Hai Nguyen Van</a></li>
<li><a href="../authors/velykis/">Andrius Velykis</a></li>
<li><a href="../authors/verbeek/">Freek Verbeek</a></li>
<li><a href="../authors/villadsen/">Jørgen Villadsen</a></li>
<li><a href="../authors/voisin/">Frederic Voisin</a></li>
<li><a href="../authors/vytiniotis/">Dimitrios Vytiniotis</a></li>
<li><a href="../authors/wagner/">Max Wagner</a></li>
<li><a href="../authors/waldmann/">Uwe Waldmann</a></li>
<li><a href="../authors/wand/">Daniel Wand</a></li>
<li><a href="../authors/wang/">Shuling Wang</a></li>
<li><a href="../authors/wassell/">Mark Wassell</a></li>
<li><a href="../authors/wasserrab/">Daniel Wasserrab</a></li>
<li><a href="../authors/watt/">Conrad Watt</a></li>
<li><a href="../authors/weber/">Tjark Weber</a></li>
<li><a href="../authors/weerwag/">Timmy Weerwag</a></li>
<li><a href="../authors/weidner/">Arno Wilhelm-Weidner</a></li>
<li><a href="../authors/wenzel/">Makarius Wenzel</a></li>
<li><a href="../authors/wickerson/">John Wickerson</a></li>
<li><a href="../authors/willenbrink/">Sebastian Willenbrink</a></li>
<li><a href="../authors/wimmer/">Simon Wimmer</a></li>
<li><a href="../authors/wirt/">Kai Wirt</a></li>
<li><a href="../authors/wolff/">Burkhart Wolff</a></li>
<li><a href="../authors/wu/">Chunhan Wu</a></li>
<li><a href="../authors/xu/">Jian Xu</a></li>
<li><a href="../authors/yamada/">Akihisa Yamada</a></li>
<li><a href="../authors/ye/">Lina Ye</a></li>
<li><a href="../authors/ying/">Shenggang Ying</a></li>
<li><a href="../authors/yingm/">Mingsheng Ying</a></li>
<li><a href="../authors/yu/">Lei Yu</a></li>
<li><a href="../authors/zankl/">Harald Zankl</a></li>
<li><a href="../authors/zee/">Karen Zee</a></li>
<li><a href="../authors/zeller/">Peter Zeller</a></li>
<li><a href="../authors/zeyda/">Frank Zeyda</a></li>
<li><a href="../authors/zhan/">Bohua Zhan</a></li>
<li><a href="../authors/zhang/">Yu Zhang</a></li>
<li><a href="../authors/zhangx/">Xingyuan Zhang</a></li>
<li><a href="../authors/zhann/">Naijun Zhan</a></li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/authors/index.json b/web/authors/index.json
--- a/web/authors/index.json
+++ b/web/authors/index.json
@@ -1,1 +1,1 @@
-[{"id":0,"link":"/authors/abdulaziz/","name":"Mohammad Abdulaziz"},{"id":1,"link":"/authors/adelsberger/","name":"Stephan Adelsberger"},{"id":2,"link":"/authors/aehlig/","name":"Klaus Aehlig"},{"id":3,"link":"/authors/aissat/","name":"Romain Aissat"},{"id":4,"link":"/authors/amani/","name":"Sidney Amani"},{"id":5,"link":"/authors/ammer/","name":"Thomas Ammer"},{"id":6,"link":"/authors/andronick/","name":"June Andronick"},{"id":7,"link":"/authors/aransay/","name":"Jesús Aransay"},{"id":8,"link":"/authors/argyraki/","name":"Angeliki Koutsoukou-Argyraki"},{"id":9,"link":"/authors/armstrong/","name":"Alasdair Armstrong"},{"id":10,"link":"/authors/aspinall/","name":"David Aspinall"},{"id":11,"link":"/authors/ausaf/","name":"Fahad Ausaf"},{"id":12,"link":"/authors/avigad/","name":"Jeremy Avigad"},{"id":13,"link":"/authors/back/","name":"Ralph-Johan Back"},{"id":14,"link":"/authors/balbach/","name":"Frank J. Balbach"},{"id":15,"link":"/authors/ballarin/","name":"Clemens Ballarin"},{"id":16,"link":"/authors/barsotti/","name":"Damián Barsotti"},{"id":17,"link":"/authors/bauer/","name":"Gertrud Bauer"},{"id":18,"link":"/authors/bauereiss/","name":"Thomas Bauereiss"},{"id":19,"link":"/authors/bayer/","name":"Jonas Bayer"},{"id":20,"link":"/authors/becker/","name":"Heiko Becker"},{"id":21,"link":"/authors/beeren/","name":"Joel Beeren"},{"id":22,"link":"/authors/bella/","name":"Giampaolo Bella"},{"id":23,"link":"/authors/bengtson/","name":"Jesper Bengtson"},{"id":24,"link":"/authors/bentkamp/","name":"Alexander Bentkamp"},{"id":25,"link":"/authors/benzmueller/","name":"Christoph Benzmüller"},{"id":26,"link":"/authors/beresford/","name":"Alastair R. Beresford"},{"id":27,"link":"/authors/berghofer/","name":"Stefan Berghofer"},{"id":28,"link":"/authors/beringer/","name":"Lennart Beringer"},{"id":29,"link":"/authors/bharadwaj/","name":"Abhijith Bharadwaj"},{"id":30,"link":"/authors/bhatt/","name":"Bhargav Bhatt"},{"id":31,"link":"/authors/biendarra/","name":"Julian Biendarra"},{"id":32,"link":"/authors/bisping/","name":"Benjamin Bisping"},{"id":33,"link":"/authors/blanchette/","name":"Jasmin Christian Blanchette"},{"id":34,"link":"/authors/blasum/","name":"Holger Blasum"},{"id":35,"link":"/authors/blumson/","name":"Ben Blumson"},{"id":36,"link":"/authors/bockenek/","name":"Joshua Bockenek"},{"id":37,"link":"/authors/boehme/","name":"Sascha Böhme"},{"id":38,"link":"/authors/bohrer/","name":"Rose Bohrer"},{"id":39,"link":"/authors/bordg/","name":"Anthony Bordg"},{"id":40,"link":"/authors/borgstroem/","name":"Johannes Borgström"},{"id":41,"link":"/authors/bortin/","name":"Maksym Bortin"},{"id":42,"link":"/authors/bottesch/","name":"Ralph Bottesch"},{"id":43,"link":"/authors/boulanger/","name":"Frédéric Boulanger"},{"id":44,"link":"/authors/bourke/","name":"Timothy Bourke"},{"id":45,"link":"/authors/boutry/","name":"Pierre Boutry"},{"id":46,"link":"/authors/boyton/","name":"Andrew Boyton"},{"id":47,"link":"/authors/bracevac/","name":"Oliver Bračevac"},{"id":48,"link":"/authors/brandt/","name":"Felix Brandt"},{"id":49,"link":"/authors/breitner/","name":"Joachim Breitner"},{"id":50,"link":"/authors/brien/","name":"Nicolas Robinson-O'Brien"},{"id":51,"link":"/authors/brinkop/","name":"Hauke Brinkop"},{"id":52,"link":"/authors/brodmann/","name":"Paul-David Brodmann"},{"id":53,"link":"/authors/brucker/","name":"Achim D. Brucker"},{"id":54,"link":"/authors/bruegger/","name":"Lukas Brügger"},{"id":55,"link":"/authors/brun/","name":"Matthias Brun"},{"id":56,"link":"/authors/brunner/","name":"Julian Brunner"},{"id":57,"link":"/authors/bulwahn/","name":"Lukas Bulwahn"},{"id":58,"link":"/authors/butler/","name":"David Butler"},{"id":59,"link":"/authors/buyse/","name":"Maxime Buyse"},{"id":60,"link":"/authors/caballero/","name":"José Manuel Rodríguez Caballero"},{"id":61,"link":"/authors/caminati/","name":"Marco B. Caminati"},{"id":62,"link":"/authors/campo/","name":"Alejandro del Campo"},{"id":63,"link":"/authors/chapman/","name":"Peter Chapman"},{"id":64,"link":"/authors/chen/","name":"L. Chen"},{"id":65,"link":"/authors/clouston/","name":"Ranald Clouston"},{"id":66,"link":"/authors/cock/","name":"David Cock"},{"id":67,"link":"/authors/coghetto/","name":"Roland Coghetto"},{"id":68,"link":"/authors/coglio/","name":"Alessandro Coglio"},{"id":69,"link":"/authors/cohen/","name":"Ernie Cohen"},{"id":70,"link":"/authors/cordwell/","name":"Katherine Cordwell"},{"id":71,"link":"/authors/cousin/","name":"Marie Cousin"},{"id":72,"link":"/authors/crighton/","name":"Aaron Crighton"},{"id":73,"link":"/authors/dardinier/","name":"Thibault Dardinier"},{"id":74,"link":"/authors/david/","name":"Marco David"},{"id":75,"link":"/authors/debrat/","name":"Henri Debrat"},{"id":76,"link":"/authors/decova/","name":"Sára Decova"},{"id":77,"link":"/authors/derrick/","name":"John Derrick"},{"id":78,"link":"/authors/desharnais/","name":"Martin Desharnais"},{"id":79,"link":"/authors/diaz/","name":"Javier Díaz"},{"id":80,"link":"/authors/diekmann/","name":"Cornelius Diekmann"},{"id":81,"link":"/authors/dirix/","name":"Stefan Dirix"},{"id":82,"link":"/authors/dittmann/","name":"Christoph Dittmann"},{"id":83,"link":"/authors/divason/","name":"Jose Divasón"},{"id":84,"link":"/authors/doczkal/","name":"Christian Doczkal"},{"id":85,"link":"/authors/dongol/","name":"Brijesh Dongol"},{"id":86,"link":"/authors/doty/","name":"Matthew Wampler-Doty"},{"id":87,"link":"/authors/dubut/","name":"Jérémy Dubut"},{"id":88,"link":"/authors/dunaev/","name":"Georgy Dunaev"},{"id":89,"link":"/authors/dyckhoff/","name":"Roy Dyckhoff"},{"id":90,"link":"/authors/eberl/","name":"Manuel Eberl"},{"id":91,"link":"/authors/echenim/","name":"Mnacho Echenim"},{"id":92,"link":"/authors/edmonds/","name":"Chelsea Edmonds"},{"id":93,"link":"/authors/engelhardt/","name":"Kai Engelhardt"},{"id":94,"link":"/authors/eriksson/","name":"Lars-Henrik Eriksson"},{"id":95,"link":"/authors/esparza/","name":"Javier Esparza"},{"id":96,"link":"/authors/essmann/","name":"Robin Eßmann"},{"id":97,"link":"/authors/felgenhauer/","name":"Bertram Felgenhauer"},{"id":98,"link":"/authors/feliachi/","name":"Abderrahmane Feliachi"},{"id":99,"link":"/authors/fell/","name":"Julian Fell"},{"id":100,"link":"/authors/fernandez/","name":"Matthew Fernandez"},{"id":101,"link":"/authors/fiedler/","name":"Ben Fiedler"},{"id":102,"link":"/authors/fleuriot/","name":"Jacques D. Fleuriot"},{"id":103,"link":"/authors/fleury/","name":"Mathias Fleury"},{"id":104,"link":"/authors/foster/","name":"Michael Foster"},{"id":105,"link":"/authors/fosterj/","name":"J. Nathan Foster"},{"id":106,"link":"/authors/fosters/","name":"Simon Foster"},{"id":107,"link":"/authors/fouillard/","name":"Valentin Fouillard"},{"id":108,"link":"/authors/friedrich/","name":"Stefan Friedrich"},{"id":109,"link":"/authors/from/","name":"Asta Halkjær From"},{"id":110,"link":"/authors/fuenmayor/","name":"David Fuenmayor"},{"id":111,"link":"/authors/furusawa/","name":"Hitoshi Furusawa"},{"id":112,"link":"/authors/gammie/","name":"Peter Gammie"},{"id":113,"link":"/authors/gao/","name":"Xin Gao"},{"id":114,"link":"/authors/gaudel/","name":"Marie-Claude Gaudel"},{"id":115,"link":"/authors/gay/","name":"Richard Gay"},{"id":116,"link":"/authors/georgescu/","name":"George Georgescu"},{"id":117,"link":"/authors/gheri/","name":"Lorenzo Gheri"},{"id":118,"link":"/authors/ghourabi/","name":"Fadoua Ghourabi"},{"id":119,"link":"/authors/gioiosa/","name":"Gianpaolo Gioiosa"},{"id":120,"link":"/authors/glabbeek/","name":"Rob van Glabbeek"},{"id":121,"link":"/authors/gomes/","name":"Victor B. F. Gomes"},{"id":122,"link":"/authors/gonzalez/","name":"Edgar Gonzàlez"},{"id":123,"link":"/authors/gore/","name":"Rajeev Gore"},{"id":124,"link":"/authors/gouezel/","name":"Sebastien Gouezel"},{"id":125,"link":"/authors/grechuk/","name":"Bogdan Grechuk"},{"id":126,"link":"/authors/grewe/","name":"Sylvia Grewe"},{"id":127,"link":"/authors/griebel/","name":"Simon Griebel"},{"id":128,"link":"/authors/grov/","name":"Gudmund Grov"},{"id":129,"link":"/authors/guerraoui/","name":"Rachid Guerraoui"},{"id":130,"link":"/authors/guiol/","name":"Hervé Guiol"},{"id":131,"link":"/authors/gunther/","name":"Emmanuel Gunther"},{"id":132,"link":"/authors/gutkovas/","name":"Ramunas Gutkovas"},{"id":133,"link":"/authors/guttmann/","name":"Walter Guttmann"},{"id":134,"link":"/authors/haftmann/","name":"Florian Haftmann"},{"id":135,"link":"/authors/haslbeck/","name":"Max W. Haslbeck"},{"id":136,"link":"/authors/haslbeckm/","name":"Maximilian P. L. Haslbeck"},{"id":137,"link":"/authors/havle/","name":"Oto Havle"},{"id":138,"link":"/authors/hayes/","name":"Ian J. Hayes"},{"id":139,"link":"/authors/he/","name":"Yijun He"},{"id":140,"link":"/authors/heimes/","name":"Lukas Heimes"},{"id":141,"link":"/authors/helke/","name":"Steffen Helke"},{"id":142,"link":"/authors/hellauer/","name":"Fabian Hellauer"},{"id":143,"link":"/authors/heller/","name":"Armin Heller"},{"id":144,"link":"/authors/henrio/","name":"Ludovic Henrio"},{"id":145,"link":"/authors/herzberg/","name":"Michael Herzberg"},{"id":146,"link":"/authors/hess/","name":"Andreas V. Hess"},{"id":147,"link":"/authors/hetzl/","name":"Stefan Hetzl"},{"id":148,"link":"/authors/hibon/","name":"Quentin Hibon"},{"id":149,"link":"/authors/hirata/","name":"Michikazu Hirata"},{"id":150,"link":"/authors/hoefner/","name":"Peter Höfner"},{"id":151,"link":"/authors/hoelzl/","name":"Johannes Hölzl"},{"id":152,"link":"/authors/hofmann/","name":"Martin Hofmann"},{"id":153,"link":"/authors/holub/","name":"Štěpán Holub"},{"id":154,"link":"/authors/hosking/","name":"Tony Hosking"},{"id":155,"link":"/authors/hou/","name":"Zhe Hou"},{"id":156,"link":"/authors/hu/","name":"Shuwei Hu"},{"id":157,"link":"/authors/huffman/","name":"Brian Huffman"},{"id":158,"link":"/authors/hupel/","name":"Lars Hupel"},{"id":159,"link":"/authors/ijbema/","name":"Mark Ijbema"},{"id":160,"link":"/authors/immler/","name":"Fabian Immler"},{"id":161,"link":"/authors/ito/","name":"Yosuke Ito"},{"id":162,"link":"/authors/iwama/","name":"Fumiya Iwama"},{"id":163,"link":"/authors/jacobsen/","name":"Frederik Krogsdal Jacobsen"},{"id":164,"link":"/authors/jaskelioff/","name":"Mauro Jaskelioff"},{"id":165,"link":"/authors/jaskolka/","name":"Jason Jaskolka"},{"id":166,"link":"/authors/jensen/","name":"Alexander Birch Jensen"},{"id":167,"link":"/authors/jiang/","name":"Nan Jiang"},{"id":168,"link":"/authors/jiangd/","name":"Dongchen Jiang"},{"id":169,"link":"/authors/joosten/","name":"Sebastiaan J. C. Joosten"},{"id":170,"link":"/authors/jungnickel/","name":"Tim Jungnickel"},{"id":171,"link":"/authors/kadzioka/","name":"Maya Kądziołka"},{"id":172,"link":"/authors/kaliszyk/","name":"Cezary Kaliszyk"},{"id":173,"link":"/authors/kammueller/","name":"Florian Kammüller"},{"id":174,"link":"/authors/kappelmann/","name":"Kevin Kappelmann"},{"id":175,"link":"/authors/karayel/","name":"Emin Karayel"},{"id":176,"link":"/authors/kastermans/","name":"Bart Kastermans"},{"id":177,"link":"/authors/katovsky/","name":"Alexander Katovsky"},{"id":178,"link":"/authors/kaufmann/","name":"Daniela Kaufmann"},{"id":179,"link":"/authors/keefe/","name":"Greg O'Keefe"},{"id":180,"link":"/authors/keinholz/","name":"Jonas Keinholz"},{"id":181,"link":"/authors/kerber/","name":"Manfred Kerber"},{"id":182,"link":"/authors/ketland/","name":"Jeffrey Ketland"},{"id":183,"link":"/authors/kirchner/","name":"Daniel Kirchner"},{"id":184,"link":"/authors/klein/","name":"Gerwin Klein"},{"id":185,"link":"/authors/klenze/","name":"Tobias Klenze"},{"id":186,"link":"/authors/kleppmann/","name":"Martin Kleppmann"},{"id":187,"link":"/authors/kobayashi/","name":"Hidetsune Kobayashi"},{"id":188,"link":"/authors/koerner/","name":"Stefan Körner"},{"id":189,"link":"/authors/kolanski/","name":"Rafal Kolanski"},{"id":190,"link":"/authors/koller/","name":"Lukas Koller"},{"id":191,"link":"/authors/krauss/","name":"Alexander Krauss"},{"id":192,"link":"/authors/kreuzer/","name":"Katharina Kreuzer"},{"id":193,"link":"/authors/kuncak/","name":"Viktor Kuncak"},{"id":194,"link":"/authors/kuncar/","name":"Ondřej Kunčar"},{"id":195,"link":"/authors/kurz/","name":"Friedrich Kurz"},{"id":196,"link":"/authors/lachnitt/","name":"Hanna Lachnitt"},{"id":197,"link":"/authors/lallemand/","name":"Joseph Lallemand"},{"id":198,"link":"/authors/lammich/","name":"Peter Lammich"},{"id":199,"link":"/authors/lange/","name":"Christoph Lange"},{"id":200,"link":"/authors/langenstein/","name":"Bruno Langenstein"},{"id":201,"link":"/authors/lattuada/","name":"Andrea Lattuada"},{"id":202,"link":"/authors/lee/","name":"Holden Lee"},{"id":203,"link":"/authors/leustean/","name":"Laurentiu Leustean"},{"id":204,"link":"/authors/lewis/","name":"Corey Lewis"},{"id":205,"link":"/authors/li/","name":"Wenda Li"},{"id":206,"link":"/authors/lim/","name":"Japheth Lim"},{"id":207,"link":"/authors/lindenberg/","name":"Christina Lindenberg"},{"id":208,"link":"/authors/linker/","name":"Sven Linker"},{"id":209,"link":"/authors/liu/","name":"Junyi Liu"},{"id":210,"link":"/authors/liut/","name":"Tao Liu"},{"id":211,"link":"/authors/liuy/","name":"Yang Liu"},{"id":212,"link":"/authors/liy/","name":"Yangjia Li"},{"id":213,"link":"/authors/lochbihler/","name":"Andreas Lochbihler"},{"id":214,"link":"/authors/lochmann/","name":"Alexander Lochmann"},{"id":215,"link":"/authors/lohner/","name":"Denis Lohner"},{"id":216,"link":"/authors/loibl/","name":"Matthias Loibl"},{"id":217,"link":"/authors/londono/","name":"Alejandro Gómez-Londoño"},{"id":218,"link":"/authors/losa/","name":"Giuliano Losa"},{"id":219,"link":"/authors/lutz/","name":"Bianca Lutz"},{"id":220,"link":"/authors/lux/","name":"Alexander Lux"},{"id":221,"link":"/authors/makarios/","name":"T. J. M. Makarios"},{"id":222,"link":"/authors/maletzky/","name":"Alexander Maletzky"},{"id":223,"link":"/authors/mansky/","name":"Susannah Mansky"},{"id":224,"link":"/authors/mantel/","name":"Heiko Mantel"},{"id":225,"link":"/authors/margetson/","name":"James Margetson"},{"id":226,"link":"/authors/maric/","name":"Ognjen Marić"},{"id":227,"link":"/authors/maricf/","name":"Filip Marić"},{"id":228,"link":"/authors/marmsoler/","name":"Diego Marmsoler"},{"id":229,"link":"/authors/matache/","name":"Cristina Matache"},{"id":230,"link":"/authors/matichuk/","name":"Daniel Matichuk"},{"id":231,"link":"/authors/matiyasevich/","name":"Yuri Matiyasevich"},{"id":232,"link":"/authors/maximova/","name":"Alexandra Maximova"},{"id":233,"link":"/authors/meis/","name":"Rene Meis"},{"id":234,"link":"/authors/merz/","name":"Stephan Merz"},{"id":235,"link":"/authors/messner/","name":"Florian Messner"},{"id":236,"link":"/authors/michaelis/","name":"Julius Michaelis"},{"id":237,"link":"/authors/milehins/","name":"Mihails Milehins"},{"id":238,"link":"/authors/minamide/","name":"Yasuhiko Minamide"},{"id":239,"link":"/authors/mitchell/","name":"Neil Mitchell"},{"id":240,"link":"/authors/mitsch/","name":"Stefan Mitsch"},{"id":241,"link":"/authors/moedersheim/","name":"Sebastian Mödersheim"},{"id":242,"link":"/authors/moeller/","name":"Bernhard Möller"},{"id":243,"link":"/authors/muendler/","name":"Niels Mündler"},{"id":244,"link":"/authors/mulligan/","name":"Dominic P. Mulligan"},{"id":245,"link":"/authors/munive/","name":"Jonathan Julian Huerta y Munive"},{"id":246,"link":"/authors/murao/","name":"H. Murao"},{"id":247,"link":"/authors/murray/","name":"Toby Murray"},{"id":248,"link":"/authors/nagashima/","name":"Yutaka Nagashima"},{"id":249,"link":"/authors/nagele/","name":"Julian Nagele"},{"id":250,"link":"/authors/naraschewski/","name":"Wolfgang Naraschewski"},{"id":251,"link":"/authors/nedzelsky/","name":"Michael Nedzelsky"},{"id":252,"link":"/authors/nemeti/","name":"István Németi"},{"id":253,"link":"/authors/nemouchi/","name":"Yakoub Nemouchi"},{"id":254,"link":"/authors/nestmann/","name":"Uwe Nestmann"},{"id":255,"link":"/authors/neumann/","name":"René Neumann"},{"id":256,"link":"/authors/nielsen/","name":"Finn Nielsen"},{"id":257,"link":"/authors/nikiforov/","name":"Denis Nikiforov"},{"id":258,"link":"/authors/nipkow/","name":"Tobias Nipkow"},{"id":259,"link":"/authors/nishihara/","name":"Toshiaki Nishihara"},{"id":260,"link":"/authors/noce/","name":"Pasquale Noce"},{"id":261,"link":"/authors/nordhoff/","name":"Benedikt Nordhoff"},{"id":262,"link":"/authors/noschinski/","name":"Lars Noschinski"},{"id":263,"link":"/authors/obua/","name":"Steven Obua"},{"id":264,"link":"/authors/ogawa/","name":"Mizuhito Ogawa"},{"id":265,"link":"/authors/oldenburg/","name":"Lennart Oldenburg"},{"id":266,"link":"/authors/olm/","name":"Markus Müller-Olm"},{"id":267,"link":"/authors/oosterhuis/","name":"Roelof Oosterhuis"},{"id":268,"link":"/authors/oostrom/","name":"Vincent van Oostrom"},{"id":269,"link":"/authors/ortner/","name":"Veronika Ortner"},{"id":270,"link":"/authors/overbeek/","name":"Roy Overbeek"},{"id":271,"link":"/authors/pagano/","name":"Miguel Pagano"},{"id":272,"link":"/authors/pal/","name":"Abhik Pal"},{"id":273,"link":"/authors/paleo/","name":"Bruno Woltzenlogel Paleo"},{"id":274,"link":"/authors/palmer/","name":"Jake Palmer"},{"id":275,"link":"/authors/parkinson/","name":"Matthew Parkinson"},{"id":276,"link":"/authors/parrow/","name":"Joachim Parrow"},{"id":277,"link":"/authors/parsert/","name":"Julian Parsert"},{"id":278,"link":"/authors/paulson/","name":"Lawrence C. Paulson"},{"id":279,"link":"/authors/peltier/","name":"Nicolas Peltier"},{"id":280,"link":"/authors/peters/","name":"Kirstin Peters"},{"id":281,"link":"/authors/petrovic/","name":"Danijela Petrovic"},{"id":282,"link":"/authors/pierzchalski/","name":"Edward Pierzchalski"},{"id":283,"link":"/authors/platzer/","name":"André Platzer"},{"id":284,"link":"/authors/pollak/","name":"Florian Pollak"},{"id":285,"link":"/authors/popescu/","name":"Andrei Popescu"},{"id":286,"link":"/authors/porter/","name":"Benjamin Porter"},{"id":287,"link":"/authors/prathamesh/","name":"T.V.H. Prathamesh"},{"id":288,"link":"/authors/preoteasa/","name":"Viorel Preoteasa"},{"id":289,"link":"/authors/pusch/","name":"Cornelia Pusch"},{"id":290,"link":"/authors/rabe/","name":"Markus N. Rabe"},{"id":291,"link":"/authors/raedle/","name":"Jonas Rädle"},{"id":292,"link":"/authors/raska/","name":"Martin Raška"},{"id":293,"link":"/authors/raszyk/","name":"Martin Raszyk"},{"id":294,"link":"/authors/rau/","name":"Martin Rau"},{"id":295,"link":"/authors/rauch/","name":"Nicole Rauch"},{"id":296,"link":"/authors/raumer/","name":"Jakob von Raumer"},{"id":297,"link":"/authors/ravindran/","name":"Binoy Ravindran"},{"id":298,"link":"/authors/rawson/","name":"Michael Rawson"},{"id":299,"link":"/authors/raya/","name":"Rodrigo Raya"},{"id":300,"link":"/authors/reiche/","name":"Sebastian Reiche"},{"id":301,"link":"/authors/reiter/","name":"Markus Reiter"},{"id":302,"link":"/authors/reynaud/","name":"Alban Reynaud"},{"id":303,"link":"/authors/ribeiro/","name":"Pedro Ribeiro"},{"id":304,"link":"/authors/richter/","name":"Stefan Richter"},{"id":305,"link":"/authors/rickmann/","name":"Christina Rickmann"},{"id":306,"link":"/authors/ridge/","name":"Tom Ridge"},{"id":307,"link":"/authors/rizaldi/","name":"Albert Rizaldi"},{"id":308,"link":"/authors/rizkallah/","name":"Christine Rizkallah"},{"id":309,"link":"/authors/robillard/","name":"Simon Robillard"},{"id":310,"link":"/authors/roessle/","name":"Ian Roessle"},{"id":311,"link":"/authors/romanos/","name":"Ralph Romanos"},{"id":312,"link":"/authors/rosskopf/","name":"Simon Roßkopf"},{"id":313,"link":"/authors/rowat/","name":"Colin Rowat"},{"id":314,"link":"/authors/sabouret/","name":"Nicolas Sabouret"},{"id":315,"link":"/authors/sachtleben/","name":"Robert Sachtleben"},{"id":316,"link":"/authors/saile/","name":"Christian Saile"},{"id":317,"link":"/authors/sanan/","name":"David Sanan"},{"id":318,"link":"/authors/sato/","name":"Tetsuya Sato"},{"id":319,"link":"/authors/sauer/","name":"Jens Sauer"},{"id":320,"link":"/authors/schaeffeler/","name":"Maximilian Schäffeler"},{"id":321,"link":"/authors/scharager/","name":"Matias Scharager"},{"id":322,"link":"/authors/schimpf/","name":"Alexander Schimpf"},{"id":323,"link":"/authors/schirmer/","name":"Norbert Schirmer"},{"id":324,"link":"/authors/schleicher/","name":"Dierk Schleicher"},{"id":325,"link":"/authors/schlichtkrull/","name":"Anders Schlichtkrull"},{"id":326,"link":"/authors/schmaltz/","name":"Julien Schmaltz"},{"id":327,"link":"/authors/schmidinger/","name":"Lukas Schmidinger"},{"id":328,"link":"/authors/schmoetten/","name":"Richard Schmoetten"},{"id":329,"link":"/authors/schneider/","name":"Joshua Schneider"},{"id":330,"link":"/authors/schoepe/","name":"Daniel Schoepe"},{"id":331,"link":"/authors/schoepf/","name":"Jonas Schöpf"},{"id":332,"link":"/authors/scott/","name":"Dana Scott"},{"id":333,"link":"/authors/sefidgar/","name":"S. Reza Sefidgar"},{"id":334,"link":"/authors/seidl/","name":"Benedikt Seidl"},{"id":335,"link":"/authors/seidler/","name":"Henning Seidler"},{"id":336,"link":"/authors/sewell/","name":"Thomas Sewell"},{"id":337,"link":"/authors/sickert/","name":"Salomon Sickert"},{"id":338,"link":"/authors/siek/","name":"Jeremy Siek"},{"id":339,"link":"/authors/simic/","name":"Danijela Simić"},{"id":340,"link":"/authors/sison/","name":"Robert Sison"},{"id":341,"link":"/authors/smaus/","name":"Jan-Georg Smaus"},{"id":342,"link":"/authors/smola/","name":"Filip Smola"},{"id":343,"link":"/authors/snelting/","name":"Gregor Snelting"},{"id":344,"link":"/authors/somaini/","name":"Ivano Somaini"},{"id":345,"link":"/authors/somogyi/","name":"Dániel Somogyi"},{"id":346,"link":"/authors/spasic/","name":"Mirko Spasić"},{"id":347,"link":"/authors/spichkova/","name":"Maria Spichkova"},{"id":348,"link":"/authors/sprenger/","name":"Christoph Sprenger"},{"id":349,"link":"/authors/stannett/","name":"Mike Stannett"},{"id":350,"link":"/authors/stark/","name":"Eugene W. Stark"},{"id":351,"link":"/authors/starosta/","name":"Štěpán Starosta"},{"id":352,"link":"/authors/steinberg/","name":"Matías Steinberg"},{"id":353,"link":"/authors/stephan/","name":"Werner Stephan"},{"id":354,"link":"/authors/sternagel/","name":"Christian Sternagel"},{"id":355,"link":"/authors/sternagelt/","name":"Thomas Sternagel"},{"id":356,"link":"/authors/stevens/","name":"Lukas Stevens"},{"id":357,"link":"/authors/stock/","name":"Benedikt Stock"},{"id":358,"link":"/authors/stricker/","name":"Christian Stricker"},{"id":359,"link":"/authors/strnisa/","name":"Rok Strniša"},{"id":360,"link":"/authors/struth/","name":"Georg Struth"},{"id":361,"link":"/authors/stueber/","name":"Anke Stüber"},{"id":362,"link":"/authors/stuewe/","name":"Daniel Stüwe"},{"id":363,"link":"/authors/sudbrock/","name":"Henning Sudbrock"},{"id":364,"link":"/authors/sudhof/","name":"Henry Sudhof"},{"id":365,"link":"/authors/sulejmani/","name":"Ujkan Sulejmani"},{"id":366,"link":"/authors/sylvestre/","name":"Jeremy Sylvestre"},{"id":367,"link":"/authors/taha/","name":"Safouan Taha"},{"id":368,"link":"/authors/tan/","name":"Yong Kiam Tan"},{"id":369,"link":"/authors/tasch/","name":"Markus Tasch"},{"id":370,"link":"/authors/taylor/","name":"Ramsay G. Taylor"},{"id":371,"link":"/authors/terraf/","name":"Pedro Sánchez Terraf"},{"id":372,"link":"/authors/thiemann/","name":"René Thiemann"},{"id":373,"link":"/authors/thommes/","name":"Joseph Thommes"},{"id":374,"link":"/authors/thomson/","name":"Fox Thomson"},{"id":375,"link":"/authors/tiu/","name":"Alwen Tiu"},{"id":376,"link":"/authors/toth/","name":"Balazs Toth"},{"id":377,"link":"/authors/tourret/","name":"Sophie Tourret"},{"id":378,"link":"/authors/trachtenherz/","name":"David Trachtenherz"},{"id":379,"link":"/authors/traut/","name":"Christoph Traut"},{"id":380,"link":"/authors/traytel/","name":"Dmitriy Traytel"},{"id":381,"link":"/authors/tuong/","name":"Frédéric Tuong"},{"id":382,"link":"/authors/tuongj/","name":"Joseph Tuong"},{"id":383,"link":"/authors/tverdyshev/","name":"Sergey Tverdyshev"},{"id":384,"link":"/authors/ullrich/","name":"Sebastian Ullrich"},{"id":385,"link":"/authors/unruh/","name":"Dominique Unruh"},{"id":386,"link":"/authors/urban/","name":"Christian Urban"},{"id":387,"link":"/authors/van/","name":"Hai Nguyen Van"},{"id":388,"link":"/authors/velykis/","name":"Andrius Velykis"},{"id":389,"link":"/authors/verbeek/","name":"Freek Verbeek"},{"id":390,"link":"/authors/villadsen/","name":"Jørgen Villadsen"},{"id":391,"link":"/authors/voisin/","name":"Frederic Voisin"},{"id":392,"link":"/authors/vytiniotis/","name":"Dimitrios Vytiniotis"},{"id":393,"link":"/authors/wagner/","name":"Max Wagner"},{"id":394,"link":"/authors/waldmann/","name":"Uwe Waldmann"},{"id":395,"link":"/authors/wand/","name":"Daniel Wand"},{"id":396,"link":"/authors/wang/","name":"Shuling Wang"},{"id":397,"link":"/authors/wassell/","name":"Mark Wassell"},{"id":398,"link":"/authors/wasserrab/","name":"Daniel Wasserrab"},{"id":399,"link":"/authors/watt/","name":"Conrad Watt"},{"id":400,"link":"/authors/weber/","name":"Tjark Weber"},{"id":401,"link":"/authors/weerwag/","name":"Timmy Weerwag"},{"id":402,"link":"/authors/weidner/","name":"Arno Wilhelm-Weidner"},{"id":403,"link":"/authors/wenzel/","name":"Makarius Wenzel"},{"id":404,"link":"/authors/wickerson/","name":"John Wickerson"},{"id":405,"link":"/authors/willenbrink/","name":"Sebastian Willenbrink"},{"id":406,"link":"/authors/wimmer/","name":"Simon Wimmer"},{"id":407,"link":"/authors/wirt/","name":"Kai Wirt"},{"id":408,"link":"/authors/wolff/","name":"Burkhart Wolff"},{"id":409,"link":"/authors/wu/","name":"Chunhan Wu"},{"id":410,"link":"/authors/xu/","name":"Jian Xu"},{"id":411,"link":"/authors/yamada/","name":"Akihisa Yamada"},{"id":412,"link":"/authors/ye/","name":"Lina Ye"},{"id":413,"link":"/authors/ying/","name":"Shenggang Ying"},{"id":414,"link":"/authors/yingm/","name":"Mingsheng Ying"},{"id":415,"link":"/authors/yu/","name":"Lei Yu"},{"id":416,"link":"/authors/zankl/","name":"Harald Zankl"},{"id":417,"link":"/authors/zee/","name":"Karen Zee"},{"id":418,"link":"/authors/zeller/","name":"Peter Zeller"},{"id":419,"link":"/authors/zeyda/","name":"Frank Zeyda"},{"id":420,"link":"/authors/zhan/","name":"Bohua Zhan"},{"id":421,"link":"/authors/zhang/","name":"Yu Zhang"},{"id":422,"link":"/authors/zhangx/","name":"Xingyuan Zhang"},{"id":423,"link":"/authors/zhann/","name":"Naijun Zhan"}]
\ No newline at end of file
+[{"id":0,"link":"/authors/abdulaziz/","name":"Mohammad Abdulaziz"},{"id":1,"link":"/authors/adelsberger/","name":"Stephan Adelsberger"},{"id":2,"link":"/authors/aehlig/","name":"Klaus Aehlig"},{"id":3,"link":"/authors/aissat/","name":"Romain Aissat"},{"id":4,"link":"/authors/amani/","name":"Sidney Amani"},{"id":5,"link":"/authors/ammer/","name":"Thomas Ammer"},{"id":6,"link":"/authors/andronick/","name":"June Andronick"},{"id":7,"link":"/authors/aransay/","name":"Jesús Aransay"},{"id":8,"link":"/authors/argyraki/","name":"Angeliki Koutsoukou-Argyraki"},{"id":9,"link":"/authors/armstrong/","name":"Alasdair Armstrong"},{"id":10,"link":"/authors/aspinall/","name":"David Aspinall"},{"id":11,"link":"/authors/ausaf/","name":"Fahad Ausaf"},{"id":12,"link":"/authors/avigad/","name":"Jeremy Avigad"},{"id":13,"link":"/authors/back/","name":"Ralph-Johan Back"},{"id":14,"link":"/authors/balbach/","name":"Frank J. Balbach"},{"id":15,"link":"/authors/ballarin/","name":"Clemens Ballarin"},{"id":16,"link":"/authors/barsotti/","name":"Damián Barsotti"},{"id":17,"link":"/authors/bauer/","name":"Gertrud Bauer"},{"id":18,"link":"/authors/bauereiss/","name":"Thomas Bauereiss"},{"id":19,"link":"/authors/bayer/","name":"Jonas Bayer"},{"id":20,"link":"/authors/becker/","name":"Heiko Becker"},{"id":21,"link":"/authors/beeren/","name":"Joel Beeren"},{"id":22,"link":"/authors/bella/","name":"Giampaolo Bella"},{"id":23,"link":"/authors/bengtson/","name":"Jesper Bengtson"},{"id":24,"link":"/authors/bentkamp/","name":"Alexander Bentkamp"},{"id":25,"link":"/authors/benzmueller/","name":"Christoph Benzmüller"},{"id":26,"link":"/authors/beresford/","name":"Alastair R. Beresford"},{"id":27,"link":"/authors/berghofer/","name":"Stefan Berghofer"},{"id":28,"link":"/authors/beringer/","name":"Lennart Beringer"},{"id":29,"link":"/authors/bharadwaj/","name":"Abhijith Bharadwaj"},{"id":30,"link":"/authors/bhatt/","name":"Bhargav Bhatt"},{"id":31,"link":"/authors/biendarra/","name":"Julian Biendarra"},{"id":32,"link":"/authors/bisping/","name":"Benjamin Bisping"},{"id":33,"link":"/authors/blanchette/","name":"Jasmin Christian Blanchette"},{"id":34,"link":"/authors/blasum/","name":"Holger Blasum"},{"id":35,"link":"/authors/blumson/","name":"Ben Blumson"},{"id":36,"link":"/authors/bockenek/","name":"Joshua Bockenek"},{"id":37,"link":"/authors/boehme/","name":"Sascha Böhme"},{"id":38,"link":"/authors/bohrer/","name":"Rose Bohrer"},{"id":39,"link":"/authors/bordg/","name":"Anthony Bordg"},{"id":40,"link":"/authors/borgstroem/","name":"Johannes Borgström"},{"id":41,"link":"/authors/bortin/","name":"Maksym Bortin"},{"id":42,"link":"/authors/bottesch/","name":"Ralph Bottesch"},{"id":43,"link":"/authors/boulanger/","name":"Frédéric Boulanger"},{"id":44,"link":"/authors/bourke/","name":"Timothy Bourke"},{"id":45,"link":"/authors/boutry/","name":"Pierre Boutry"},{"id":46,"link":"/authors/boyton/","name":"Andrew Boyton"},{"id":47,"link":"/authors/bracevac/","name":"Oliver Bračevac"},{"id":48,"link":"/authors/brandt/","name":"Felix Brandt"},{"id":49,"link":"/authors/breitner/","name":"Joachim Breitner"},{"id":50,"link":"/authors/brien/","name":"Nicolas Robinson-O'Brien"},{"id":51,"link":"/authors/brinkop/","name":"Hauke Brinkop"},{"id":52,"link":"/authors/brodmann/","name":"Paul-David Brodmann"},{"id":53,"link":"/authors/brucker/","name":"Achim D. Brucker"},{"id":54,"link":"/authors/bruegger/","name":"Lukas Brügger"},{"id":55,"link":"/authors/brun/","name":"Matthias Brun"},{"id":56,"link":"/authors/brunner/","name":"Julian Brunner"},{"id":57,"link":"/authors/bulwahn/","name":"Lukas Bulwahn"},{"id":58,"link":"/authors/butler/","name":"David Butler"},{"id":59,"link":"/authors/buyse/","name":"Maxime Buyse"},{"id":60,"link":"/authors/caballero/","name":"José Manuel Rodríguez Caballero"},{"id":61,"link":"/authors/caminati/","name":"Marco B. Caminati"},{"id":62,"link":"/authors/campo/","name":"Alejandro del Campo"},{"id":63,"link":"/authors/chapman/","name":"Peter Chapman"},{"id":64,"link":"/authors/chen/","name":"L. Chen"},{"id":65,"link":"/authors/clouston/","name":"Ranald Clouston"},{"id":66,"link":"/authors/cock/","name":"David Cock"},{"id":67,"link":"/authors/coghetto/","name":"Roland Coghetto"},{"id":68,"link":"/authors/coglio/","name":"Alessandro Coglio"},{"id":69,"link":"/authors/cohen/","name":"Ernie Cohen"},{"id":70,"link":"/authors/cordwell/","name":"Katherine Cordwell"},{"id":71,"link":"/authors/cousin/","name":"Marie Cousin"},{"id":72,"link":"/authors/crighton/","name":"Aaron Crighton"},{"id":73,"link":"/authors/dardinier/","name":"Thibault Dardinier"},{"id":74,"link":"/authors/david/","name":"Marco David"},{"id":75,"link":"/authors/debrat/","name":"Henri Debrat"},{"id":76,"link":"/authors/decova/","name":"Sára Decova"},{"id":77,"link":"/authors/derrick/","name":"John Derrick"},{"id":78,"link":"/authors/desharnais/","name":"Martin Desharnais"},{"id":79,"link":"/authors/diaz/","name":"Javier Díaz"},{"id":80,"link":"/authors/diekmann/","name":"Cornelius Diekmann"},{"id":81,"link":"/authors/dirix/","name":"Stefan Dirix"},{"id":82,"link":"/authors/dittmann/","name":"Christoph Dittmann"},{"id":83,"link":"/authors/divason/","name":"Jose Divasón"},{"id":84,"link":"/authors/doczkal/","name":"Christian Doczkal"},{"id":85,"link":"/authors/dongol/","name":"Brijesh Dongol"},{"id":86,"link":"/authors/doty/","name":"Matthew Wampler-Doty"},{"id":87,"link":"/authors/dubut/","name":"Jérémy Dubut"},{"id":88,"link":"/authors/dunaev/","name":"Georgy Dunaev"},{"id":89,"link":"/authors/dyckhoff/","name":"Roy Dyckhoff"},{"id":90,"link":"/authors/eberl/","name":"Manuel Eberl"},{"id":91,"link":"/authors/echenim/","name":"Mnacho Echenim"},{"id":92,"link":"/authors/edmonds/","name":"Chelsea Edmonds"},{"id":93,"link":"/authors/engelhardt/","name":"Kai Engelhardt"},{"id":94,"link":"/authors/eriksson/","name":"Lars-Henrik Eriksson"},{"id":95,"link":"/authors/esparza/","name":"Javier Esparza"},{"id":96,"link":"/authors/essmann/","name":"Robin Eßmann"},{"id":97,"link":"/authors/felgenhauer/","name":"Bertram Felgenhauer"},{"id":98,"link":"/authors/feliachi/","name":"Abderrahmane Feliachi"},{"id":99,"link":"/authors/fell/","name":"Julian Fell"},{"id":100,"link":"/authors/fernandez/","name":"Matthew Fernandez"},{"id":101,"link":"/authors/fiedler/","name":"Ben Fiedler"},{"id":102,"link":"/authors/fleuriot/","name":"Jacques D. Fleuriot"},{"id":103,"link":"/authors/fleury/","name":"Mathias Fleury"},{"id":104,"link":"/authors/foster/","name":"Michael Foster"},{"id":105,"link":"/authors/fosterj/","name":"J. Nathan Foster"},{"id":106,"link":"/authors/fosters/","name":"Simon Foster"},{"id":107,"link":"/authors/fouillard/","name":"Valentin Fouillard"},{"id":108,"link":"/authors/friedrich/","name":"Stefan Friedrich"},{"id":109,"link":"/authors/from/","name":"Asta Halkjær From"},{"id":110,"link":"/authors/fuenmayor/","name":"David Fuenmayor"},{"id":111,"link":"/authors/furusawa/","name":"Hitoshi Furusawa"},{"id":112,"link":"/authors/gammie/","name":"Peter Gammie"},{"id":113,"link":"/authors/gao/","name":"Xin Gao"},{"id":114,"link":"/authors/gaudel/","name":"Marie-Claude Gaudel"},{"id":115,"link":"/authors/gay/","name":"Richard Gay"},{"id":116,"link":"/authors/georgescu/","name":"George Georgescu"},{"id":117,"link":"/authors/gheri/","name":"Lorenzo Gheri"},{"id":118,"link":"/authors/ghourabi/","name":"Fadoua Ghourabi"},{"id":119,"link":"/authors/gioiosa/","name":"Gianpaolo Gioiosa"},{"id":120,"link":"/authors/glabbeek/","name":"Rob van Glabbeek"},{"id":121,"link":"/authors/gomes/","name":"Victor B. F. Gomes"},{"id":122,"link":"/authors/gonzalez/","name":"Edgar Gonzàlez"},{"id":123,"link":"/authors/gore/","name":"Rajeev Gore"},{"id":124,"link":"/authors/gouezel/","name":"Sebastien Gouezel"},{"id":125,"link":"/authors/grechuk/","name":"Bogdan Grechuk"},{"id":126,"link":"/authors/grewe/","name":"Sylvia Grewe"},{"id":127,"link":"/authors/griebel/","name":"Simon Griebel"},{"id":128,"link":"/authors/grov/","name":"Gudmund Grov"},{"id":129,"link":"/authors/guerraoui/","name":"Rachid Guerraoui"},{"id":130,"link":"/authors/guiol/","name":"Hervé Guiol"},{"id":131,"link":"/authors/gunther/","name":"Emmanuel Gunther"},{"id":132,"link":"/authors/gutkovas/","name":"Ramunas Gutkovas"},{"id":133,"link":"/authors/guttmann/","name":"Walter Guttmann"},{"id":134,"link":"/authors/haftmann/","name":"Florian Haftmann"},{"id":135,"link":"/authors/haslbeck/","name":"Max W. Haslbeck"},{"id":136,"link":"/authors/haslbeckm/","name":"Maximilian P. L. Haslbeck"},{"id":137,"link":"/authors/havle/","name":"Oto Havle"},{"id":138,"link":"/authors/hayes/","name":"Ian J. Hayes"},{"id":139,"link":"/authors/he/","name":"Yijun He"},{"id":140,"link":"/authors/heimes/","name":"Lukas Heimes"},{"id":141,"link":"/authors/helke/","name":"Steffen Helke"},{"id":142,"link":"/authors/hellauer/","name":"Fabian Hellauer"},{"id":143,"link":"/authors/heller/","name":"Armin Heller"},{"id":144,"link":"/authors/henrio/","name":"Ludovic Henrio"},{"id":145,"link":"/authors/herzberg/","name":"Michael Herzberg"},{"id":146,"link":"/authors/hess/","name":"Andreas V. Hess"},{"id":147,"link":"/authors/hetzl/","name":"Stefan Hetzl"},{"id":148,"link":"/authors/hibon/","name":"Quentin Hibon"},{"id":149,"link":"/authors/hirata/","name":"Michikazu Hirata"},{"id":150,"link":"/authors/hoefner/","name":"Peter Höfner"},{"id":151,"link":"/authors/hoelzl/","name":"Johannes Hölzl"},{"id":152,"link":"/authors/hofmann/","name":"Martin Hofmann"},{"id":153,"link":"/authors/holub/","name":"Štěpán Holub"},{"id":154,"link":"/authors/hosking/","name":"Tony Hosking"},{"id":155,"link":"/authors/hou/","name":"Zhe Hou"},{"id":156,"link":"/authors/hu/","name":"Shuwei Hu"},{"id":157,"link":"/authors/huffman/","name":"Brian Huffman"},{"id":158,"link":"/authors/hupel/","name":"Lars Hupel"},{"id":159,"link":"/authors/ijbema/","name":"Mark Ijbema"},{"id":160,"link":"/authors/immler/","name":"Fabian Immler"},{"id":161,"link":"/authors/ito/","name":"Yosuke Ito"},{"id":162,"link":"/authors/iwama/","name":"Fumiya Iwama"},{"id":163,"link":"/authors/jacobsen/","name":"Frederik Krogsdal Jacobsen"},{"id":164,"link":"/authors/jaskelioff/","name":"Mauro Jaskelioff"},{"id":165,"link":"/authors/jaskolka/","name":"Jason Jaskolka"},{"id":166,"link":"/authors/jensen/","name":"Alexander Birch Jensen"},{"id":167,"link":"/authors/jiang/","name":"Nan Jiang"},{"id":168,"link":"/authors/jiangd/","name":"Dongchen Jiang"},{"id":169,"link":"/authors/joosten/","name":"Sebastiaan J. C. Joosten"},{"id":170,"link":"/authors/jungnickel/","name":"Tim Jungnickel"},{"id":171,"link":"/authors/kadzioka/","name":"Maya Kądziołka"},{"id":172,"link":"/authors/kaliszyk/","name":"Cezary Kaliszyk"},{"id":173,"link":"/authors/kammueller/","name":"Florian Kammüller"},{"id":174,"link":"/authors/kappelmann/","name":"Kevin Kappelmann"},{"id":175,"link":"/authors/karayel/","name":"Emin Karayel"},{"id":176,"link":"/authors/kastermans/","name":"Bart Kastermans"},{"id":177,"link":"/authors/katovsky/","name":"Alexander Katovsky"},{"id":178,"link":"/authors/kaufmann/","name":"Daniela Kaufmann"},{"id":179,"link":"/authors/keefe/","name":"Greg O'Keefe"},{"id":180,"link":"/authors/keinholz/","name":"Jonas Keinholz"},{"id":181,"link":"/authors/kerber/","name":"Manfred Kerber"},{"id":182,"link":"/authors/ketland/","name":"Jeffrey Ketland"},{"id":183,"link":"/authors/kirchner/","name":"Daniel Kirchner"},{"id":184,"link":"/authors/klein/","name":"Gerwin Klein"},{"id":185,"link":"/authors/klenze/","name":"Tobias Klenze"},{"id":186,"link":"/authors/kleppmann/","name":"Martin Kleppmann"},{"id":187,"link":"/authors/kobayashi/","name":"Hidetsune Kobayashi"},{"id":188,"link":"/authors/koerner/","name":"Stefan Körner"},{"id":189,"link":"/authors/kolanski/","name":"Rafal Kolanski"},{"id":190,"link":"/authors/koller/","name":"Lukas Koller"},{"id":191,"link":"/authors/krauss/","name":"Alexander Krauss"},{"id":192,"link":"/authors/kreuzer/","name":"Katharina Kreuzer"},{"id":193,"link":"/authors/kuncak/","name":"Viktor Kuncak"},{"id":194,"link":"/authors/kuncar/","name":"Ondřej Kunčar"},{"id":195,"link":"/authors/kurz/","name":"Friedrich Kurz"},{"id":196,"link":"/authors/lachnitt/","name":"Hanna Lachnitt"},{"id":197,"link":"/authors/lallemand/","name":"Joseph Lallemand"},{"id":198,"link":"/authors/lammich/","name":"Peter Lammich"},{"id":199,"link":"/authors/lange/","name":"Christoph Lange"},{"id":200,"link":"/authors/langenstein/","name":"Bruno Langenstein"},{"id":201,"link":"/authors/lattuada/","name":"Andrea Lattuada"},{"id":202,"link":"/authors/lee/","name":"Holden Lee"},{"id":203,"link":"/authors/leustean/","name":"Laurentiu Leustean"},{"id":204,"link":"/authors/lewis/","name":"Corey Lewis"},{"id":205,"link":"/authors/li/","name":"Wenda Li"},{"id":206,"link":"/authors/lim/","name":"Japheth Lim"},{"id":207,"link":"/authors/lindenberg/","name":"Christina Lindenberg"},{"id":208,"link":"/authors/linker/","name":"Sven Linker"},{"id":209,"link":"/authors/liu/","name":"Junyi Liu"},{"id":210,"link":"/authors/liut/","name":"Tao Liu"},{"id":211,"link":"/authors/liuy/","name":"Yang Liu"},{"id":212,"link":"/authors/liy/","name":"Yangjia Li"},{"id":213,"link":"/authors/lochbihler/","name":"Andreas Lochbihler"},{"id":214,"link":"/authors/lochmann/","name":"Alexander Lochmann"},{"id":215,"link":"/authors/lohner/","name":"Denis Lohner"},{"id":216,"link":"/authors/loibl/","name":"Matthias Loibl"},{"id":217,"link":"/authors/londono/","name":"Alejandro Gómez-Londoño"},{"id":218,"link":"/authors/losa/","name":"Giuliano Losa"},{"id":219,"link":"/authors/lutz/","name":"Bianca Lutz"},{"id":220,"link":"/authors/lux/","name":"Alexander Lux"},{"id":221,"link":"/authors/makarios/","name":"T. J. M. Makarios"},{"id":222,"link":"/authors/maletzky/","name":"Alexander Maletzky"},{"id":223,"link":"/authors/mansky/","name":"Susannah Mansky"},{"id":224,"link":"/authors/mantel/","name":"Heiko Mantel"},{"id":225,"link":"/authors/margetson/","name":"James Margetson"},{"id":226,"link":"/authors/maric/","name":"Ognjen Marić"},{"id":227,"link":"/authors/maricf/","name":"Filip Marić"},{"id":228,"link":"/authors/marmsoler/","name":"Diego Marmsoler"},{"id":229,"link":"/authors/matache/","name":"Cristina Matache"},{"id":230,"link":"/authors/matichuk/","name":"Daniel Matichuk"},{"id":231,"link":"/authors/matiyasevich/","name":"Yuri Matiyasevich"},{"id":232,"link":"/authors/maximova/","name":"Alexandra Maximova"},{"id":233,"link":"/authors/meis/","name":"Rene Meis"},{"id":234,"link":"/authors/merz/","name":"Stephan Merz"},{"id":235,"link":"/authors/messner/","name":"Florian Messner"},{"id":236,"link":"/authors/michaelis/","name":"Julius Michaelis"},{"id":237,"link":"/authors/milehins/","name":"Mihails Milehins"},{"id":238,"link":"/authors/minamide/","name":"Yasuhiko Minamide"},{"id":239,"link":"/authors/mitchell/","name":"Neil Mitchell"},{"id":240,"link":"/authors/mitsch/","name":"Stefan Mitsch"},{"id":241,"link":"/authors/moedersheim/","name":"Sebastian Mödersheim"},{"id":242,"link":"/authors/moeller/","name":"Bernhard Möller"},{"id":243,"link":"/authors/muendler/","name":"Niels Mündler"},{"id":244,"link":"/authors/mulligan/","name":"Dominic P. Mulligan"},{"id":245,"link":"/authors/munive/","name":"Jonathan Julian Huerta y Munive"},{"id":246,"link":"/authors/murao/","name":"H. Murao"},{"id":247,"link":"/authors/murray/","name":"Toby Murray"},{"id":248,"link":"/authors/nagashima/","name":"Yutaka Nagashima"},{"id":249,"link":"/authors/nagele/","name":"Julian Nagele"},{"id":250,"link":"/authors/naraschewski/","name":"Wolfgang Naraschewski"},{"id":251,"link":"/authors/nedzelsky/","name":"Michael Nedzelsky"},{"id":252,"link":"/authors/nemeti/","name":"István Németi"},{"id":253,"link":"/authors/nemouchi/","name":"Yakoub Nemouchi"},{"id":254,"link":"/authors/nestmann/","name":"Uwe Nestmann"},{"id":255,"link":"/authors/neumann/","name":"René Neumann"},{"id":256,"link":"/authors/nielsen/","name":"Finn Nielsen"},{"id":257,"link":"/authors/nikiforov/","name":"Denis Nikiforov"},{"id":258,"link":"/authors/nipkow/","name":"Tobias Nipkow"},{"id":259,"link":"/authors/nishihara/","name":"Toshiaki Nishihara"},{"id":260,"link":"/authors/noce/","name":"Pasquale Noce"},{"id":261,"link":"/authors/nordhoff/","name":"Benedikt Nordhoff"},{"id":262,"link":"/authors/noschinski/","name":"Lars Noschinski"},{"id":263,"link":"/authors/obua/","name":"Steven Obua"},{"id":264,"link":"/authors/ogawa/","name":"Mizuhito Ogawa"},{"id":265,"link":"/authors/oldenburg/","name":"Lennart Oldenburg"},{"id":266,"link":"/authors/olm/","name":"Markus Müller-Olm"},{"id":267,"link":"/authors/oosterhuis/","name":"Roelof Oosterhuis"},{"id":268,"link":"/authors/oostrom/","name":"Vincent van Oostrom"},{"id":269,"link":"/authors/ortner/","name":"Veronika Ortner"},{"id":270,"link":"/authors/overbeek/","name":"Roy Overbeek"},{"id":271,"link":"/authors/pagano/","name":"Miguel Pagano"},{"id":272,"link":"/authors/pal/","name":"Abhik Pal"},{"id":273,"link":"/authors/paleo/","name":"Bruno Woltzenlogel Paleo"},{"id":274,"link":"/authors/palmer/","name":"Jake Palmer"},{"id":275,"link":"/authors/parkinson/","name":"Matthew Parkinson"},{"id":276,"link":"/authors/parrow/","name":"Joachim Parrow"},{"id":277,"link":"/authors/parsert/","name":"Julian Parsert"},{"id":278,"link":"/authors/paulson/","name":"Lawrence C. Paulson"},{"id":279,"link":"/authors/peltier/","name":"Nicolas Peltier"},{"id":280,"link":"/authors/peters/","name":"Kirstin Peters"},{"id":281,"link":"/authors/petrovic/","name":"Danijela Petrovic"},{"id":282,"link":"/authors/pierzchalski/","name":"Edward Pierzchalski"},{"id":283,"link":"/authors/platzer/","name":"André Platzer"},{"id":284,"link":"/authors/pollak/","name":"Florian Pollak"},{"id":285,"link":"/authors/popescu/","name":"Andrei Popescu"},{"id":286,"link":"/authors/porter/","name":"Benjamin Porter"},{"id":287,"link":"/authors/prathamesh/","name":"T.V.H. Prathamesh"},{"id":288,"link":"/authors/preoteasa/","name":"Viorel Preoteasa"},{"id":289,"link":"/authors/pusch/","name":"Cornelia Pusch"},{"id":290,"link":"/authors/rabe/","name":"Markus N. Rabe"},{"id":291,"link":"/authors/raedle/","name":"Jonas Rädle"},{"id":292,"link":"/authors/raska/","name":"Martin Raška"},{"id":293,"link":"/authors/raszyk/","name":"Martin Raszyk"},{"id":294,"link":"/authors/rau/","name":"Martin Rau"},{"id":295,"link":"/authors/rauch/","name":"Nicole Rauch"},{"id":296,"link":"/authors/raumer/","name":"Jakob von Raumer"},{"id":297,"link":"/authors/ravindran/","name":"Binoy Ravindran"},{"id":298,"link":"/authors/rawson/","name":"Michael Rawson"},{"id":299,"link":"/authors/raya/","name":"Rodrigo Raya"},{"id":300,"link":"/authors/regensburger/","name":"Franz Regensburger"},{"id":301,"link":"/authors/reiche/","name":"Sebastian Reiche"},{"id":302,"link":"/authors/reiter/","name":"Markus Reiter"},{"id":303,"link":"/authors/reynaud/","name":"Alban Reynaud"},{"id":304,"link":"/authors/ribeiro/","name":"Pedro Ribeiro"},{"id":305,"link":"/authors/richter/","name":"Stefan Richter"},{"id":306,"link":"/authors/rickmann/","name":"Christina Rickmann"},{"id":307,"link":"/authors/ridge/","name":"Tom Ridge"},{"id":308,"link":"/authors/rizaldi/","name":"Albert Rizaldi"},{"id":309,"link":"/authors/rizkallah/","name":"Christine Rizkallah"},{"id":310,"link":"/authors/robillard/","name":"Simon Robillard"},{"id":311,"link":"/authors/roessle/","name":"Ian Roessle"},{"id":312,"link":"/authors/romanos/","name":"Ralph Romanos"},{"id":313,"link":"/authors/rosskopf/","name":"Simon Roßkopf"},{"id":314,"link":"/authors/rowat/","name":"Colin Rowat"},{"id":315,"link":"/authors/sabouret/","name":"Nicolas Sabouret"},{"id":316,"link":"/authors/sachtleben/","name":"Robert Sachtleben"},{"id":317,"link":"/authors/saile/","name":"Christian Saile"},{"id":318,"link":"/authors/sanan/","name":"David Sanan"},{"id":319,"link":"/authors/sato/","name":"Tetsuya Sato"},{"id":320,"link":"/authors/sauer/","name":"Jens Sauer"},{"id":321,"link":"/authors/schaeffeler/","name":"Maximilian Schäffeler"},{"id":322,"link":"/authors/scharager/","name":"Matias Scharager"},{"id":323,"link":"/authors/schimpf/","name":"Alexander Schimpf"},{"id":324,"link":"/authors/schirmer/","name":"Norbert Schirmer"},{"id":325,"link":"/authors/schleicher/","name":"Dierk Schleicher"},{"id":326,"link":"/authors/schlichtkrull/","name":"Anders Schlichtkrull"},{"id":327,"link":"/authors/schmaltz/","name":"Julien Schmaltz"},{"id":328,"link":"/authors/schmidinger/","name":"Lukas Schmidinger"},{"id":329,"link":"/authors/schmoetten/","name":"Richard Schmoetten"},{"id":330,"link":"/authors/schneider/","name":"Joshua Schneider"},{"id":331,"link":"/authors/schoepe/","name":"Daniel Schoepe"},{"id":332,"link":"/authors/schoepf/","name":"Jonas Schöpf"},{"id":333,"link":"/authors/scott/","name":"Dana Scott"},{"id":334,"link":"/authors/sefidgar/","name":"S. Reza Sefidgar"},{"id":335,"link":"/authors/seidl/","name":"Benedikt Seidl"},{"id":336,"link":"/authors/seidler/","name":"Henning Seidler"},{"id":337,"link":"/authors/sewell/","name":"Thomas Sewell"},{"id":338,"link":"/authors/sickert/","name":"Salomon Sickert"},{"id":339,"link":"/authors/siek/","name":"Jeremy Siek"},{"id":340,"link":"/authors/simic/","name":"Danijela Simić"},{"id":341,"link":"/authors/sison/","name":"Robert Sison"},{"id":342,"link":"/authors/smaus/","name":"Jan-Georg Smaus"},{"id":343,"link":"/authors/smola/","name":"Filip Smola"},{"id":344,"link":"/authors/snelting/","name":"Gregor Snelting"},{"id":345,"link":"/authors/somaini/","name":"Ivano Somaini"},{"id":346,"link":"/authors/somogyi/","name":"Dániel Somogyi"},{"id":347,"link":"/authors/spasic/","name":"Mirko Spasić"},{"id":348,"link":"/authors/spichkova/","name":"Maria Spichkova"},{"id":349,"link":"/authors/sprenger/","name":"Christoph Sprenger"},{"id":350,"link":"/authors/stannett/","name":"Mike Stannett"},{"id":351,"link":"/authors/stark/","name":"Eugene W. Stark"},{"id":352,"link":"/authors/starosta/","name":"Štěpán Starosta"},{"id":353,"link":"/authors/steinberg/","name":"Matías Steinberg"},{"id":354,"link":"/authors/stephan/","name":"Werner Stephan"},{"id":355,"link":"/authors/sternagel/","name":"Christian Sternagel"},{"id":356,"link":"/authors/sternagelt/","name":"Thomas Sternagel"},{"id":357,"link":"/authors/stevens/","name":"Lukas Stevens"},{"id":358,"link":"/authors/stock/","name":"Benedikt Stock"},{"id":359,"link":"/authors/stricker/","name":"Christian Stricker"},{"id":360,"link":"/authors/strnisa/","name":"Rok Strniša"},{"id":361,"link":"/authors/struth/","name":"Georg Struth"},{"id":362,"link":"/authors/stueber/","name":"Anke Stüber"},{"id":363,"link":"/authors/stuewe/","name":"Daniel Stüwe"},{"id":364,"link":"/authors/sudbrock/","name":"Henning Sudbrock"},{"id":365,"link":"/authors/sudhof/","name":"Henry Sudhof"},{"id":366,"link":"/authors/sulejmani/","name":"Ujkan Sulejmani"},{"id":367,"link":"/authors/sylvestre/","name":"Jeremy Sylvestre"},{"id":368,"link":"/authors/taha/","name":"Safouan Taha"},{"id":369,"link":"/authors/tan/","name":"Yong Kiam Tan"},{"id":370,"link":"/authors/tasch/","name":"Markus Tasch"},{"id":371,"link":"/authors/taylor/","name":"Ramsay G. Taylor"},{"id":372,"link":"/authors/terraf/","name":"Pedro Sánchez Terraf"},{"id":373,"link":"/authors/thiemann/","name":"René Thiemann"},{"id":374,"link":"/authors/thommes/","name":"Joseph Thommes"},{"id":375,"link":"/authors/thomson/","name":"Fox Thomson"},{"id":376,"link":"/authors/tiu/","name":"Alwen Tiu"},{"id":377,"link":"/authors/toth/","name":"Balazs Toth"},{"id":378,"link":"/authors/tourret/","name":"Sophie Tourret"},{"id":379,"link":"/authors/trachtenherz/","name":"David Trachtenherz"},{"id":380,"link":"/authors/traut/","name":"Christoph Traut"},{"id":381,"link":"/authors/traytel/","name":"Dmitriy Traytel"},{"id":382,"link":"/authors/tuong/","name":"Frédéric Tuong"},{"id":383,"link":"/authors/tuongj/","name":"Joseph Tuong"},{"id":384,"link":"/authors/tverdyshev/","name":"Sergey Tverdyshev"},{"id":385,"link":"/authors/ullrich/","name":"Sebastian Ullrich"},{"id":386,"link":"/authors/unruh/","name":"Dominique Unruh"},{"id":387,"link":"/authors/urban/","name":"Christian Urban"},{"id":388,"link":"/authors/van/","name":"Hai Nguyen Van"},{"id":389,"link":"/authors/velykis/","name":"Andrius Velykis"},{"id":390,"link":"/authors/verbeek/","name":"Freek Verbeek"},{"id":391,"link":"/authors/villadsen/","name":"Jørgen Villadsen"},{"id":392,"link":"/authors/voisin/","name":"Frederic Voisin"},{"id":393,"link":"/authors/vytiniotis/","name":"Dimitrios Vytiniotis"},{"id":394,"link":"/authors/wagner/","name":"Max Wagner"},{"id":395,"link":"/authors/waldmann/","name":"Uwe Waldmann"},{"id":396,"link":"/authors/wand/","name":"Daniel Wand"},{"id":397,"link":"/authors/wang/","name":"Shuling Wang"},{"id":398,"link":"/authors/wassell/","name":"Mark Wassell"},{"id":399,"link":"/authors/wasserrab/","name":"Daniel Wasserrab"},{"id":400,"link":"/authors/watt/","name":"Conrad Watt"},{"id":401,"link":"/authors/weber/","name":"Tjark Weber"},{"id":402,"link":"/authors/weerwag/","name":"Timmy Weerwag"},{"id":403,"link":"/authors/weidner/","name":"Arno Wilhelm-Weidner"},{"id":404,"link":"/authors/wenzel/","name":"Makarius Wenzel"},{"id":405,"link":"/authors/wickerson/","name":"John Wickerson"},{"id":406,"link":"/authors/willenbrink/","name":"Sebastian Willenbrink"},{"id":407,"link":"/authors/wimmer/","name":"Simon Wimmer"},{"id":408,"link":"/authors/wirt/","name":"Kai Wirt"},{"id":409,"link":"/authors/wolff/","name":"Burkhart Wolff"},{"id":410,"link":"/authors/wu/","name":"Chunhan Wu"},{"id":411,"link":"/authors/xu/","name":"Jian Xu"},{"id":412,"link":"/authors/yamada/","name":"Akihisa Yamada"},{"id":413,"link":"/authors/ye/","name":"Lina Ye"},{"id":414,"link":"/authors/ying/","name":"Shenggang Ying"},{"id":415,"link":"/authors/yingm/","name":"Mingsheng Ying"},{"id":416,"link":"/authors/yu/","name":"Lei Yu"},{"id":417,"link":"/authors/zankl/","name":"Harald Zankl"},{"id":418,"link":"/authors/zee/","name":"Karen Zee"},{"id":419,"link":"/authors/zeller/","name":"Peter Zeller"},{"id":420,"link":"/authors/zeyda/","name":"Frank Zeyda"},{"id":421,"link":"/authors/zhan/","name":"Bohua Zhan"},{"id":422,"link":"/authors/zhang/","name":"Yu Zhang"},{"id":423,"link":"/authors/zhangx/","name":"Xingyuan Zhang"},{"id":424,"link":"/authors/zhann/","name":"Naijun Zhan"}]
\ No newline at end of file
diff --git a/web/authors/joosten/index.html b/web/authors/joosten/index.html
--- a/web/authors/joosten/index.html
+++ b/web/authors/joosten/index.html
@@ -1,161 +1,161 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Sebastiaan J. C. Joosten- Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../authors/joosten/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="joosten" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/authors/joosten/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="joosten"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../search"><img src="../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../"><li >Home</li></a>
<a href="../../topics/"><li >Topics</li></a>
<a href="../../download/"><li >Download</li></a>
<a href="../../help/"><li >Help</li></a>
<a href="../../submission/"><li >Submission</li></a>
<a href="../../statistics/"><li >Statistics</li></a>
<a href="../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>S</span>ebastiaan <span class='first'>J</span>. <span class='first'>C</span>. <span class='first'>J</span>oosten</h1>
<div>
</div>
</header><div>
<h2>Homepages 🌐</h2>
<ul><li><a href="https://sjcjoosten.nl/">https://sjcjoosten.nl/</a></li></ul>
<h2>E-Mails 📧</h2>
<ul><li><a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsic2ViYXN0aWFhbiIsImpvb3N0ZW4iXX0="><span class="rev">ta</span>.<span class="rev">ca</span>.<span class="rev">kbiu</span>@<span class="rev">netsooj</span>.<span class="rev">naaitsabes</span></a></li></ul>
<h2>Entries</h2><h3 class="head">2021</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/GaleStewart_Games.html">Gale-Stewart Games</a></h5> <br>by <a href="../../authors/joosten">Sebastiaan J. C. Joosten</a> <a href="https://sjcjoosten.nl/">🌐</a></div>
<span class="date">
Apr 23
</span>
</article>
<h3 class="head">2019</h3><article class="entry">
<div class="item-text">
- <h5><a class="title" href="../../entries/Universal_Turing_Machine.html">Universal Turing Machine</a></h5> <br>by <a href="../../authors/xu">Jian Xu</a>, <a href="../../authors/zhangx">Xingyuan Zhang</a>, <a href="../../authors/urban">Christian Urban</a> <a href="https://nms.kcl.ac.uk/christian.urban/">🌐</a> and <a href="../../authors/joosten">Sebastiaan J. C. Joosten</a> <a href="https://sjcjoosten.nl/">🌐</a></div>
+ <h5><a class="title" href="../../entries/Universal_Turing_Machine.html">Universal Turing Machine</a></h5> <br>by <a href="../../authors/xu">Jian Xu</a>, <a href="../../authors/zhangx">Xingyuan Zhang</a>, <a href="../../authors/urban">Christian Urban</a> <a href="https://nms.kcl.ac.uk/christian.urban/">🌐</a>, <a href="../../authors/joosten">Sebastiaan J. C. Joosten</a> <a href="https://sjcjoosten.nl/">🌐</a> and <a href="../../authors/regensburger">Franz Regensburger</a> <a href="https://www.thi.de/suche/mitarbeiter/prof-dr-rer-nat-franz-regensburger">🌐</a></div>
<span class="date">
Feb 08
</span>
</article>
<h3 class="head">2018</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Graph_Saturation.html">Graph Saturation</a></h5> <br>by <a href="../../authors/joosten">Sebastiaan J. C. Joosten</a></div>
<span class="date">
Nov 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/LLL_Factorization.html">A verified factorization algorithm for integer polynomials with polynomial complexity</a></h5> <br>by <a href="../../authors/divason">Jose Divasón</a> <a href="https://www.unirioja.es/cu/jodivaso/">🌐</a>, <a href="../../authors/joosten">Sebastiaan J. C. Joosten</a> <a href="https://sjcjoosten.nl/">🌐</a>, <a href="../../authors/thiemann">René Thiemann</a> <a href="http://cl-informatik.uibk.ac.at/users/thiemann/">🌐</a> and <a href="../../authors/yamada">Akihisa Yamada</a> <a class="obfuscated" data="eyJob3N0IjpbInRycyIsImNtIiwiaXMiLCJuYWdveWEtdSIsImFjIiwianAiXSwidXNlciI6WyJheWFtYWRhIl19">📧</a></div>
<span class="date">
Feb 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/LLL_Basis_Reduction.html">A verified LLL algorithm</a></h5> <br>by <a href="../../authors/bottesch">Ralph Bottesch</a>, <a href="../../authors/divason">Jose Divasón</a> <a href="https://www.unirioja.es/cu/jodivaso/">🌐</a>, <a href="../../authors/haslbeck">Max W. Haslbeck</a> <a href="http://cl-informatik.uibk.ac.at/users/mhaslbeck/">🌐</a>, <a href="../../authors/joosten">Sebastiaan J. C. Joosten</a> <a href="https://sjcjoosten.nl/">🌐</a>, <a href="../../authors/thiemann">René Thiemann</a> <a href="http://cl-informatik.uibk.ac.at/users/thiemann/">🌐</a> and <a href="../../authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Feb 02
</span>
</article>
<h3 class="head">2017</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Subresultants.html">Subresultants</a></h5> <br>by <a href="../../authors/joosten">Sebastiaan J. C. Joosten</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsic2ViYXN0aWFhbiIsImpvb3N0ZW4iXX0=">📧</a>, <a href="../../authors/thiemann">René Thiemann</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsicmVuZSIsInRoaWVtYW5uIl19">📧</a> and <a href="../../authors/yamada">Akihisa Yamada</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsiYWtpaGlzYSIsInlhbWFkYSJdfQ==">📧</a></div>
<span class="date">
Apr 06
</span>
</article>
<h3 class="head">2016</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Berlekamp_Zassenhaus.html">The Factorization Algorithm of Berlekamp and Zassenhaus</a></h5> <br>by <a href="../../authors/divason">Jose Divasón</a> <a href="https://www.unirioja.es/cu/jodivaso/">🌐</a>, <a href="../../authors/joosten">Sebastiaan J. C. Joosten</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsic2ViYXN0aWFhbiIsImpvb3N0ZW4iXX0=">📧</a>, <a href="../../authors/thiemann">René Thiemann</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsicmVuZSIsInRoaWVtYW5uIl19">📧</a> and <a href="../../authors/yamada">Akihisa Yamada</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsiYWtpaGlzYSIsInlhbWFkYSJdfQ==">📧</a></div>
<span class="date">
Oct 14
</span>
</article>
<h3 class="head">2015</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Algebraic_Numbers.html">Algebraic Numbers in Isabelle/HOL</a></h5> <br>by <a href="../../authors/thiemann">René Thiemann</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsicmVuZSIsInRoaWVtYW5uIl19">📧</a>, <a href="../../authors/yamada">Akihisa Yamada</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsiYWtpaGlzYSIsInlhbWFkYSJdfQ==">📧</a> and <a href="../../authors/joosten">Sebastiaan J. C. Joosten</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsic2ViYXN0aWFhbiIsImpvb3N0ZW4iXX0=">📧</a></div>
<span class="date">
Dec 22
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/authors/kreuzer/index.html b/web/authors/kreuzer/index.html
--- a/web/authors/kreuzer/index.html
+++ b/web/authors/kreuzer/index.html
@@ -1,99 +1,125 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Katharina Kreuzer- Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../authors/kreuzer/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="kreuzer" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/authors/kreuzer/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="kreuzer"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../search"><img src="../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../"><li >Home</li></a>
<a href="../../topics/"><li >Topics</li></a>
<a href="../../download/"><li >Download</li></a>
<a href="../../help/"><li >Help</li></a>
<a href="../../submission/"><li >Submission</li></a>
<a href="../../statistics/"><li >Statistics</li></a>
<a href="../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>K</span>atharina <span class='first'>K</span>reuzer</h1>
<div>
</div>
</header><div>
<h2>Homepages 🌐</h2>
<ul><li><a href="https://www21.in.tum.de/team/kreuzer/">https://www21.in.tum.de/team/kreuzer/</a></li></ul>
+<h2>E-Mails 📧</h2>
+<ul><li><a class="obfuscated" data="eyJob3N0IjpbInR1bSIsImRlIl0sInVzZXIiOlsiayIsImtyZXV6ZXIiXX0="><span class="rev">ed</span>.<span class="rev">mut</span>@<span class="rev">rezuerk</span>.<span class="rev">k</span></a></li></ul>
-<h2>Entries</h2><h3 class="head">2021</h3><article class="entry">
+
+<h2>Entries</h2><h3 class="head">2022</h3><article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="../../entries/CRYSTALS-Kyber.html">CRYSTALS-Kyber</a></h5> <br>by <a href="../../authors/kreuzer">Katharina Kreuzer</a> <a class="obfuscated" data="eyJob3N0IjpbInR1bSIsImRlIl0sInVzZXIiOlsiayIsImtyZXV6ZXIiXX0=">📧</a></div>
+ <span class="date">
+ Sep 08
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="../../entries/Hales_Jewett.html">The Hales–Jewett Theorem</a></h5> <br>by <a href="../../authors/sulejmani">Ujkan Sulejmani</a> <a class="obfuscated" data="eyJob3N0IjpbInR1bSIsImRlIl0sInVzZXIiOlsidWprYW4iLCJzdWxlam1hbmkiXX0=">📧</a>, <a href="../../authors/eberl">Manuel Eberl</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsibWFudWVsIiwiZWJlcmwiXX0=">📧</a> and <a href="../../authors/kreuzer">Katharina Kreuzer</a> <a class="obfuscated" data="eyJob3N0IjpbInR1bSIsImRlIl0sInVzZXIiOlsiayIsImtyZXV6ZXIiXX0=">📧</a></div>
+ <span class="date">
+ Sep 02
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="../../entries/Number_Theoretic_Transform.html">Number Theoretic Transform</a></h5> <br>by <a href="../../authors/ammer">Thomas Ammer</a> and <a href="../../authors/kreuzer">Katharina Kreuzer</a></div>
+ <span class="date">
+ Aug 18
+ </span>
+</article>
+
+
+<h3 class="head">2021</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Van_der_Waerden.html">Van der Waerden&#39;s Theorem</a></h5> <br>by <a href="../../authors/kreuzer">Katharina Kreuzer</a> <a href="https://www21.in.tum.de/team/kreuzer/">🌐</a> and <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a></div>
<span class="date">
Jun 22
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/authors/kreuzer/index.xml b/web/authors/kreuzer/index.xml
--- a/web/authors/kreuzer/index.xml
+++ b/web/authors/kreuzer/index.xml
@@ -1,20 +1,47 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>kreuzer on Archive of Formal Proofs</title>
<link>/authors/kreuzer/</link>
<description>Recent content in kreuzer on Archive of Formal Proofs</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-gb</language>
- <lastBuildDate>Tue, 22 Jun 2021 00:00:00 +0000</lastBuildDate><atom:link href="/authors/kreuzer/index.xml" rel="self" type="application/rss+xml" />
+ <lastBuildDate>Thu, 08 Sep 2022 00:00:00 +0000</lastBuildDate><atom:link href="/authors/kreuzer/index.xml" rel="self" type="application/rss+xml" />
+ <item>
+ <title>CRYSTALS-Kyber</title>
+ <link>/entries/CRYSTALS-Kyber.html</link>
+ <pubDate>Thu, 08 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/CRYSTALS-Kyber.html</guid>
+ <description></description>
+ </item>
+
+ <item>
+ <title>The Hales–Jewett Theorem</title>
+ <link>/entries/Hales_Jewett.html</link>
+ <pubDate>Fri, 02 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Hales_Jewett.html</guid>
+ <description></description>
+ </item>
+
+ <item>
+ <title>Number Theoretic Transform</title>
+ <link>/entries/Number_Theoretic_Transform.html</link>
+ <pubDate>Thu, 18 Aug 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Number_Theoretic_Transform.html</guid>
+ <description></description>
+ </item>
+
<item>
<title>Van der Waerden&#39;s Theorem</title>
<link>/entries/Van_der_Waerden.html</link>
<pubDate>Tue, 22 Jun 2021 00:00:00 +0000</pubDate>
<guid>/entries/Van_der_Waerden.html</guid>
<description></description>
</item>
</channel>
</rss>
diff --git a/web/authors/paulson/index.html b/web/authors/paulson/index.html
--- a/web/authors/paulson/index.html
+++ b/web/authors/paulson/index.html
@@ -1,297 +1,304 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Lawrence C. Paulson- Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../authors/paulson/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="paulson" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/authors/paulson/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="paulson"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../search"><img src="../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../"><li >Home</li></a>
<a href="../../topics/"><li >Topics</li></a>
<a href="../../download/"><li >Download</li></a>
<a href="../../help/"><li >Help</li></a>
<a href="../../submission/"><li >Submission</li></a>
<a href="../../statistics/"><li >Statistics</li></a>
<a href="../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>L</span>awrence <span class='first'>C</span>. <span class='first'>P</span>aulson</h1>
<div>
</div>
</header><div>
<h2>Homepages 🌐</h2>
<ul><li><a href="https://www.cl.cam.ac.uk/~lp15/">https://www.cl.cam.ac.uk/~lp15/</a></li></ul>
<h2>E-Mails 📧</h2>
<ul><li><a class="obfuscated" data="eyJob3N0IjpbImNhbSIsImFjIiwidWsiXSwidXNlciI6WyJscDE1Il19"><span class="rev">ku</span>.<span class="rev">ca</span>.<span class="rev">mac</span>@<span class="rev">51pl</span></a></li></ul>
<h2>Entries</h2><h3 class="head">2022</h3><article class="entry">
<div class="item-text">
+ <h5><a class="title" href="../../entries/Khovanskii_Theorem.html">Khovanskii&#39;s Theorem</a></h5> <br>by <a href="../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> <a href="https://www.cl.cam.ac.uk/~ak2110/">🌐</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a></div>
+ <span class="date">
+ Sep 02
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
<h5><a class="title" href="../../entries/Pluennecke_Ruzsa_Inequality.html">The Plünnecke-Ruzsa Inequality</a></h5> <br>by <a href="../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> <a href="https://www.cl.cam.ac.uk/~ak2110/">🌐</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
May 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Fishers_Inequality.html">Fisher&#39;s Inequality: Linear Algebraic Proof Techniques for Combinatorics</a></h5> <br>by <a href="../../authors/edmonds">Chelsea Edmonds</a> <a href="https://www.cst.cam.ac.uk/people/cle47">🌐</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Apr 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Dedekind_Real.html">Constructing the Reals as Dedekind Cuts of Rationals</a></h5> <br>by <a href="../../authors/fleuriot">Jacques D. Fleuriot</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Mar 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Ackermanns_not_PR.html">Ackermann&#39;s Function Is Not Primitive Recursive</a></h5> <br>by <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Mar 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Wetzels_Problem.html">Wetzel&#39;s Problem and the Continuum Hypothesis</a></h5> <br>by <a href="../../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Feb 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Youngs_Inequality.html">Young&#39;s Inequality for Increasing Functions</a></h5> <br>by <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Jan 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Irrationals_From_THEBOOK.html">Irrational numbers from THE BOOK</a></h5> <br>by <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Jan 08
</span>
</article>
<h3 class="head">2021</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Roth_Arithmetic_Progressions.html">Roth&#39;s Theorem on Arithmetic Progressions</a></h5> <br>by <a href="../../authors/edmonds">Chelsea Edmonds</a> <a href="https://www.cst.cam.ac.uk/people/cle47">🌐</a>, <a href="../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> <a href="https://www.cl.cam.ac.uk/~ak2110/">🌐</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Szemeredi_Regularity.html">Szemerédi&#39;s Regularity Lemma</a></h5> <br>by <a href="../../authors/edmonds">Chelsea Edmonds</a> <a href="https://www.cst.cam.ac.uk/people/cle47">🌐</a>, <a href="../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> <a href="https://www.cst.cam.ac.uk/people/ak2110">🌐</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Nov 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Design_Theory.html">Combinatorial Design Theory</a></h5> <br>by <a href="../../authors/edmonds">Chelsea Edmonds</a> <a href="https://www.cst.cam.ac.uk/people/cle47">🌐</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Aug 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Grothendieck_Schemes.html">Grothendieck&#39;s Schemes in Algebraic Geometry</a></h5> <br>by <a href="../../authors/bordg">Anthony Bordg</a> <a href="https://sites.google.com/site/anthonybordg/">🌐</a>, <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a> and <a href="../../authors/li">Wenda Li</a> <a href="https://www.cl.cam.ac.uk/~wl302/">🌐</a></div>
<span class="date">
Mar 29
</span>
</article>
<h3 class="head">2020</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Ordinal_Partitions.html">Ordinal Partitions</a></h5> <br>by <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Aug 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Nash_Williams.html">The Nash-Williams Partition Theorem</a></h5> <br>by <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
May 16
</span>
</article>
<h3 class="head">2019</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/ZFC_in_HOL.html">Zermelo Fraenkel Set Theory in Higher-Order Logic</a></h5> <br>by <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Oct 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Fourier.html">Fourier Series</a></h5> <br>by <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Sep 06
</span>
</article>
<h3 class="head">2018</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Prime_Number_Theorem.html">The Prime Number Theorem</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Sep 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Quaternions.html">Quaternions</a></h5> <br>by <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Sep 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Green.html">An Isabelle/HOL formalisation of Green&#39;s Theorem</a></h5> <br>by <a href="../../authors/abdulaziz">Mohammad Abdulaziz</a> <a href="http://home.in.tum.de/~mansour/">🌐</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Jan 11
</span>
</article>
<h3 class="head">2016</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Source_Coding_Theorem.html">Source Coding Theorem</a></h5> <br>by <a href="../../authors/hibon">Quentin Hibon</a> <a class="obfuscated" data="eyJob3N0IjpbImNsIiwiY2FtIiwiYWMiLCJ1ayJdLCJ1c2VyIjpbInFoMjI1Il19">📧</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a> <a class="obfuscated" data="eyJob3N0IjpbImNhbSIsImFjIiwidWsiXSwidXNlciI6WyJscDE1Il19">📧</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Cartan_FP.html">The Cartan Fixed Point Theorems</a></h5> <br>by <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Mar 08
</span>
</article>
<h3 class="head">2015</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Finite_Automata_HF.html">Finite Automata in Hereditarily Finite Set Theory</a></h5> <br>by <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Feb 05
</span>
</article>
<h3 class="head">2014</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Special_Function_Bounds.html">Real-Valued Special Functions: Upper and Lower Bounds</a></h5> <br>by <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Aug 29
</span>
</article>
<h3 class="head">2013</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/HereditarilyFinite.html">The Hereditarily Finite Sets</a></h5> <br>by <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Nov 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Incompleteness.html">Gödel&#39;s Incompleteness Theorems</a></h5> <br>by <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Nov 17
</span>
</article>
<h3 class="head">2012</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Impossible_Geometry.html">Proving the Impossibility of Trisecting an Angle and Doubling the Cube</a></h5> <br>by <a href="../../authors/romanos">Ralph Romanos</a> <a class="obfuscated" data="eyJob3N0IjpbInN0dWRlbnQiLCJlY3AiLCJmciJdLCJ1c2VyIjpbInJhbHBoIiwicm9tYW5vcyJdfQ==">📧</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Aug 05
</span>
</article>
<h3 class="head">2008</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/FunWithTilings.html">Fun With Tilings</a></h5> <br>by <a href="../../authors/nipkow">Tobias Nipkow</a> <a href="https://www.in.tum.de/~nipkow/">🌐</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a></div>
<span class="date">
Nov 07
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/authors/paulson/index.xml b/web/authors/paulson/index.xml
--- a/web/authors/paulson/index.xml
+++ b/web/authors/paulson/index.xml
@@ -1,245 +1,254 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>paulson on Archive of Formal Proofs</title>
<link>/authors/paulson/</link>
<description>Recent content in paulson on Archive of Formal Proofs</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-gb</language>
- <lastBuildDate>Thu, 26 May 2022 00:00:00 +0000</lastBuildDate><atom:link href="/authors/paulson/index.xml" rel="self" type="application/rss+xml" />
+ <lastBuildDate>Fri, 02 Sep 2022 00:00:00 +0000</lastBuildDate><atom:link href="/authors/paulson/index.xml" rel="self" type="application/rss+xml" />
+ <item>
+ <title>Khovanskii&amp;#x27;s Theorem</title>
+ <link>/entries/Khovanskii_Theorem.html</link>
+ <pubDate>Fri, 02 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Khovanskii_Theorem.html</guid>
+ <description></description>
+ </item>
+
<item>
<title>The Plünnecke-Ruzsa Inequality</title>
<link>/entries/Pluennecke_Ruzsa_Inequality.html</link>
<pubDate>Thu, 26 May 2022 00:00:00 +0000</pubDate>
<guid>/entries/Pluennecke_Ruzsa_Inequality.html</guid>
<description></description>
</item>
<item>
<title>Fisher&#39;s Inequality: Linear Algebraic Proof Techniques for Combinatorics</title>
<link>/entries/Fishers_Inequality.html</link>
<pubDate>Thu, 21 Apr 2022 00:00:00 +0000</pubDate>
<guid>/entries/Fishers_Inequality.html</guid>
<description></description>
</item>
<item>
<title>Constructing the Reals as Dedekind Cuts of Rationals</title>
<link>/entries/Dedekind_Real.html</link>
<pubDate>Thu, 24 Mar 2022 00:00:00 +0000</pubDate>
<guid>/entries/Dedekind_Real.html</guid>
<description></description>
</item>
<item>
<title>Ackermann&#39;s Function Is Not Primitive Recursive</title>
<link>/entries/Ackermanns_not_PR.html</link>
<pubDate>Wed, 23 Mar 2022 00:00:00 +0000</pubDate>
<guid>/entries/Ackermanns_not_PR.html</guid>
<description></description>
</item>
<item>
<title>Wetzel&#39;s Problem and the Continuum Hypothesis</title>
<link>/entries/Wetzels_Problem.html</link>
<pubDate>Fri, 18 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/Wetzels_Problem.html</guid>
<description></description>
</item>
<item>
<title>Young&#39;s Inequality for Increasing Functions</title>
<link>/entries/Youngs_Inequality.html</link>
<pubDate>Mon, 31 Jan 2022 00:00:00 +0000</pubDate>
<guid>/entries/Youngs_Inequality.html</guid>
<description></description>
</item>
<item>
<title>Irrational numbers from THE BOOK</title>
<link>/entries/Irrationals_From_THEBOOK.html</link>
<pubDate>Sat, 08 Jan 2022 00:00:00 +0000</pubDate>
<guid>/entries/Irrationals_From_THEBOOK.html</guid>
<description></description>
</item>
<item>
<title>Roth&#39;s Theorem on Arithmetic Progressions</title>
<link>/entries/Roth_Arithmetic_Progressions.html</link>
<pubDate>Tue, 28 Dec 2021 00:00:00 +0000</pubDate>
<guid>/entries/Roth_Arithmetic_Progressions.html</guid>
<description></description>
</item>
<item>
<title>Szemerédi&#39;s Regularity Lemma</title>
<link>/entries/Szemeredi_Regularity.html</link>
<pubDate>Fri, 05 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Szemeredi_Regularity.html</guid>
<description></description>
</item>
<item>
<title>Combinatorial Design Theory</title>
<link>/entries/Design_Theory.html</link>
<pubDate>Fri, 13 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/Design_Theory.html</guid>
<description></description>
</item>
<item>
<title>Grothendieck&#39;s Schemes in Algebraic Geometry</title>
<link>/entries/Grothendieck_Schemes.html</link>
<pubDate>Mon, 29 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Grothendieck_Schemes.html</guid>
<description></description>
</item>
<item>
<title>Ordinal Partitions</title>
<link>/entries/Ordinal_Partitions.html</link>
<pubDate>Mon, 03 Aug 2020 00:00:00 +0000</pubDate>
<guid>/entries/Ordinal_Partitions.html</guid>
<description></description>
</item>
<item>
<title>The Nash-Williams Partition Theorem</title>
<link>/entries/Nash_Williams.html</link>
<pubDate>Sat, 16 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Nash_Williams.html</guid>
<description></description>
</item>
<item>
<title>Zermelo Fraenkel Set Theory in Higher-Order Logic</title>
<link>/entries/ZFC_in_HOL.html</link>
<pubDate>Thu, 24 Oct 2019 00:00:00 +0000</pubDate>
<guid>/entries/ZFC_in_HOL.html</guid>
<description></description>
</item>
<item>
<title>Fourier Series</title>
<link>/entries/Fourier.html</link>
<pubDate>Fri, 06 Sep 2019 00:00:00 +0000</pubDate>
<guid>/entries/Fourier.html</guid>
<description></description>
</item>
<item>
<title>The Prime Number Theorem</title>
<link>/entries/Prime_Number_Theorem.html</link>
<pubDate>Wed, 19 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Prime_Number_Theorem.html</guid>
<description></description>
</item>
<item>
<title>Quaternions</title>
<link>/entries/Quaternions.html</link>
<pubDate>Wed, 05 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Quaternions.html</guid>
<description></description>
</item>
<item>
<title>An Isabelle/HOL formalisation of Green&#39;s Theorem</title>
<link>/entries/Green.html</link>
<pubDate>Thu, 11 Jan 2018 00:00:00 +0000</pubDate>
<guid>/entries/Green.html</guid>
<description></description>
</item>
<item>
<title>Source Coding Theorem</title>
<link>/entries/Source_Coding_Theorem.html</link>
<pubDate>Wed, 19 Oct 2016 00:00:00 +0000</pubDate>
<guid>/entries/Source_Coding_Theorem.html</guid>
<description></description>
</item>
<item>
<title>The Cartan Fixed Point Theorems</title>
<link>/entries/Cartan_FP.html</link>
<pubDate>Tue, 08 Mar 2016 00:00:00 +0000</pubDate>
<guid>/entries/Cartan_FP.html</guid>
<description></description>
</item>
<item>
<title>Finite Automata in Hereditarily Finite Set Theory</title>
<link>/entries/Finite_Automata_HF.html</link>
<pubDate>Thu, 05 Feb 2015 00:00:00 +0000</pubDate>
<guid>/entries/Finite_Automata_HF.html</guid>
<description></description>
</item>
<item>
<title>Real-Valued Special Functions: Upper and Lower Bounds</title>
<link>/entries/Special_Function_Bounds.html</link>
<pubDate>Fri, 29 Aug 2014 00:00:00 +0000</pubDate>
<guid>/entries/Special_Function_Bounds.html</guid>
<description></description>
</item>
<item>
<title>Gödel&#39;s Incompleteness Theorems</title>
<link>/entries/Incompleteness.html</link>
<pubDate>Sun, 17 Nov 2013 00:00:00 +0000</pubDate>
<guid>/entries/Incompleteness.html</guid>
<description></description>
</item>
<item>
<title>The Hereditarily Finite Sets</title>
<link>/entries/HereditarilyFinite.html</link>
<pubDate>Sun, 17 Nov 2013 00:00:00 +0000</pubDate>
<guid>/entries/HereditarilyFinite.html</guid>
<description></description>
</item>
<item>
<title>Proving the Impossibility of Trisecting an Angle and Doubling the Cube</title>
<link>/entries/Impossible_Geometry.html</link>
<pubDate>Sun, 05 Aug 2012 00:00:00 +0000</pubDate>
<guid>/entries/Impossible_Geometry.html</guid>
<description></description>
</item>
<item>
<title>Fun With Tilings</title>
<link>/entries/FunWithTilings.html</link>
<pubDate>Fri, 07 Nov 2008 00:00:00 +0000</pubDate>
<guid>/entries/FunWithTilings.html</guid>
<description></description>
</item>
</channel>
</rss>
diff --git a/web/authors/regensburger/index.html b/web/authors/regensburger/index.html
new file mode 100644
--- /dev/null
+++ b/web/authors/regensburger/index.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1"><title>Franz Regensburger- Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../authors/regensburger/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="regensburger" />
+<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="/authors/regensburger/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
+
+<meta name="twitter:card" content="summary_large_image"/>
+<meta name="twitter:image" content="/images/afp.png"/>
+
+<meta name="twitter:title" content="regensburger"/>
+<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
+
+
+ <link rel="stylesheet" type="text/css" href="../../css/front.min.css">
+
+ <link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
+ <script src="../../js/flexsearch.bundle.js"></script>
+ <script src="../../js/scroll-spy.js"></script>
+ <script src="../../js/theory.js"></script>
+ <script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
+</head>
+
+
+<body class='mathjax_ignore '>
+ <aside>
+ <div id="menu-toggle">
+ <input id="toggle" type="checkbox" />
+ <label for="toggle">
+ <span>menu</span>
+ <img src="../../images/menu.svg" alt="Menu" />
+ </label>
+
+ <a href="../../" class='logo-link'>
+ <img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
+ </a>
+
+ <a href="../../search"><img src="../../images/search.svg" alt="Search" /></a>
+ <nav id="menu">
+ <div>
+ <a href="../../" class='logo-link'>
+ <img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
+ </a>
+ <ul>
+ <a href="../../"><li >Home</li></a>
+ <a href="../../topics/"><li >Topics</li></a>
+ <a href="../../download/"><li >Download</li></a>
+ <a href="../../help/"><li >Help</li></a>
+ <a href="../../submission/"><li >Submission</li></a>
+ <a href="../../statistics/"><li >Statistics</li></a>
+ <a href="../../about/"><li >About</li></a>
+ </ul>
+ </div>
+ </nav>
+</div>
+ </aside>
+
+ <div
+ class='content '><header>
+ <form autocomplete="off" action="../../search">
+ <div class='form-container'>
+ <input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
+ id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
+ <datalist id="autocomplete">
+ </datalist>
+ </div>
+ </form>
+ <h1 >
+ <span class='first'>F</span>ranz <span class='first'>R</span>egensburger</h1>
+ <div>
+
+
+
+ </div>
+</header><div>
+<h2>Homepages 🌐</h2>
+<ul><li><a href="https://www.thi.de/suche/mitarbeiter/prof-dr-rer-nat-franz-regensburger">https://www.thi.de/suche/mitarbeiter/prof-dr-rer-nat-franz-regensburger</a></li></ul>
+
+
+
+<h2>Entries</h2><h3 class="head">2019</h3><article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="../../entries/Universal_Turing_Machine.html">Universal Turing Machine</a></h5> <br>by <a href="../../authors/xu">Jian Xu</a>, <a href="../../authors/zhangx">Xingyuan Zhang</a>, <a href="../../authors/urban">Christian Urban</a> <a href="https://nms.kcl.ac.uk/christian.urban/">🌐</a>, <a href="../../authors/joosten">Sebastiaan J. C. Joosten</a> <a href="https://sjcjoosten.nl/">🌐</a> and <a href="../../authors/regensburger">Franz Regensburger</a> <a href="https://www.thi.de/suche/mitarbeiter/prof-dr-rer-nat-franz-regensburger">🌐</a></div>
+ <span class="date">
+ Feb 08
+ </span>
+</article>
+
+
+
+
+ </div>
+ </div>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/web/authors/regensburger/index.xml b/web/authors/regensburger/index.xml
new file mode 100644
--- /dev/null
+++ b/web/authors/regensburger/index.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+ <channel>
+ <title>regensburger on Archive of Formal Proofs</title>
+ <link>/authors/regensburger/</link>
+ <description>Recent content in regensburger on Archive of Formal Proofs</description>
+ <generator>Hugo -- gohugo.io</generator>
+ <language>en-gb</language>
+ <lastBuildDate>Fri, 08 Feb 2019 00:00:00 +0000</lastBuildDate><atom:link href="/authors/regensburger/index.xml" rel="self" type="application/rss+xml" />
+ <item>
+ <title>Universal Turing Machine</title>
+ <link>/entries/Universal_Turing_Machine.html</link>
+ <pubDate>Fri, 08 Feb 2019 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Universal_Turing_Machine.html</guid>
+ <description></description>
+ </item>
+
+ </channel>
+</rss>
diff --git a/web/authors/sulejmani/index.html b/web/authors/sulejmani/index.html
--- a/web/authors/sulejmani/index.html
+++ b/web/authors/sulejmani/index.html
@@ -1,96 +1,108 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Ujkan Sulejmani- Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../authors/sulejmani/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="sulejmani" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/authors/sulejmani/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="sulejmani"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../search"><img src="../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../"><li >Home</li></a>
<a href="../../topics/"><li >Topics</li></a>
<a href="../../download/"><li >Download</li></a>
<a href="../../help/"><li >Help</li></a>
<a href="../../submission/"><li >Submission</li></a>
<a href="../../statistics/"><li >Statistics</li></a>
<a href="../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>U</span>jkan <span class='first'>S</span>ulejmani</h1>
<div>
</div>
</header><div>
+<h2>E-Mails 📧</h2>
+<ul><li><a class="obfuscated" data="eyJob3N0IjpbInR1bSIsImRlIl0sInVzZXIiOlsidWprYW4iLCJzdWxlam1hbmkiXX0="><span class="rev">ed</span>.<span class="rev">mut</span>@<span class="rev">inamjelus</span>.<span class="rev">nakju</span></a></li></ul>
-<h2>Entries</h2><h3 class="head">2020</h3><article class="entry">
+
+<h2>Entries</h2><h3 class="head">2022</h3><article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="../../entries/Hales_Jewett.html">The Hales–Jewett Theorem</a></h5> <br>by <a href="../../authors/sulejmani">Ujkan Sulejmani</a> <a class="obfuscated" data="eyJob3N0IjpbInR1bSIsImRlIl0sInVzZXIiOlsidWprYW4iLCJzdWxlam1hbmkiXX0=">📧</a>, <a href="../../authors/eberl">Manuel Eberl</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsibWFudWVsIiwiZWJlcmwiXX0=">📧</a> and <a href="../../authors/kreuzer">Katharina Kreuzer</a> <a class="obfuscated" data="eyJob3N0IjpbInR1bSIsImRlIl0sInVzZXIiOlsiayIsImtyZXV6ZXIiXX0=">📧</a></div>
+ <span class="date">
+ Sep 02
+ </span>
+</article>
+
+
+<h3 class="head">2020</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Approximation_Algorithms.html">Verified Approximation Algorithms</a></h5> <br>by <a href="../../authors/essmann">Robin Eßmann</a> <a class="obfuscated" data="eyJob3N0IjpbInR1bSIsImRlIl0sInVzZXIiOlsicm9iaW4iLCJlc3NtYW5uIl19">📧</a>, <a href="../../authors/nipkow">Tobias Nipkow</a> <a href="https://www.in.tum.de/~nipkow/">🌐</a>, <a href="../../authors/robillard">Simon Robillard</a> <a href="https://simon-robillard.net/">🌐</a> and <a href="../../authors/sulejmani">Ujkan Sulejmani</a></div>
<span class="date">
Jan 16
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/authors/sulejmani/index.xml b/web/authors/sulejmani/index.xml
--- a/web/authors/sulejmani/index.xml
+++ b/web/authors/sulejmani/index.xml
@@ -1,20 +1,29 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>sulejmani on Archive of Formal Proofs</title>
<link>/authors/sulejmani/</link>
<description>Recent content in sulejmani on Archive of Formal Proofs</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-gb</language>
- <lastBuildDate>Thu, 16 Jan 2020 00:00:00 +0000</lastBuildDate><atom:link href="/authors/sulejmani/index.xml" rel="self" type="application/rss+xml" />
+ <lastBuildDate>Fri, 02 Sep 2022 00:00:00 +0000</lastBuildDate><atom:link href="/authors/sulejmani/index.xml" rel="self" type="application/rss+xml" />
+ <item>
+ <title>The Hales–Jewett Theorem</title>
+ <link>/entries/Hales_Jewett.html</link>
+ <pubDate>Fri, 02 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Hales_Jewett.html</guid>
+ <description></description>
+ </item>
+
<item>
<title>Verified Approximation Algorithms</title>
<link>/entries/Approximation_Algorithms.html</link>
<pubDate>Thu, 16 Jan 2020 00:00:00 +0000</pubDate>
<guid>/entries/Approximation_Algorithms.html</guid>
<description></description>
</item>
</channel>
</rss>
diff --git a/web/authors/urban/index.html b/web/authors/urban/index.html
--- a/web/authors/urban/index.html
+++ b/web/authors/urban/index.html
@@ -1,126 +1,126 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Christian Urban- Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../authors/urban/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="urban" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/authors/urban/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="urban"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../search"><img src="../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../"><li >Home</li></a>
<a href="../../topics/"><li >Topics</li></a>
<a href="../../download/"><li >Download</li></a>
<a href="../../help/"><li >Help</li></a>
<a href="../../submission/"><li >Submission</li></a>
<a href="../../statistics/"><li >Statistics</li></a>
<a href="../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>hristian <span class='first'>U</span>rban</h1>
<div>
</div>
</header><div>
<h2>Homepages 🌐</h2>
<ul><li><a href="https://nms.kcl.ac.uk/christian.urban/">https://nms.kcl.ac.uk/christian.urban/</a></li></ul>
<h2>Entries</h2><h3 class="head">2019</h3><article class="entry">
<div class="item-text">
- <h5><a class="title" href="../../entries/Universal_Turing_Machine.html">Universal Turing Machine</a></h5> <br>by <a href="../../authors/xu">Jian Xu</a>, <a href="../../authors/zhangx">Xingyuan Zhang</a>, <a href="../../authors/urban">Christian Urban</a> <a href="https://nms.kcl.ac.uk/christian.urban/">🌐</a> and <a href="../../authors/joosten">Sebastiaan J. C. Joosten</a> <a href="https://sjcjoosten.nl/">🌐</a></div>
+ <h5><a class="title" href="../../entries/Universal_Turing_Machine.html">Universal Turing Machine</a></h5> <br>by <a href="../../authors/xu">Jian Xu</a>, <a href="../../authors/zhangx">Xingyuan Zhang</a>, <a href="../../authors/urban">Christian Urban</a> <a href="https://nms.kcl.ac.uk/christian.urban/">🌐</a>, <a href="../../authors/joosten">Sebastiaan J. C. Joosten</a> <a href="https://sjcjoosten.nl/">🌐</a> and <a href="../../authors/regensburger">Franz Regensburger</a> <a href="https://www.thi.de/suche/mitarbeiter/prof-dr-rer-nat-franz-regensburger">🌐</a></div>
<span class="date">
Feb 08
</span>
</article>
<h3 class="head">2016</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Posix-Lexing.html">POSIX Lexing with Derivatives of Regular Expressions</a></h5> <br>by <a href="../../authors/ausaf">Fahad Ausaf</a> <a href="http://kcl.academia.edu/FahadAusaf">🌐</a>, <a href="../../authors/dyckhoff">Roy Dyckhoff</a> <a href="https://rd.host.cs.st-andrews.ac.uk">🌐</a> and <a href="../../authors/urban">Christian Urban</a> <a href="https://nms.kcl.ac.uk/christian.urban/">🌐</a></div>
<span class="date">
May 24
</span>
</article>
<h3 class="head">2013</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Nominal2.html">Nominal 2</a></h5> <br>by <a href="../../authors/urban">Christian Urban</a> <a href="https://nms.kcl.ac.uk/christian.urban/">🌐</a>, <a href="../../authors/berghofer">Stefan Berghofer</a> <a href="http://www.in.tum.de/~berghofe">🌐</a> and <a href="../../authors/kaliszyk">Cezary Kaliszyk</a> <a href="http://cl-informatik.uibk.ac.at/users/cek/">🌐</a></div>
<span class="date">
Feb 21
</span>
</article>
<h3 class="head">2011</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Myhill-Nerode.html">The Myhill-Nerode Theorem Based on Regular Expressions</a></h5> <br>by <a href="../../authors/wu">Chunhan Wu</a>, <a href="../../authors/zhangx">Xingyuan Zhang</a> and <a href="../../authors/urban">Christian Urban</a> <a href="https://nms.kcl.ac.uk/christian.urban/">🌐</a></div>
<span class="date">
Aug 26
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/authors/wenzel/index.html b/web/authors/wenzel/index.html
--- a/web/authors/wenzel/index.html
+++ b/web/authors/wenzel/index.html
@@ -1,99 +1,99 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Makarius Wenzel- Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../authors/wenzel/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="wenzel" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/authors/wenzel/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="wenzel"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../search"><img src="../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../"><li >Home</li></a>
<a href="../../topics/"><li >Topics</li></a>
<a href="../../download/"><li >Download</li></a>
<a href="../../help/"><li >Help</li></a>
<a href="../../submission/"><li >Submission</li></a>
<a href="../../statistics/"><li >Statistics</li></a>
<a href="../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>M</span>akarius <span class='first'>W</span>enzel</h1>
<div>
</div>
</header><div>
<h2>E-Mails 📧</h2>
-<ul><li><a class="obfuscated" data="eyJob3N0IjpbImxyaSIsImZyIl0sInVzZXIiOlsiTWFrYXJpdXMiLCJ3ZW56ZWwiXX0="><span class="rev">rf</span>.<span class="rev">irl</span>@<span class="rev">leznew</span>.<span class="rev">suirakaM</span></a></li></ul>
+<ul><li><a class="obfuscated" data="eyJob3N0IjpbInNrZXRpcyIsIm5ldCJdLCJ1c2VyIjpbIm1ha2FyaXVzIl19"><span class="rev">ten</span>.<span class="rev">siteks</span>@<span class="rev">suirakam</span></a></li></ul>
<h2>Entries</h2><h3 class="head">2014</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Roy_Floyd_Warshall.html">Transitive closure according to Roy-Floyd-Warshall</a></h5> <br>by <a href="../../authors/wenzel">Makarius Wenzel</a></div>
<span class="date">
May 23
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/authors/xu/index.html b/web/authors/xu/index.html
--- a/web/authors/xu/index.html
+++ b/web/authors/xu/index.html
@@ -1,96 +1,96 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Jian Xu- Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../authors/xu/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="xu" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/authors/xu/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="xu"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../search"><img src="../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../"><li >Home</li></a>
<a href="../../topics/"><li >Topics</li></a>
<a href="../../download/"><li >Download</li></a>
<a href="../../help/"><li >Help</li></a>
<a href="../../submission/"><li >Submission</li></a>
<a href="../../statistics/"><li >Statistics</li></a>
<a href="../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>J</span>ian <span class='first'>X</span>u</h1>
<div>
</div>
</header><div>
<h2>Entries</h2><h3 class="head">2019</h3><article class="entry">
<div class="item-text">
- <h5><a class="title" href="../../entries/Universal_Turing_Machine.html">Universal Turing Machine</a></h5> <br>by <a href="../../authors/xu">Jian Xu</a>, <a href="../../authors/zhangx">Xingyuan Zhang</a>, <a href="../../authors/urban">Christian Urban</a> <a href="https://nms.kcl.ac.uk/christian.urban/">🌐</a> and <a href="../../authors/joosten">Sebastiaan J. C. Joosten</a> <a href="https://sjcjoosten.nl/">🌐</a></div>
+ <h5><a class="title" href="../../entries/Universal_Turing_Machine.html">Universal Turing Machine</a></h5> <br>by <a href="../../authors/xu">Jian Xu</a>, <a href="../../authors/zhangx">Xingyuan Zhang</a>, <a href="../../authors/urban">Christian Urban</a> <a href="https://nms.kcl.ac.uk/christian.urban/">🌐</a>, <a href="../../authors/joosten">Sebastiaan J. C. Joosten</a> <a href="https://sjcjoosten.nl/">🌐</a> and <a href="../../authors/regensburger">Franz Regensburger</a> <a href="https://www.thi.de/suche/mitarbeiter/prof-dr-rer-nat-franz-regensburger">🌐</a></div>
<span class="date">
Feb 08
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/authors/zhangx/index.html b/web/authors/zhangx/index.html
--- a/web/authors/zhangx/index.html
+++ b/web/authors/zhangx/index.html
@@ -1,105 +1,105 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Xingyuan Zhang- Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../authors/zhangx/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="zhangx" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/authors/zhangx/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="zhangx"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../search"><img src="../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../"><li >Home</li></a>
<a href="../../topics/"><li >Topics</li></a>
<a href="../../download/"><li >Download</li></a>
<a href="../../help/"><li >Help</li></a>
<a href="../../submission/"><li >Submission</li></a>
<a href="../../statistics/"><li >Statistics</li></a>
<a href="../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>X</span>ingyuan <span class='first'>Z</span>hang</h1>
<div>
</div>
</header><div>
<h2>Entries</h2><h3 class="head">2019</h3><article class="entry">
<div class="item-text">
- <h5><a class="title" href="../../entries/Universal_Turing_Machine.html">Universal Turing Machine</a></h5> <br>by <a href="../../authors/xu">Jian Xu</a>, <a href="../../authors/zhangx">Xingyuan Zhang</a>, <a href="../../authors/urban">Christian Urban</a> <a href="https://nms.kcl.ac.uk/christian.urban/">🌐</a> and <a href="../../authors/joosten">Sebastiaan J. C. Joosten</a> <a href="https://sjcjoosten.nl/">🌐</a></div>
+ <h5><a class="title" href="../../entries/Universal_Turing_Machine.html">Universal Turing Machine</a></h5> <br>by <a href="../../authors/xu">Jian Xu</a>, <a href="../../authors/zhangx">Xingyuan Zhang</a>, <a href="../../authors/urban">Christian Urban</a> <a href="https://nms.kcl.ac.uk/christian.urban/">🌐</a>, <a href="../../authors/joosten">Sebastiaan J. C. Joosten</a> <a href="https://sjcjoosten.nl/">🌐</a> and <a href="../../authors/regensburger">Franz Regensburger</a> <a href="https://www.thi.de/suche/mitarbeiter/prof-dr-rer-nat-franz-regensburger">🌐</a></div>
<span class="date">
Feb 08
</span>
</article>
<h3 class="head">2011</h3><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Myhill-Nerode.html">The Myhill-Nerode Theorem Based on Regular Expressions</a></h5> <br>by <a href="../../authors/wu">Chunhan Wu</a>, <a href="../../authors/zhangx">Xingyuan Zhang</a> and <a href="../../authors/urban">Christian Urban</a> <a href="https://nms.kcl.ac.uk/christian.urban/">🌐</a></div>
<span class="date">
Aug 26
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/data/keywords.json b/web/data/keywords.json
--- a/web/data/keywords.json
+++ b/web/data/keywords.json
@@ -1,35146 +1,11142 @@
[{"id": 0,
"keyword": "declarative first-order prover"},
{"id": 1,
"keyword": "fusc function"},
{"id": 2,
"keyword": "enabled transitions"},
{"id": 3,
"keyword": "node labeled 1"},
{"id": 4,
"keyword": "arbitrary user"},
{"id": 5,
"keyword": "abstract automata types"},
{"id": 6,
"keyword": "ground tree transducers"},
{"id": 7,
"keyword": "homogeneous linear diophantine equations"},
{"id": 8,
"keyword": "canonical matrix form"},
{"id": 9,
"keyword": "computation models"},
{"id": 10,
"keyword": "primes"},
{"id": 11,
"keyword": "underlying decision procedure"},
{"id": 12,
"keyword": "alpha"},
{"id": 13,
"keyword": "stanford encyclopedia"},
{"id": 14,
"keyword": "macaulay matrices"},
{"id": 15,
"keyword": "excluding point sequences"},
{"id": 16,
"keyword": "combinatorial argument"},
{"id": 17,
"keyword": "basic geometric properties"},
{"id": 18,
"keyword": "hash functions"},
{"id": 19,
"keyword": "randomised binary search trees"},
{"id": 20,
"keyword": "markov decision processes"},
{"id": 21,
"keyword": "itp-2015 peter lammich"},
{"id": 22,
"keyword": "word equations"},
{"id": 23,
"keyword": "special combination"},
{"id": 24,
"keyword": "qualitative applications"},
{"id": 25,
"keyword": "signed words"},
{"id": 26,
"keyword": "invariant generation"},
{"id": 27,
"keyword": "fast iterative algorithm"},
{"id": 28,
"keyword": "lens laws"},
{"id": 29,
"keyword": "nodes labeled"},
{"id": 30,
"keyword": "protocol transcript"},
{"id": 31,
"keyword": "formalizing compiler transformations"},
{"id": 32,
"keyword": "common set"},
{"id": 33,
"keyword": "deterministic state machine"},
{"id": 34,
"keyword": "generate executable code"},
{"id": 35,
"keyword": "application programming interface"},
{"id": 36,
"keyword": "superposition rules"},
{"id": 37,
"keyword": "context-free languages"},
{"id": 38,
"keyword": "model satisfies"},
{"id": 39,
"keyword": "achieve consensus"},
{"id": 40,
"keyword": "exception compilation scheme"},
{"id": 41,
"keyword": "fixed arbitrary length"},
{"id": 42,
"keyword": "security property"},
{"id": 43,
"keyword": "totient function phi"},
{"id": 44,
"keyword": "verify theorems"},
{"id": 45,
"keyword": "poplmark challenge designed"},
{"id": 46,
"keyword": "finite closed semantic tree"},
{"id": 47,
"keyword": "saturation theorem proving"},
{"id": 48,
"keyword": "unification algorithm"},
{"id": 49,
"keyword": "complicated translation layer"},
{"id": 50,
"keyword": "chords intersect"},
{"id": 51,
"keyword": "deliverable d31"},
{"id": 52,
"keyword": "generate human-readable secav proofs"},
{"id": 53,
"keyword": "constructor calls occuring"},
{"id": 54,
"keyword": "ciphertext attacks"},
{"id": 55,
"keyword": "del"},
{"id": 56,
"keyword": "model total correctness"},
{"id": 57,
"keyword": "ramsey theory"},
{"id": 58,
"keyword": "effectful computations"},
{"id": 59,
"keyword": "lazy sequences"},
{"id": 60,
"keyword": "underlying graph"},
{"id": 61,
"keyword": "algebraic setting"},
{"id": 62,
"keyword": "resulting code"},
{"id": 63,
"keyword": "method called separata"},
{"id": 64,
"keyword": "technische universit"},
{"id": 65,
"keyword": "publisher subscriber pattern"},
{"id": 66,
"keyword": "completeness proof"},
{"id": 67,
"keyword": "function spaces"},
{"id": 68,
"keyword": "inference step"},
{"id": 69,
"keyword": "package logic"},
{"id": 70,
"keyword": "minimal unsatisfiable cores"},
{"id": 71,
"keyword": "compositional theory"},
{"id": 72,
"keyword": "programming languages sml"},
{"id": 73,
"keyword": "residuated transition system"},
{"id": 74,
"keyword": "quotient construction"},
{"id": 75,
"keyword": "monadic language"},
{"id": 76,
"keyword": "discrete"},
{"id": 77,
"keyword": "deductive system"},
{"id": 78,
"keyword": "store buffer"},
{"id": 79,
"keyword": "optimized variant"},
{"id": 80,
"keyword": "target-language expression"},
{"id": 81,
"keyword": "refinement-based theorem proving approach"},
{"id": 82,
"keyword": "cyclic groups"},
{"id": 83,
"keyword": "formal puiseux series"},
{"id": 84,
"keyword": "replicated growable array"},
{"id": 85,
"keyword": "axiomatic network model"},
{"id": 86,
"keyword": "lifting invariants"},
{"id": 87,
"keyword": "finite games"},
{"id": 88,
"keyword": "work focuses"},
{"id": 89,
"keyword": "detects unsatisfiability"},
{"id": 90,
"keyword": "unifies previous formalisations"},
{"id": 91,
"keyword": "semantic model"},
{"id": 92,
"keyword": "important classes"},
{"id": 93,
"keyword": "ground resolution"},
{"id": 94,
"keyword": "accesses memory locations"},
{"id": 95,
"keyword": "alternatives"},
{"id": 96,
"keyword": "linux-based router"},
{"id": 97,
"keyword": "counit natural transformations"},
{"id": 98,
"keyword": "simple compilation function"},
{"id": 99,
"keyword": "check high-level security goals"},
{"id": 100,
"keyword": "specific isomorphism expressing"},
{"id": 101,
"keyword": "computation traces"},
{"id": 102,
"keyword": "floating-point arithmetic"},
{"id": 103,
"keyword": "power sum polynomials"},
{"id": 104,
"keyword": "efficient binary search"},
{"id": 105,
"keyword": "application"},
{"id": 106,
"keyword": "dependent security type system"},
{"id": 107,
"keyword": "regular algebra hierarchy"},
{"id": 108,
"keyword": "recursive fashion"},
{"id": 109,
"keyword": "traditional query plan optimizations"},
{"id": 110,
"keyword": "employs reasoning"},
{"id": 111,
"keyword": "universal tool"},
{"id": 112,
"keyword": "detailed description"},
{"id": 113,
"keyword": "hol function"},
{"id": 114,
"keyword": "real roots"},
{"id": 115,
"keyword": "abrupt termination"},
{"id": 116,
"keyword": "theology"},
{"id": 117,
"keyword": "coinductive natural numbers"},
{"id": 118,
"keyword": "mutually-recursive definition"},
{"id": 119,
"keyword": "exotic terms"},
{"id": 120,
"keyword": "conference certified programs"},
{"id": 121,
"keyword": "graph lemma quantifies"},
{"id": 122,
"keyword": "complementary semigroups"},
{"id": 123,
"keyword": "encoding function"},
{"id": 124,
"keyword": "division algorithms"},
{"id": 125,
"keyword": "fixed prime"},
{"id": 126,
"keyword": "separate afp entry"},
{"id": 127,
"keyword": "integrated memory models"},
{"id": 128,
"keyword": "avl trees"},
{"id": 129,
"keyword": "theorem relates"},
{"id": 130,
"keyword": "custom induction rules"},
{"id": 131,
"keyword": "interdisciplinary project"},
{"id": 132,
"keyword": "effective procedure"},
{"id": 133,
"keyword": "uniform semantic substrate"},
{"id": 134,
"keyword": "simulation-based proofs"},
{"id": 135,
"keyword": "number"},
{"id": 136,
"keyword": "basic definitions"},
{"id": 137,
"keyword": "stepwise refinement"},
{"id": 138,
"keyword": "kleene relation algebras"},
{"id": 139,
"keyword": "implemented tail recursively"},
{"id": 140,
"keyword": "high efficiency"},
{"id": 141,
"keyword": "implement translation functions"},
{"id": 142,
"keyword": "secure messaging channel established"},
{"id": 143,
"keyword": "executable code"},
{"id": 144,
"keyword": "church-style simply-typed"},
{"id": 145,
"keyword": "uniquely determined polynomial combination"},
{"id": 146,
"keyword": "efficient variable-length codes"},
{"id": 147,
"keyword": "proof reuses"},
{"id": 148,
"keyword": "assertoric syllogistic"},
{"id": 149,
"keyword": "simple graphs"},
{"id": 150,
"keyword": "careful presentation"},
{"id": 151,
"keyword": "inductive unwinding theorem"},
{"id": 152,
"keyword": "completely subsumes"},
{"id": 153,
"keyword": "klein-beltrami model"},
{"id": 154,
"keyword": "timed coordination"},
{"id": 155,
"keyword": "factoring algorithm"},
{"id": 156,
"keyword": "software tool"},
{"id": 157,
"keyword": "fully corrupted"},
{"id": 158,
"keyword": "reverse post order number"},
{"id": 159,
+"keyword": "-dimensional cube"},
+{"id": 160,
"keyword": "recursive procedures"},
-{"id": 160,
-"keyword": "easily generate elements"},
{"id": 161,
-"keyword": "data types"},
+"keyword": "easily generate elements"},
{"id": 162,
+"keyword": "data types"},
+{"id": 163,
"keyword": "sat solver written"},
-{"id": 163,
+{"id": 164,
"keyword": "orthogonal transformations"},
-{"id": 164,
+{"id": 165,
"keyword": "input lists"},
-{"id": 165,
+{"id": 166,
"keyword": "algebras based"},
-{"id": 166,
+{"id": 167,
"keyword": "higher-order functions"},
-{"id": 167,
+{"id": 168,
"keyword": "memory resolve"},
-{"id": 168,
+{"id": 169,
"keyword": "bound depends"},
-{"id": 169,
+{"id": 170,
"keyword": "authorized path"},
-{"id": 170,
+{"id": 171,
"keyword": "niederreiter"},
-{"id": 171,
+{"id": 172,
"keyword": "guard protocols"},
-{"id": 172,
-"keyword": "derangements formula describes"},
{"id": 173,
-"keyword": "general properties"},
+"keyword": "derangements formula describes"},
{"id": 174,
+"keyword": "general properties"},
+{"id": 175,
"keyword": "partially filled"},
-{"id": 175,
+{"id": 176,
"keyword": "solve clique"},
-{"id": 176,
+{"id": 177,
"keyword": "kleene normal form"},
-{"id": 177,
+{"id": 178,
"keyword": "processing components"},
-{"id": 178,
+{"id": 179,
"keyword": "neutral absolute space"},
-{"id": 179,
+{"id": 180,
"keyword": "left part"},
-{"id": 180,
+{"id": 181,
"keyword": "component behavior"},
-{"id": 181,
+{"id": 182,
"keyword": "bisimilarity coincides"},
-{"id": 182,
-"keyword": "abstract hilbert-style"},
{"id": 183,
-"keyword": "finite types"},
+"keyword": "abstract hilbert-style"},
{"id": 184,
+"keyword": "finite types"},
+{"id": 185,
"keyword": "decides language emptiness"},
-{"id": 185,
+{"id": 186,
"keyword": "semantic annotations"},
-{"id": 186,
+{"id": 187,
"keyword": "lift universally quantified equations"},
-{"id": 187,
+{"id": 188,
"keyword": "synchronous step semantics"},
-{"id": 188,
+{"id": 189,
+"keyword": "afp entry accessible"},
+{"id": 190,
"keyword": "compositional analysis"},
-{"id": 189,
+{"id": 191,
"keyword": "handle binding"},
-{"id": 190,
+{"id": 192,
"keyword": "quantifier elimination procedures"},
-{"id": 191,
+{"id": 193,
"keyword": "fairly extensive set"},
-{"id": 192,
+{"id": 194,
"keyword": "network"},
-{"id": 193,
+{"id": 195,
"keyword": "strong law"},
-{"id": 194,
-"keyword": "separation logic"},
-{"id": 195,
-"keyword": "confidentiality verification"},
{"id": 196,
-"keyword": "automatic search"},
+"keyword": "separation logic"},
{"id": 197,
-"keyword": "important meta-theoretic results"},
+"keyword": "confidentiality verification"},
{"id": 198,
-"keyword": "cartesian category"},
+"keyword": "automatic search"},
{"id": 199,
-"keyword": "dedicated encoding"},
+"keyword": "important meta-theoretic results"},
{"id": 200,
-"keyword": "beth hintikka style"},
+"keyword": "cartesian category"},
{"id": 201,
-"keyword": "university-level computer science curriculum"},
+"keyword": "dedicated encoding"},
{"id": 202,
+"keyword": "beth hintikka style"},
+{"id": 203,
+"keyword": "university-level computer science curriculum"},
+{"id": 204,
"keyword": "transitive class"},
-{"id": 203,
+{"id": 205,
"keyword": "quantum measurements"},
-{"id": 204,
+{"id": 206,
"keyword": "enable easy integration"},
-{"id": 205,
+{"id": 207,
"keyword": "free variables"},
-{"id": 206,
+{"id": 208,
"keyword": "checking c1-information"},
-{"id": 207,
+{"id": 209,
"keyword": "binding sequences"},
-{"id": 208,
+{"id": 210,
"keyword": "full automation"},
-{"id": 209,
+{"id": 211,
"keyword": "fixed bound"},
-{"id": 210,
+{"id": 212,
"keyword": "basis reduction algorithm"},
-{"id": 211,
+{"id": 213,
"keyword": "unsorted list deterministically"},
-{"id": 212,
+{"id": 214,
"keyword": "boolean functions"},
-{"id": 213,
+{"id": 215,
"keyword": "support"},
-{"id": 214,
-"keyword": "mathcal"},
-{"id": 215,
-"keyword": "main goal"},
{"id": 216,
-"keyword": "gale stewart theorem"},
+"keyword": "mathcal"},
{"id": 217,
-"keyword": "combinatorial proof"},
+"keyword": "main goal"},
{"id": 218,
-"keyword": "monadic second-order logic"},
+"keyword": "gale stewart theorem"},
{"id": 219,
-"keyword": "preservation lemmas"},
+"keyword": "combinatorial proof"},
{"id": 220,
-"keyword": "finite symbolic execution graph"},
+"keyword": "monadic second-order logic"},
{"id": 221,
-"keyword": "compiler rewrite rules"},
+"keyword": "preservation lemmas"},
{"id": 222,
+"keyword": "finite symbolic execution graph"},
+{"id": 223,
+"keyword": "compiler rewrite rules"},
+{"id": 224,
"keyword": "conditions"},
-{"id": 223,
+{"id": 225,
"keyword": "conditional equality operators"},
-{"id": 224,
-"keyword": "binary tree"},
-{"id": 225,
-"keyword": "executable framework"},
{"id": 226,
-"keyword": "final states"},
+"keyword": "binary tree"},
{"id": 227,
-"keyword": "simple firewall model"},
+"keyword": "executable framework"},
{"id": 228,
-"keyword": "simply transforms"},
+"keyword": "final states"},
{"id": 229,
-"keyword": "conclude wrong results"},
+"keyword": "simple firewall model"},
{"id": 230,
-"keyword": "embedded logic"},
+"keyword": "simply transforms"},
{"id": 231,
-"keyword": "o-automata framework"},
+"keyword": "conclude wrong results"},
{"id": 232,
-"keyword": "semantical representation"},
+"keyword": "embedded logic"},
{"id": 233,
-"keyword": "basic file operations"},
+"keyword": "o-automata framework"},
{"id": 234,
-"keyword": "point-wise reasoning"},
+"keyword": "semantical representation"},
{"id": 235,
+"keyword": "basic file operations"},
+{"id": 236,
+"keyword": "point-wise reasoning"},
+{"id": 237,
"keyword": "generalized multiset ordering"},
-{"id": 236,
+{"id": 238,
"keyword": "numerous instances"},
-{"id": 237,
+{"id": 239,
"keyword": "run construction rules"},
-{"id": 238,
+{"id": 240,
"keyword": "semantic engine"},
-{"id": 239,
+{"id": 241,
"keyword": "global context transformations"},
-{"id": 240,
+{"id": 242,
"keyword": "cutting truncating sets"},
-{"id": 241,
+{"id": 243,
"keyword": "industrial separation kernel"},
-{"id": 242,
-"keyword": "existing afp-entry"},
-{"id": 243,
-"keyword": "sufficiently efficient"},
{"id": 244,
-"keyword": "holcf package"},
+"keyword": "existing afp-entry"},
{"id": 245,
-"keyword": "linear ordered fields"},
+"keyword": "sufficiently efficient"},
{"id": 246,
-"keyword": "hancl asserting"},
+"keyword": "holcf package"},
{"id": 247,
-"keyword": "concurrent choice"},
+"keyword": "linear ordered fields"},
{"id": 248,
-"keyword": "normalisation procedures"},
+"keyword": "hancl asserting"},
{"id": 249,
-"keyword": "abstract algorithms closely"},
+"keyword": "concurrent choice"},
{"id": 250,
-"keyword": "algebraic closure"},
+"keyword": "normalisation procedures"},
{"id": 251,
-"keyword": "cycle matroid"},
+"keyword": "abstract algorithms closely"},
{"id": 252,
+"keyword": "algebraic closure"},
+{"id": 253,
+"keyword": "cycle matroid"},
+{"id": 254,
"keyword": "term occurring"},
-{"id": 253,
+{"id": 255,
"keyword": "concrete protocols variants"},
-{"id": 254,
-"keyword": "carrier set"},
-{"id": 255,
-"keyword": "compositional algorithm exploits acyclicity"},
{"id": 256,
-"keyword": "refinement techniques"},
+"keyword": "carrier set"},
{"id": 257,
-"keyword": "bayesian regression presented"},
+"keyword": "compositional algorithm exploits acyclicity"},
{"id": 258,
-"keyword": "natural transformations simply"},
+"keyword": "refinement techniques"},
{"id": 259,
-"keyword": "continuous functions"},
+"keyword": "bayesian regression presented"},
{"id": 260,
-"keyword": "possibilistic noninterference afp entry"},
+"keyword": "natural transformations simply"},
{"id": 261,
-"keyword": "target language"},
+"keyword": "continuous functions"},
{"id": 262,
+"keyword": "possibilistic noninterference afp entry"},
+{"id": 263,
+"keyword": "target language"},
+{"id": 264,
"keyword": "require guardedness up-"},
-{"id": 263,
+{"id": 265,
"keyword": "elementary proof exist"},
-{"id": 264,
-"keyword": "linear algebra libraries"},
-{"id": 265,
-"keyword": "profound formalism"},
{"id": 266,
-"keyword": "exchanging data"},
+"keyword": "linear algebra libraries"},
{"id": 267,
-"keyword": "braun trees"},
+"keyword": "profound formalism"},
{"id": 268,
-"keyword": "fully connected subgraph"},
+"keyword": "exchanging data"},
{"id": 269,
-"keyword": "existing secav system"},
+"keyword": "braun trees"},
{"id": 270,
-"keyword": "non-negative real matrix"},
+"keyword": "fully connected subgraph"},
{"id": 271,
-"keyword": "proof assistant coq"},
+"keyword": "existing secav system"},
{"id": 272,
-"keyword": "static program analysis"},
+"keyword": "non-negative real matrix"},
{"id": 273,
-"keyword": "contact gerwin"},
+"keyword": "proof assistant coq"},
{"id": 274,
-"keyword": "algorithm factors polynomials"},
+"keyword": "static program analysis"},
{"id": 275,
+"keyword": "standard superposition calculus corresponds"},
+{"id": 276,
+"keyword": "contact gerwin"},
+{"id": 277,
+"keyword": "algorithm factors polynomials"},
+{"id": 278,
"keyword": "subresultant polynomial remainder sequence"},
-{"id": 276,
+{"id": 279,
"keyword": "ipurge unwinding theorem"},
-{"id": 277,
-"keyword": "standard superposition calculus corresponds"},
-{"id": 278,
-"keyword": "logarithmic relationship"},
-{"id": 279,
+{"id": 280,
"keyword": "rabin automata"},
-{"id": 280,
+{"id": 281,
"keyword": "time domain"},
-{"id": 281,
+{"id": 282,
"keyword": "code rate"},
-{"id": 282,
+{"id": 283,
"keyword": "stochastic matrix"},
-{"id": 283,
-"keyword": "analyze similar algorithms"},
{"id": 284,
+"keyword": "analyze similar algorithms"},
+{"id": 285,
"keyword": "short explanation"},
-{"id": 285,
-"keyword": "negative integers"},
{"id": 286,
-"keyword": "prime number theorem builds"},
+"keyword": "negative integers"},
{"id": 287,
+"keyword": "prime number theorem builds"},
+{"id": 288,
"keyword": "routing policies"},
-{"id": 288,
-"keyword": "research project"},
{"id": 289,
+"keyword": "research project"},
+{"id": 290,
"keyword": "field extensions"},
-{"id": 290,
-"keyword": "invariant based programming"},
{"id": 291,
-"keyword": "development longer"},
+"keyword": "invariant based programming"},
{"id": 292,
+"keyword": "development longer"},
+{"id": 293,
"keyword": "polynomial sequences"},
-{"id": 293,
-"keyword": "automatically calculated"},
{"id": 294,
-"keyword": "practical algebraic calculus"},
+"keyword": "automatically calculated"},
{"id": 295,
+"keyword": "practical algebraic calculus"},
+{"id": 296,
"keyword": "kind mapped"},
-{"id": 296,
+{"id": 297,
"keyword": "cambridge lecture notes topics"},
-{"id": 297,
+{"id": 298,
"keyword": "maximum element"},
-{"id": 298,
+{"id": 299,
"keyword": "solved deterministically"},
-{"id": 299,
+{"id": 300,
"keyword": "under-approximate relational logic"},
-{"id": 300,
+{"id": 301,
"keyword": "fixed points"},
-{"id": 301,
+{"id": 302,
"keyword": "ring theory development"},
-{"id": 302,
+{"id": 303,
"keyword": "direct formalisation"},
-{"id": 303,
-"keyword": "suitably extending paulson"},
{"id": 304,
-"keyword": "theorems hold"},
+"keyword": "suitably extending paulson"},
{"id": 305,
+"keyword": "theorems hold"},
+{"id": 306,
"keyword": "small step operational semantics"},
-{"id": 306,
+{"id": 307,
"keyword": "constant upper bound"},
-{"id": 307,
+{"id": 308,
"keyword": "verifying network security policies"},
-{"id": 308,
+{"id": 309,
"keyword": "key contribution"},
-{"id": 309,
+{"id": 310,
"keyword": "herbrand universe"},
-{"id": 310,
-"keyword": "class-free constants"},
{"id": 311,
-"keyword": "slightly extended"},
-<<<<<<< working copy
-{"id": 311,
-"keyword": "separation logic framework"},
+"keyword": "class-free constants"},
{"id": 312,
-"keyword": "component-based development approach"},
-{"id": 313,
-"keyword": "previously unknown paradox"},
-||||||| common ancestor
-{"id": 311,
-"keyword": "icfp 2013 functional pearl"},
-{"id": 312,
-"keyword": "separation logic framework"},
-{"id": 313,
-"keyword": "component-based development approach"},
-=======
-{"id": 312,
-"keyword": "icfp 2013 functional pearl"},
+"keyword": "slightly extended"},
{"id": 313,
"keyword": "separation logic framework"},
->>>>>>> merge rev
{"id": 314,
-<<<<<<< working copy
-"keyword": "homomorphic functions"},
-||||||| common ancestor
-"keyword": "previously unknown paradox"},
-=======
"keyword": "component-based development approach"},
->>>>>>> merge rev
{"id": 315,
-<<<<<<< working copy
-"keyword": "type class system"},
-{"id": 316,
-"keyword": "radical expressions"},
-{"id": 317,
-"keyword": "client-side javascript programs"},
-{"id": 318,
-"keyword": "excluding cubic axioms"},
-||||||| common ancestor
-"keyword": "homomorphic functions"},
-{"id": 316,
-"keyword": "type class system"},
-{"id": 317,
-"keyword": "radical expressions"},
-{"id": 318,
-"keyword": "client-side javascript programs"},
-=======
"keyword": "previously unknown paradox"},
{"id": 316,
"keyword": "homomorphic functions"},
{"id": 317,
"keyword": "type class system"},
{"id": 318,
"keyword": "radical expressions"},
->>>>>>> merge rev
{"id": 319,
-<<<<<<< working copy
-"keyword": "concrete reachable states"},
-||||||| common ancestor
-"keyword": "excluding cubic axioms"},
-=======
"keyword": "client-side javascript programs"},
->>>>>>> merge rev
{"id": 320,
-<<<<<<< working copy
-"keyword": "euclidean domains"},
-{"id": 321,
-"keyword": "conversion functions"},
-{"id": 322,
-"keyword": "diophantine sets"},
-{"id": 323,
-"keyword": "important concepts"},
-||||||| common ancestor
-"keyword": "concrete reachable states"},
-{"id": 321,
-"keyword": "euclidean domains"},
-{"id": 322,
-"keyword": "conversion functions"},
-{"id": 323,
-"keyword": "diophantine sets"},
-=======
"keyword": "excluding cubic axioms"},
{"id": 321,
"keyword": "concrete reachable states"},
{"id": 322,
"keyword": "euclidean domains"},
{"id": 323,
"keyword": "conversion functions"},
->>>>>>> merge rev
{"id": 324,
-<<<<<<< working copy
-"keyword": "finite state machines"},
-{"id": 325,
-"keyword": "factorization algorithms"},
-{"id": 326,
-"keyword": "abstract reference specification"},
-||||||| common ancestor
-"keyword": "important concepts"},
-{"id": 325,
-"keyword": "finite state machines"},
-{"id": 326,
-"keyword": "factorization algorithms"},
-=======
"keyword": "diophantine sets"},
{"id": 325,
"keyword": "important concepts"},
{"id": 326,
"keyword": "finite state machines"},
->>>>>>> merge rev
{"id": 327,
-<<<<<<< working copy
-"keyword": "mark 1 machine"},
-||||||| common ancestor
-"keyword": "abstract reference specification"},
-=======
"keyword": "factorization algorithms"},
->>>>>>> merge rev
{"id": 328,
-<<<<<<< working copy
-"keyword": "applies induction"},
-{"id": 329,
-"keyword": "itp 2017 paper"},
-{"id": 330,
-"keyword": "article titled"},
-{"id": 331,
-"keyword": "replacement rule"},
-||||||| common ancestor
-"keyword": "mark 1 machine"},
-{"id": 329,
-"keyword": "applies induction"},
-{"id": 330,
-"keyword": "itp 2017 paper"},
-{"id": 331,
-"keyword": "article titled"},
-=======
"keyword": "abstract reference specification"},
{"id": 329,
"keyword": "mark 1 machine"},
{"id": 330,
"keyword": "applies induction"},
{"id": 331,
"keyword": "itp 2017 paper"},
->>>>>>> merge rev
{"id": 332,
-<<<<<<< working copy
-"keyword": "respect stream equivalence"},
-||||||| common ancestor
-"keyword": "replacement rule"},
-=======
"keyword": "article titled"},
->>>>>>> merge rev
{"id": 333,
-<<<<<<< working copy
-"keyword": "purely functional implementation based"},
-{"id": 334,
-"keyword": "affine scheme"},
-{"id": 335,
-"keyword": "native sequential consistency"},
-{"id": 336,
-"keyword": "non-deterministic languages"},
-||||||| common ancestor
-"keyword": "respect stream equivalence"},
-{"id": 334,
-"keyword": "purely functional implementation based"},
-{"id": 335,
-"keyword": "affine scheme"},
-{"id": 336,
-"keyword": "native sequential consistency"},
-=======
"keyword": "replacement rule"},
{"id": 334,
"keyword": "respect stream equivalence"},
{"id": 335,
"keyword": "purely functional implementation based"},
{"id": 336,
"keyword": "affine scheme"},
->>>>>>> merge rev
{"id": 337,
-<<<<<<< working copy
-"keyword": "dom revealed numerous invariants"},
-||||||| common ancestor
-"keyword": "non-deterministic languages"},
-=======
"keyword": "native sequential consistency"},
->>>>>>> merge rev
{"id": 338,
-<<<<<<< working copy
-"keyword": "falsely claims"},
-{"id": 339,
-"keyword": "future articles"},
-{"id": 340,
-"keyword": "non-elementary worst-case blow-"},
-{"id": 341,
-"keyword": "ascending priority"},
-||||||| common ancestor
-"keyword": "dom revealed numerous invariants"},
-{"id": 339,
-"keyword": "falsely claims"},
-{"id": 340,
-"keyword": "future articles"},
-{"id": 341,
-"keyword": "non-elementary worst-case blow-"},
-=======
"keyword": "non-deterministic languages"},
{"id": 339,
"keyword": "dom revealed numerous invariants"},
{"id": 340,
"keyword": "falsely claims"},
{"id": 341,
"keyword": "future articles"},
->>>>>>> merge rev
{"id": 342,
-<<<<<<< working copy
-||||||| common ancestor
-"keyword": "ascending priority"},
-{"id": 343,
-=======
"keyword": "non-elementary worst-case blow-"},
{"id": 343,
"keyword": "ascending priority"},
{"id": 344,
->>>>>>> merge rev
"keyword": "abstract syntax"},
-<<<<<<< working copy
-{"id": 343,
-||||||| common ancestor
-{"id": 344,
-=======
{"id": 345,
->>>>>>> merge rev
"keyword": "logics"},
-<<<<<<< working copy
-{"id": 344,
-||||||| common ancestor
-{"id": 345,
-=======
{"id": 346,
->>>>>>> merge rev
"keyword": "random"},
-<<<<<<< working copy
-{"id": 345,
-||||||| common ancestor
-{"id": 346,
-=======
{"id": 347,
->>>>>>> merge rev
"keyword": "verified code"},
-<<<<<<< working copy
-{"id": 346,
-||||||| common ancestor
-{"id": 347,
-=======
{"id": 348,
->>>>>>> merge rev
"keyword": "extension theorem employing terminology"},
-<<<<<<< working copy
-{"id": 347,
-||||||| common ancestor
-{"id": 348,
-=======
{"id": 349,
->>>>>>> merge rev
"keyword": "features monadic types"},
-<<<<<<< working copy
-{"id": 348,
-"keyword": "goto rule"},
-{"id": 349,
-"keyword": "ruzsa triangle inequality"},
-{"id": 350,
-||||||| common ancestor
-{"id": 349,
-"keyword": "goto rule"},
-{"id": 350,
-"keyword": "ruzsa triangle inequality"},
-{"id": 351,
-=======
{"id": 350,
"keyword": "goto rule"},
{"id": 351,
"keyword": "ruzsa triangle inequality"},
{"id": 352,
->>>>>>> merge rev
"keyword": "high-level specification language jml"},
-<<<<<<< working copy
-{"id": 351,
-||||||| common ancestor
-{"id": 352,
-=======
-{"id": 353,
->>>>>>> merge rev
-"keyword": "routh-hurwitz stability criterion"},
-<<<<<<< working copy
-{"id": 352,
-||||||| common ancestor
{"id": 353,
-=======
-{"id": 354,
->>>>>>> merge rev
-"keyword": "single-source shortest path problem"},
-<<<<<<< working copy
-{"id": 353,
-"keyword": "monadic refinement framework"},
+"keyword": "routh-hurwitz stability criterion"},
{"id": 354,
-"keyword": "datatypes generated"},
-{"id": 355,
-||||||| common ancestor
-{"id": 354,
-"keyword": "monadic refinement framework"},
-{"id": 355,
-"keyword": "datatypes generated"},
-{"id": 356,
-=======
+"keyword": "single-source shortest path problem"},
{"id": 355,
"keyword": "monadic refinement framework"},
{"id": 356,
"keyword": "datatypes generated"},
{"id": 357,
->>>>>>> merge rev
"keyword": "significant confidentiality theorems"},
-<<<<<<< working copy
-{"id": 356,
-||||||| common ancestor
-{"id": 357,
-=======
-{"id": 358,
->>>>>>> merge rev
-"keyword": "identified inconsistencies"},
-<<<<<<< working copy
-{"id": 357,
-||||||| common ancestor
{"id": 358,
-=======
-{"id": 359,
->>>>>>> merge rev
-"keyword": "extremal graph theory"},
-<<<<<<< working copy
-{"id": 358,
-"keyword": "bnfcc structure"},
+"keyword": "identified inconsistencies"},
{"id": 359,
-"keyword": "flow saturates"},
-{"id": 360,
-||||||| common ancestor
-{"id": 359,
-"keyword": "bnfcc structure"},
-{"id": 360,
-"keyword": "flow saturates"},
-{"id": 361,
-=======
+"keyword": "extremal graph theory"},
{"id": 360,
"keyword": "bnfcc structure"},
{"id": 361,
"keyword": "flow saturates"},
{"id": 362,
->>>>>>> merge rev
"keyword": "acceptance rejection decisions"},
-<<<<<<< working copy
-{"id": 361,
-||||||| common ancestor
-{"id": 362,
-=======
-{"id": 363,
->>>>>>> merge rev
-"keyword": "main motivation"},
-<<<<<<< working copy
-{"id": 362,
-||||||| common ancestor
{"id": 363,
-=======
-{"id": 364,
->>>>>>> merge rev
-"keyword": "van oostrom"},
-<<<<<<< working copy
-{"id": 363,
-"keyword": "probability larger"},
+"keyword": "main motivation"},
{"id": 364,
-"keyword": "approximation polynomial based"},
-{"id": 365,
-||||||| common ancestor
-{"id": 364,
-"keyword": "probability larger"},
-{"id": 365,
-"keyword": "approximation polynomial based"},
-{"id": 366,
-=======
+"keyword": "van oostrom"},
{"id": 365,
"keyword": "probability larger"},
{"id": 366,
"keyword": "approximation polynomial based"},
{"id": 367,
->>>>>>> merge rev
"keyword": "compositionality results"},
-<<<<<<< working copy
-{"id": 366,
-||||||| common ancestor
-{"id": 367,
-=======
-{"id": 368,
->>>>>>> merge rev
-"keyword": "implemented tactics"},
-<<<<<<< working copy
-{"id": 367,
-||||||| common ancestor
{"id": 368,
-=======
-{"id": 369,
->>>>>>> merge rev
-"keyword": "strictly increasing"},
-<<<<<<< working copy
-{"id": 368,
-"keyword": "formally connect"},
+"keyword": "implemented tactics"},
{"id": 369,
-"keyword": "clean development"},
-{"id": 370,
-||||||| common ancestor
-{"id": 369,
-"keyword": "formally connect"},
-{"id": 370,
-"keyword": "clean development"},
-{"id": 371,
-=======
+"keyword": "strictly increasing"},
{"id": 370,
"keyword": "formally connect"},
{"id": 371,
"keyword": "clean development"},
{"id": 372,
->>>>>>> merge rev
"keyword": "vincent rahli"},
-<<<<<<< working copy
-{"id": 371,
-||||||| common ancestor
-{"id": 372,
-=======
{"id": 373,
->>>>>>> merge rev
"keyword": "inherently based"},
-<<<<<<< working copy
-{"id": 372,
-||||||| common ancestor
-{"id": 373,
-=======
{"id": 374,
->>>>>>> merge rev
"keyword": "probabilistic model checking"},
-<<<<<<< working copy
-{"id": 373,
-"keyword": "common criteria full abstraction"},
-{"id": 374,
-"keyword": "client-side web applications"},
-||||||| common ancestor
-{"id": 374,
+{"id": 375,
"keyword": "common criteria full abstraction"},
-=======
->>>>>>> merge rev
-{"id": 375,
-<<<<<<< working copy
-"keyword": "standard types"},
-||||||| common ancestor
-"keyword": "client-side web applications"},
-=======
-"keyword": "common criteria full abstraction"},
->>>>>>> merge rev
{"id": 376,
-<<<<<<< working copy
-"keyword": "represents dominators"},
-{"id": 377,
-"keyword": "graph node"},
-{"id": 378,
-"keyword": "sequentially consistent"},
-{"id": 379,
-"keyword": "rely quotient"},
-||||||| common ancestor
-"keyword": "standard types"},
-{"id": 377,
-"keyword": "represents dominators"},
-{"id": 378,
-"keyword": "graph node"},
-{"id": 379,
-"keyword": "sequentially consistent"},
-=======
"keyword": "client-side web applications"},
{"id": 377,
"keyword": "standard types"},
{"id": 378,
"keyword": "represents dominators"},
{"id": 379,
"keyword": "graph node"},
->>>>>>> merge rev
{"id": 380,
-<<<<<<< working copy
-"keyword": "rose bohrer"},
-||||||| common ancestor
-"keyword": "rely quotient"},
-=======
"keyword": "sequentially consistent"},
->>>>>>> merge rev
{"id": 381,
-<<<<<<< working copy
-"keyword": "model refinement"},
-{"id": 382,
-"keyword": "probabilistic behaviour"},
-{"id": 383,
-"keyword": "function satisfies"},
-{"id": 384,
-"keyword": "symmetry property"},
-||||||| common ancestor
-"keyword": "rose bohrer"},
-{"id": 382,
-"keyword": "model refinement"},
-{"id": 383,
-"keyword": "probabilistic behaviour"},
-{"id": 384,
-"keyword": "function satisfies"},
-=======
"keyword": "rely quotient"},
{"id": 382,
"keyword": "rose bohrer"},
{"id": 383,
"keyword": "model refinement"},
{"id": 384,
"keyword": "probabilistic behaviour"},
->>>>>>> merge rev
{"id": 385,
-<<<<<<< working copy
-"keyword": "amortized logarithmic complexity"},
-||||||| common ancestor
-"keyword": "symmetry property"},
-=======
"keyword": "function satisfies"},
->>>>>>> merge rev
{"id": 386,
-<<<<<<< working copy
-"keyword": "detailed proof steps"},
-||||||| common ancestor
-"keyword": "amortized logarithmic complexity"},
-=======
"keyword": "spectral theorem states"},
->>>>>>> merge rev
{"id": 387,
-<<<<<<< working copy
-"keyword": "book markov decision processes"},
-||||||| common ancestor
-"keyword": "detailed proof steps"},
-=======
"keyword": "symmetry property"},
->>>>>>> merge rev
{"id": 388,
-<<<<<<< working copy
-"keyword": "equivalent forms"},
-||||||| common ancestor
-"keyword": "book markov decision processes"},
-=======
"keyword": "amortized logarithmic complexity"},
->>>>>>> merge rev
{"id": 389,
-<<<<<<< working copy
-"keyword": "tree automata technique"},
-{"id": 390,
-"keyword": "verification tools"},
-{"id": 391,
-"keyword": "applicative expressions"},
-{"id": 392,
-"keyword": "sdss random dictatorship"},
-||||||| common ancestor
-"keyword": "equivalent forms"},
-{"id": 390,
-"keyword": "tree automata technique"},
-{"id": 391,
-"keyword": "verification tools"},
-{"id": 392,
-"keyword": "applicative expressions"},
-=======
"keyword": "detailed proof steps"},
{"id": 390,
"keyword": "book markov decision processes"},
{"id": 391,
"keyword": "equivalent forms"},
{"id": 392,
"keyword": "tree automata technique"},
->>>>>>> merge rev
{"id": 393,
-<<<<<<< working copy
-"keyword": "forward packets"},
-||||||| common ancestor
-"keyword": "sdss random dictatorship"},
-=======
"keyword": "verification tools"},
->>>>>>> merge rev
{"id": 394,
-<<<<<<< working copy
-"keyword": "sturm proof method"},
-{"id": 395,
-"keyword": "formulas obtained"},
-{"id": 396,
-"keyword": "incredible proof machine"},
-{"id": 397,
-"keyword": "multiplication"},
-||||||| common ancestor
-"keyword": "forward packets"},
-{"id": 395,
-"keyword": "sturm proof method"},
-{"id": 396,
-"keyword": "formulas obtained"},
-{"id": 397,
-"keyword": "incredible proof machine"},
-=======
"keyword": "applicative expressions"},
{"id": 395,
"keyword": "sdss random dictatorship"},
{"id": 396,
"keyword": "forward packets"},
{"id": 397,
"keyword": "sturm proof method"},
->>>>>>> merge rev
{"id": 398,
-<<<<<<< working copy
-"keyword": "real-world protocol"},
-||||||| common ancestor
-"keyword": "multiplication"},
-=======
"keyword": "formulas obtained"},
->>>>>>> merge rev
{"id": 399,
-<<<<<<< working copy
-"keyword": "ba12 mordechai ben-ari"},
-{"id": 400,
-"keyword": "paper verified construction"},
-{"id": 401,
-"keyword": "weighted graphs"},
-{"id": 402,
-"keyword": "jinja source code semantics"},
-||||||| common ancestor
-"keyword": "real-world protocol"},
-{"id": 400,
-"keyword": "ba12 mordechai ben-ari"},
-{"id": 401,
-"keyword": "paper verified construction"},
-{"id": 402,
-"keyword": "weighted graphs"},
-=======
"keyword": "incredible proof machine"},
{"id": 400,
"keyword": "multiplication"},
{"id": 401,
"keyword": "real-world protocol"},
{"id": 402,
"keyword": "ba12 mordechai ben-ari"},
->>>>>>> merge rev
{"id": 403,
-<<<<<<< working copy
-"keyword": "important consequences"},
-||||||| common ancestor
-"keyword": "jinja source code semantics"},
-=======
"keyword": "paper verified construction"},
->>>>>>> merge rev
{"id": 404,
-<<<<<<< working copy
-"keyword": "hol"},
-{"id": 405,
-"keyword": "avoid circular reasoning"},
-{"id": 406,
-"keyword": "multiple oblivious transfer"},
-{"id": 407,
-||||||| common ancestor
-"keyword": "important consequences"},
-{"id": 405,
-"keyword": "hol"},
-{"id": 406,
-"keyword": "avoid circular reasoning"},
-{"id": 407,
-"keyword": "multiple oblivious transfer"},
-{"id": 408,
-=======
"keyword": "weighted graphs"},
{"id": 405,
"keyword": "jinja source code semantics"},
{"id": 406,
"keyword": "important consequences"},
{"id": 407,
"keyword": "hol"},
{"id": 408,
"keyword": "avoid circular reasoning"},
{"id": 409,
"keyword": "multiple oblivious transfer"},
{"id": 410,
->>>>>>> merge rev
"keyword": "consideration admits"},
-<<<<<<< working copy
-{"id": 408,
-||||||| common ancestor
-{"id": 409,
-=======
{"id": 411,
->>>>>>> merge rev
"keyword": "abductive reasoning"},
-<<<<<<< working copy
-{"id": 409,
-||||||| common ancestor
-{"id": 410,
-=======
{"id": 412,
->>>>>>> merge rev
"keyword": "facilitating developments"},
-<<<<<<< working copy
-{"id": 410,
-||||||| common ancestor
-{"id": 411,
-=======
{"id": 413,
->>>>>>> merge rev
"keyword": "base set"},
-<<<<<<< working copy
-{"id": 411,
-||||||| common ancestor
-{"id": 412,
-=======
{"id": 414,
->>>>>>> merge rev
"keyword": "coinductive terminated lists"},
-<<<<<<< working copy
-{"id": 412,
-||||||| common ancestor
-{"id": 413,
-=======
{"id": 415,
->>>>>>> merge rev
"keyword": "bor vka"},
-<<<<<<< working copy
-{"id": 413,
-||||||| common ancestor
-{"id": 414,
-=======
{"id": 416,
->>>>>>> merge rev
"keyword": "functor composition"},
-<<<<<<< working copy
-{"id": 414,
-||||||| common ancestor
-{"id": 415,
-=======
{"id": 417,
->>>>>>> merge rev
"keyword": "dedekind cuts"},
-<<<<<<< working copy
-{"id": 415,
-||||||| common ancestor
-{"id": 416,
-=======
{"id": 418,
->>>>>>> merge rev
"keyword": "mathematical structures"},
-<<<<<<< working copy
-{"id": 416,
-||||||| common ancestor
-{"id": 417,
-=======
{"id": 419,
->>>>>>> merge rev
"keyword": "253--269 cpp-2016 peter lammich"},
-<<<<<<< working copy
-{"id": 417,
-||||||| common ancestor
-{"id": 418,
-=======
{"id": 420,
->>>>>>> merge rev
"keyword": "previous work"},
-<<<<<<< working copy
-{"id": 418,
-||||||| common ancestor
-{"id": 419,
-=======
-{"id": 421,
->>>>>>> merge rev
-"keyword": "temporal specification technique"},
-<<<<<<< working copy
-{"id": 419,
-||||||| common ancestor
-{"id": 420,
-=======
-{"id": 422,
->>>>>>> merge rev
-"keyword": "fol theories extending"},
-<<<<<<< working copy
-{"id": 420,
-||||||| common ancestor
-{"id": 421,
-=======
-{"id": 423,
->>>>>>> merge rev
-"keyword": "control flow graph"},
-<<<<<<< working copy
{"id": 421,
-||||||| common ancestor
-{"id": 422,
-=======
-{"id": 424,
->>>>>>> merge rev
-"keyword": "allowing formal reasoning"},
-<<<<<<< working copy
+"keyword": "temporal specification technique"},
{"id": 422,
-||||||| common ancestor
+"keyword": "fol theories extending"},
{"id": 423,
-=======
-{"id": 425,
->>>>>>> merge rev
-"keyword": "collection semantics"},
-<<<<<<< working copy
-{"id": 423,
-"keyword": "non-deterministic monad"},
+"keyword": "control flow graph"},
{"id": 424,
-"keyword": "predicate"},
+"keyword": "allowing formal reasoning"},
{"id": 425,
-"keyword": "partly commented"},
-{"id": 426,
-"keyword": "related theorem"},
-{"id": 427,
-"keyword": "john wickerson"},
-{"id": 428,
-"keyword": "formally verified solver"},
-||||||| common ancestor
-{"id": 424,
-"keyword": "non-deterministic monad"},
-{"id": 425,
-"keyword": "predicate"},
-{"id": 426,
-"keyword": "partly commented"},
-{"id": 427,
-"keyword": "related theorem"},
-{"id": 428,
-"keyword": "john wickerson"},
-=======
+"keyword": "collection semantics"},
{"id": 426,
"keyword": "non-deterministic monad"},
{"id": 427,
"keyword": "predicate"},
{"id": 428,
"keyword": "partly commented"},
->>>>>>> merge rev
{"id": 429,
-<<<<<<< working copy
-"keyword": "subsumption order"},
-||||||| common ancestor
-"keyword": "formally verified solver"},
-=======
"keyword": "related theorem"},
->>>>>>> merge rev
{"id": 430,
-<<<<<<< working copy
-"keyword": "write alpha"},
-{"id": 431,
-"keyword": "afp article amortized complexity"},
-{"id": 432,
-"keyword": "automata classes"},
-{"id": 433,
-"keyword": "current compression formats"},
-||||||| common ancestor
-"keyword": "subsumption order"},
-{"id": 431,
-"keyword": "write alpha"},
-{"id": 432,
-"keyword": "afp article amortized complexity"},
-{"id": 433,
-"keyword": "automata classes"},
-=======
"keyword": "john wickerson"},
{"id": 431,
"keyword": "formally verified solver"},
{"id": 432,
"keyword": "subsumption order"},
{"id": 433,
"keyword": "write alpha"},
->>>>>>> merge rev
{"id": 434,
-<<<<<<< working copy
-"keyword": "minimum weight basis"},
-||||||| common ancestor
-"keyword": "current compression formats"},
-=======
"keyword": "afp article amortized complexity"},
->>>>>>> merge rev
{"id": 435,
-<<<<<<< working copy
-"keyword": "real numbers"},
+"keyword": "recursive fast fourier transform"},
{"id": 436,
-"keyword": "larry paulson"},
+"keyword": "automata classes"},
{"id": 437,
-"keyword": "completely factorize real"},
-{"id": 438,
-"keyword": "networking protocols"},
-||||||| common ancestor
-"keyword": "minimum weight basis"},
-{"id": 436,
-"keyword": "real numbers"},
-{"id": 437,
-"keyword": "larry paulson"},
-{"id": 438,
-"keyword": "completely factorize real"},
-=======
-"keyword": "automata classes"},
-{"id": 436,
"keyword": "current compression formats"},
-{"id": 437,
+{"id": 438,
"keyword": "minimum weight basis"},
-{"id": 438,
-"keyword": "real numbers"},
->>>>>>> merge rev
{"id": 439,
-<<<<<<< working copy
-"keyword": "filtered sets"},
-||||||| common ancestor
-"keyword": "networking protocols"},
-=======
-"keyword": "larry paulson"},
->>>>>>> merge rev
+"keyword": "real numbers"},
{"id": 440,
-<<<<<<< working copy
-||||||| common ancestor
-"keyword": "filtered sets"},
-{"id": 441,
-=======
-"keyword": "completely factorize real"},
+"keyword": "larry paulson"},
{"id": 441,
-"keyword": "networking protocols"},
-{"id": 442,
-"keyword": "filtered sets"},
-{"id": 443,
->>>>>>> merge rev
-"keyword": "communicating sequential processes"},
-<<<<<<< working copy
-{"id": 441,
-"keyword": "fisher yates algorithm"},
+"keyword": "completely factorize real"},
{"id": 442,
-"keyword": "basic elements"},
+"keyword": "networking protocols"},
{"id": 443,
-"keyword": "alternate binomial theorem statement"},
+"keyword": "filtered sets"},
{"id": 444,
-"keyword": "perfect logicians forbidden"},
+"keyword": "communicating sequential processes"},
{"id": 445,
-"keyword": "verified heap functions"},
+"keyword": "fisher yates algorithm"},
{"id": 446,
-"keyword": "pace secure channel"},
+"keyword": "basic elements"},
{"id": 447,
-"keyword": "coefficient functions"},
+"keyword": "uniquely distinguish quantum states"},
{"id": 448,
-"keyword": "rule induction"},
+"keyword": "alternate binomial theorem statement"},
{"id": 449,
-"keyword": "evaluating cauchy indices"},
+"keyword": "perfect logicians forbidden"},
{"id": 450,
-"keyword": "ground totality"},
+"keyword": "complete test generation algorithms"},
{"id": 451,
-"keyword": "generalizes sutherland"},
+"keyword": "verified heap functions"},
{"id": 452,
-"keyword": "advanced algorithms"},
+"keyword": "pace secure channel"},
{"id": 453,
-"keyword": "word power"},
+"keyword": "coefficient functions"},
{"id": 454,
-"keyword": "information processing letters 29"},
+"keyword": "rule induction"},
{"id": 455,
-"keyword": "possibilistic information-flow security properties"},
-{"id": 456,
-"keyword": "stream fusion"},
-{"id": 457,
-"keyword": "general geometric facts"},
-{"id": 458,
-"keyword": "efficient structures"},
-{"id": 459,
-"keyword": "concrete functors"},
-{"id": 460,
-"keyword": "algebraic formalization end"},
-{"id": 461,
-"keyword": "sketches found"},
-{"id": 462,
-"keyword": "benchmark problems"},
-{"id": 463,
-"keyword": "variable assignment"},
-{"id": 464,
-||||||| common ancestor
-{"id": 442,
-"keyword": "fisher yates algorithm"},
-{"id": 443,
-"keyword": "basic elements"},
-{"id": 444,
-"keyword": "alternate binomial theorem statement"},
-{"id": 445,
-"keyword": "perfect logicians forbidden"},
-{"id": 446,
-"keyword": "verified heap functions"},
-{"id": 447,
-"keyword": "pace secure channel"},
-{"id": 448,
-"keyword": "coefficient functions"},
-{"id": 449,
-"keyword": "rule induction"},
-{"id": 450,
"keyword": "evaluating cauchy indices"},
-{"id": 451,
+{"id": 456,
"keyword": "ground totality"},
-{"id": 452,
+{"id": 457,
"keyword": "generalizes sutherland"},
-{"id": 453,
+{"id": 458,
"keyword": "advanced algorithms"},
-{"id": 454,
+{"id": 459,
"keyword": "word power"},
-{"id": 455,
-"keyword": "information processing letters 29"},
-{"id": 456,
-"keyword": "possibilistic information-flow security properties"},
-{"id": 457,
-"keyword": "stream fusion"},
-{"id": 458,
-"keyword": "general geometric facts"},
-{"id": 459,
-"keyword": "efficient structures"},
{"id": 460,
-"keyword": "concrete functors"},
-{"id": 461,
-"keyword": "algebraic formalization end"},
-{"id": 462,
-"keyword": "sketches found"},
-{"id": 463,
-"keyword": "benchmark problems"},
-{"id": 464,
-"keyword": "variable assignment"},
-{"id": 465,
-=======
-{"id": 444,
-"keyword": "fisher yates algorithm"},
-{"id": 445,
-"keyword": "basic elements"},
-{"id": 446,
-"keyword": "uniquely distinguish quantum states"},
-{"id": 447,
-"keyword": "alternate binomial theorem statement"},
-{"id": 448,
-"keyword": "perfect logicians forbidden"},
-{"id": 449,
-"keyword": "complete test generation algorithms"},
-{"id": 450,
-"keyword": "verified heap functions"},
-{"id": 451,
-"keyword": "pace secure channel"},
-{"id": 452,
-"keyword": "coefficient functions"},
-{"id": 453,
-"keyword": "rule induction"},
-{"id": 454,
-"keyword": "evaluating cauchy indices"},
-{"id": 455,
-"keyword": "ground totality"},
-{"id": 456,
-"keyword": "generalizes sutherland"},
-{"id": 457,
-"keyword": "advanced algorithms"},
-{"id": 458,
-"keyword": "word power"},
-{"id": 459,
"keyword": "information processing letters 29"},
-{"id": 460,
+{"id": 461,
"keyword": "possibilistic information-flow security properties"},
-{"id": 461,
-"keyword": "stream fusion"},
{"id": 462,
-"keyword": "general geometric facts"},
+"keyword": "stream fusion"},
{"id": 463,
+"keyword": "general geometric facts"},
+{"id": 464,
"keyword": "efficient structures"},
-{"id": 464,
-"keyword": "concrete functors"},
{"id": 465,
-"keyword": "algebraic formalization end"},
-{"id": 466,
-"keyword": "sketches found"},
-{"id": 467,
-"keyword": "benchmark problems"},
-{"id": 468,
-"keyword": "variable assignment"},
-{"id": 469,
->>>>>>> merge rev
-"keyword": "algorithm enumerating"},
-<<<<<<< working copy
-{"id": 465,
-||||||| common ancestor
-{"id": 466,
-=======
-{"id": 470,
->>>>>>> merge rev
-"keyword": "previous afp article"},
-<<<<<<< working copy
+"keyword": "concrete functors"},
{"id": 466,
-||||||| common ancestor
+"keyword": "algebraic formalization end"},
{"id": 467,
-=======
-{"id": 471,
->>>>>>> merge rev
-"keyword": "representative dynamic programming problems"},
-<<<<<<< working copy
-{"id": 467,
-||||||| common ancestor
+"keyword": "sketches found"},
{"id": 468,
-=======
-{"id": 472,
->>>>>>> merge rev
-"keyword": "priority"},
-<<<<<<< working copy
-{"id": 468,
-||||||| common ancestor
+"keyword": "benchmark problems"},
{"id": 469,
-=======
-{"id": 473,
->>>>>>> merge rev
-"keyword": "andr platzer"},
-<<<<<<< working copy
-{"id": 469,
-||||||| common ancestor
-{"id": 470,
-=======
-{"id": 474,
->>>>>>> merge rev
-"keyword": "adding observation instants"},
-<<<<<<< working copy
+"keyword": "variable assignment"},
{"id": 470,
-||||||| common ancestor
+"keyword": "algorithm enumerating"},
{"id": 471,
-=======
-{"id": 475,
->>>>>>> merge rev
-"keyword": "compiler optimization"},
-<<<<<<< working copy
-{"id": 471,
-||||||| common ancestor
+"keyword": "previous afp article"},
{"id": 472,
-=======
-{"id": 476,
->>>>>>> merge rev
-"keyword": "nominal2 library"},
-<<<<<<< working copy
-{"id": 472,
-"keyword": "finite automata"},
+"keyword": "representative dynamic programming problems"},
{"id": 473,
-"keyword": "abstract version"},
+"keyword": "priority"},
{"id": 474,
-"keyword": "proof details"},
+"keyword": "andr platzer"},
{"id": 475,
-"keyword": "programming languages"},
+"keyword": "adding observation instants"},
{"id": 476,
-"keyword": "basic properties ndash"},
-{"id": 477,
-"keyword": "taylor models"},
-{"id": 478,
-"keyword": "starting point"},
-{"id": 479,
-"keyword": "static single assignment form"},
-{"id": 480,
-"keyword": "randomized comb algorithm"},
-{"id": 481,
-"keyword": "collectively referred"},
-{"id": 482,
-"keyword": "computes density functions"},
-{"id": 483,
-"keyword": "standard dolev-yao"},
-{"id": 484,
-"keyword": "isafor ceta project"},
-{"id": 485,
-"keyword": "relational model"},
-{"id": 486,
-"keyword": "deriving asymptotic estimates"},
-{"id": 487,
-"keyword": "clean offers conditionals"},
-{"id": 488,
-"keyword": "no-frills state-exception monad"},
-{"id": 489,
-"keyword": "search-time information"},
-||||||| common ancestor
-{"id": 473,
-"keyword": "finite automata"},
-{"id": 474,
-"keyword": "abstract version"},
-{"id": 475,
-"keyword": "proof details"},
-{"id": 476,
-"keyword": "programming languages"},
+"keyword": "compiler optimization"},
{"id": 477,
-"keyword": "basic properties ndash"},
+"keyword": "nominal2 library"},
{"id": 478,
-"keyword": "taylor models"},
+"keyword": "finite automata"},
{"id": 479,
-"keyword": "starting point"},
-{"id": 480,
-"keyword": "static single assignment form"},
-{"id": 481,
-"keyword": "randomized comb algorithm"},
-{"id": 482,
-"keyword": "collectively referred"},
-{"id": 483,
-"keyword": "computes density functions"},
-{"id": 484,
-"keyword": "standard dolev-yao"},
-{"id": 485,
-"keyword": "isafor ceta project"},
-{"id": 486,
-"keyword": "relational model"},
-{"id": 487,
-"keyword": "deriving asymptotic estimates"},
-{"id": 488,
-"keyword": "clean offers conditionals"},
-{"id": 489,
-"keyword": "no-frills state-exception monad"},
-=======
-{"id": 477,
-"keyword": "finite automata"},
-{"id": 478,
"keyword": "abstract version"},
-{"id": 479,
-"keyword": "proof details"},
{"id": 480,
+"keyword": "proof details"},
+{"id": 481,
"keyword": "programming languages"},
-{"id": 481,
-"keyword": "basic properties ndash"},
{"id": 482,
+"keyword": "basic properties ndash"},
+{"id": 483,
"keyword": "taylor models"},
-{"id": 483,
+{"id": 484,
"keyword": "starting point"},
-{"id": 484,
+{"id": 485,
"keyword": "static single assignment form"},
-{"id": 485,
-"keyword": "randomized comb algorithm"},
{"id": 486,
+"keyword": "randomized comb algorithm"},
+{"id": 487,
"keyword": "collectively referred"},
-{"id": 487,
+{"id": 488,
"keyword": "computes density functions"},
-{"id": 488,
+{"id": 489,
"keyword": "standard dolev-yao"},
-{"id": 489,
+{"id": 490,
"keyword": "isafor ceta project"},
->>>>>>> merge rev
-{"id": 490,
-<<<<<<< working copy
-"keyword": "regular expressions extended"},
-||||||| common ancestor
-"keyword": "search-time information"},
-=======
-"keyword": "relational model"},
->>>>>>> merge rev
{"id": 491,
-<<<<<<< working copy
-"keyword": "specific part"},
-||||||| common ancestor
-"keyword": "regular expressions extended"},
-=======
+"keyword": "relational model"},
+{"id": 492,
"keyword": "deriving asymptotic estimates"},
->>>>>>> merge rev
-{"id": 492,
-<<<<<<< working copy
-"keyword": "breeders"},
-||||||| common ancestor
-"keyword": "specific part"},
-=======
+{"id": 493,
"keyword": "clean offers conditionals"},
->>>>>>> merge rev
-{"id": 493,
-<<<<<<< working copy
-"keyword": "classical geometric definitions"},
-||||||| common ancestor
-"keyword": "breeders"},
-=======
+{"id": 494,
"keyword": "no-frills state-exception monad"},
->>>>>>> merge rev
-{"id": 494,
-<<<<<<< working copy
-"keyword": "integration technique employs lex"},
-||||||| common ancestor
-"keyword": "classical geometric definitions"},
-=======
+{"id": 495,
"keyword": "search-time information"},
->>>>>>> merge rev
-{"id": 495,
-<<<<<<< working copy
-"keyword": "bell numbers"},
-||||||| common ancestor
-"keyword": "integration technique employs lex"},
-=======
-"keyword": "regular expressions extended"},
->>>>>>> merge rev
{"id": 496,
-<<<<<<< working copy
-"keyword": "pattern specifications"},
-||||||| common ancestor
-"keyword": "bell numbers"},
-=======
-"keyword": "specific part"},
->>>>>>> merge rev
+"keyword": "regular expressions extended"},
{"id": 497,
-<<<<<<< working copy
-"keyword": "primitively corecursive-"},
-||||||| common ancestor
-"keyword": "pattern specifications"},
-=======
+"keyword": "specific part"},
+{"id": 498,
"keyword": "breeders"},
->>>>>>> merge rev
-{"id": 498,
-<<<<<<< working copy
-"keyword": "tree automata apf-entry"},
-||||||| common ancestor
-"keyword": "primitively corecursive-"},
-=======
+{"id": 499,
"keyword": "classical geometric definitions"},
->>>>>>> merge rev
-{"id": 499,
-<<<<<<< working copy
-"keyword": "detailed systematic study"},
-||||||| common ancestor
-"keyword": "tree automata apf-entry"},
-=======
-"keyword": "integration technique employs lex"},
->>>>>>> merge rev
{"id": 500,
-<<<<<<< working copy
-"keyword": "compute roots"},
-||||||| common ancestor
-"keyword": "detailed systematic study"},
-=======
-"keyword": "bell numbers"},
->>>>>>> merge rev
+"keyword": "integration technique employs lex"},
{"id": 501,
-<<<<<<< working copy
-"keyword": "rational number"},
-||||||| common ancestor
-"keyword": "compute roots"},
-=======
+"keyword": "bell numbers"},
+{"id": 502,
"keyword": "pattern specifications"},
->>>>>>> merge rev
-{"id": 502,
-<<<<<<< working copy
-"keyword": "properties related"},
-||||||| common ancestor
-"keyword": "rational number"},
-=======
+{"id": 503,
"keyword": "primitively corecursive-"},
->>>>>>> merge rev
-{"id": 503,
-<<<<<<< working copy
-"keyword": "model compatibility"},
-||||||| common ancestor
-"keyword": "properties related"},
-=======
+{"id": 504,
"keyword": "tree automata apf-entry"},
->>>>>>> merge rev
-{"id": 504,
-<<<<<<< working copy
-"keyword": "interactively find"},
-||||||| common ancestor
-"keyword": "model compatibility"},
-=======
+{"id": 505,
"keyword": "detailed systematic study"},
->>>>>>> merge rev
-{"id": 505,
-<<<<<<< working copy
-||||||| common ancestor
-"keyword": "interactively find"},
{"id": 506,
-=======
"keyword": "compute roots"},
-{"id": 506,
+{"id": 507,
"keyword": "rational number"},
-{"id": 507,
+{"id": 508,
"keyword": "properties related"},
-{"id": 508,
+{"id": 509,
"keyword": "model compatibility"},
-{"id": 509,
-"keyword": "interactively find"},
{"id": 510,
->>>>>>> merge rev
+"keyword": "interactively find"},
+{"id": 511,
"keyword": "ben-ari ba12"},
-<<<<<<< working copy
-{"id": 506,
-||||||| common ancestor
-{"id": 507,
-=======
-{"id": 511,
->>>>>>> merge rev
-"keyword": "difference bound matrices"},
-<<<<<<< working copy
-{"id": 507,
-||||||| common ancestor
-{"id": 508,
-=======
{"id": 512,
->>>>>>> merge rev
-"keyword": "object-oriented data-type theories generated"},
-<<<<<<< working copy
-{"id": 508,
-||||||| common ancestor
-{"id": 509,
-=======
-{"id": 513,
->>>>>>> merge rev
-"keyword": "benchmark scripts"},
-<<<<<<< working copy
-{"id": 509,
-||||||| common ancestor
-{"id": 510,
-=======
-{"id": 514,
->>>>>>> merge rev
-"keyword": "field accesses"},
-<<<<<<< working copy
-{"id": 510,
-||||||| common ancestor
-{"id": 511,
-=======
-{"id": 515,
->>>>>>> merge rev
-"keyword": "enables users"},
-<<<<<<< working copy
-{"id": 511,
-||||||| common ancestor
-{"id": 512,
-=======
-{"id": 516,
->>>>>>> merge rev
-"keyword": "semantic definitions"},
-<<<<<<< working copy
-{"id": 512,
-||||||| common ancestor
-{"id": 513,
-=======
-{"id": 517,
->>>>>>> merge rev
-"keyword": "employs formal models"},
-<<<<<<< working copy
+"keyword": "difference bound matrices"},
{"id": 513,
-||||||| common ancestor
+"keyword": "object-oriented data-type theories generated"},
{"id": 514,
-=======
+"keyword": "benchmark scripts"},
+{"id": 515,
+"keyword": "field accesses"},
+{"id": 516,
+"keyword": "enables users"},
+{"id": 517,
+"keyword": "semantic definitions"},
{"id": 518,
->>>>>>> merge rev
+"keyword": "employs formal models"},
+{"id": 519,
"keyword": "max-flow min-cut theorem"},
-<<<<<<< working copy
-{"id": 514,
-||||||| common ancestor
-{"id": 515,
-=======
-{"id": 519,
->>>>>>> merge rev
+{"id": 520,
"keyword": "proof language"},
-<<<<<<< working copy
-{"id": 515,
-||||||| common ancestor
-{"id": 516,
-=======
-{"id": 520,
->>>>>>> merge rev
+{"id": 521,
"keyword": "class hierarchies"},
-<<<<<<< working copy
-{"id": 516,
-||||||| common ancestor
-{"id": 517,
-=======
-{"id": 521,
->>>>>>> merge rev
+{"id": 522,
"keyword": "determinization procedure"},
-<<<<<<< working copy
-{"id": 517,
-||||||| common ancestor
-{"id": 518,
-=======
-{"id": 522,
->>>>>>> merge rev
-"keyword": "concurrent dynamic logics"},
-<<<<<<< working copy
-{"id": 518,
-||||||| common ancestor
-{"id": 519,
-=======
{"id": 523,
->>>>>>> merge rev
-"keyword": "pierre boutry"},
-<<<<<<< working copy
-{"id": 519,
-||||||| common ancestor
-{"id": 520,
-=======
+"keyword": "concurrent dynamic logics"},
{"id": 524,
->>>>>>> merge rev
+"keyword": "pierre boutry"},
+{"id": 525,
"keyword": "push-relabel algorithms"},
-<<<<<<< working copy
-{"id": 520,
-||||||| common ancestor
-{"id": 521,
-=======
-{"id": 525,
->>>>>>> merge rev
+{"id": 526,
"keyword": "discrete probability distributions"},
-<<<<<<< working copy
-{"id": 521,
-||||||| common ancestor
-{"id": 522,
-=======
-{"id": 526,
->>>>>>> merge rev
-"keyword": "afp entry"},
-<<<<<<< working copy
-{"id": 522,
-||||||| common ancestor
-{"id": 523,
-=======
{"id": 527,
->>>>>>> merge rev
+"keyword": "afp entry"},
+{"id": 528,
"keyword": "multiple algebraic structures"},
-<<<<<<< working copy
-{"id": 523,
-||||||| common ancestor
-{"id": 524,
-=======
-{"id": 528,
->>>>>>> merge rev
-"keyword": "cone text arg"},
-<<<<<<< working copy
-{"id": 524,
-||||||| common ancestor
-{"id": 525,
-=======
{"id": 529,
->>>>>>> merge rev
+"keyword": "cone text arg"},
+{"id": 530,
"keyword": "vector cross product"},
-<<<<<<< working copy
-{"id": 525,
-||||||| common ancestor
-{"id": 526,
-=======
-{"id": 530,
->>>>>>> merge rev
+{"id": 531,
"keyword": "bounded-deducibility security"},
-<<<<<<< working copy
-{"id": 526,
-||||||| common ancestor
-{"id": 527,
-=======
-{"id": 531,
->>>>>>> merge rev
+{"id": 532,
"keyword": "machine-checked text annex"},
-<<<<<<< working copy
-{"id": 527,
-||||||| common ancestor
-{"id": 528,
-=======
-{"id": 532,
->>>>>>> merge rev
-"keyword": "counter-free automata"},
-<<<<<<< working copy
-{"id": 528,
-||||||| common ancestor
-{"id": 529,
-=======
{"id": 533,
->>>>>>> merge rev
"keyword": "executable density compiler"},
-<<<<<<< working copy
-{"id": 529,
-||||||| common ancestor
-{"id": 530,
-=======
{"id": 534,
->>>>>>> merge rev
"keyword": "difference sets"},
-<<<<<<< working copy
-{"id": 530,
-||||||| common ancestor
-{"id": 531,
-=======
{"id": 535,
->>>>>>> merge rev
+"keyword": "counter-free automata"},
+{"id": 536,
+"keyword": "number theoretic transform"},
+{"id": 537,
"keyword": "paper mechanising turing machines"},
-<<<<<<< working copy
-{"id": 531,
-||||||| common ancestor
-{"id": 532,
-=======
-{"id": 536,
->>>>>>> merge rev
+{"id": 538,
"keyword": "formalization reveals"},
-<<<<<<< working copy
-{"id": 532,
-||||||| common ancestor
-{"id": 533,
-=======
-{"id": 537,
->>>>>>> merge rev
+{"id": 539,
"keyword": "involve regular expressions"},
-<<<<<<< working copy
-{"id": 533,
-||||||| common ancestor
-{"id": 534,
-=======
-{"id": 538,
->>>>>>> merge rev
+{"id": 540,
"keyword": "chosen memory model"},
-<<<<<<< working copy
-{"id": 534,
-||||||| common ancestor
-{"id": 535,
-=======
-{"id": 539,
->>>>>>> merge rev
-"keyword": "automated circuit verification"},
-<<<<<<< working copy
-{"id": 535,
-||||||| common ancestor
-{"id": 536,
-=======
-{"id": 540,
->>>>>>> merge rev
-"keyword": "taylor expansions"},
-<<<<<<< working copy
-{"id": 536,
-||||||| common ancestor
-{"id": 537,
-=======
{"id": 541,
->>>>>>> merge rev
-"keyword": "infinite derivation trees"},
-<<<<<<< working copy
-{"id": 537,
-"keyword": "instance---many-sorted fol"},
-{"id": 538,
-"keyword": "entailment- minimal"},
-{"id": 539,
-"keyword": "theories reasoning"},
-{"id": 540,
-"keyword": "proof method casify"},
-{"id": 541,
-"keyword": "stationary distributions"},
+"keyword": "automated circuit verification"},
{"id": 542,
-"keyword": "severe limitation"},
-{"id": 543,
-"keyword": "lies strictly"},
-{"id": 544,
-"keyword": "application areas"},
-{"id": 545,
-"keyword": "strongly connected components"},
-{"id": 546,
-"keyword": "initial segment condition"},
-{"id": 547,
-"keyword": "locally ringed space"},
-{"id": 548,
-"keyword": "maclaurin summation formula"},
-{"id": 549,
-"keyword": "karel hrbacek"},
-{"id": 550,
-"keyword": "underlying ideas"},
-||||||| common ancestor
-{"id": 538,
-"keyword": "instance---many-sorted fol"},
-{"id": 539,
-"keyword": "entailment- minimal"},
-{"id": 540,
-"keyword": "theories reasoning"},
-{"id": 541,
-"keyword": "proof method casify"},
-{"id": 542,
-"keyword": "stationary distributions"},
-{"id": 543,
-"keyword": "severe limitation"},
-{"id": 544,
-"keyword": "lies strictly"},
-{"id": 545,
-"keyword": "application areas"},
-{"id": 546,
-"keyword": "strongly connected components"},
-{"id": 547,
-"keyword": "initial segment condition"},
-{"id": 548,
-"keyword": "locally ringed space"},
-{"id": 549,
-"keyword": "maclaurin summation formula"},
-{"id": 550,
-"keyword": "karel hrbacek"},
-=======
-{"id": 542,
-"keyword": "instance---many-sorted fol"},
+"keyword": "taylor expansions"},
{"id": 543,
+"keyword": "infinite derivation trees"},
+{"id": 544,
+"keyword": "instance---many-sorted fol"},
+{"id": 545,
"keyword": "entailment- minimal"},
-{"id": 544,
+{"id": 546,
"keyword": "theories reasoning"},
-{"id": 545,
+{"id": 547,
"keyword": "proof method casify"},
-{"id": 546,
+{"id": 548,
"keyword": "stationary distributions"},
-{"id": 547,
+{"id": 549,
"keyword": "severe limitation"},
-{"id": 548,
+{"id": 550,
"keyword": "lies strictly"},
-{"id": 549,
+{"id": 551,
"keyword": "application areas"},
-{"id": 550,
+{"id": 552,
"keyword": "strongly connected components"},
->>>>>>> merge rev
-{"id": 551,
-<<<<<<< working copy
-"keyword": "fundamental subspaces"},
-||||||| common ancestor
-"keyword": "underlying ideas"},
-=======
+{"id": 553,
"keyword": "initial segment condition"},
->>>>>>> merge rev
-{"id": 552,
-<<<<<<< working copy
-"keyword": "notable result"},
-||||||| common ancestor
-"keyword": "fundamental subspaces"},
-=======
+{"id": 554,
"keyword": "locally ringed space"},
->>>>>>> merge rev
-{"id": 553,
-<<<<<<< working copy
-"keyword": "1 infty left"},
-||||||| common ancestor
-"keyword": "notable result"},
-=======
+{"id": 555,
"keyword": "maclaurin summation formula"},
->>>>>>> merge rev
-{"id": 554,
-<<<<<<< working copy
-"keyword": "multiple goods"},
-{"id": 555,
-"keyword": "lehmer test"},
{"id": 556,
-"keyword": "kepler conjecture"},
+"keyword": "karel hrbacek"},
{"id": 557,
-"keyword": "rely-guarantee-style reasoning"},
+"keyword": "underlying ideas"},
{"id": 558,
-"keyword": "elegant encoding"},
+"keyword": "fundamental subspaces"},
{"id": 559,
-"keyword": "require"},
+"keyword": "notable result"},
{"id": 560,
-"keyword": "proof assistant"},
+"keyword": "1 infty left"},
{"id": 561,
-"keyword": "transfer package"},
+"keyword": "multiple goods"},
{"id": 562,
-"keyword": "higher-order logic"},
+"keyword": "lehmer test"},
{"id": 563,
+"keyword": "kepler conjecture"},
+{"id": 564,
+"keyword": "rely-guarantee-style reasoning"},
+{"id": 565,
+"keyword": "elegant encoding"},
+{"id": 566,
+"keyword": "require"},
+{"id": 567,
+"keyword": "proof assistant"},
+{"id": 568,
+"keyword": "transfer package"},
+{"id": 569,
+"keyword": "higher-order logic"},
+{"id": 570,
"keyword": "case studies"},
-{"id": 564,
+{"id": 571,
"keyword": "lp spaces"},
-{"id": 565,
-"keyword": "pctl formulas"},
-{"id": 566,
-||||||| common ancestor
-"keyword": "1 infty left"},
-{"id": 555,
-"keyword": "multiple goods"},
-{"id": 556,
-"keyword": "lehmer test"},
-{"id": 557,
-"keyword": "kepler conjecture"},
-{"id": 558,
-"keyword": "rely-guarantee-style reasoning"},
-{"id": 559,
-"keyword": "elegant encoding"},
-{"id": 560,
-"keyword": "require"},
-{"id": 561,
-"keyword": "proof assistant"},
-{"id": 562,
-"keyword": "transfer package"},
-{"id": 563,
-"keyword": "higher-order logic"},
-{"id": 564,
-"keyword": "case studies"},
-{"id": 565,
-"keyword": "lp spaces"},
-{"id": 566,
+{"id": 572,
"keyword": "pctl formulas"},
-{"id": 567,
-=======
-"keyword": "karel hrbacek"},
-{"id": 555,
-"keyword": "underlying ideas"},
-{"id": 556,
-"keyword": "fundamental subspaces"},
-{"id": 557,
-"keyword": "notable result"},
-{"id": 558,
-"keyword": "1 infty left"},
-{"id": 559,
-"keyword": "multiple goods"},
-{"id": 560,
-"keyword": "lehmer test"},
-{"id": 561,
-"keyword": "kepler conjecture"},
-{"id": 562,
-"keyword": "rely-guarantee-style reasoning"},
-{"id": 563,
-"keyword": "elegant encoding"},
-{"id": 564,
-"keyword": "require"},
-{"id": 565,
-"keyword": "proof assistant"},
-{"id": 566,
-"keyword": "transfer package"},
-{"id": 567,
-"keyword": "higher-order logic"},
-{"id": 568,
-"keyword": "case studies"},
-{"id": 569,
-"keyword": "lp spaces"},
-{"id": 570,
-"keyword": "pctl formulas"},
-{"id": 571,
->>>>>>> merge rev
+{"id": 573,
"keyword": "program traces"},
-<<<<<<< working copy
-{"id": 567,
-||||||| common ancestor
-{"id": 568,
-=======
-{"id": 572,
->>>>>>> merge rev
+{"id": 574,
"keyword": "resolution calculus"},
-<<<<<<< working copy
-{"id": 568,
-||||||| common ancestor
-{"id": 569,
-=======
-{"id": 573,
->>>>>>> merge rev
+{"id": 575,
"keyword": "standard construction"},
-<<<<<<< working copy
-{"id": 569,
-||||||| common ancestor
-{"id": 570,
-=======
-{"id": 574,
->>>>>>> merge rev
+{"id": 576,
"keyword": "first-order terms"},
-<<<<<<< working copy
-{"id": 570,
-"keyword": "generate code"},
-{"id": 571,
-"keyword": "implementation relates pointer-based computation"},
-{"id": 572,
-||||||| common ancestor
-{"id": 571,
+{"id": 577,
"keyword": "generate code"},
-{"id": 572,
-=======
-{"id": 575,
-"keyword": "generate code"},
-{"id": 576,
->>>>>>> merge rev
-"keyword": "public output ports"},
-<<<<<<< working copy
-{"id": 573,
-"keyword": "flow-sensitive type system"},
-{"id": 574,
-"keyword": "fitting theory"},
-{"id": 575,
-||||||| common ancestor
-{"id": 573,
-"keyword": "excluding center selection"},
-{"id": 574,
-"keyword": "implementation relates pointer-based computation"},
-{"id": 575,
-"keyword": "flow-sensitive type system"},
-{"id": 576,
-"keyword": "fitting theory"},
-{"id": 577,
-=======
-{"id": 577,
-"keyword": "excluding center selection"},
{"id": 578,
"keyword": "implementation relates pointer-based computation"},
{"id": 579,
-"keyword": "flow-sensitive type system"},
+"keyword": "public output ports"},
{"id": 580,
+"keyword": "flow-sensitive type system"},
+{"id": 581,
"keyword": "fitting theory"},
-{"id": 581,
->>>>>>> merge rev
+{"id": 582,
"keyword": "basic algebraic properties"},
-<<<<<<< working copy
-{"id": 576,
-||||||| common ancestor
-{"id": 578,
-=======
-{"id": 582,
->>>>>>> merge rev
+{"id": 583,
"keyword": "predicate taking"},
-<<<<<<< working copy
-{"id": 577,
-"keyword": "dataflow paradigm"},
-{"id": 578,
-"keyword": "arbitrary nominal sets"},
-{"id": 579,
-"keyword": "correctness theorems"},
-{"id": 580,
-||||||| common ancestor
-{"id": 579,
-"keyword": "dataflow paradigm"},
-{"id": 580,
-"keyword": "arbitrary nominal sets"},
-{"id": 581,
-"keyword": "correctness theorems"},
-{"id": 582,
-=======
-{"id": 583,
+{"id": 584,
"keyword": "dataflow paradigm"},
-{"id": 584,
-"keyword": "arbitrary nominal sets"},
{"id": 585,
+"keyword": "arbitrary nominal sets"},
+{"id": 586,
"keyword": "correctness theorems"},
-{"id": 586,
->>>>>>> merge rev
+{"id": 587,
"keyword": "incoming edges"},
-<<<<<<< working copy
-{"id": 581,
-||||||| common ancestor
-{"id": 583,
-=======
-{"id": 587,
->>>>>>> merge rev
+{"id": 588,
"keyword": "input infinite sequences"},
-<<<<<<< working copy
-{"id": 582,
-||||||| common ancestor
-{"id": 584,
-=======
-{"id": 588,
->>>>>>> merge rev
+{"id": 589,
"keyword": "klein nicta"},
-<<<<<<< working copy
-{"id": 583,
-||||||| common ancestor
-{"id": 585,
-=======
-{"id": 589,
->>>>>>> merge rev
+{"id": 590,
"keyword": "manual approach"},
-<<<<<<< working copy
-{"id": 584,
+{"id": 591,
"keyword": "originally obtained"},
-{"id": 585,
-"keyword": "familiar first-order logic"},
-{"id": 586,
-"keyword": "game-hopping style advocated"},
-{"id": 587,
-"keyword": "reusable building blocks"},
-{"id": 588,
-"keyword": "common factors"},
-{"id": 589,
-"keyword": "reduction step"},
-{"id": 590,
-"keyword": "perfect forward secrecy"},
-{"id": 591,
-"keyword": "full sequential fragment"},
-||||||| common ancestor
-{"id": 586,
-"keyword": "originally obtained"},
-{"id": 587,
-"keyword": "familiar first-order logic"},
-{"id": 588,
-"keyword": "game-hopping style advocated"},
-{"id": 589,
-"keyword": "reusable building blocks"},
-{"id": 590,
-"keyword": "common factors"},
-{"id": 591,
-"keyword": "reduction step"},
-=======
-{"id": 590,
-"keyword": "originally obtained"},
-{"id": 591,
-"keyword": "familiar first-order logic"},
->>>>>>> merge rev
{"id": 592,
-<<<<<<< working copy
-"keyword": "adapting larry paulson"},
-||||||| common ancestor
-"keyword": "perfect forward secrecy"},
-=======
+"keyword": "familiar first-order logic"},
+{"id": 593,
"keyword": "game-hopping style advocated"},
->>>>>>> merge rev
-{"id": 593,
-<<<<<<< working copy
-"keyword": "termination techniques"},
-||||||| common ancestor
-"keyword": "full sequential fragment"},
-=======
-"keyword": "reusable building blocks"},
->>>>>>> merge rev
{"id": 594,
-<<<<<<< working copy
-"keyword": "large part"},
-{"id": 595,
-"keyword": "generic diamond lemma reduction"},
-{"id": 596,
-"keyword": "produce uniformly smaller automata"},
-{"id": 597,
-"keyword": "regular expression"},
-||||||| common ancestor
-"keyword": "adapting larry paulson"},
-{"id": 595,
-"keyword": "termination techniques"},
-{"id": 596,
-"keyword": "large part"},
-{"id": 597,
-"keyword": "generic diamond lemma reduction"},
-=======
-"keyword": "common factors"},
+"keyword": "reusable building blocks"},
{"id": 595,
+"keyword": "common factors"},
+{"id": 596,
"keyword": "reduction step"},
-{"id": 596,
+{"id": 597,
"keyword": "perfect forward secrecy"},
-{"id": 597,
-"keyword": "full sequential fragment"},
->>>>>>> merge rev
{"id": 598,
-<<<<<<< working copy
-"keyword": "afp entry focusstreamscasestudies-afp"},
-||||||| common ancestor
-"keyword": "produce uniformly smaller automata"},
-=======
-"keyword": "adapting larry paulson"},
->>>>>>> merge rev
+"keyword": "full sequential fragment"},
{"id": 599,
-<<<<<<< working copy
-"keyword": "runtime monitoring"},
+"keyword": "adapting larry paulson"},
{"id": 600,
-"keyword": "quantum projective measurements"},
+"keyword": "termination techniques"},
{"id": 601,
-"keyword": "existing theories"},
+"keyword": "large part"},
{"id": 602,
-"keyword": "relational parametricity due"},
+"keyword": "generic diamond lemma reduction"},
{"id": 603,
-"keyword": "superposition calculus"},
+"keyword": "produce uniformly smaller automata"},
{"id": 604,
-"keyword": "meld operations"},
-||||||| common ancestor
"keyword": "regular expression"},
-{"id": 600,
+{"id": 605,
"keyword": "afp entry focusstreamscasestudies-afp"},
-{"id": 601,
+{"id": 606,
"keyword": "runtime monitoring"},
-{"id": 602,
-"keyword": "quantum projective measurements"},
-{"id": 603,
-"keyword": "existing theories"},
-{"id": 604,
-"keyword": "relational parametricity due"},
-=======
-"keyword": "termination techniques"},
-{"id": 600,
-"keyword": "large part"},
-{"id": 601,
-"keyword": "generic diamond lemma reduction"},
-{"id": 602,
-"keyword": "produce uniformly smaller automata"},
-{"id": 603,
-"keyword": "regular expression"},
-{"id": 604,
-"keyword": "afp entry focusstreamscasestudies-afp"},
->>>>>>> merge rev
-{"id": 605,
-<<<<<<< working copy
-"keyword": "version states"},
-||||||| common ancestor
-"keyword": "superposition calculus"},
-=======
-"keyword": "runtime monitoring"},
->>>>>>> merge rev
-{"id": 606,
-<<<<<<< working copy
-"keyword": "calculate sign variations"},
-||||||| common ancestor
-"keyword": "meld operations"},
-=======
+{"id": 607,
"keyword": "quantum projective measurements"},
->>>>>>> merge rev
-{"id": 607,
-<<<<<<< working copy
-"keyword": "extended real numbers form"},
-||||||| common ancestor
-"keyword": "version states"},
-=======
+{"id": 608,
"keyword": "existing theories"},
->>>>>>> merge rev
-{"id": 608,
-<<<<<<< working copy
-"keyword": "standard reduction path"},
-||||||| common ancestor
-"keyword": "calculate sign variations"},
-=======
+{"id": 609,
"keyword": "relational parametricity due"},
->>>>>>> merge rev
-{"id": 609,
-<<<<<<< working copy
-"keyword": "rgen villadsen"},
-||||||| common ancestor
-"keyword": "extended real numbers form"},
-=======
+{"id": 610,
"keyword": "superposition calculus"},
->>>>>>> merge rev
-{"id": 610,
-<<<<<<< working copy
-"keyword": "partial binary operation"},
-||||||| common ancestor
-"keyword": "standard reduction path"},
-=======
-"keyword": "version states"},
->>>>>>> merge rev
{"id": 611,
-<<<<<<< working copy
-"keyword": "tuples satisfying"},
-||||||| common ancestor
-"keyword": "rgen villadsen"},
-=======
+"keyword": "version states"},
+{"id": 612,
"keyword": "calculate sign variations"},
->>>>>>> merge rev
-{"id": 612,
-<<<<<<< working copy
-"keyword": "remaining computation"},
-||||||| common ancestor
-"keyword": "partial binary operation"},
-=======
-"keyword": "extended real numbers form"},
->>>>>>> merge rev
{"id": 613,
-<<<<<<< working copy
-"keyword": "andrei popescu propose"},
+"keyword": "extended real numbers form"},
{"id": 614,
-"keyword": "standard definitions"},
-{"id": 615,
-"keyword": "call return"},
-{"id": 616,
-"keyword": "substantial background"},
-||||||| common ancestor
-"keyword": "tuples satisfying"},
-{"id": 614,
-"keyword": "remaining computation"},
-{"id": 615,
-"keyword": "andrei popescu propose"},
-{"id": 616,
-"keyword": "standard definitions"},
-=======
"keyword": "standard reduction path"},
-{"id": 614,
-"keyword": "meld operations"},
{"id": 615,
-"keyword": "json objects"},
+"keyword": "meld operations"},
{"id": 616,
-"keyword": "rgen villadsen"},
->>>>>>> merge rev
+"keyword": "json objects"},
{"id": 617,
-<<<<<<< working copy
-"keyword": "girard-tait style logical relation"},
-||||||| common ancestor
-"keyword": "call return"},
-=======
-"keyword": "partial binary operation"},
->>>>>>> merge rev
+"keyword": "rgen villadsen"},
{"id": 618,
-<<<<<<< working copy
-"keyword": "expressive logic"},
+"keyword": "partial binary operation"},
{"id": 619,
-"keyword": "informal description"},
+"keyword": "tuples satisfying"},
{"id": 620,
-"keyword": "infinite trees branching"},
-{"id": 621,
-"keyword": "regular languages"},
-{"id": 622,
-"keyword": "carmichael numbers"},
-{"id": 623,
-"keyword": "digit expansions"},
-||||||| common ancestor
-"keyword": "substantial background"},
-{"id": 619,
-"keyword": "girard-tait style logical relation"},
-{"id": 620,
-"keyword": "expressive logic"},
+"keyword": "remaining computation"},
{"id": 621,
-"keyword": "informal description"},
+"keyword": "andrei popescu propose"},
{"id": 622,
-"keyword": "infinite trees branching"},
+"keyword": "standard definitions"},
{"id": 623,
-"keyword": "regular languages"},
-=======
-"keyword": "tuples satisfying"},
-{"id": 619,
-"keyword": "remaining computation"},
-{"id": 620,
-"keyword": "andrei popescu propose"},
-{"id": 621,
-"keyword": "standard definitions"},
-{"id": 622,
"keyword": "call return"},
-{"id": 623,
+{"id": 624,
"keyword": "substantial background"},
->>>>>>> merge rev
-{"id": 624,
-<<<<<<< working copy
-"keyword": "famous invisible hand"},
-||||||| common ancestor
-"keyword": "carmichael numbers"},
-=======
+{"id": 625,
"keyword": "girard-tait style logical relation"},
->>>>>>> merge rev
-{"id": 625,
-<<<<<<< working copy
-"keyword": "public announcement logic"},
-||||||| common ancestor
-"keyword": "digit expansions"},
-=======
-"keyword": "expressive logic"},
->>>>>>> merge rev
{"id": 626,
-<<<<<<< working copy
-"keyword": "compute arbitrary primitive recursive"},
-||||||| common ancestor
-"keyword": "famous invisible hand"},
-=======
+"keyword": "expressive logic"},
+{"id": 627,
"keyword": "informal description"},
->>>>>>> merge rev
-{"id": 627,
-<<<<<<< working copy
-"keyword": "respective fundamental homomorphism theorems"},
-||||||| common ancestor
-"keyword": "public announcement logic"},
-=======
-"keyword": "infinite trees branching"},
->>>>>>> merge rev
{"id": 628,
-<<<<<<< working copy
-"keyword": "practically successful method"},
+"keyword": "infinite trees branching"},
{"id": 629,
-"keyword": "up-closed sets"},
+"keyword": "regular languages"},
{"id": 630,
-"keyword": "edward zalta"},
+"keyword": "carmichael numbers"},
{"id": 631,
-"keyword": "generalized recurrence"},
-{"id": 632,
-||||||| common ancestor
-"keyword": "compute arbitrary primitive recursive"},
-{"id": 629,
-"keyword": "respective fundamental homomorphism theorems"},
-{"id": 630,
-"keyword": "practically successful method"},
-{"id": 631,
-"keyword": "up-closed sets"},
+"keyword": "digit expansions"},
{"id": 632,
-"keyword": "edward zalta"},
+"keyword": "famous invisible hand"},
{"id": 633,
-"keyword": "generalized recurrence"},
-{"id": 634,
-=======
-"keyword": "regular languages"},
-{"id": 629,
-"keyword": "carmichael numbers"},
-{"id": 630,
-"keyword": "digit expansions"},
-{"id": 631,
-"keyword": "famous invisible hand"},
-{"id": 632,
"keyword": "javascript object notation"},
-{"id": 633,
-"keyword": "public announcement logic"},
{"id": 634,
-"keyword": "compute arbitrary primitive recursive"},
-{"id": 635,
-"keyword": "respective fundamental homomorphism theorems"},
-{"id": 636,
-"keyword": "practically successful method"},
-{"id": 637,
-"keyword": "up-closed sets"},
-{"id": 638,
-"keyword": "edward zalta"},
-{"id": 639,
-"keyword": "generalized recurrence"},
-{"id": 640,
->>>>>>> merge rev
-"keyword": "equivalence kernels"},
-<<<<<<< working copy
-{"id": 633,
-||||||| common ancestor
+"keyword": "public announcement logic"},
{"id": 635,
-=======
-{"id": 641,
->>>>>>> merge rev
-"keyword": "real gamma function gamma"},
-<<<<<<< working copy
-{"id": 634,
-"keyword": "british imperial system"},
-{"id": 635,
-"keyword": "comparing encodability criteria"},
-{"id": 636,
-"keyword": "symmetric directed graphs"},
-{"id": 637,
-||||||| common ancestor
+"keyword": "compute arbitrary primitive recursive"},
{"id": 636,
-"keyword": "british imperial system"},
+"keyword": "respective fundamental homomorphism theorems"},
{"id": 637,
-"keyword": "comparing encodability criteria"},
-{"id": 638,
-"keyword": "symmetric directed graphs"},
-{"id": 639,
-=======
-{"id": 642,
-"keyword": "british imperial system"},
-{"id": 643,
-"keyword": "comparing encodability criteria"},
-{"id": 644,
-"keyword": "symmetric directed graphs"},
-{"id": 645,
->>>>>>> merge rev
-"keyword": "arbitrary user-"},
-<<<<<<< working copy
+"keyword": "practically successful method"},
{"id": 638,
-||||||| common ancestor
+"keyword": "up-closed sets"},
+{"id": 639,
+"keyword": "edward zalta"},
{"id": 640,
-=======
-{"id": 646,
->>>>>>> merge rev
-"keyword": "constructor applications"},
-<<<<<<< working copy
-{"id": 639,
-"keyword": "analogous problem arises"},
-{"id": 640,
-"keyword": "expanding contracting intervals"},
-{"id": 641,
-"keyword": "first-order parameters"},
-{"id": 642,
-||||||| common ancestor
+"keyword": "generalized recurrence"},
{"id": 641,
-"keyword": "analogous problem arises"},
+"keyword": "equivalence kernels"},
{"id": 642,
-"keyword": "expanding contracting intervals"},
+"keyword": "real gamma function gamma"},
{"id": 643,
-"keyword": "first-order parameters"},
+"keyword": "british imperial system"},
{"id": 644,
-=======
-{"id": 647,
-"keyword": "analogous problem arises"},
-{"id": 648,
-"keyword": "expanding contracting intervals"},
-{"id": 649,
-"keyword": "first-order parameters"},
-{"id": 650,
->>>>>>> merge rev
-"keyword": "abortable linearizable module automaton"},
-<<<<<<< working copy
-{"id": 643,
-||||||| common ancestor
+"keyword": "comparing encodability criteria"},
{"id": 645,
-=======
-{"id": 651,
->>>>>>> merge rev
-"keyword": "cava automata library"},
-<<<<<<< working copy
-{"id": 644,
-"keyword": "higher-order frequency moments"},
-{"id": 645,
-"keyword": "fusible list functions"},
+"keyword": "symmetric directed graphs"},
{"id": 646,
-"keyword": "nash-williams discovered"},
+"keyword": "arbitrary user-"},
{"id": 647,
-"keyword": "equivalence proofs"},
+"keyword": "constructor applications"},
{"id": 648,
-"keyword": "regular algebras axiomatise"},
+"keyword": "analogous problem arises"},
{"id": 649,
-"keyword": "efficient data structure combining"},
+"keyword": "expanding contracting intervals"},
{"id": 650,
-"keyword": "distributed systems specification"},
-{"id": 651,
-"keyword": "total recursive functions"},
-{"id": 652,
-"keyword": "complete formalisation"},
-||||||| common ancestor
-{"id": 646,
-"keyword": "higher-order frequency moments"},
-{"id": 647,
-"keyword": "fusible list functions"},
-{"id": 648,
-"keyword": "nash-williams discovered"},
-{"id": 649,
-"keyword": "equivalence proofs"},
-{"id": 650,
-"keyword": "regular algebras axiomatise"},
+"keyword": "first-order parameters"},
{"id": 651,
-"keyword": "efficient data structure combining"},
+"keyword": "abortable linearizable module automaton"},
{"id": 652,
-"keyword": "distributed systems specification"},
-=======
-{"id": 652,
+"keyword": "cava automata library"},
+{"id": 653,
"keyword": "higher-order frequency moments"},
->>>>>>> merge rev
-{"id": 653,
-<<<<<<< working copy
-"keyword": "inductive definition"},
-||||||| common ancestor
-"keyword": "total recursive functions"},
-=======
-"keyword": "fusible list functions"},
->>>>>>> merge rev
{"id": 654,
-<<<<<<< working copy
-"keyword": "cohen posets"},
-||||||| common ancestor
-"keyword": "complete formalisation"},
-=======
-"keyword": "nash-williams discovered"},
->>>>>>> merge rev
+"keyword": "fusible list functions"},
{"id": 655,
-<<<<<<< working copy
-"keyword": "standard system"},
-||||||| common ancestor
+"keyword": "nash-williams discovered"},
+{"id": 656,
+"keyword": "equivalence proofs"},
+{"id": 657,
+"keyword": "regular algebras axiomatise"},
+{"id": 658,
+"keyword": "efficient data structure combining"},
+{"id": 659,
+"keyword": "distributed systems specification"},
+{"id": 660,
+"keyword": "total recursive functions"},
+{"id": 661,
+"keyword": "complete formalisation"},
+{"id": 662,
"keyword": "inductive definition"},
-=======
-"keyword": "equivalence proofs"},
->>>>>>> merge rev
-{"id": 656,
-<<<<<<< working copy
-"keyword": "wide range"},
-||||||| common ancestor
+{"id": 663,
"keyword": "cohen posets"},
-=======
-"keyword": "regular algebras axiomatise"},
->>>>>>> merge rev
-{"id": 657,
-<<<<<<< working copy
-"keyword": "nominal"},
-||||||| common ancestor
+{"id": 664,
"keyword": "standard system"},
-=======
-"keyword": "efficient data structure combining"},
->>>>>>> merge rev
-{"id": 658,
-<<<<<<< working copy
-"keyword": "ongoing development"},
-||||||| common ancestor
+{"id": 665,
"keyword": "wide range"},
-=======
-"keyword": "distributed systems specification"},
->>>>>>> merge rev
-{"id": 659,
-<<<<<<< working copy
-"keyword": "concrete logics satisfying"},
-||||||| common ancestor
-"keyword": "nominal"},
-=======
-"keyword": "total recursive functions"},
->>>>>>> merge rev
-{"id": 660,
-<<<<<<< working copy
-"keyword": "efficient implementation"},
-||||||| common ancestor
-"keyword": "ongoing development"},
-=======
-"keyword": "complete formalisation"},
->>>>>>> merge rev
-{"id": 661,
-<<<<<<< working copy
-"keyword": "ribbon proofs"},
-{"id": 662,
-"keyword": "mechanised proofs"},
-{"id": 663,
-"keyword": "test check"},
-{"id": 664,
-"keyword": "inverse limit"},
-||||||| common ancestor
-"keyword": "concrete logics satisfying"},
-{"id": 662,
-"keyword": "efficient implementation"},
-{"id": 663,
-"keyword": "ribbon proofs"},
-{"id": 664,
-"keyword": "mechanised proofs"},
-=======
-"keyword": "inductive definition"},
-{"id": 662,
-"keyword": "cohen posets"},
-{"id": 663,
-"keyword": "standard system"},
-{"id": 664,
-"keyword": "wide range"},
->>>>>>> merge rev
-{"id": 665,
-<<<<<<< working copy
-"keyword": "original quantifier elimination algorithm"},
-||||||| common ancestor
-"keyword": "test check"},
-=======
+{"id": 666,
"keyword": "nominal"},
->>>>>>> merge rev
-{"id": 666,
-<<<<<<< working copy
-"keyword": "abc"},
{"id": 667,
-||||||| common ancestor
-"keyword": "inverse limit"},
-{"id": 667,
-"keyword": "original quantifier elimination algorithm"},
+"keyword": "ongoing development"},
{"id": 668,
-"keyword": "abc"},
-{"id": 669,
-=======
-"keyword": "ongoing development"},
-{"id": 667,
"keyword": "concrete logics satisfying"},
-{"id": 668,
-"keyword": "efficient implementation"},
{"id": 669,
-"keyword": "ribbon proofs"},
+"keyword": "efficient implementation"},
{"id": 670,
+"keyword": "ribbon proofs"},
+{"id": 671,
"keyword": "mechanised proofs"},
-{"id": 671,
+{"id": 672,
"keyword": "test check"},
-{"id": 672,
+{"id": 673,
"keyword": "inverse limit"},
-{"id": 673,
+{"id": 674,
"keyword": "original quantifier elimination algorithm"},
-{"id": 674,
+{"id": 675,
"keyword": "abc"},
-{"id": 675,
->>>>>>> merge rev
+{"id": 676,
"keyword": "symmetric cases"},
-<<<<<<< working copy
-{"id": 668,
-||||||| common ancestor
-{"id": 670,
-=======
-{"id": 676,
->>>>>>> merge rev
+{"id": 677,
"keyword": "verify purely functional"},
-<<<<<<< working copy
-{"id": 669,
-||||||| common ancestor
-{"id": 671,
-=======
-{"id": 677,
->>>>>>> merge rev
+{"id": 678,
"keyword": "hyperdual numbers"},
-<<<<<<< working copy
-{"id": 670,
-"keyword": "forward data packets"},
-{"id": 671,
-"keyword": "application consumes potential"},
-{"id": 672,
-"keyword": "second-order derivation"},
-{"id": 673,
-"keyword": "special functions"},
-{"id": 674,
-"keyword": "initial conversion"},
-{"id": 675,
-"keyword": "hol formalization refines"},
-{"id": 676,
-"keyword": "eliminates duplicate prime factors"},
-{"id": 677,
-"keyword": "explicit formula"},
-{"id": 678,
-"keyword": "eventually achieve"},
{"id": 679,
-"keyword": "non-negative real"},
+"keyword": "discrete fourier transform"},
{"id": 680,
-||||||| common ancestor
-{"id": 672,
"keyword": "forward data packets"},
-{"id": 673,
+{"id": 681,
"keyword": "application consumes potential"},
-{"id": 674,
+{"id": 682,
"keyword": "second-order derivation"},
-{"id": 675,
-"keyword": "special functions"},
-{"id": 676,
-"keyword": "initial conversion"},
-{"id": 677,
-"keyword": "hol formalization refines"},
-{"id": 678,
-"keyword": "eliminates duplicate prime factors"},
-{"id": 679,
-"keyword": "explicit formula"},
-{"id": 680,
-"keyword": "eventually achieve"},
-{"id": 681,
-"keyword": "non-negative real"},
-{"id": 682,
-=======
-{"id": 678,
-"keyword": "forward data packets"},
-{"id": 679,
-"keyword": "application consumes potential"},
-{"id": 680,
-"keyword": "second-order derivation"},
-{"id": 681,
+{"id": 683,
"keyword": "special functions"},
-{"id": 682,
-"keyword": "initial conversion"},
-{"id": 683,
-"keyword": "hol formalization refines"},
{"id": 684,
-"keyword": "eliminates duplicate prime factors"},
-{"id": 685,
-"keyword": "explicit formula"},
-{"id": 686,
-"keyword": "eventually achieve"},
-{"id": 687,
-"keyword": "non-negative real"},
-{"id": 688,
->>>>>>> merge rev
-"keyword": "deterministic minsky machine"},
-<<<<<<< working copy
-{"id": 681,
-||||||| common ancestor
-{"id": 683,
-=======
-{"id": 689,
->>>>>>> merge rev
-"keyword": "graph properties expressed"},
-<<<<<<< working copy
-{"id": 682,
-"keyword": "dom standard"},
-{"id": 683,
-"keyword": "high school"},
-{"id": 684,
-"keyword": "dnf-based non-elementary algorithm"},
-{"id": 685,
-||||||| common ancestor
-{"id": 684,
-"keyword": "dom standard"},
+"keyword": "initial conversion"},
{"id": 685,
-"keyword": "high school"},
-{"id": 686,
-"keyword": "dnf-based non-elementary algorithm"},
-{"id": 687,
-=======
-{"id": 690,
-"keyword": "dom standard"},
-{"id": 691,
-"keyword": "high school"},
-{"id": 692,
-"keyword": "dnf-based non-elementary algorithm"},
-{"id": 693,
->>>>>>> merge rev
-"keyword": "fast sat solver"},
-<<<<<<< working copy
+"keyword": "hol formalization refines"},
{"id": 686,
-||||||| common ancestor
-{"id": 688,
-=======
-{"id": 694,
->>>>>>> merge rev
-"keyword": "coalgebraic literature"},
-<<<<<<< working copy
+"keyword": "eliminates duplicate prime factors"},
{"id": 687,
-||||||| common ancestor
+"keyword": "explicit formula"},
+{"id": 688,
+"keyword": "eventually achieve"},
{"id": 689,
-=======
-{"id": 695,
->>>>>>> merge rev
-"keyword": "generalisation bnfcc"},
-<<<<<<< working copy
-{"id": 688,
-||||||| common ancestor
+"keyword": "non-negative real"},
{"id": 690,
-=======
-{"id": 696,
->>>>>>> merge rev
-"keyword": "vector space"},
-<<<<<<< working copy
-{"id": 689,
-"keyword": "lll basis reduction algorithm"},
-{"id": 690,
-"keyword": "comte de buffon posed"},
+"keyword": "deterministic minsky machine"},
{"id": 691,
-"keyword": "confidentiality properties"},
+"keyword": "graph properties expressed"},
{"id": 692,
-"keyword": "defining functors"},
+"keyword": "dom standard"},
{"id": 693,
-"keyword": "prod limits_"},
+"keyword": "high school"},
{"id": 694,
-"keyword": "binary orthogonality"},
-{"id": 695,
-"keyword": "union concatenation"},
-{"id": 696,
-"keyword": "substantial set"},
-{"id": 697,
-"keyword": "von lindemann"},
-{"id": 698,
-"keyword": "proof tool"},
-{"id": 699,
-||||||| common ancestor
-{"id": 691,
-"keyword": "lll basis reduction algorithm"},
-{"id": 692,
-"keyword": "comte de buffon posed"},
-{"id": 693,
-"keyword": "confidentiality properties"},
-{"id": 694,
-"keyword": "defining functors"},
+"keyword": "dnf-based non-elementary algorithm"},
{"id": 695,
-"keyword": "prod limits_"},
+"keyword": "fast sat solver"},
{"id": 696,
-"keyword": "binary orthogonality"},
+"keyword": "coalgebraic literature"},
{"id": 697,
-"keyword": "union concatenation"},
-{"id": 698,
-"keyword": "substantial set"},
-{"id": 699,
-"keyword": "von lindemann"},
-{"id": 700,
-"keyword": "proof tool"},
-{"id": 701,
-=======
-{"id": 697,
-"keyword": "lll basis reduction algorithm"},
+"keyword": "generalisation bnfcc"},
{"id": 698,
+"keyword": "vector space"},
+{"id": 699,
+"keyword": "lll basis reduction algorithm"},
+{"id": 700,
"keyword": "comte de buffon posed"},
-{"id": 699,
+{"id": 701,
"keyword": "confidentiality properties"},
-{"id": 700,
-"keyword": "defining functors"},
-{"id": 701,
-"keyword": "prod limits_"},
{"id": 702,
-"keyword": "binary orthogonality"},
+"keyword": "defining functors"},
{"id": 703,
-"keyword": "union concatenation"},
+"keyword": "prod limits_"},
{"id": 704,
-"keyword": "substantial set"},
+"keyword": "range queries"},
{"id": 705,
+"keyword": "binary orthogonality"},
+{"id": 706,
+"keyword": "union concatenation"},
+{"id": 707,
+"keyword": "substantial set"},
+{"id": 708,
"keyword": "von lindemann"},
-{"id": 706,
+{"id": 709,
"keyword": "proof tool"},
-{"id": 707,
->>>>>>> merge rev
+{"id": 710,
"keyword": "modulo operation"},
-<<<<<<< working copy
-{"id": 700,
-||||||| common ancestor
-{"id": 702,
-=======
-{"id": 708,
->>>>>>> merge rev
+{"id": 711,
"keyword": "path"},
-<<<<<<< working copy
-{"id": 701,
-"keyword": "document corresponds"},
-{"id": 702,
-"keyword": "gps satellite"},
-{"id": 703,
-"keyword": "publication forthcoming"},
-{"id": 704,
-||||||| common ancestor
-{"id": 703,
-"keyword": "document corresponds"},
-{"id": 704,
-"keyword": "gps satellite"},
-{"id": 705,
-"keyword": "publication forthcoming"},
-{"id": 706,
-=======
-{"id": 709,
-"keyword": "document corresponds"},
-{"id": 710,
-"keyword": "gps satellite"},
-{"id": 711,
-"keyword": "publication forthcoming"},
{"id": 712,
->>>>>>> merge rev
+"keyword": "document corresponds"},
+{"id": 713,
+"keyword": "gps satellite"},
+{"id": 714,
+"keyword": "publication forthcoming"},
+{"id": 715,
"keyword": "behavioral aspects"},
-<<<<<<< working copy
-{"id": 705,
-||||||| common ancestor
-{"id": 707,
-=======
-{"id": 713,
->>>>>>> merge rev
+{"id": 716,
"keyword": "graph- transformation based method"},
-<<<<<<< working copy
-{"id": 706,
+{"id": 717,
"keyword": "odd-set cover"},
-{"id": 707,
+{"id": 718,
"keyword": "classical algorithms"},
-{"id": 708,
-"keyword": "proofs involving linear algebra"},
-{"id": 709,
-"keyword": "years formal verification"},
-{"id": 710,
-"keyword": "simulation code generation"},
-{"id": 711,
-"keyword": "geodesic triangles"},
-{"id": 712,
-"keyword": "present interpretations"},
-{"id": 713,
-"keyword": "extending previous results applying"},
-||||||| common ancestor
-{"id": 708,
-"keyword": "odd-set cover"},
-{"id": 709,
-"keyword": "classical algorithms"},
-{"id": 710,
+{"id": 719,
"keyword": "proofs involving linear algebra"},
-{"id": 711,
+{"id": 720,
"keyword": "years formal verification"},
-{"id": 712,
+{"id": 721,
"keyword": "simulation code generation"},
-{"id": 713,
+{"id": 722,
"keyword": "geodesic triangles"},
-=======
->>>>>>> merge rev
-{"id": 714,
-<<<<<<< working copy
-"keyword": "k-universal hash family"},
-||||||| common ancestor
+{"id": 723,
"keyword": "present interpretations"},
-=======
-"keyword": "odd-set cover"},
->>>>>>> merge rev
-{"id": 715,
-<<<<<<< working copy
-"keyword": "revision 6081d5be8d08"},
-||||||| common ancestor
+{"id": 724,
"keyword": "extending previous results applying"},
-=======
-"keyword": "classical algorithms"},
->>>>>>> merge rev
-{"id": 716,
-<<<<<<< working copy
+{"id": 725,
+"keyword": "k-universal hash family"},
+{"id": 726,
+"keyword": "revision 6081d5be8d08"},
+{"id": 727,
"keyword": "boolean connectives"},
-||||||| common ancestor
-"keyword": "cav 2013 paper"},
-=======
-"keyword": "proofs involving linear algebra"},
->>>>>>> merge rev
-{"id": 717,
-<<<<<<< working copy
+{"id": 728,
"keyword": "verification condition generators producing"},
-||||||| common ancestor
-"keyword": "k-universal hash family"},
-=======
-"keyword": "years formal verification"},
->>>>>>> merge rev
-{"id": 718,
-<<<<<<< working copy
+{"id": 729,
"keyword": "lattice-theoretic concepts"},
-||||||| common ancestor
-"keyword": "revision 6081d5be8d08"},
-=======
-"keyword": "simulation code generation"},
->>>>>>> merge rev
-{"id": 719,
-<<<<<<< working copy
+{"id": 730,
"keyword": "generic instantiation based"},
-||||||| common ancestor
-"keyword": "boolean connectives"},
-=======
-"keyword": "geodesic triangles"},
->>>>>>> merge rev
-{"id": 720,
-<<<<<<< working copy
+{"id": 731,
"keyword": "communication channels"},
-||||||| common ancestor
-"keyword": "verification condition generators producing"},
-=======
-"keyword": "present interpretations"},
->>>>>>> merge rev
-{"id": 721,
-<<<<<<< working copy
+{"id": 732,
"keyword": "sufficiently nice sdss"},
-||||||| common ancestor
-"keyword": "lattice-theoretic concepts"},
-=======
-"keyword": "extending previous results applying"},
->>>>>>> merge rev
-{"id": 722,
-<<<<<<< working copy
-"keyword": "proof applies"},
-||||||| common ancestor
-"keyword": "generic instantiation based"},
-=======
-"keyword": "cav 2013 paper"},
->>>>>>> merge rev
-{"id": 723,
-<<<<<<< working copy
-"keyword": "couple small"},
-||||||| common ancestor
-"keyword": "communication channels"},
-=======
-"keyword": "k-universal hash family"},
->>>>>>> merge rev
-{"id": 724,
-<<<<<<< working copy
-"keyword": "representable bounds"},
-||||||| common ancestor
-"keyword": "sufficiently nice sdss"},
-=======
-"keyword": "revision 6081d5be8d08"},
->>>>>>> merge rev
-{"id": 725,
-<<<<<<< working copy
-"keyword": "textbook modal logic"},
-||||||| common ancestor
+{"id": 733,
"keyword": "proof applies"},
-=======
-"keyword": "boolean connectives"},
->>>>>>> merge rev
-{"id": 726,
-<<<<<<< working copy
-"keyword": "relational program logics"},
-||||||| common ancestor
+{"id": 734,
"keyword": "couple small"},
-=======
-"keyword": "verification condition generators producing"},
->>>>>>> merge rev
-{"id": 727,
-<<<<<<< working copy
-||||||| common ancestor
+{"id": 735,
+"keyword": "additive combinatorics due"},
+{"id": 736,
"keyword": "representable bounds"},
-{"id": 728,
-"keyword": "textbook modal logic"},
-{"id": 729,
-"keyword": "relational program logics"},
-{"id": 730,
-=======
-"keyword": "lattice-theoretic concepts"},
-{"id": 728,
-"keyword": "generic instantiation based"},
-{"id": 729,
-"keyword": "communication channels"},
-{"id": 730,
-"keyword": "sufficiently nice sdss"},
-{"id": 731,
-"keyword": "proof applies"},
-{"id": 732,
-"keyword": "couple small"},
-{"id": 733,
-"keyword": "representable bounds"},
-{"id": 734,
+{"id": 737,
"keyword": "textbook modal logic"},
-{"id": 735,
+{"id": 738,
"keyword": "relational program logics"},
-{"id": 736,
->>>>>>> merge rev
+{"id": 739,
"keyword": "formal words"},
-<<<<<<< working copy
-{"id": 728,
-||||||| common ancestor
-{"id": 731,
-=======
-{"id": 737,
->>>>>>> merge rev
+{"id": 740,
"keyword": "command mk_ide enables"},
-<<<<<<< working copy
-{"id": 729,
-||||||| common ancestor
-{"id": 732,
-=======
-{"id": 738,
->>>>>>> merge rev
+{"id": 741,
"keyword": "inventory management"},
-<<<<<<< working copy
-{"id": 730,
-||||||| common ancestor
-{"id": 733,
-=======
-{"id": 739,
->>>>>>> merge rev
+{"id": 742,
"keyword": "generalised rewriting"},
-<<<<<<< working copy
-{"id": 731,
-||||||| common ancestor
-{"id": 734,
-=======
-{"id": 740,
->>>>>>> merge rev
+{"id": 743,
"keyword": "enhanced interleaves predicate turns"},
-<<<<<<< working copy
-{"id": 732,
-||||||| common ancestor
-{"id": 735,
-=======
-{"id": 741,
->>>>>>> merge rev
+{"id": 744,
"keyword": "cotangent spaces"},
-<<<<<<< working copy
-{"id": 733,
-||||||| common ancestor
-{"id": 736,
-=======
-{"id": 742,
->>>>>>> merge rev
+{"id": 745,
"keyword": "simple exercises"},
-<<<<<<< working copy
-{"id": 734,
-||||||| common ancestor
-{"id": 737,
-=======
-{"id": 743,
->>>>>>> merge rev
+{"id": 746,
"keyword": "induction hypothesis"},
-<<<<<<< working copy
-{"id": 735,
-||||||| common ancestor
-{"id": 738,
-=======
-{"id": 744,
->>>>>>> merge rev
+{"id": 747,
"keyword": "real-world computer networks"},
-<<<<<<< working copy
-{"id": 736,
+{"id": 748,
"keyword": "additional relations"},
-{"id": 737,
+{"id": 749,
"keyword": "combine stepwise refinement"},
-{"id": 738,
+{"id": 750,
"keyword": "logical foundation"},
-{"id": 739,
+{"id": 751,
"keyword": "nearest shadow root"},
-{"id": 740,
+{"id": 752,
"keyword": "asynchronously communicating nodes"},
-{"id": 741,
-"keyword": "introducing constructor functions"},
-{"id": 742,
-"keyword": "newly detected states"},
-{"id": 743,
-"keyword": "presented variants increase"},
-{"id": 744,
-"keyword": "divide conquer algorithms"},
-{"id": 745,
-"keyword": "classical extensional mereology"},
-{"id": 746,
-"keyword": "quantified non-classical logics"},
-{"id": 747,
-"keyword": "usual definitions"},
-{"id": 748,
-"keyword": "foundation presented"},
-{"id": 749,
-"keyword": "incidence set systems"},
-{"id": 750,
-"keyword": "jacobi symbol"},
-{"id": 751,
-"keyword": "verification components"},
-{"id": 752,
-"keyword": "system"},
{"id": 753,
-"keyword": "counts distinct real roots"},
+"keyword": "introducing constructor functions"},
{"id": 754,
-"keyword": "language primitives"},
+"keyword": "newly detected states"},
{"id": 755,
-"keyword": "positive llists"},
+"keyword": "presented variants increase"},
{"id": 756,
-"keyword": "classical logic"},
-{"id": 757,
-"keyword": "formal protocol verification"},
-||||||| common ancestor
-{"id": 739,
-"keyword": "additional relations"},
-{"id": 740,
-"keyword": "combine stepwise refinement"},
-{"id": 741,
-"keyword": "logical foundation"},
-{"id": 742,
-"keyword": "nearest shadow root"},
-{"id": 743,
-"keyword": "asynchronously communicating nodes"},
-{"id": 744,
-"keyword": "introducing constructor functions"},
-{"id": 745,
-"keyword": "newly detected states"},
-{"id": 746,
-"keyword": "presented variants increase"},
-{"id": 747,
"keyword": "divide conquer algorithms"},
-{"id": 748,
-"keyword": "classical extensional mereology"},
-{"id": 749,
-"keyword": "quantified non-classical logics"},
-{"id": 750,
-"keyword": "usual definitions"},
-{"id": 751,
-"keyword": "foundation presented"},
-{"id": 752,
-"keyword": "incidence set systems"},
-{"id": 753,
-"keyword": "jacobi symbol"},
-{"id": 754,
-"keyword": "verification components"},
-{"id": 755,
-"keyword": "system"},
-{"id": 756,
-"keyword": "counts distinct real roots"},
{"id": 757,
-"keyword": "language primitives"},
-=======
-{"id": 745,
-"keyword": "additional relations"},
-{"id": 746,
-"keyword": "combine stepwise refinement"},
-{"id": 747,
-"keyword": "logical foundation"},
-{"id": 748,
-"keyword": "nearest shadow root"},
-{"id": 749,
-"keyword": "asynchronously communicating nodes"},
-{"id": 750,
-"keyword": "introducing constructor functions"},
-{"id": 751,
-"keyword": "newly detected states"},
-{"id": 752,
-"keyword": "presented variants increase"},
-{"id": 753,
-"keyword": "divide conquer algorithms"},
-{"id": 754,
"keyword": "classical extensional mereology"},
-{"id": 755,
-"keyword": "quantified non-classical logics"},
-{"id": 756,
-"keyword": "usual definitions"},
-{"id": 757,
-"keyword": "foundation presented"},
->>>>>>> merge rev
{"id": 758,
-<<<<<<< working copy
-"keyword": "entry genclock"},
-||||||| common ancestor
-"keyword": "positive llists"},
-=======
-"keyword": "incidence set systems"},
->>>>>>> merge rev
+"keyword": "quantified non-classical logics"},
{"id": 759,
-<<<<<<< working copy
-"keyword": "inlines function application"},
-||||||| common ancestor
-"keyword": "classical logic"},
-=======
-"keyword": "jacobi symbol"},
->>>>>>> merge rev
+"keyword": "usual definitions"},
{"id": 760,
-<<<<<<< working copy
-"keyword": "imperative programming languages"},
-||||||| common ancestor
-"keyword": "formal protocol verification"},
-=======
-"keyword": "verification components"},
->>>>>>> merge rev
+"keyword": "foundation presented"},
{"id": 761,
-<<<<<<< working copy
-"keyword": "dynamical systems"},
-||||||| common ancestor
-"keyword": "entry genclock"},
-=======
-"keyword": "system"},
->>>>>>> merge rev
+"keyword": "incidence set systems"},
{"id": 762,
-<<<<<<< working copy
-"keyword": "arbitrary transition systems"},
-||||||| common ancestor
-"keyword": "inlines function application"},
-=======
-"keyword": "counts distinct real roots"},
->>>>>>> merge rev
+"keyword": "jacobi symbol"},
{"id": 763,
-<<<<<<< working copy
-"keyword": "induced maps"},
-||||||| common ancestor
-"keyword": "imperative programming languages"},
-=======
-"keyword": "language primitives"},
->>>>>>> merge rev
+"keyword": "verification components"},
{"id": 764,
-<<<<<<< working copy
-"keyword": "info research codegen"},
-||||||| common ancestor
-"keyword": "dynamical systems"},
-=======
-"keyword": "positive llists"},
->>>>>>> merge rev
+"keyword": "system"},
{"id": 765,
-<<<<<<< working copy
-"keyword": "monitoring tools"},
+"keyword": "counts distinct real roots"},
{"id": 766,
-"keyword": "functional languages"},
+"keyword": "language primitives"},
{"id": 767,
-"keyword": "strong nullstellensatz"},
+"keyword": "positive llists"},
{"id": 768,
-"keyword": "stateful network implementation"},
+"keyword": "classical logic"},
{"id": 769,
-"keyword": "development concludes"},
+"keyword": "formal protocol verification"},
{"id": 770,
-"keyword": "hyperbolic geometry"},
-{"id": 771,
-"keyword": "strongest postconditions based"},
-{"id": 772,
-"keyword": "cade 28 paper"},
-{"id": 773,
-"keyword": "jordan curve theorem"},
-{"id": 774,
-"keyword": "core operations"},
-{"id": 775,
-"keyword": "fixed arguments"},
-{"id": 776,
-"keyword": "satisfying assignment"},
-||||||| common ancestor
-"keyword": "arbitrary transition systems"},
-{"id": 766,
-"keyword": "induced maps"},
-{"id": 767,
-"keyword": "info research codegen"},
-{"id": 768,
-"keyword": "monitoring tools"},
-{"id": 769,
-"keyword": "functional languages"},
-{"id": 770,
-"keyword": "strong nullstellensatz"},
+"keyword": "entry genclock"},
{"id": 771,
-"keyword": "stateful network implementation"},
+"keyword": "inlines function application"},
{"id": 772,
-"keyword": "development concludes"},
+"keyword": "imperative programming languages"},
{"id": 773,
-"keyword": "hyperbolic geometry"},
+"keyword": "dynamical systems"},
{"id": 774,
-"keyword": "strongest postconditions based"},
+"keyword": "arbitrary transition systems"},
{"id": 775,
-"keyword": "cade 28 paper"},
+"keyword": "induced maps"},
{"id": 776,
-"keyword": "jordan curve theorem"},
-=======
-"keyword": "classical logic"},
-{"id": 766,
-"keyword": "formal protocol verification"},
-{"id": 767,
-"keyword": "entry genclock"},
-{"id": 768,
-"keyword": "inlines function application"},
-{"id": 769,
-"keyword": "imperative programming languages"},
-{"id": 770,
-"keyword": "dynamical systems"},
-{"id": 771,
-"keyword": "arbitrary transition systems"},
-{"id": 772,
-"keyword": "induced maps"},
-{"id": 773,
"keyword": "info research codegen"},
-{"id": 774,
-"keyword": "monitoring tools"},
-{"id": 775,
-"keyword": "functional languages"},
-{"id": 776,
-"keyword": "strong nullstellensatz"},
->>>>>>> merge rev
{"id": 777,
-<<<<<<< working copy
-"keyword": "b_n"},
-||||||| common ancestor
-"keyword": "preliminary version"},
-=======
-"keyword": "stateful network implementation"},
->>>>>>> merge rev
+"keyword": "monitoring tools"},
{"id": 778,
-<<<<<<< working copy
-"keyword": "bilinear dominance"},
-||||||| common ancestor
-"keyword": "core operations"},
-=======
-"keyword": "development concludes"},
->>>>>>> merge rev
+"keyword": "functional languages"},
{"id": 779,
-<<<<<<< working copy
-"keyword": "model reactive systems"},
-||||||| common ancestor
-"keyword": "fixed arguments"},
-=======
-"keyword": "hyperbolic geometry"},
->>>>>>> merge rev
+"keyword": "strong nullstellensatz"},
{"id": 780,
-<<<<<<< working copy
-"keyword": "target language features"},
-||||||| common ancestor
-"keyword": "satisfying assignment"},
-=======
-"keyword": "strongest postconditions based"},
->>>>>>> merge rev
+"keyword": "stateful network implementation"},
{"id": 781,
-<<<<<<< working copy
-"keyword": "social decision schemes"},
-||||||| common ancestor
-"keyword": "b_n"},
-=======
-"keyword": "cade 28 paper"},
->>>>>>> merge rev
+"keyword": "development concludes"},
{"id": 782,
-<<<<<<< working copy
-"keyword": "okamoto sigma-protocols"},
-||||||| common ancestor
-"keyword": "bilinear dominance"},
-=======
-"keyword": "called complete sets"},
->>>>>>> merge rev
+"keyword": "hyperbolic geometry"},
{"id": 783,
-<<<<<<< working copy
-"keyword": "squares euclid"},
-||||||| common ancestor
-"keyword": "model reactive systems"},
-=======
-"keyword": "jordan curve theorem"},
->>>>>>> merge rev
+"keyword": "strongest postconditions based"},
{"id": 784,
-<<<<<<< working copy
-"keyword": "celebrated theorem"},
-||||||| common ancestor
+"keyword": "cade 28 paper"},
+{"id": 785,
+"keyword": "called complete sets"},
+{"id": 786,
+"keyword": "jordan curve theorem"},
+{"id": 787,
+"keyword": "core operations"},
+{"id": 788,
+"keyword": "fixed arguments"},
+{"id": 789,
+"keyword": "satisfying assignment"},
+{"id": 790,
+"keyword": "b_n"},
+{"id": 791,
+"keyword": "bilinear dominance"},
+{"id": 792,
+"keyword": "model reactive systems"},
+{"id": 793,
"keyword": "target language features"},
-=======
-"keyword": "preliminary version"},
->>>>>>> merge rev
-{"id": 785,
-<<<<<<< working copy
-"keyword": "girard newton theorem"},
-||||||| common ancestor
+{"id": 794,
"keyword": "social decision schemes"},
-=======
-"keyword": "core operations"},
->>>>>>> merge rev
-{"id": 786,
-<<<<<<< working copy
-"keyword": "yoneda embedding preserves limits"},
-||||||| common ancestor
+{"id": 795,
"keyword": "okamoto sigma-protocols"},
-=======
-"keyword": "fixed arguments"},
->>>>>>> merge rev
-{"id": 787,
-<<<<<<< working copy
-"keyword": "behavior traces"},
-||||||| common ancestor
+{"id": 796,
"keyword": "squares euclid"},
-=======
-"keyword": "satisfying assignment"},
->>>>>>> merge rev
-{"id": 788,
-<<<<<<< working copy
-||||||| common ancestor
+{"id": 797,
"keyword": "celebrated theorem"},
-{"id": 789,
+{"id": 798,
"keyword": "girard newton theorem"},
-{"id": 790,
+{"id": 799,
"keyword": "yoneda embedding preserves limits"},
-{"id": 791,
+{"id": 800,
"keyword": "behavior traces"},
-{"id": 792,
-=======
-"keyword": "b_n"},
-{"id": 789,
-"keyword": "bilinear dominance"},
-{"id": 790,
-"keyword": "model reactive systems"},
-{"id": 791,
-"keyword": "target language features"},
-{"id": 792,
-"keyword": "social decision schemes"},
-{"id": 793,
-"keyword": "okamoto sigma-protocols"},
-{"id": 794,
-"keyword": "squares euclid"},
-{"id": 795,
-"keyword": "celebrated theorem"},
-{"id": 796,
-"keyword": "girard newton theorem"},
-{"id": 797,
-"keyword": "yoneda embedding preserves limits"},
-{"id": 798,
-"keyword": "behavior traces"},
-{"id": 799,
->>>>>>> merge rev
-"keyword": "avoid correctness issues"},
-<<<<<<< working copy
-{"id": 789,
-||||||| common ancestor
-{"id": 793,
-=======
-{"id": 800,
->>>>>>> merge rev
-"keyword": "magic wand mathbin"},
-<<<<<<< working copy
-{"id": 790,
-||||||| common ancestor
-{"id": 794,
-=======
{"id": 801,
->>>>>>> merge rev
+"keyword": "avoid correctness issues"},
+{"id": 802,
+"keyword": "magic wand mathbin"},
+{"id": 803,
"keyword": "argument functions"},
-<<<<<<< working copy
-{"id": 791,
-||||||| common ancestor
-{"id": 795,
-=======
-{"id": 802,
->>>>>>> merge rev
+{"id": 804,
"keyword": "stream types"},
-<<<<<<< working copy
-{"id": 792,
-||||||| common ancestor
-{"id": 796,
-=======
-{"id": 803,
->>>>>>> merge rev
+{"id": 805,
"keyword": "original operational semantics"},
-<<<<<<< working copy
-{"id": 793,
-||||||| common ancestor
-{"id": 797,
-=======
-{"id": 804,
+{"id": 806,
"keyword": "reduction conformance relations"},
-{"id": 805,
->>>>>>> merge rev
+{"id": 807,
"keyword": "heap operations"},
-<<<<<<< working copy
-{"id": 794,
-||||||| common ancestor
-{"id": 798,
-=======
-{"id": 806,
->>>>>>> merge rev
+{"id": 808,
"keyword": "64-bit bases"},
-<<<<<<< working copy
-{"id": 795,
-||||||| common ancestor
-{"id": 799,
-=======
-{"id": 807,
->>>>>>> merge rev
+{"id": 809,
"keyword": "coupled simulation versus bisimulation"},
-<<<<<<< working copy
-{"id": 796,
-||||||| common ancestor
-{"id": 800,
-=======
-{"id": 808,
->>>>>>> merge rev
+{"id": 810,
"keyword": "unified policy framework"},
-<<<<<<< working copy
-{"id": 797,
-||||||| common ancestor
-{"id": 801,
-=======
-{"id": 809,
->>>>>>> merge rev
+{"id": 811,
"keyword": "configuration trace"},
-<<<<<<< working copy
-{"id": 798,
-||||||| common ancestor
-{"id": 802,
-=======
-{"id": 810,
->>>>>>> merge rev
+{"id": 812,
"keyword": "pen-and-paper analysis"},
-<<<<<<< working copy
-{"id": 799,
-||||||| common ancestor
-{"id": 803,
-=======
-{"id": 811,
->>>>>>> merge rev
-"keyword": "definite initialisation analysis"},
-<<<<<<< working copy
-{"id": 800,
-||||||| common ancestor
-{"id": 804,
-=======
-{"id": 812,
->>>>>>> merge rev
-"keyword": "complex plane"},
-<<<<<<< working copy
-{"id": 801,
-||||||| common ancestor
-{"id": 805,
-=======
{"id": 813,
->>>>>>> merge rev
-"keyword": "galois theory"},
-<<<<<<< working copy
-{"id": 802,
-"keyword": "weak nullstellensatz"},
-{"id": 803,
-"keyword": "standard logistic function"},
-{"id": 804,
-"keyword": "state-of-the-art automated protocol verifiers"},
-{"id": 805,
-"keyword": "generate efficient code"},
-{"id": 806,
-"keyword": "modal logics"},
-{"id": 807,
-"keyword": "syntactic context"},
-{"id": 808,
-"keyword": "resulting generalized counting sort"},
-{"id": 809,
-"keyword": "special care"},
-{"id": 810,
-"keyword": "volume proofs"},
-{"id": 811,
-"keyword": "failed proof"},
-{"id": 812,
-"keyword": "individual computing nodes"},
-{"id": 813,
-"keyword": "recursive path order"},
-{"id": 814,
-"keyword": "reachable states"},
-{"id": 815,
-"keyword": "equivalent versions"},
-||||||| common ancestor
-{"id": 806,
-"keyword": "weak nullstellensatz"},
-{"id": 807,
-"keyword": "standard logistic function"},
-{"id": 808,
-"keyword": "state-of-the-art automated protocol verifiers"},
-{"id": 809,
-"keyword": "generate efficient code"},
-{"id": 810,
-"keyword": "modal logics"},
-{"id": 811,
-"keyword": "syntactic context"},
-{"id": 812,
-"keyword": "resulting generalized counting sort"},
-{"id": 813,
-"keyword": "special care"},
+"keyword": "definite initialisation analysis"},
{"id": 814,
-"keyword": "volume proofs"},
-{"id": 815,
-"keyword": "failed proof"},
-=======
-{"id": 814,
-"keyword": "weak nullstellensatz"},
+"keyword": "complex plane"},
{"id": 815,
-"keyword": "standard logistic function"},
->>>>>>> merge rev
+"keyword": "galois theory"},
{"id": 816,
-<<<<<<< working copy
-"keyword": "closed finite games"},
-||||||| common ancestor
-"keyword": "individual computing nodes"},
-=======
+"keyword": "weak nullstellensatz"},
+{"id": 817,
+"keyword": "standard logistic function"},
+{"id": 818,
"keyword": "state-of-the-art automated protocol verifiers"},
->>>>>>> merge rev
-{"id": 817,
-<<<<<<< working copy
-"keyword": "generalised form"},
-{"id": 818,
-"keyword": "proposed under-approximate logics"},
{"id": 819,
-"keyword": "handle incidence relations"},
+"keyword": "generate efficient code"},
{"id": 820,
-"keyword": "machine-assisted proof"},
+"keyword": "modal logics"},
{"id": 821,
-"keyword": "group representation"},
+"keyword": "syntactic context"},
{"id": 822,
-"keyword": "proof document supports"},
+"keyword": "resulting generalized counting sort"},
{"id": 823,
-"keyword": "amortized complexity"},
+"keyword": "special care"},
{"id": 824,
-"keyword": "assertion failure"},
-||||||| common ancestor
-"keyword": "recursive path order"},
-{"id": 818,
-"keyword": "reachable states"},
-{"id": 819,
-"keyword": "equivalent versions"},
-{"id": 820,
-"keyword": "closed finite games"},
-{"id": 821,
-"keyword": "generalised form"},
-{"id": 822,
-"keyword": "proposed under-approximate logics"},
-{"id": 823,
-"keyword": "handle incidence relations"},
-{"id": 824,
-"keyword": "machine-assisted proof"},
-=======
-"keyword": "generate efficient code"},
-{"id": 818,
-"keyword": "modal logics"},
-{"id": 819,
-"keyword": "syntactic context"},
-{"id": 820,
-"keyword": "resulting generalized counting sort"},
-{"id": 821,
-"keyword": "special care"},
-{"id": 822,
"keyword": "volume proofs"},
-{"id": 823,
-"keyword": "failed proof"},
-{"id": 824,
-"keyword": "individual computing nodes"},
->>>>>>> merge rev
{"id": 825,
-<<<<<<< working copy
-"keyword": "regular expressions needed"},
-||||||| common ancestor
-"keyword": "group representation"},
-=======
+"keyword": "failed proof"},
+{"id": 826,
+"keyword": "individual computing nodes"},
+{"id": 827,
"keyword": "recursive path order"},
->>>>>>> merge rev
-{"id": 826,
-<<<<<<< working copy
-"keyword": "n2m operation"},
-||||||| common ancestor
-"keyword": "proof document supports"},
-=======
+{"id": 828,
"keyword": "reachable states"},
->>>>>>> merge rev
-{"id": 827,
-<<<<<<< working copy
-"keyword": "abstract compiler working"},
-||||||| common ancestor
-"keyword": "amortized complexity"},
-=======
-"keyword": "equivalent versions"},
->>>>>>> merge rev
-{"id": 828,
-<<<<<<< working copy
-"keyword": "dra targets similar applications"},
-||||||| common ancestor
-"keyword": "assertion failure"},
-=======
-"keyword": "closed finite games"},
->>>>>>> merge rev
{"id": 829,
-<<<<<<< working copy
-"keyword": "certify termination proofs"},
-||||||| common ancestor
-"keyword": "regular expressions needed"},
-=======
-"keyword": "generalised form"},
->>>>>>> merge rev
+"keyword": "equivalent versions"},
{"id": 830,
-<<<<<<< working copy
-"keyword": "failures model"},
-||||||| common ancestor
-"keyword": "n2m operation"},
-=======
-"keyword": "proposed under-approximate logics"},
->>>>>>> merge rev
+"keyword": "closed finite games"},
{"id": 831,
-<<<<<<< working copy
-"keyword": "resource bound"},
-||||||| common ancestor
-"keyword": "abstract compiler working"},
-=======
-"keyword": "handle incidence relations"},
->>>>>>> merge rev
+"keyword": "generalised form"},
{"id": 832,
-<<<<<<< working copy
-"keyword": "probabilistic systems"},
+"keyword": "proposed under-approximate logics"},
{"id": 833,
-"keyword": "infinite behavior traces"},
+"keyword": "handle incidence relations"},
{"id": 834,
-"keyword": "finiteness assumptions"},
+"keyword": "machine-assisted proof"},
{"id": 835,
-"keyword": "gps receiver"},
+"keyword": "group representation"},
{"id": 836,
-"keyword": "proof theory enables application"},
+"keyword": "proof document supports"},
{"id": 837,
-"keyword": "longer valid"},
+"keyword": "amortized complexity"},
{"id": 838,
-"keyword": "separation kernels"},
+"keyword": "assertion failure"},
{"id": 839,
-"keyword": "in-place heapsort"},
-{"id": 840,
-"keyword": "result due"},
-{"id": 841,
-"keyword": "clause loop"},
-{"id": 842,
-"keyword": "register aliasing"},
-{"id": 843,
-"keyword": "revision functions launches"},
-{"id": 844,
-"keyword": "extensible library"},
-{"id": 845,
-"keyword": "master theorem based"},
-{"id": 846,
-||||||| common ancestor
-"keyword": "dra targets similar applications"},
-{"id": 833,
-"keyword": "certify termination proofs"},
-{"id": 834,
-"keyword": "failures model"},
-{"id": 835,
-"keyword": "resource bound"},
-{"id": 836,
-"keyword": "probabilistic systems"},
-{"id": 837,
-"keyword": "infinite behavior traces"},
-{"id": 838,
-"keyword": "finiteness assumptions"},
-{"id": 839,
-"keyword": "gps receiver"},
+"keyword": "regular expressions needed"},
{"id": 840,
-"keyword": "proof theory enables application"},
+"keyword": "n2m operation"},
{"id": 841,
-"keyword": "longer valid"},
-{"id": 842,
-"keyword": "separation kernels"},
-{"id": 843,
-"keyword": "in-place heapsort"},
-{"id": 844,
-"keyword": "result due"},
-{"id": 845,
-"keyword": "clause loop"},
-{"id": 846,
-"keyword": "register aliasing"},
-{"id": 847,
-"keyword": "revision functions launches"},
-{"id": 848,
-"keyword": "extensible library"},
-{"id": 849,
-"keyword": "master theorem based"},
-{"id": 850,
-=======
-"keyword": "machine-assisted proof"},
-{"id": 833,
-"keyword": "group representation"},
-{"id": 834,
-"keyword": "proof document supports"},
-{"id": 835,
-"keyword": "amortized complexity"},
-{"id": 836,
-"keyword": "assertion failure"},
-{"id": 837,
-"keyword": "regular expressions needed"},
-{"id": 838,
-"keyword": "n2m operation"},
-{"id": 839,
"keyword": "abstract compiler working"},
-{"id": 840,
+{"id": 842,
"keyword": "dra targets similar applications"},
-{"id": 841,
-"keyword": "certify termination proofs"},
-{"id": 842,
-"keyword": "failures model"},
{"id": 843,
-"keyword": "resource bound"},
+"keyword": "certify termination proofs"},
{"id": 844,
-"keyword": "probabilistic systems"},
+"keyword": "failures model"},
{"id": 845,
-"keyword": "infinite behavior traces"},
+"keyword": "resource bound"},
{"id": 846,
+"keyword": "probabilistic systems"},
+{"id": 847,
+"keyword": "infinite behavior traces"},
+{"id": 848,
"keyword": "finiteness assumptions"},
-{"id": 847,
+{"id": 849,
"keyword": "gps receiver"},
-{"id": 848,
+{"id": 850,
"keyword": "proof theory enables application"},
-{"id": 849,
+{"id": 851,
"keyword": "longer valid"},
-{"id": 850,
+{"id": 852,
"keyword": "separation kernels"},
-{"id": 851,
+{"id": 853,
"keyword": "in-place heapsort"},
-{"id": 852,
+{"id": 854,
"keyword": "result due"},
-{"id": 853,
+{"id": 855,
"keyword": "clause loop"},
-{"id": 854,
+{"id": 856,
"keyword": "register aliasing"},
-{"id": 855,
+{"id": 857,
+"keyword": "recursive formalization"},
+{"id": 858,
"keyword": "revision functions launches"},
-{"id": 856,
+{"id": 859,
"keyword": "extensible library"},
-{"id": 857,
+{"id": 860,
"keyword": "master theorem based"},
-{"id": 858,
->>>>>>> merge rev
+{"id": 861,
"keyword": "refinement type systems"},
-<<<<<<< working copy
-{"id": 847,
-||||||| common ancestor
-{"id": 851,
-=======
-{"id": 859,
->>>>>>> merge rev
+{"id": 862,
"keyword": "generic abstract interpreter"},
-<<<<<<< working copy
-{"id": 848,
-||||||| common ancestor
-{"id": 852,
-=======
-{"id": 860,
->>>>>>> merge rev
+{"id": 863,
"keyword": "proof relies"},
-<<<<<<< working copy
-{"id": 849,
-||||||| common ancestor
-{"id": 853,
-=======
-{"id": 861,
->>>>>>> merge rev
+{"id": 864,
"keyword": "quantum hoare logic"},
-<<<<<<< working copy
-{"id": 850,
+{"id": 865,
"keyword": "haskell tool called fffuu"},
-{"id": 851,
+{"id": 866,
"keyword": "recursion theorems"},
-{"id": 852,
+{"id": 867,
"keyword": "relation algebras equipped"},
-{"id": 853,
+{"id": 868,
"keyword": "prefix length"},
-{"id": 854,
+{"id": 869,
"keyword": "balanced nature"},
-{"id": 855,
+{"id": 870,
"keyword": "key component"},
-{"id": 856,
+{"id": 871,
"keyword": "article attempts"},
-{"id": 857,
+{"id": 872,
"keyword": "heuristics automatically pick"},
-{"id": 858,
-"keyword": "instruction set architecture"},
-{"id": 859,
-"keyword": "hol light formalization"},
-{"id": 860,
-"keyword": "tauberian theorem"},
-{"id": 861,
-"keyword": "domain-specific languages"},
-{"id": 862,
-"keyword": "code generation"},
-{"id": 863,
-"keyword": "combinatorial optimisation"},
-{"id": 864,
-"keyword": "isafol isafol authors"},
-{"id": 865,
-"keyword": "providing sequential composition"},
-{"id": 866,
-"keyword": "complex numbers"},
-{"id": 867,
-"keyword": "afp"},
-{"id": 868,
-"keyword": "dominated terms"},
-{"id": 869,
-"keyword": "maximal normal subgroups"},
-{"id": 870,
-"keyword": "pseudonatural transformations"},
-{"id": 871,
-"keyword": "short outline"},
-{"id": 872,
-"keyword": "fixed lexicographical order"},
{"id": 873,
-"keyword": "coq proof assistant"},
-{"id": 874,
-"keyword": "echelon form afp entry"},
-{"id": 875,
-"keyword": "implicit flows"},
-{"id": 876,
-"keyword": "time complexity"},
-{"id": 877,
-"keyword": "integer keys"},
-{"id": 878,
-"keyword": "personal byzantine quorum systems"},
-{"id": 879,
-"keyword": "highly non-elementary mathematical tools"},
-{"id": 880,
-"keyword": "rivest commitment schemes"},
-{"id": 881,
-"keyword": "pairs consisting"},
-{"id": 882,
-"keyword": "potential breaks"},
-||||||| common ancestor
-{"id": 854,
-"keyword": "haskell tool called fffuu"},
-{"id": 855,
-"keyword": "recursion theorems"},
-{"id": 856,
-"keyword": "relation algebras equipped"},
-{"id": 857,
-"keyword": "prefix length"},
-{"id": 858,
-"keyword": "balanced nature"},
-{"id": 859,
-"keyword": "key component"},
-{"id": 860,
-"keyword": "article attempts"},
-{"id": 861,
-"keyword": "heuristics automatically pick"},
-{"id": 862,
-"keyword": "instruction set architecture"},
-{"id": 863,
-"keyword": "hol light formalization"},
-{"id": 864,
-"keyword": "tauberian theorem"},
-{"id": 865,
-"keyword": "domain-specific languages"},
-{"id": 866,
-"keyword": "code generation"},
-{"id": 867,
-"keyword": "combinatorial optimisation"},
-{"id": 868,
-"keyword": "isafol isafol authors"},
-{"id": 869,
-"keyword": "providing sequential composition"},
-{"id": 870,
-"keyword": "complex numbers"},
-{"id": 871,
-"keyword": "afp"},
-{"id": 872,
-"keyword": "dominated terms"},
-{"id": 873,
-"keyword": "maximal normal subgroups"},
-{"id": 874,
-"keyword": "pseudonatural transformations"},
-{"id": 875,
-"keyword": "short outline"},
-{"id": 876,
-"keyword": "fixed lexicographical order"},
-{"id": 877,
-"keyword": "coq proof assistant"},
-{"id": 878,
-"keyword": "echelon form afp entry"},
-{"id": 879,
-"keyword": "implicit flows"},
-{"id": 880,
-"keyword": "time complexity"},
-{"id": 881,
-"keyword": "integer keys"},
-{"id": 882,
-"keyword": "personal byzantine quorum systems"},
-=======
-{"id": 862,
-"keyword": "haskell tool called fffuu"},
-{"id": 863,
-"keyword": "recursion theorems"},
-{"id": 864,
-"keyword": "relation algebras equipped"},
-{"id": 865,
-"keyword": "prefix length"},
-{"id": 866,
-"keyword": "balanced nature"},
-{"id": 867,
-"keyword": "key component"},
-{"id": 868,
-"keyword": "article attempts"},
-{"id": 869,
-"keyword": "heuristics automatically pick"},
-{"id": 870,
"keyword": "instruction set architecture"},
-{"id": 871,
-"keyword": "hol light formalization"},
-{"id": 872,
-"keyword": "tauberian theorem"},
-{"id": 873,
-"keyword": "domain-specific languages"},
{"id": 874,
-"keyword": "code generation"},
+"keyword": "hol light formalization"},
{"id": 875,
-"keyword": "combinatorial optimisation"},
+"keyword": "tauberian theorem"},
{"id": 876,
-"keyword": "isafol isafol authors"},
+"keyword": "domain-specific languages"},
{"id": 877,
-"keyword": "providing sequential composition"},
+"keyword": "code generation"},
{"id": 878,
-"keyword": "complex numbers"},
+"keyword": "combinatorial optimisation"},
{"id": 879,
-"keyword": "afp"},
+"keyword": "isafol isafol authors"},
{"id": 880,
-"keyword": "dominated terms"},
+"keyword": "providing sequential composition"},
{"id": 881,
-"keyword": "maximal normal subgroups"},
+"keyword": "complex numbers"},
{"id": 882,
-"keyword": "pseudonatural transformations"},
->>>>>>> merge rev
+"keyword": "afp"},
{"id": 883,
-<<<<<<< working copy
-"keyword": "partial derivatives"},
-||||||| common ancestor
-"keyword": "highly non-elementary mathematical tools"},
-=======
+"keyword": "dominated terms"},
+{"id": 884,
+"keyword": "maximal normal subgroups"},
+{"id": 885,
+"keyword": "pseudonatural transformations"},
+{"id": 886,
"keyword": "short outline"},
->>>>>>> merge rev
-{"id": 884,
-<<<<<<< working copy
-"keyword": "approach preservers"},
-||||||| common ancestor
-"keyword": "rivest commitment schemes"},
-=======
+{"id": 887,
"keyword": "fixed lexicographical order"},
->>>>>>> merge rev
-{"id": 885,
-<<<<<<< working copy
-"keyword": "glibc strlen function"},
-||||||| common ancestor
-"keyword": "pairs consisting"},
-=======
-"keyword": "coq proof assistant"},
->>>>>>> merge rev
-{"id": 886,
-<<<<<<< working copy
-"keyword": "discrete-time markov chains"},
-||||||| common ancestor
-"keyword": "potential breaks"},
-=======
-"keyword": "echelon form afp entry"},
->>>>>>> merge rev
-{"id": 887,
-<<<<<<< working copy
-"keyword": "categorical predicate transformers implement"},
-||||||| common ancestor
-"keyword": "partial derivatives"},
-=======
-"keyword": "implicit flows"},
->>>>>>> merge rev
{"id": 888,
-<<<<<<< working copy
-"keyword": "esop 2016 paper"},
-||||||| common ancestor
-"keyword": "approach preservers"},
-=======
-"keyword": "time complexity"},
->>>>>>> merge rev
+"keyword": "coq proof assistant"},
{"id": 889,
-<<<<<<< working copy
-"keyword": "org jasmin_blanchette isafol"},
-||||||| common ancestor
-"keyword": "glibc strlen function"},
-=======
-"keyword": "integer keys"},
->>>>>>> merge rev
+"keyword": "echelon form afp entry"},
{"id": 890,
-<<<<<<< working copy
-"keyword": "pseudo-random functions"},
-||||||| common ancestor
-"keyword": "discrete-time markov chains"},
-=======
-"keyword": "personal byzantine quorum systems"},
->>>>>>> merge rev
+"keyword": "implicit flows"},
{"id": 891,
-<<<<<<< working copy
-"keyword": "ivana vukotic"},
-||||||| common ancestor
-"keyword": "categorical predicate transformers implement"},
-=======
-"keyword": "highly non-elementary mathematical tools"},
->>>>>>> merge rev
+"keyword": "time complexity"},
{"id": 892,
-<<<<<<< working copy
-"keyword": "academic press"},
-||||||| common ancestor
-"keyword": "esop 2016 paper"},
-=======
-"keyword": "rivest commitment schemes"},
->>>>>>> merge rev
+"keyword": "integer keys"},
{"id": 893,
-<<<<<<< working copy
-"keyword": "unverified ssa construction algorithm"},
+"keyword": "personal byzantine quorum systems"},
{"id": 894,
-||||||| common ancestor
-"keyword": "org jasmin_blanchette isafol"},
-{"id": 894,
-"keyword": "pseudo-random functions"},
+"keyword": "highly non-elementary mathematical tools"},
{"id": 895,
-"keyword": "ivana vukotic"},
+"keyword": "rivest commitment schemes"},
{"id": 896,
-"keyword": "academic press"},
+"keyword": "pairs consisting"},
{"id": 897,
-"keyword": "unverified ssa construction algorithm"},
+"keyword": "potential breaks"},
{"id": 898,
-=======
-"keyword": "pairs consisting"},
-{"id": 894,
-"keyword": "potential breaks"},
-{"id": 895,
"keyword": "json encoded data"},
-{"id": 896,
+{"id": 899,
"keyword": "partial derivatives"},
-{"id": 897,
+{"id": 900,
"keyword": "approach preservers"},
-{"id": 898,
+{"id": 901,
"keyword": "glibc strlen function"},
-{"id": 899,
-"keyword": "discrete-time markov chains"},
-{"id": 900,
-"keyword": "categorical predicate transformers implement"},
-{"id": 901,
-"keyword": "esop 2016 paper"},
{"id": 902,
-"keyword": "org jasmin_blanchette isafol"},
+"keyword": "discrete-time markov chains"},
{"id": 903,
-"keyword": "pseudo-random functions"},
+"keyword": "categorical predicate transformers implement"},
{"id": 904,
-"keyword": "ivana vukotic"},
+"keyword": "esop 2016 paper"},
{"id": 905,
-"keyword": "academic press"},
+"keyword": "org jasmin_blanchette isafol"},
{"id": 906,
-"keyword": "unverified ssa construction algorithm"},
+"keyword": "pseudo-random functions"},
{"id": 907,
->>>>>>> merge rev
-"keyword": "complex plane extended"},
-<<<<<<< working copy
-{"id": 895,
-||||||| common ancestor
-{"id": 899,
-=======
+"keyword": "ivana vukotic"},
{"id": 908,
->>>>>>> merge rev
-"keyword": "dynamic method invocation"},
-<<<<<<< working copy
-{"id": 896,
-||||||| common ancestor
-{"id": 900,
-=======
+"keyword": "academic press"},
{"id": 909,
->>>>>>> merge rev
-"keyword": "stable property detection"},
-<<<<<<< working copy
-{"id": 897,
-||||||| common ancestor
-{"id": 901,
-=======
+"keyword": "unverified ssa construction algorithm"},
{"id": 910,
->>>>>>> merge rev
-"keyword": "simpler problem"},
-<<<<<<< working copy
-{"id": 898,
-"keyword": "cnf formulae"},
-{"id": 899,
-"keyword": "certified dictionary translation"},
-{"id": 900,
-"keyword": "combinatorics"},
-{"id": 901,
-"keyword": "occurrence counts"},
-{"id": 902,
-"keyword": "cava model checker"},
-{"id": 903,
-"keyword": "formalization"},
-{"id": 904,
-"keyword": "popular notion"},
-{"id": 905,
-"keyword": "splay trees"},
-{"id": 906,
-"keyword": "stepwise refinement techniques"},
-{"id": 907,
-"keyword": "additional operations"},
-{"id": 908,
-"keyword": "euclidean axiom"},
-{"id": 909,
-"keyword": "program representation"},
-{"id": 910,
-"keyword": "simultaneously empowering end hosts"},
+"keyword": "complex plane extended"},
{"id": 911,
-"keyword": "space complexity guarantees"},
+"keyword": "dynamic method invocation"},
{"id": 912,
-"keyword": "noninterference theorem"},
+"keyword": "stable property detection"},
{"id": 913,
-"keyword": "data flow analyser"},
+"keyword": "simpler problem"},
{"id": 914,
-"keyword": "extent differs"},
+"keyword": "cnf formulae"},
{"id": 915,
-"keyword": "upper triangular"},
+"keyword": "certified dictionary translation"},
{"id": 916,
-"keyword": "lifting function application"},
-{"id": 917,
-"keyword": "mapping regular expressions"},
-{"id": 918,
-"keyword": "complicated solution"},
-{"id": 919,
-"keyword": "pen-and-paper counterpart"},
-{"id": 920,
-"keyword": "uiuc"},
-||||||| common ancestor
-{"id": 902,
-"keyword": "cnf formulae"},
-{"id": 903,
-"keyword": "certified dictionary translation"},
-{"id": 904,
"keyword": "combinatorics"},
-{"id": 905,
-"keyword": "occurrence counts"},
-{"id": 906,
-"keyword": "cava model checker"},
-{"id": 907,
-"keyword": "formalization"},
-{"id": 908,
-"keyword": "popular notion"},
-{"id": 909,
-"keyword": "splay trees"},
-{"id": 910,
-"keyword": "stepwise refinement techniques"},
-{"id": 911,
-"keyword": "additional operations"},
-{"id": 912,
-"keyword": "euclidean axiom"},
-{"id": 913,
-"keyword": "program representation"},
-{"id": 914,
-"keyword": "simultaneously empowering end hosts"},
-{"id": 915,
-"keyword": "space complexity guarantees"},
-{"id": 916,
-"keyword": "noninterference theorem"},
-{"id": 917,
-"keyword": "data flow analyser"},
-{"id": 918,
-"keyword": "extent differs"},
-{"id": 919,
-"keyword": "upper triangular"},
-{"id": 920,
-"keyword": "lifting function application"},
-=======
-{"id": 911,
-"keyword": "cnf formulae"},
-{"id": 912,
-"keyword": "certified dictionary translation"},
-{"id": 913,
-"keyword": "combinatorics"},
-{"id": 914,
-"keyword": "occurrence counts"},
-{"id": 915,
-"keyword": "cava model checker"},
-{"id": 916,
-"keyword": "formalization"},
{"id": 917,
+"keyword": "occurrence counts"},
+{"id": 918,
+"keyword": "cava model checker"},
+{"id": 919,
+"keyword": "formalization"},
+{"id": 920,
"keyword": "popular notion"},
-{"id": 918,
+{"id": 921,
+"keyword": "original afp entry"},
+{"id": 922,
"keyword": "splay trees"},
-{"id": 919,
+{"id": 923,
"keyword": "stepwise refinement techniques"},
-{"id": 920,
+{"id": 924,
"keyword": "additional operations"},
->>>>>>> merge rev
-{"id": 921,
-<<<<<<< working copy
-"keyword": "explicit expression"},
-||||||| common ancestor
-"keyword": "mapping regular expressions"},
-=======
+{"id": 925,
"keyword": "euclidean axiom"},
->>>>>>> merge rev
-{"id": 922,
-<<<<<<< working copy
-"keyword": "bounds due"},
-||||||| common ancestor
-"keyword": "complicated solution"},
-=======
+{"id": 926,
"keyword": "program representation"},
->>>>>>> merge rev
-{"id": 923,
-<<<<<<< working copy
-"keyword": "divisor function"},
-||||||| common ancestor
-"keyword": "pen-and-paper counterpart"},
-=======
+{"id": 927,
"keyword": "simultaneously empowering end hosts"},
->>>>>>> merge rev
-{"id": 924,
-<<<<<<< working copy
-"keyword": "important role"},
-||||||| common ancestor
-"keyword": "uiuc"},
-=======
-"keyword": "space complexity guarantees"},
->>>>>>> merge rev
-{"id": 925,
-<<<<<<< working copy
-"keyword": "sequential java bytecode"},
-||||||| common ancestor
-"keyword": "explicit expression"},
-=======
-"keyword": "noninterference theorem"},
->>>>>>> merge rev
-{"id": 926,
-<<<<<<< working copy
-"keyword": "executable functional implementation"},
-||||||| common ancestor
-"keyword": "bounds due"},
-=======
-"keyword": "data flow analyser"},
->>>>>>> merge rev
-{"id": 927,
-<<<<<<< working copy
-"keyword": "dense linear orders"},
-||||||| common ancestor
-"keyword": "divisor function"},
-=======
-"keyword": "extent differs"},
->>>>>>> merge rev
{"id": 928,
-<<<<<<< working copy
-"keyword": "basic forward analysis operations"},
-||||||| common ancestor
-"keyword": "important role"},
-=======
-"keyword": "upper triangular"},
->>>>>>> merge rev
+"keyword": "space complexity guarantees"},
{"id": 929,
-<<<<<<< working copy
-"keyword": "detecting rectangle intersection"},
-||||||| common ancestor
-"keyword": "sequential java bytecode"},
-=======
-"keyword": "lifting function application"},
->>>>>>> merge rev
+"keyword": "noninterference theorem"},
{"id": 930,
-<<<<<<< working copy
-"keyword": "direct subsumption"},
-||||||| common ancestor
-"keyword": "executable functional implementation"},
-=======
-"keyword": "mapping regular expressions"},
->>>>>>> merge rev
+"keyword": "data flow analyser"},
{"id": 931,
-<<<<<<< working copy
-"keyword": "semantic interpretation"},
-||||||| common ancestor
-"keyword": "dense linear orders"},
-=======
-"keyword": "complicated solution"},
->>>>>>> merge rev
+"keyword": "extent differs"},
{"id": 932,
-<<<<<<< working copy
-"keyword": "words lexicographically minimal"},
+"keyword": "upper triangular"},
{"id": 933,
-"keyword": "standard laws"},
-{"id": 934,
-"keyword": "analytic number theory"},
-{"id": 935,
-"keyword": "symbolic computations"},
-{"id": 936,
-"keyword": "decision type"},
-{"id": 937,
-"keyword": "proving correctness"},
-{"id": 938,
-"keyword": "compute fair prices"},
-{"id": 939,
-"keyword": "presented work"},
-||||||| common ancestor
-"keyword": "basic forward analysis operations"},
-{"id": 933,
-"keyword": "detecting rectangle intersection"},
+"keyword": "lifting function application"},
{"id": 934,
-"keyword": "direct subsumption"},
+"keyword": "mapping regular expressions"},
{"id": 935,
-"keyword": "semantic interpretation"},
-{"id": 936,
-"keyword": "words lexicographically minimal"},
-{"id": 937,
-"keyword": "standard laws"},
-{"id": 938,
-"keyword": "analytic number theory"},
-{"id": 939,
-"keyword": "symbolic computations"},
-=======
-"keyword": "pen-and-paper counterpart"},
-{"id": 933,
-"keyword": "uiuc"},
-{"id": 934,
-"keyword": "additional extensions"},
-{"id": 935,
-"keyword": "explicit expression"},
+"keyword": "complicated solution"},
{"id": 936,
+"keyword": "pen-and-paper counterpart"},
+{"id": 937,
+"keyword": "uiuc"},
+{"id": 938,
+"keyword": "additional extensions"},
+{"id": 939,
+"keyword": "explicit expression"},
+{"id": 940,
"keyword": "bounds due"},
-{"id": 937,
+{"id": 941,
"keyword": "divisor function"},
-{"id": 938,
+{"id": 942,
"keyword": "important role"},
-{"id": 939,
+{"id": 943,
"keyword": "sequential java bytecode"},
->>>>>>> merge rev
-{"id": 940,
-<<<<<<< working copy
-"keyword": "fully executable solver"},
-||||||| common ancestor
-"keyword": "decision type"},
-=======
+{"id": 944,
"keyword": "executable functional implementation"},
->>>>>>> merge rev
-{"id": 941,
-<<<<<<< working copy
-"keyword": "easily adapted"},
-||||||| common ancestor
-"keyword": "proving correctness"},
-=======
+{"id": 945,
"keyword": "dense linear orders"},
->>>>>>> merge rev
-{"id": 942,
-<<<<<<< working copy
-"keyword": "process control"},
-||||||| common ancestor
-"keyword": "compute fair prices"},
-=======
+{"id": 946,
"keyword": "basic forward analysis operations"},
->>>>>>> merge rev
-{"id": 943,
-<<<<<<< working copy
-"keyword": "executable sequent calculus prover"},
-||||||| common ancestor
-"keyword": "presented work"},
-=======
-"keyword": "detecting rectangle intersection"},
->>>>>>> merge rev
-{"id": 944,
-<<<<<<< working copy
-"keyword": "quantum information theory"},
-||||||| common ancestor
-"keyword": "fully executable solver"},
-=======
-"keyword": "direct subsumption"},
->>>>>>> merge rev
-{"id": 945,
-<<<<<<< working copy
-"keyword": "formally verified abstract account"},
-||||||| common ancestor
-"keyword": "easily adapted"},
-=======
-"keyword": "semantic interpretation"},
->>>>>>> merge rev
-{"id": 946,
-<<<<<<< working copy
-"keyword": "successfully analyzed threads satisfies"},
-||||||| common ancestor
-"keyword": "process control"},
-=======
-"keyword": "words lexicographically minimal"},
->>>>>>> merge rev
{"id": 947,
-<<<<<<< working copy
-"keyword": "initial segment"},
-||||||| common ancestor
-"keyword": "executable sequent calculus prover"},
-=======
-"keyword": "standard laws"},
->>>>>>> merge rev
+"keyword": "detecting rectangle intersection"},
{"id": 948,
-<<<<<<< working copy
-"keyword": "alwen tiu"},
-||||||| common ancestor
-"keyword": "quantum information theory"},
-=======
-"keyword": "analytic number theory"},
->>>>>>> merge rev
+"keyword": "direct subsumption"},
{"id": 949,
-<<<<<<< working copy
-"keyword": "public ports"},
-||||||| common ancestor
-"keyword": "formally verified abstract account"},
-=======
-"keyword": "symbolic computations"},
->>>>>>> merge rev
+"keyword": "semantic interpretation"},
{"id": 950,
-<<<<<<< working copy
-"keyword": "welfare economics holds"},
-||||||| common ancestor
-"keyword": "successfully analyzed threads satisfies"},
-=======
-"keyword": "decision type"},
->>>>>>> merge rev
+"keyword": "words lexicographically minimal"},
{"id": 951,
-<<<<<<< working copy
-"keyword": "hol type system"},
-||||||| common ancestor
-"keyword": "initial segment"},
-=======
-"keyword": "proving correctness"},
->>>>>>> merge rev
+"keyword": "standard laws"},
{"id": 952,
-<<<<<<< working copy
-"keyword": "non-negative solutions"},
-||||||| common ancestor
-"keyword": "alwen tiu"},
-=======
-"keyword": "compute fair prices"},
->>>>>>> merge rev
+"keyword": "analytic number theory"},
{"id": 953,
-<<<<<<< working copy
-"keyword": "abstract rewriting"},
-||||||| common ancestor
-"keyword": "public ports"},
-=======
-"keyword": "presented work"},
->>>>>>> merge rev
+"keyword": "symbolic computations"},
{"id": 954,
-<<<<<<< working copy
-"keyword": "distributed consensus"},
+"keyword": "decision type"},
{"id": 955,
-"keyword": "code equation"},
+"keyword": "proving correctness"},
{"id": 956,
-"keyword": "generic push-relabel algorithm"},
+"keyword": "compute fair prices"},
{"id": 957,
-"keyword": "induction rule"},
+"keyword": "presented work"},
{"id": 958,
-"keyword": "dijkstra"},
+"keyword": "fully executable solver"},
{"id": 959,
-"keyword": "afp article monadification"},
+"keyword": "easily adapted"},
{"id": 960,
-"keyword": "linear order"},
+"keyword": "process control"},
{"id": 961,
-||||||| common ancestor
-"keyword": "welfare economics holds"},
-{"id": 955,
-"keyword": "hol type system"},
-{"id": 956,
-"keyword": "non-negative solutions"},
-{"id": 957,
-"keyword": "abstract rewriting"},
-{"id": 958,
-"keyword": "distributed consensus"},
-{"id": 959,
-"keyword": "code equation"},
-{"id": 960,
-"keyword": "generic push-relabel algorithm"},
-{"id": 961,
-"keyword": "induction rule"},
+"keyword": "executable sequent calculus prover"},
{"id": 962,
-"keyword": "dijkstra"},
-{"id": 963,
-"keyword": "afp article monadification"},
-{"id": 964,
-"keyword": "linear order"},
-{"id": 965,
-=======
-"keyword": "fully executable solver"},
-{"id": 955,
-"keyword": "easily adapted"},
-{"id": 956,
-"keyword": "process control"},
-{"id": 957,
-"keyword": "executable sequent calculus prover"},
-{"id": 958,
"keyword": "quantum information theory"},
-{"id": 959,
+{"id": 963,
"keyword": "formally verified abstract account"},
-{"id": 960,
+{"id": 964,
"keyword": "successfully analyzed threads satisfies"},
-{"id": 961,
+{"id": 965,
"keyword": "initial segment"},
-{"id": 962,
+{"id": 966,
"keyword": "alwen tiu"},
-{"id": 963,
-"keyword": "public ports"},
-{"id": 964,
-"keyword": "welfare economics holds"},
-{"id": 965,
-"keyword": "hol type system"},
-{"id": 966,
-"keyword": "non-negative solutions"},
{"id": 967,
-"keyword": "abstract rewriting"},
+"keyword": "public ports"},
{"id": 968,
-"keyword": "distributed consensus"},
+"keyword": "welfare economics holds"},
{"id": 969,
-"keyword": "code equation"},
+"keyword": "hol type system"},
{"id": 970,
-"keyword": "generic push-relabel algorithm"},
+"keyword": "non-negative solutions"},
{"id": 971,
-"keyword": "induction rule"},
+"keyword": "abstract rewriting"},
{"id": 972,
-"keyword": "dijkstra"},
+"keyword": "distributed consensus"},
{"id": 973,
-"keyword": "afp article monadification"},
+"keyword": "code equation"},
{"id": 974,
+"keyword": "generic push-relabel algorithm"},
+{"id": 975,
+"keyword": "induction rule"},
+{"id": 976,
+"keyword": "dijkstra"},
+{"id": 977,
+"keyword": "afp article monadification"},
+{"id": 978,
"keyword": "linear order"},
-{"id": 975,
->>>>>>> merge rev
+{"id": 979,
"keyword": "fixed time-unit"},
-<<<<<<< working copy
-{"id": 962,
-||||||| common ancestor
-{"id": 966,
-=======
-{"id": 976,
->>>>>>> merge rev
+{"id": 980,
"keyword": "real case"},
-<<<<<<< working copy
-{"id": 963,
-||||||| common ancestor
-{"id": 967,
-=======
-{"id": 977,
->>>>>>> merge rev
+{"id": 981,
"keyword": "paper local lexing"},
-<<<<<<< working copy
-{"id": 964,
-||||||| common ancestor
-{"id": 968,
-=======
-{"id": 978,
->>>>>>> merge rev
+{"id": 982,
"keyword": "5th postulate"},
-<<<<<<< working copy
-{"id": 965,
+{"id": 983,
"keyword": "key confirmation"},
-{"id": 966,
+{"id": 984,
"keyword": "well-understood low-level behavior"},
-{"id": 967,
+{"id": 985,
"keyword": "proof easily"},
-{"id": 968,
+{"id": 986,
"keyword": "theorem prover ehdm"},
-{"id": 969,
+{"id": 987,
"keyword": "terms relevant"},
-{"id": 970,
+{"id": 988,
+"keyword": "json-encoded data"},
+{"id": 989,
"keyword": "generic-deriving package"},
-{"id": 971,
+{"id": 990,
"keyword": "deep embedding approach"},
-{"id": 972,
+{"id": 991,
"keyword": "syntactic approximations imply"},
-{"id": 973,
-"keyword": "executable algorithms"},
-{"id": 974,
-"keyword": "classical higher-order logic"},
-{"id": 975,
-"keyword": "non-negative cost function"},
-{"id": 976,
-"keyword": "correctness claims"},
-{"id": 977,
-"keyword": "flexible set-based theorems"},
-{"id": 978,
-"keyword": "geocoq library"},
-||||||| common ancestor
-{"id": 969,
-"keyword": "key confirmation"},
-{"id": 970,
-"keyword": "well-understood low-level behavior"},
-{"id": 971,
-"keyword": "proof easily"},
-{"id": 972,
-"keyword": "theorem prover ehdm"},
-{"id": 973,
-"keyword": "terms relevant"},
-{"id": 974,
-"keyword": "generic-deriving package"},
-{"id": 975,
-"keyword": "deep embedding approach"},
-{"id": 976,
-"keyword": "syntactic approximations imply"},
-{"id": 977,
+{"id": 992,
"keyword": "executable algorithms"},
-{"id": 978,
+{"id": 993,
"keyword": "classical higher-order logic"},
-=======
->>>>>>> merge rev
-{"id": 979,
-<<<<<<< working copy
-"keyword": "methodology chosen"},
-||||||| common ancestor
+{"id": 994,
"keyword": "non-negative cost function"},
-=======
-"keyword": "key confirmation"},
->>>>>>> merge rev
-{"id": 980,
-<<<<<<< working copy
-"keyword": "previously break"},
-{"id": 981,
-"keyword": "identical sequence elements"},
-{"id": 982,
-"keyword": "structured isar proofs"},
-{"id": 983,
-"keyword": "countably infinite number"},
-{"id": 984,
-"keyword": "lebesgue-style integration plays"},
-{"id": 985,
-"keyword": "effect specifications"},
-{"id": 986,
-"keyword": "atomic formulas"},
-{"id": 987,
-"keyword": "folder listinf"},
-{"id": 988,
-"keyword": "continuum hypothesis"},
-{"id": 989,
-"keyword": "execute programs"},
-{"id": 990,
-"keyword": "old_datatype command"},
-{"id": 991,
-||||||| common ancestor
-"keyword": "correctness claims"},
-{"id": 981,
-"keyword": "flexible set-based theorems"},
-{"id": 982,
-"keyword": "geocoq library"},
-{"id": 983,
-"keyword": "methodology chosen"},
-{"id": 984,
-"keyword": "previously break"},
-{"id": 985,
-"keyword": "identical sequence elements"},
-{"id": 986,
-"keyword": "structured isar proofs"},
-{"id": 987,
-"keyword": "countably infinite number"},
-{"id": 988,
-"keyword": "lebesgue-style integration plays"},
-{"id": 989,
-"keyword": "effect specifications"},
-{"id": 990,
-"keyword": "atomic formulas"},
-{"id": 991,
-"keyword": "folder listinf"},
-{"id": 992,
-"keyword": "continuum hypothesis"},
-{"id": 993,
-"keyword": "execute programs"},
-{"id": 994,
-"keyword": "old_datatype command"},
{"id": 995,
-=======
-"keyword": "well-understood low-level behavior"},
-{"id": 981,
-"keyword": "proof easily"},
-{"id": 982,
-"keyword": "theorem prover ehdm"},
-{"id": 983,
-"keyword": "terms relevant"},
-{"id": 984,
-"keyword": "json-encoded data"},
-{"id": 985,
-"keyword": "generic-deriving package"},
-{"id": 986,
-"keyword": "deep embedding approach"},
-{"id": 987,
-"keyword": "syntactic approximations imply"},
-{"id": 988,
-"keyword": "executable algorithms"},
-{"id": 989,
-"keyword": "classical higher-order logic"},
-{"id": 990,
-"keyword": "non-negative cost function"},
-{"id": 991,
"keyword": "correctness claims"},
-{"id": 992,
+{"id": 996,
"keyword": "flexible set-based theorems"},
-{"id": 993,
+{"id": 997,
"keyword": "geocoq library"},
-{"id": 994,
+{"id": 998,
"keyword": "methodology chosen"},
-{"id": 995,
+{"id": 999,
"keyword": "previously break"},
-{"id": 996,
+{"id": 1000,
"keyword": "identical sequence elements"},
-{"id": 997,
+{"id": 1001,
"keyword": "structured isar proofs"},
-{"id": 998,
+{"id": 1002,
"keyword": "countably infinite number"},
-{"id": 999,
+{"id": 1003,
"keyword": "lebesgue-style integration plays"},
-{"id": 1000,
+{"id": 1004,
"keyword": "effect specifications"},
-{"id": 1001,
-"keyword": "atomic formulas"},
-{"id": 1002,
-"keyword": "folder listinf"},
-{"id": 1003,
-"keyword": "continuum hypothesis"},
-{"id": 1004,
-"keyword": "execute programs"},
{"id": 1005,
-"keyword": "old_datatype command"},
+"keyword": "atomic formulas"},
{"id": 1006,
->>>>>>> merge rev
-"keyword": "formal laurent series"},
-<<<<<<< working copy
-{"id": 992,
-||||||| common ancestor
-{"id": 996,
-=======
+"keyword": "folder listinf"},
{"id": 1007,
->>>>>>> merge rev
-"keyword": "conditional expectation"},
-<<<<<<< working copy
-{"id": 993,
-||||||| common ancestor
-{"id": 997,
-=======
+"keyword": "continuum hypothesis"},
{"id": 1008,
->>>>>>> merge rev
-"keyword": "latin rectangle"},
-<<<<<<< working copy
-{"id": 994,
-"keyword": "composite objects"},
-{"id": 995,
-"keyword": "application scenarios"},
-{"id": 996,
-"keyword": "isar proof"},
-{"id": 997,
-"keyword": "stuttering equivalent"},
-{"id": 998,
-"keyword": "qualitative temporal representation"},
-{"id": 999,
-"keyword": "concrete program satisfies"},
-{"id": 1000,
-"keyword": "vstte paper"},
-{"id": 1001,
-"keyword": "regular identities"},
-{"id": 1002,
-"keyword": "original linear program"},
-{"id": 1003,
-"keyword": "natural deduction"},
-{"id": 1004,
-"keyword": "designated root vertex"},
-{"id": 1005,
-"keyword": "van emde boas tree"},
-{"id": 1006,
-"keyword": "sylow p-subgroups"},
-{"id": 1007,
-"keyword": "small classes"},
-{"id": 1008,
-"keyword": "hermite normal form"},
+"keyword": "execute programs"},
{"id": 1009,
-||||||| common ancestor
-{"id": 998,
-"keyword": "composite objects"},
-{"id": 999,
-"keyword": "application scenarios"},
-{"id": 1000,
-"keyword": "isar proof"},
-{"id": 1001,
-"keyword": "stuttering equivalent"},
-{"id": 1002,
-"keyword": "qualitative temporal representation"},
-{"id": 1003,
-"keyword": "concrete program satisfies"},
-{"id": 1004,
-"keyword": "vstte paper"},
-{"id": 1005,
-"keyword": "regular identities"},
-{"id": 1006,
-"keyword": "original linear program"},
-{"id": 1007,
-"keyword": "natural deduction"},
-{"id": 1008,
-"keyword": "designated root vertex"},
-{"id": 1009,
-"keyword": "van emde boas tree"},
+"keyword": "old_datatype command"},
{"id": 1010,
-"keyword": "sylow p-subgroups"},
+"keyword": "formal laurent series"},
{"id": 1011,
-"keyword": "small classes"},
+"keyword": "conditional expectation"},
{"id": 1012,
-"keyword": "hermite normal form"},
+"keyword": "latin rectangle"},
{"id": 1013,
-=======
-{"id": 1009,
"keyword": "composite objects"},
-{"id": 1010,
+{"id": 1014,
"keyword": "application scenarios"},
-{"id": 1011,
+{"id": 1015,
"keyword": "isar proof"},
-{"id": 1012,
+{"id": 1016,
"keyword": "stuttering equivalent"},
-{"id": 1013,
-"keyword": "qualitative temporal representation"},
-{"id": 1014,
-"keyword": "concrete program satisfies"},
-{"id": 1015,
-"keyword": "vstte paper"},
-{"id": 1016,
-"keyword": "regular identities"},
{"id": 1017,
+"keyword": "qualitative temporal representation"},
+{"id": 1018,
+"keyword": "concrete program satisfies"},
+{"id": 1019,
+"keyword": "vstte paper"},
+{"id": 1020,
+"keyword": "regular identities"},
+{"id": 1021,
"keyword": "original linear program"},
-{"id": 1018,
+{"id": 1022,
"keyword": "natural deduction"},
-{"id": 1019,
+{"id": 1023,
"keyword": "designated root vertex"},
-{"id": 1020,
+{"id": 1024,
"keyword": "van emde boas tree"},
-{"id": 1021,
+{"id": 1025,
"keyword": "sylow p-subgroups"},
-{"id": 1022,
+{"id": 1026,
"keyword": "small classes"},
-{"id": 1023,
+{"id": 1027,
"keyword": "hermite normal form"},
-{"id": 1024,
->>>>>>> merge rev
+{"id": 1028,
"keyword": "switching conveniently"},
-<<<<<<< working copy
-{"id": 1010,
-||||||| common ancestor
-{"id": 1014,
-=======
-{"id": 1025,
->>>>>>> merge rev
+{"id": 1029,
"keyword": "vdm-reminiscent partial-correctness specifications"},
-<<<<<<< working copy
-{"id": 1011,
-||||||| common ancestor
-{"id": 1015,
-=======
-{"id": 1026,
->>>>>>> merge rev
+{"id": 1030,
"keyword": "bounded basic pseudo-hoops"},
-<<<<<<< working copy
-{"id": 1012,
-||||||| common ancestor
-{"id": 1016,
-=======
-{"id": 1027,
->>>>>>> merge rev
+{"id": 1031,
"keyword": "region boundaries explicitly"},
-<<<<<<< working copy
-{"id": 1013,
+{"id": 1032,
"keyword": "georges-louis leclerc"},
-{"id": 1014,
+{"id": 1033,
"keyword": "maximize reuse"},
-{"id": 1015,
+{"id": 1034,
"keyword": "mac lane"},
-{"id": 1016,
+{"id": 1035,
"keyword": "divergence kleene algebras"},
-{"id": 1017,
+{"id": 1036,
"keyword": "nominal style"},
-{"id": 1018,
+{"id": 1037,
"keyword": "lattice ordered groups"},
-{"id": 1019,
+{"id": 1038,
"keyword": "expected number"},
-{"id": 1020,
+{"id": 1039,
"keyword": "remainder terms"},
-{"id": 1021,
+{"id": 1040,
"keyword": "preliminaries chapter"},
-{"id": 1022,
+{"id": 1041,
"keyword": "confidentiality properties refer"},
-{"id": 1023,
+{"id": 1042,
"keyword": "executable type inference algorithm"},
-{"id": 1024,
+{"id": 1043,
"keyword": "infinitary version"},
-{"id": 1025,
-"keyword": "state-space construction"},
-{"id": 1026,
-"keyword": "maximal consistent set"},
-{"id": 1027,
-"keyword": "software framework"},
-{"id": 1028,
-"keyword": "filled rows"},
-{"id": 1029,
-"keyword": "magic wand"},
-{"id": 1030,
-"keyword": "choices"},
-{"id": 1031,
-"keyword": "bernoulli numbers"},
-{"id": 1032,
-"keyword": "weak conjunction operator"},
-{"id": 1033,
-"keyword": "called llist_topology"},
-{"id": 1034,
-"keyword": "lockstep models"},
-{"id": 1035,
-"keyword": "type system restrictions"},
-{"id": 1036,
-"keyword": "indistinguishable security"},
-{"id": 1037,
-"keyword": "artificial intelligence"},
-{"id": 1038,
-"keyword": "standard approach"},
-{"id": 1039,
-"keyword": "derived proof rules"},
-{"id": 1040,
-"keyword": "mathematical components"},
-{"id": 1041,
-"keyword": "multiset-comparison problems"},
-{"id": 1042,
-"keyword": "linear pass homomorphic application"},
-{"id": 1043,
-"keyword": "planning tasks language"},
{"id": 1044,
-"keyword": "dfs algorithm"},
-{"id": 1045,
-"keyword": "arbitrary linearly-ordered integrity domains"},
-||||||| common ancestor
-{"id": 1017,
-"keyword": "georges-louis leclerc"},
-{"id": 1018,
-"keyword": "maximize reuse"},
-{"id": 1019,
-"keyword": "mac lane"},
-{"id": 1020,
-"keyword": "divergence kleene algebras"},
-{"id": 1021,
-"keyword": "nominal style"},
-{"id": 1022,
-"keyword": "lattice ordered groups"},
-{"id": 1023,
-"keyword": "expected number"},
-{"id": 1024,
-"keyword": "remainder terms"},
-{"id": 1025,
-"keyword": "preliminaries chapter"},
-{"id": 1026,
-"keyword": "confidentiality properties refer"},
-{"id": 1027,
-"keyword": "executable type inference algorithm"},
-{"id": 1028,
-"keyword": "infinitary version"},
-{"id": 1029,
-"keyword": "state-space construction"},
-{"id": 1030,
-"keyword": "maximal consistent set"},
-{"id": 1031,
-"keyword": "software framework"},
-{"id": 1032,
-"keyword": "filled rows"},
-{"id": 1033,
-"keyword": "magic wand"},
-{"id": 1034,
-"keyword": "choices"},
-{"id": 1035,
-"keyword": "bernoulli numbers"},
-{"id": 1036,
-"keyword": "weak conjunction operator"},
-{"id": 1037,
-"keyword": "called llist_topology"},
-{"id": 1038,
-"keyword": "lockstep models"},
-{"id": 1039,
-"keyword": "type system restrictions"},
-{"id": 1040,
-"keyword": "indistinguishable security"},
-{"id": 1041,
-"keyword": "artificial intelligence"},
-{"id": 1042,
-"keyword": "standard approach"},
-{"id": 1043,
-"keyword": "derived proof rules"},
-{"id": 1044,
-"keyword": "mathematical components"},
-{"id": 1045,
-"keyword": "multiset-comparison problems"},
-=======
-{"id": 1028,
-"keyword": "georges-louis leclerc"},
-{"id": 1029,
-"keyword": "maximize reuse"},
-{"id": 1030,
-"keyword": "mac lane"},
-{"id": 1031,
-"keyword": "divergence kleene algebras"},
-{"id": 1032,
-"keyword": "nominal style"},
-{"id": 1033,
-"keyword": "lattice ordered groups"},
-{"id": 1034,
-"keyword": "expected number"},
-{"id": 1035,
-"keyword": "remainder terms"},
-{"id": 1036,
-"keyword": "preliminaries chapter"},
-{"id": 1037,
-"keyword": "confidentiality properties refer"},
-{"id": 1038,
-"keyword": "executable type inference algorithm"},
-{"id": 1039,
-"keyword": "infinitary version"},
-{"id": 1040,
"keyword": "state-space construction"},
-{"id": 1041,
+{"id": 1045,
"keyword": "maximal consistent set"},
-{"id": 1042,
-"keyword": "software framework"},
-{"id": 1043,
-"keyword": "filled rows"},
-{"id": 1044,
-"keyword": "magic wand"},
-{"id": 1045,
-"keyword": "choices"},
->>>>>>> merge rev
{"id": 1046,
-<<<<<<< working copy
-"keyword": "smith normal form"},
-||||||| common ancestor
-"keyword": "linear pass homomorphic application"},
-=======
-"keyword": "bernoulli numbers"},
->>>>>>> merge rev
+"keyword": "software framework"},
{"id": 1047,
-<<<<<<< working copy
-"keyword": "predicate identifies"},
-||||||| common ancestor
-"keyword": "planning tasks language"},
-=======
-"keyword": "weak conjunction operator"},
->>>>>>> merge rev
+"keyword": "filled rows"},
{"id": 1048,
-<<<<<<< working copy
-"keyword": "reasoning stays"},
-||||||| common ancestor
-"keyword": "dfs algorithm"},
-=======
-"keyword": "called llist_topology"},
->>>>>>> merge rev
+"keyword": "magic wand"},
{"id": 1049,
-<<<<<<< working copy
-"keyword": "reducible control flow graph"},
-||||||| common ancestor
-"keyword": "arbitrary linearly-ordered integrity domains"},
-=======
-"keyword": "lockstep models"},
->>>>>>> merge rev
+"keyword": "choices"},
{"id": 1050,
-<<<<<<< working copy
-"keyword": "present work"},
-||||||| common ancestor
-"keyword": "smith normal form"},
-=======
-"keyword": "type system restrictions"},
->>>>>>> merge rev
+"keyword": "bernoulli numbers"},
{"id": 1051,
-<<<<<<< working copy
-"keyword": "omnipresent foundational errors"},
-||||||| common ancestor
-"keyword": "predicate identifies"},
-=======
-"keyword": "indistinguishable security"},
->>>>>>> merge rev
+"keyword": "weak conjunction operator"},
{"id": 1052,
-<<<<<<< working copy
-"keyword": "functional correctness"},
-||||||| common ancestor
-"keyword": "reasoning stays"},
-=======
-"keyword": "artificial intelligence"},
->>>>>>> merge rev
+"keyword": "called llist_topology"},
{"id": 1053,
-<<<<<<< working copy
-"keyword": "individual program behaviours"},
-||||||| common ancestor
-"keyword": "reducible control flow graph"},
-=======
-"keyword": "standard approach"},
->>>>>>> merge rev
+"keyword": "lockstep models"},
{"id": 1054,
-<<<<<<< working copy
-"keyword": "common special case"},
-||||||| common ancestor
-"keyword": "present work"},
-=======
-"keyword": "derived proof rules"},
->>>>>>> merge rev
+"keyword": "type system restrictions"},
{"id": 1055,
-<<<<<<< working copy
-"keyword": "afp entry dom_components"},
-||||||| common ancestor
-"keyword": "omnipresent foundational errors"},
-=======
-"keyword": "mathematical components"},
->>>>>>> merge rev
+"keyword": "indistinguishable security"},
{"id": 1056,
-<<<<<<< working copy
-"keyword": "matryoshka website"},
+"keyword": "artificial intelligence"},
{"id": 1057,
-||||||| common ancestor
-"keyword": "functional correctness"},
-{"id": 1057,
-"keyword": "individual program behaviours"},
+"keyword": "standard approach"},
{"id": 1058,
-"keyword": "common special case"},
+"keyword": "derived proof rules"},
{"id": 1059,
-"keyword": "afp entry dom_components"},
+"keyword": "mathematical components"},
{"id": 1060,
-"keyword": "matryoshka website"},
+"keyword": "multiset-comparison problems"},
{"id": 1061,
-=======
-"keyword": "multiset-comparison problems"},
-{"id": 1057,
"keyword": "linear pass homomorphic application"},
-{"id": 1058,
+{"id": 1062,
"keyword": "planning tasks language"},
-{"id": 1059,
+{"id": 1063,
"keyword": "dfs algorithm"},
-{"id": 1060,
+{"id": 1064,
"keyword": "arbitrary linearly-ordered integrity domains"},
-{"id": 1061,
+{"id": 1065,
"keyword": "smith normal form"},
-{"id": 1062,
+{"id": 1066,
"keyword": "predicate identifies"},
-{"id": 1063,
-"keyword": "reasoning stays"},
-{"id": 1064,
-"keyword": "reducible control flow graph"},
-{"id": 1065,
-"keyword": "present work"},
-{"id": 1066,
-"keyword": "omnipresent foundational errors"},
{"id": 1067,
-"keyword": "functional correctness"},
+"keyword": "reasoning stays"},
{"id": 1068,
-"keyword": "individual program behaviours"},
+"keyword": "reducible control flow graph"},
{"id": 1069,
-"keyword": "common special case"},
+"keyword": "discrete category"},
{"id": 1070,
-"keyword": "afp entry dom_components"},
+"keyword": "present work"},
{"id": 1071,
-"keyword": "matryoshka website"},
+"keyword": "omnipresent foundational errors"},
{"id": 1072,
->>>>>>> merge rev
+"keyword": "functional correctness"},
+{"id": 1073,
+"keyword": "individual program behaviours"},
+{"id": 1074,
+"keyword": "common special case"},
+{"id": 1075,
+"keyword": "afp entry dom_components"},
+{"id": 1076,
+"keyword": "matryoshka website"},
+{"id": 1077,
"keyword": "mansky"},
-<<<<<<< working copy
-{"id": 1058,
-||||||| common ancestor
-{"id": 1062,
-=======
-{"id": 1073,
->>>>>>> merge rev
+{"id": 1078,
"keyword": "seminal paper natural semantics"},
-<<<<<<< working copy
-{"id": 1059,
-||||||| common ancestor
-{"id": 1063,
-=======
-{"id": 1074,
->>>>>>> merge rev
+{"id": 1079,
"keyword": "bytecode logic"},
-<<<<<<< working copy
-{"id": 1060,
-||||||| common ancestor
-{"id": 1064,
-=======
-{"id": 1075,
->>>>>>> merge rev
+{"id": 1080,
"keyword": "accommodates partial functions"},
-<<<<<<< working copy
-{"id": 1061,
-"keyword": "recursive datatype"},
-{"id": 1062,
-"keyword": "channel protocols"},
-{"id": 1063,
-"keyword": "locale eval lowbar"},
-{"id": 1064,
-"keyword": "hand-written theory files"},
-{"id": 1065,
-"keyword": "partial herbrand interpretations"},
-{"id": 1066,
-"keyword": "formally verified model"},
-{"id": 1067,
-"keyword": "deletion condition"},
-{"id": 1068,
-"keyword": "weak bisimilarity"},
-{"id": 1069,
-"keyword": "security unwinding technique"},
-{"id": 1070,
-"keyword": "negative real parts"},
-{"id": 1071,
-"keyword": "linear real arithmetic"},
-{"id": 1072,
-"keyword": "implicit reasoning steps"},
-{"id": 1073,
-"keyword": "iterative versions"},
-{"id": 1074,
-"keyword": "ab leq int_0"},
-{"id": 1075,
-"keyword": "isoscele triangles"},
-{"id": 1076,
-"keyword": "euler ndash"},
-{"id": 1077,
-"keyword": "afp entry bnf operations"},
-{"id": 1078,
-"keyword": "verified virtual machines"},
-{"id": 1079,
-"keyword": "general infinite processes"},
-{"id": 1080,
-"keyword": "internal representation"},
{"id": 1081,
-"keyword": "concurrent programs"},
+"keyword": "recursive datatype"},
{"id": 1082,
-"keyword": "generalized noninterference security"},
-{"id": 1083,
-"keyword": "varphi_i vee mathbf"},
-||||||| common ancestor
-{"id": 1065,
-"keyword": "recursive datatype"},
-{"id": 1066,
"keyword": "channel protocols"},
-{"id": 1067,
+{"id": 1083,
"keyword": "locale eval lowbar"},
-{"id": 1068,
+{"id": 1084,
"keyword": "hand-written theory files"},
-{"id": 1069,
+{"id": 1085,
"keyword": "partial herbrand interpretations"},
-{"id": 1070,
+{"id": 1086,
"keyword": "formally verified model"},
-{"id": 1071,
+{"id": 1087,
"keyword": "deletion condition"},
-{"id": 1072,
+{"id": 1088,
"keyword": "weak bisimilarity"},
-{"id": 1073,
-"keyword": "security unwinding technique"},
-{"id": 1074,
-"keyword": "negative real parts"},
-{"id": 1075,
-"keyword": "linear real arithmetic"},
-{"id": 1076,
-"keyword": "implicit reasoning steps"},
-{"id": 1077,
-"keyword": "iterative versions"},
-{"id": 1078,
-"keyword": "ab leq int_0"},
-{"id": 1079,
-"keyword": "isoscele triangles"},
-{"id": 1080,
-"keyword": "euler ndash"},
-{"id": 1081,
-"keyword": "afp entry bnf operations"},
-{"id": 1082,
-"keyword": "verified virtual machines"},
-{"id": 1083,
-"keyword": "general infinite processes"},
-=======
-{"id": 1076,
-"keyword": "recursive datatype"},
-{"id": 1077,
-"keyword": "channel protocols"},
-{"id": 1078,
-"keyword": "locale eval lowbar"},
-{"id": 1079,
-"keyword": "hand-written theory files"},
-{"id": 1080,
-"keyword": "partial herbrand interpretations"},
-{"id": 1081,
-"keyword": "formally verified model"},
-{"id": 1082,
-"keyword": "deletion condition"},
-{"id": 1083,
-"keyword": "weak bisimilarity"},
->>>>>>> merge rev
-{"id": 1084,
-<<<<<<< working copy
-"keyword": "purely logical result yielding"},
-||||||| common ancestor
-"keyword": "internal representation"},
-=======
+{"id": 1089,
"keyword": "security unwinding technique"},
->>>>>>> merge rev
-{"id": 1085,
-<<<<<<< working copy
-"keyword": "shallow semantical embeddings"},
-||||||| common ancestor
-"keyword": "concurrent programs"},
-=======
+{"id": 1090,
"keyword": "negative real parts"},
->>>>>>> merge rev
-{"id": 1086,
-<<<<<<< working copy
-"keyword": "security statements"},
-||||||| common ancestor
-"keyword": "generalized noninterference security"},
-=======
+{"id": 1091,
"keyword": "linear real arithmetic"},
->>>>>>> merge rev
-{"id": 1087,
-<<<<<<< working copy
-"keyword": "euler-maclaurin formula relates"},
-||||||| common ancestor
-"keyword": "varphi_i vee mathbf"},
-=======
+{"id": 1092,
"keyword": "implicit reasoning steps"},
->>>>>>> merge rev
-{"id": 1088,
-<<<<<<< working copy
-"keyword": "hol library"},
-||||||| common ancestor
-"keyword": "purely logical result yielding"},
-=======
+{"id": 1093,
"keyword": "iterative versions"},
->>>>>>> merge rev
-{"id": 1089,
-<<<<<<< working copy
-"keyword": "recursive enumerability"},
-||||||| common ancestor
-"keyword": "shallow semantical embeddings"},
-=======
+{"id": 1094,
"keyword": "ab leq int_0"},
->>>>>>> merge rev
-{"id": 1090,
-<<<<<<< working copy
-"keyword": "quantum programs"},
-||||||| common ancestor
-"keyword": "security statements"},
-=======
+{"id": 1095,
"keyword": "isoscele triangles"},
->>>>>>> merge rev
-{"id": 1091,
-<<<<<<< working copy
-"keyword": "shallow embedding"},
-||||||| common ancestor
-"keyword": "euler-maclaurin formula relates"},
-=======
+{"id": 1096,
"keyword": "euler ndash"},
->>>>>>> merge rev
-{"id": 1092,
-<<<<<<< working copy
+{"id": 1097,
+"keyword": "afp entry bnf operations"},
+{"id": 1098,
+"keyword": "verified virtual machines"},
+{"id": 1099,
+"keyword": "general infinite processes"},
+{"id": 1100,
+"keyword": "internal representation"},
+{"id": 1101,
+"keyword": "concurrent programs"},
+{"id": 1102,
+"keyword": "generalized noninterference security"},
+{"id": 1103,
+"keyword": "varphi_i vee mathbf"},
+{"id": 1104,
+"keyword": "purely logical result yielding"},
+{"id": 1105,
+"keyword": "shallow semantical embeddings"},
+{"id": 1106,
+"keyword": "security statements"},
+{"id": 1107,
+"keyword": "euler-maclaurin formula relates"},
+{"id": 1108,
+"keyword": "hol library"},
+{"id": 1109,
+"keyword": "recursive enumerability"},
+{"id": 1110,
+"keyword": "quantum programs"},
+{"id": 1111,
+"keyword": "shallow embedding"},
+{"id": 1112,
"keyword": "safety policy"},
-||||||| common ancestor
-"keyword": "hol library"},
-=======
-"keyword": "afp entry bnf operations"},
->>>>>>> merge rev
-{"id": 1093,
-<<<<<<< working copy
+{"id": 1113,
"keyword": "wider scope"},
-||||||| common ancestor
-"keyword": "recursive enumerability"},
-=======
-"keyword": "verified virtual machines"},
->>>>>>> merge rev
-{"id": 1094,
-<<<<<<< working copy
+{"id": 1114,
"keyword": "basic classical properties"},
-||||||| common ancestor
-"keyword": "quantum programs"},
-=======
-"keyword": "general infinite processes"},
->>>>>>> merge rev
-{"id": 1095,
-<<<<<<< working copy
+{"id": 1115,
"keyword": "concurrent reads"},
-{"id": 1096,
+{"id": 1116,
"keyword": "symbolic execution"},
-{"id": 1097,
+{"id": 1117,
"keyword": "message anonymity"},
-{"id": 1098,
+{"id": 1118,
"keyword": "epistemic logic theory"},
-{"id": 1099,
+{"id": 1119,
"keyword": "detailed apply scripts"},
-{"id": 1100,
-"keyword": "preliminary evaluations"},
-{"id": 1101,
-"keyword": "algebraic number executable"},
-{"id": 1102,
-"keyword": "correspondence theorem"},
-{"id": 1103,
-"keyword": "von neumann measurements"},
-{"id": 1104,
-"keyword": "interesting case study"},
-{"id": 1105,
-"keyword": "compiler correctness proof shorter"},
-{"id": 1106,
-"keyword": "tolerate faults"},
-{"id": 1107,
-"keyword": "morally questionable"},
-{"id": 1108,
-"keyword": "gromov boundary"},
-{"id": 1109,
-"keyword": "slicing based"},
-{"id": 1110,
-"keyword": "interactive visual theorem prover"},
-{"id": 1111,
-"keyword": "hol-algebra library"},
-{"id": 1112,
-"keyword": "functional program"},
-||||||| common ancestor
-"keyword": "shallow embedding"},
-{"id": 1096,
-"keyword": "safety policy"},
-{"id": 1097,
-"keyword": "wider scope"},
-{"id": 1098,
-"keyword": "basic classical properties"},
-{"id": 1099,
-"keyword": "concurrent reads"},
-{"id": 1100,
-"keyword": "symbolic execution"},
-{"id": 1101,
-"keyword": "message anonymity"},
-{"id": 1102,
-"keyword": "epistemic logic theory"},
-{"id": 1103,
-"keyword": "detailed apply scripts"},
-{"id": 1104,
+{"id": 1120,
"keyword": "preliminary evaluations"},
-{"id": 1105,
+{"id": 1121,
"keyword": "algebraic number executable"},
-{"id": 1106,
+{"id": 1122,
"keyword": "correspondence theorem"},
-{"id": 1107,
-"keyword": "von neumann measurements"},
-{"id": 1108,
-"keyword": "interesting case study"},
-{"id": 1109,
-"keyword": "compiler correctness proof shorter"},
-{"id": 1110,
-"keyword": "tolerate faults"},
-{"id": 1111,
-"keyword": "morally questionable"},
-{"id": 1112,
-"keyword": "gromov boundary"},
-=======
-"keyword": "internal representation"},
-{"id": 1096,
-"keyword": "concurrent programs"},
-{"id": 1097,
-"keyword": "generalized noninterference security"},
-{"id": 1098,
-"keyword": "varphi_i vee mathbf"},
-{"id": 1099,
-"keyword": "purely logical result yielding"},
-{"id": 1100,
-"keyword": "shallow semantical embeddings"},
-{"id": 1101,
-"keyword": "security statements"},
-{"id": 1102,
-"keyword": "euler-maclaurin formula relates"},
-{"id": 1103,
-"keyword": "hol library"},
-{"id": 1104,
-"keyword": "recursive enumerability"},
-{"id": 1105,
-"keyword": "quantum programs"},
-{"id": 1106,
-"keyword": "shallow embedding"},
-{"id": 1107,
-"keyword": "safety policy"},
-{"id": 1108,
-"keyword": "wider scope"},
-{"id": 1109,
-"keyword": "basic classical properties"},
-{"id": 1110,
-"keyword": "concurrent reads"},
-{"id": 1111,
-"keyword": "symbolic execution"},
-{"id": 1112,
-"keyword": "message anonymity"},
->>>>>>> merge rev
-{"id": 1113,
-<<<<<<< working copy
-"keyword": "decision procedure toolkit"},
-||||||| common ancestor
-"keyword": "slicing based"},
-=======
-"keyword": "epistemic logic theory"},
->>>>>>> merge rev
-{"id": 1114,
-<<<<<<< working copy
-"keyword": "coordination"},
-||||||| common ancestor
-"keyword": "interactive visual theorem prover"},
-=======
-"keyword": "detailed apply scripts"},
->>>>>>> merge rev
-{"id": 1115,
-<<<<<<< working copy
-"keyword": "trace set process"},
-||||||| common ancestor
-"keyword": "hol-algebra library"},
-=======
-"keyword": "preliminary evaluations"},
->>>>>>> merge rev
-{"id": 1116,
-<<<<<<< working copy
-"keyword": "standard textbook version"},
-||||||| common ancestor
-"keyword": "functional program"},
-=======
-"keyword": "algebraic number executable"},
->>>>>>> merge rev
-{"id": 1117,
-<<<<<<< working copy
-"keyword": "timed automata"},
-{"id": 1118,
-"keyword": "lsfa 2020 paper"},
-{"id": 1119,
-"keyword": "data refinement framework"},
-{"id": 1120,
-"keyword": "non-terminating executions"},
-{"id": 1121,
-"keyword": "bius transformations"},
-{"id": 1122,
-"keyword": "register refers"},
-{"id": 1123,
-"keyword": "reactive systems"},
-{"id": 1124,
-||||||| common ancestor
-"keyword": "decision procedure toolkit"},
-{"id": 1118,
-"keyword": "coordination"},
-{"id": 1119,
-"keyword": "trace set process"},
-{"id": 1120,
-"keyword": "standard textbook version"},
-{"id": 1121,
-"keyword": "timed automata"},
-{"id": 1122,
-"keyword": "lsfa 2020 paper"},
-{"id": 1123,
-"keyword": "data refinement framework"},
-{"id": 1124,
-"keyword": "non-terminating executions"},
-{"id": 1125,
-"keyword": "bius transformations"},
-{"id": 1126,
-"keyword": "register refers"},
-{"id": 1127,
-"keyword": "reactive systems"},
-{"id": 1128,
-=======
-"keyword": "correspondence theorem"},
-{"id": 1118,
-"keyword": "von neumann measurements"},
-{"id": 1119,
-"keyword": "interesting case study"},
-{"id": 1120,
-"keyword": "compiler correctness proof shorter"},
-{"id": 1121,
-"keyword": "tolerate faults"},
-{"id": 1122,
-"keyword": "morally questionable"},
{"id": 1123,
-"keyword": "gromov boundary"},
+"keyword": "von neumann measurements"},
{"id": 1124,
-"keyword": "slicing based"},
+"keyword": "interesting case study"},
{"id": 1125,
-"keyword": "interactive visual theorem prover"},
+"keyword": "compiler correctness proof shorter"},
{"id": 1126,
-"keyword": "hol-algebra library"},
+"keyword": "tolerate faults"},
{"id": 1127,
-"keyword": "functional program"},
+"keyword": "morally questionable"},
{"id": 1128,
-"keyword": "decision procedure toolkit"},
+"keyword": "gromov boundary"},
{"id": 1129,
-"keyword": "coordination"},
+"keyword": "slicing based"},
{"id": 1130,
-"keyword": "trace set process"},
+"keyword": "interactive visual theorem prover"},
{"id": 1131,
-"keyword": "standard textbook version"},
+"keyword": "hol-algebra library"},
{"id": 1132,
-"keyword": "timed automata"},
+"keyword": "functional program"},
{"id": 1133,
-"keyword": "lsfa 2020 paper"},
+"keyword": "decision procedure toolkit"},
{"id": 1134,
-"keyword": "data refinement framework"},
-{"id": 1135,
-"keyword": "non-terminating executions"},
-{"id": 1136,
-"keyword": "bius transformations"},
-{"id": 1137,
-"keyword": "register refers"},
-{"id": 1138,
-"keyword": "reactive systems"},
-{"id": 1139,
->>>>>>> merge rev
-"keyword": "connecting algebraic varieties"},
-<<<<<<< working copy
-{"id": 1125,
-||||||| common ancestor
-{"id": 1129,
-=======
-{"id": 1140,
->>>>>>> merge rev
-"keyword": "algorithm meets schneider"},
-<<<<<<< working copy
-{"id": 1126,
-||||||| common ancestor
-{"id": 1130,
-=======
-{"id": 1141,
->>>>>>> merge rev
-"keyword": "successfully formalising"},
-<<<<<<< working copy
-{"id": 1127,
-"keyword": "specialized sliding window algorithm"},
-{"id": 1128,
-"keyword": "stuttering invariance central"},
-{"id": 1129,
-"keyword": "arbitrary data"},
-{"id": 1130,
-"keyword": "obtain liouville numbers"},
-{"id": 1131,
-"keyword": "tree boundaries set"},
-{"id": 1132,
-"keyword": "key agreement protocols"},
-{"id": 1133,
-"keyword": "recovering structure"},
-{"id": 1134,
-"keyword": "active research topic"},
+"keyword": "coordination"},
{"id": 1135,
-"keyword": "proof rules indexed"},
+"keyword": "trace set process"},
{"id": 1136,
-"keyword": "algorithm tolerates"},
+"keyword": "standard textbook version"},
{"id": 1137,
-"keyword": "measuring angles"},
+"keyword": "timed automata"},
{"id": 1138,
-"keyword": "empty bst"},
+"keyword": "lsfa 2020 paper"},
{"id": 1139,
-"keyword": "reusing facts"},
+"keyword": "data refinement framework"},
{"id": 1140,
-"keyword": "remainder sequences"},
-{"id": 1141,
-"keyword": "fully-featured compositional framework"},
-||||||| common ancestor
-{"id": 1131,
-"keyword": "specialized sliding window algorithm"},
-{"id": 1132,
-"keyword": "stuttering invariance central"},
-{"id": 1133,
-"keyword": "arbitrary data"},
-{"id": 1134,
-"keyword": "obtain liouville numbers"},
-{"id": 1135,
-"keyword": "tree boundaries set"},
-{"id": 1136,
-"keyword": "key agreement protocols"},
-{"id": 1137,
-"keyword": "recovering structure"},
-{"id": 1138,
-"keyword": "active research topic"},
-{"id": 1139,
-"keyword": "proof rules indexed"},
-{"id": 1140,
-"keyword": "algorithm tolerates"},
+"keyword": "non-terminating executions"},
{"id": 1141,
-"keyword": "measuring angles"},
-=======
->>>>>>> merge rev
+"keyword": "bius transformations"},
{"id": 1142,
-<<<<<<< working copy
-"keyword": "order extension"},
-||||||| common ancestor
-"keyword": "empty bst"},
-=======
-"keyword": "specialized sliding window algorithm"},
->>>>>>> merge rev
+"keyword": "register refers"},
{"id": 1143,
-<<<<<<< working copy
-"keyword": "practical purposes"},
-||||||| common ancestor
-"keyword": "reusing facts"},
-=======
-"keyword": "stuttering invariance central"},
->>>>>>> merge rev
+"keyword": "reactive systems"},
{"id": 1144,
-<<<<<<< working copy
-"keyword": "dynamically typed programming languages"},
-||||||| common ancestor
-"keyword": "remainder sequences"},
-=======
-"keyword": "arbitrary data"},
->>>>>>> merge rev
+"keyword": "connecting algebraic varieties"},
{"id": 1145,
-<<<<<<< working copy
-"keyword": "matrix equation"},
-||||||| common ancestor
-"keyword": "fully-featured compositional framework"},
-=======
-"keyword": "obtain liouville numbers"},
->>>>>>> merge rev
+"keyword": "algorithm meets schneider"},
{"id": 1146,
-<<<<<<< working copy
-"keyword": "substitute hybrid games"},
-||||||| common ancestor
-"keyword": "order extension"},
-=======
-"keyword": "tree boundaries set"},
->>>>>>> merge rev
+"keyword": "successfully formalising"},
{"id": 1147,
-<<<<<<< working copy
-"keyword": "transition system"},
-||||||| common ancestor
-"keyword": "practical purposes"},
-=======
-"keyword": "key agreement protocols"},
->>>>>>> merge rev
+"keyword": "specialized sliding window algorithm"},
{"id": 1148,
-<<<<<<< working copy
-"keyword": "quantified modal logic kb"},
-||||||| common ancestor
-"keyword": "dynamically typed programming languages"},
-=======
-"keyword": "recovering structure"},
->>>>>>> merge rev
+"keyword": "stuttering invariance central"},
{"id": 1149,
-<<<<<<< working copy
-"keyword": "sorts objects"},
-||||||| common ancestor
-"keyword": "matrix equation"},
-=======
-"keyword": "active research topic"},
->>>>>>> merge rev
+"keyword": "arbitrary data"},
{"id": 1150,
-<<<<<<< working copy
-"keyword": "certified factorization algorithm"},
-||||||| common ancestor
-"keyword": "substitute hybrid games"},
-=======
-"keyword": "proof rules indexed"},
->>>>>>> merge rev
+"keyword": "obtain liouville numbers"},
{"id": 1151,
-<<<<<<< working copy
-"keyword": "systems communication"},
-||||||| common ancestor
-"keyword": "transition system"},
-=======
-"keyword": "algorithm tolerates"},
->>>>>>> merge rev
+"keyword": "tree boundaries set"},
{"id": 1152,
-<<<<<<< working copy
-"keyword": "framing conditions"},
-||||||| common ancestor
-"keyword": "quantified modal logic kb"},
-=======
-"keyword": "measuring angles"},
->>>>>>> merge rev
+"keyword": "key agreement protocols"},
{"id": 1153,
-<<<<<<< working copy
-"keyword": "completeness"},
+"keyword": "recovering structure"},
{"id": 1154,
-||||||| common ancestor
-"keyword": "sorts objects"},
-{"id": 1154,
-"keyword": "certified factorization algorithm"},
+"keyword": "active research topic"},
{"id": 1155,
-"keyword": "systems communication"},
+"keyword": "proof rules indexed"},
{"id": 1156,
-"keyword": "framing conditions"},
+"keyword": "algorithm tolerates"},
{"id": 1157,
-"keyword": "completeness"},
+"keyword": "measuring angles"},
{"id": 1158,
-=======
"keyword": "empty bst"},
-{"id": 1154,
+{"id": 1159,
"keyword": "reusing facts"},
-{"id": 1155,
+{"id": 1160,
"keyword": "remainder sequences"},
-{"id": 1156,
+{"id": 1161,
"keyword": "fully-featured compositional framework"},
-{"id": 1157,
+{"id": 1162,
"keyword": "order extension"},
-{"id": 1158,
-"keyword": "practical purposes"},
-{"id": 1159,
-"keyword": "dynamically typed programming languages"},
-{"id": 1160,
-"keyword": "matrix equation"},
-{"id": 1161,
-"keyword": "substitute hybrid games"},
-{"id": 1162,
-"keyword": "transition system"},
{"id": 1163,
-"keyword": "quantified modal logic kb"},
-{"id": 1164,
-"keyword": "sorts objects"},
-{"id": 1165,
-"keyword": "certified factorization algorithm"},
-{"id": 1166,
-"keyword": "systems communication"},
-{"id": 1167,
-"keyword": "framing conditions"},
-{"id": 1168,
-"keyword": "completeness"},
-{"id": 1169,
->>>>>>> merge rev
-"keyword": "astronomically huge"},
-<<<<<<< working copy
-{"id": 1155,
-||||||| common ancestor
-{"id": 1159,
-=======
-{"id": 1170,
->>>>>>> merge rev
-"keyword": "finitely generated polynomial ideals"},
-<<<<<<< working copy
-{"id": 1156,
-||||||| common ancestor
-{"id": 1160,
-=======
-{"id": 1171,
->>>>>>> merge rev
-"keyword": "transitive closure bypasses matrices"},
-<<<<<<< working copy
-{"id": 1157,
-"keyword": "expected accuracy"},
-{"id": 1158,
-"keyword": "rado"},
-{"id": 1159,
-"keyword": "strong local confluence"},
-{"id": 1160,
-"keyword": "3rd edition"},
-{"id": 1161,
-"keyword": "sch15 anders schlichtkrull"},
-{"id": 1162,
-"keyword": "hoc on-demand distance vector"},
-{"id": 1163,
-"keyword": "expected properties"},
+"keyword": "practical purposes"},
{"id": 1164,
-"keyword": "longer guaranteed"},
+"keyword": "dynamically typed programming languages"},
{"id": 1165,
-"keyword": "realistic virtual machine"},
+"keyword": "matrix equation"},
{"id": 1166,
-"keyword": "developing security protocols"},
+"keyword": "substitute hybrid games"},
{"id": 1167,
-"keyword": "call root-balanced trees"},
-{"id": 1168,
-"keyword": "algebraic numbers beta_1"},
-{"id": 1169,
-"keyword": "function eval"},
-{"id": 1170,
-"keyword": "floating-point numbers"},
-{"id": 1171,
-"keyword": "price vickrey auction"},
-{"id": 1172,
-||||||| common ancestor
-{"id": 1161,
-"keyword": "expected accuracy"},
-{"id": 1162,
-"keyword": "rado"},
-{"id": 1163,
-"keyword": "strong local confluence"},
-{"id": 1164,
-"keyword": "3rd edition"},
-{"id": 1165,
-"keyword": "sch15 anders schlichtkrull"},
-{"id": 1166,
-"keyword": "hoc on-demand distance vector"},
-{"id": 1167,
-"keyword": "expected properties"},
+"keyword": "transition system"},
{"id": 1168,
-"keyword": "longer guaranteed"},
+"keyword": "quantified modal logic kb"},
{"id": 1169,
-"keyword": "realistic virtual machine"},
+"keyword": "sorts objects"},
{"id": 1170,
-"keyword": "developing security protocols"},
+"keyword": "certified factorization algorithm"},
{"id": 1171,
-"keyword": "call root-balanced trees"},
+"keyword": "systems communication"},
{"id": 1172,
-"keyword": "algebraic numbers beta_1"},
+"keyword": "framing conditions"},
{"id": 1173,
-"keyword": "function eval"},
+"keyword": "completeness"},
{"id": 1174,
-"keyword": "floating-point numbers"},
+"keyword": "astronomically huge"},
{"id": 1175,
-"keyword": "price vickrey auction"},
+"keyword": "finitely generated polynomial ideals"},
{"id": 1176,
-=======
-{"id": 1172,
+"keyword": "transitive closure bypasses matrices"},
+{"id": 1177,
"keyword": "expected accuracy"},
-{"id": 1173,
+{"id": 1178,
"keyword": "rado"},
-{"id": 1174,
+{"id": 1179,
"keyword": "strong local confluence"},
-{"id": 1175,
+{"id": 1180,
"keyword": "3rd edition"},
-{"id": 1176,
-"keyword": "sch15 anders schlichtkrull"},
-{"id": 1177,
-"keyword": "hoc on-demand distance vector"},
-{"id": 1178,
-"keyword": "expected properties"},
-{"id": 1179,
-"keyword": "longer guaranteed"},
-{"id": 1180,
-"keyword": "realistic virtual machine"},
{"id": 1181,
-"keyword": "developing security protocols"},
+"keyword": "sch15 anders schlichtkrull"},
{"id": 1182,
-"keyword": "call root-balanced trees"},
+"keyword": "hoc on-demand distance vector"},
{"id": 1183,
-"keyword": "algebraic numbers beta_1"},
+"keyword": "expected properties"},
{"id": 1184,
+"keyword": "longer guaranteed"},
+{"id": 1185,
+"keyword": "realistic virtual machine"},
+{"id": 1186,
+"keyword": "developing security protocols"},
+{"id": 1187,
+"keyword": "call root-balanced trees"},
+{"id": 1188,
+"keyword": "algebraic numbers beta_1"},
+{"id": 1189,
"keyword": "function eval"},
-{"id": 1185,
+{"id": 1190,
"keyword": "floating-point numbers"},
-{"id": 1186,
+{"id": 1191,
"keyword": "price vickrey auction"},
-{"id": 1187,
->>>>>>> merge rev
+{"id": 1192,
"keyword": "classical hoare"},
-<<<<<<< working copy
-{"id": 1173,
-||||||| common ancestor
-{"id": 1177,
-=======
-{"id": 1188,
->>>>>>> merge rev
+{"id": 1193,
"keyword": "running average"},
-<<<<<<< working copy
-{"id": 1174,
-||||||| common ancestor
-{"id": 1178,
-=======
-{"id": 1189,
->>>>>>> merge rev
+{"id": 1194,
"keyword": "james margetson"},
-<<<<<<< working copy
-{"id": 1175,
-||||||| common ancestor
-{"id": 1179,
-=======
-{"id": 1190,
->>>>>>> merge rev
+{"id": 1195,
"keyword": "dedicated vertices"},
-<<<<<<< working copy
-{"id": 1176,
-||||||| common ancestor
-{"id": 1180,
-=======
-{"id": 1191,
->>>>>>> merge rev
+{"id": 1196,
"keyword": "hereditarily finite"},
-<<<<<<< working copy
-{"id": 1177,
-||||||| common ancestor
-{"id": 1181,
-=======
-{"id": 1192,
->>>>>>> merge rev
+{"id": 1197,
"keyword": "lemma"},
-<<<<<<< working copy
-{"id": 1178,
-||||||| common ancestor
-{"id": 1182,
-=======
-{"id": 1193,
->>>>>>> merge rev
+{"id": 1198,
"keyword": "verify axioms"},
-<<<<<<< working copy
-{"id": 1179,
-||||||| common ancestor
-{"id": 1183,
-=======
-{"id": 1194,
->>>>>>> merge rev
+{"id": 1199,
"keyword": "time events"},
-<<<<<<< working copy
-{"id": 1180,
-||||||| common ancestor
-{"id": 1184,
-=======
-{"id": 1195,
->>>>>>> merge rev
+{"id": 1200,
"keyword": "piecewise continuous functions"},
-<<<<<<< working copy
-{"id": 1181,
-||||||| common ancestor
-{"id": 1185,
-=======
-{"id": 1196,
->>>>>>> merge rev
+{"id": 1201,
"keyword": "feature dependent types"},
-<<<<<<< working copy
-{"id": 1182,
-||||||| common ancestor
-{"id": 1186,
-=======
-{"id": 1197,
->>>>>>> merge rev
+{"id": 1202,
"keyword": "worst-case optimal multiway-join algorithms"},
-<<<<<<< working copy
-{"id": 1183,
-"keyword": "rank nullity theorem entry"},
-{"id": 1184,
-||||||| common ancestor
-{"id": 1187,
-"keyword": "rank nullity theorem entry"},
-{"id": 1188,
-=======
-{"id": 1198,
->>>>>>> merge rev
-"keyword": "treated abstractly"},
-<<<<<<< working copy
-{"id": 1185,
-||||||| common ancestor
-{"id": 1189,
-=======
-{"id": 1199,
->>>>>>> merge rev
-"keyword": "omega operation"},
-<<<<<<< working copy
-{"id": 1186,
-"keyword": "theory fair-stream"},
-{"id": 1187,
-"keyword": "independent random variables"},
-{"id": 1188,
-"keyword": "terms algebraically"},
-{"id": 1189,
-"keyword": "nested binary joins"},
-{"id": 1190,
-"keyword": "fin"},
-{"id": 1191,
-"keyword": "yosuke-ito-345 actuary"},
-{"id": 1192,
-"keyword": "directly executable program"},
-{"id": 1193,
-"keyword": "algebraic hierarchy"},
-{"id": 1194,
-"keyword": "sufficiently large"},
-{"id": 1195,
-"keyword": "enhanced confidence"},
-{"id": 1196,
-"keyword": "resulting automaton"},
-{"id": 1197,
-"keyword": "kleene algebra hierarchy"},
-{"id": 1198,
-"keyword": "periodicity lemma"},
-{"id": 1199,
-"keyword": "article added material"},
-{"id": 1200,
-"keyword": "infinite polynomial"},
-{"id": 1201,
-"keyword": "runtime faults"},
-{"id": 1202,
-"keyword": "abstract property"},
-{"id": 1203,
-"keyword": "function definitions"},
-{"id": 1204,
-"keyword": "standard transfinite kbo"},
-{"id": 1205,
-"keyword": "secure stateful implementation"},
-{"id": 1206,
-"keyword": "adjoint functors preserve limits"},
-{"id": 1207,
-"keyword": "sub-probability mass functions"},
-{"id": 1208,
-"keyword": "linear time"},
-||||||| common ancestor
-{"id": 1190,
-"keyword": "theory fair-stream"},
-{"id": 1191,
-"keyword": "independent random variables"},
-{"id": 1192,
-"keyword": "terms algebraically"},
-{"id": 1193,
-"keyword": "nested binary joins"},
-{"id": 1194,
-"keyword": "fin"},
-{"id": 1195,
-"keyword": "yosuke-ito-345 actuary"},
-{"id": 1196,
-"keyword": "directly executable program"},
-{"id": 1197,
-"keyword": "algebraic hierarchy"},
-{"id": 1198,
-"keyword": "sufficiently large"},
-{"id": 1199,
-"keyword": "enhanced confidence"},
-{"id": 1200,
-"keyword": "resulting automaton"},
-{"id": 1201,
-"keyword": "kleene algebra hierarchy"},
-{"id": 1202,
-"keyword": "periodicity lemma"},
-{"id": 1203,
-"keyword": "article added material"},
-{"id": 1204,
-"keyword": "infinite polynomial"},
-{"id": 1205,
-"keyword": "runtime faults"},
-{"id": 1206,
-"keyword": "abstract property"},
-{"id": 1207,
-"keyword": "function definitions"},
-{"id": 1208,
-"keyword": "standard transfinite kbo"},
-=======
-{"id": 1200,
-"keyword": "theory fair-stream"},
-{"id": 1201,
-"keyword": "independent random variables"},
-{"id": 1202,
-"keyword": "terms algebraically"},
{"id": 1203,
-"keyword": "nested binary joins"},
+"keyword": "treated abstractly"},
{"id": 1204,
-"keyword": "fin"},
+"keyword": "omega operation"},
{"id": 1205,
-"keyword": "yosuke-ito-345 actuary"},
+"keyword": "theory fair-stream"},
{"id": 1206,
-"keyword": "directly executable program"},
+"keyword": "independent random variables"},
{"id": 1207,
-"keyword": "algebraic hierarchy"},
+"keyword": "terms algebraically"},
{"id": 1208,
-"keyword": "sufficiently large"},
->>>>>>> merge rev
+"keyword": "nested binary joins"},
{"id": 1209,
-<<<<<<< working copy
-"keyword": "purely syntactic criteria"},
-||||||| common ancestor
-"keyword": "secure stateful implementation"},
-=======
-"keyword": "enhanced confidence"},
->>>>>>> merge rev
+"keyword": "fin"},
{"id": 1210,
-<<<<<<< working copy
-"keyword": "mechanically verifying algorithms"},
-||||||| common ancestor
-"keyword": "adjoint functors preserve limits"},
-=======
-"keyword": "resulting automaton"},
->>>>>>> merge rev
+"keyword": "yosuke-ito-345 actuary"},
{"id": 1211,
-<<<<<<< working copy
-"keyword": "non-strict computations"},
-||||||| common ancestor
-"keyword": "sub-probability mass functions"},
-=======
-"keyword": "kleene algebra hierarchy"},
->>>>>>> merge rev
+"keyword": "directly executable program"},
{"id": 1212,
-<<<<<<< working copy
-"keyword": "derive proofs"},
-||||||| common ancestor
-"keyword": "linear time"},
-=======
-"keyword": "periodicity lemma"},
->>>>>>> merge rev
+"keyword": "algebraic hierarchy"},
{"id": 1213,
-<<<<<<< working copy
-"keyword": "expressive power"},
-||||||| common ancestor
-"keyword": "purely syntactic criteria"},
-=======
-"keyword": "article added material"},
->>>>>>> merge rev
+"keyword": "sufficiently large"},
{"id": 1214,
-<<<<<<< working copy
-"keyword": "textbook presentation"},
-||||||| common ancestor
-"keyword": "mechanically verifying algorithms"},
-=======
-"keyword": "infinite polynomial"},
->>>>>>> merge rev
+"keyword": "enhanced confidence"},
{"id": 1215,
-<<<<<<< working copy
-"keyword": "io monad"},
-||||||| common ancestor
-"keyword": "non-strict computations"},
-=======
-"keyword": "runtime faults"},
->>>>>>> merge rev
+"keyword": "resulting automaton"},
{"id": 1216,
-<<<<<<< working copy
-"keyword": "common language features"},
-||||||| common ancestor
-"keyword": "derive proofs"},
-=======
-"keyword": "abstract property"},
->>>>>>> merge rev
+"keyword": "kleene algebra hierarchy"},
{"id": 1217,
-<<<<<<< working copy
-"keyword": "mutually recursive procedures"},
-||||||| common ancestor
-"keyword": "expressive power"},
-=======
-"keyword": "function definitions"},
->>>>>>> merge rev
+"keyword": "periodicity lemma"},
{"id": 1218,
-<<<<<<< working copy
-"keyword": "intervals"},
-||||||| common ancestor
-"keyword": "textbook presentation"},
-=======
-"keyword": "standard transfinite kbo"},
->>>>>>> merge rev
+"keyword": "article added material"},
{"id": 1219,
-<<<<<<< working copy
-"keyword": "defensive strategies exist"},
+"keyword": "infinite polynomial"},
{"id": 1220,
-||||||| common ancestor
+"keyword": "runtime faults"},
+{"id": 1221,
+"keyword": "abstract property"},
+{"id": 1222,
+"keyword": "function definitions"},
+{"id": 1223,
+"keyword": "standard transfinite kbo"},
+{"id": 1224,
+"keyword": "secure stateful implementation"},
+{"id": 1225,
+"keyword": "adjoint functors preserve limits"},
+{"id": 1226,
+"keyword": "sub-probability mass functions"},
+{"id": 1227,
+"keyword": "linear time"},
+{"id": 1228,
+"keyword": "purely syntactic criteria"},
+{"id": 1229,
+"keyword": "mechanically verifying algorithms"},
+{"id": 1230,
+"keyword": "non-strict computations"},
+{"id": 1231,
+"keyword": "derive proofs"},
+{"id": 1232,
+"keyword": "expressive power"},
+{"id": 1233,
+"keyword": "textbook presentation"},
+{"id": 1234,
"keyword": "io monad"},
-{"id": 1220,
+{"id": 1235,
"keyword": "common language features"},
-{"id": 1221,
+{"id": 1236,
"keyword": "mutually recursive procedures"},
-{"id": 1222,
+{"id": 1237,
"keyword": "intervals"},
-{"id": 1223,
+{"id": 1238,
"keyword": "defensive strategies exist"},
-{"id": 1224,
-=======
-"keyword": "secure stateful implementation"},
-{"id": 1220,
-"keyword": "adjoint functors preserve limits"},
-{"id": 1221,
-"keyword": "sub-probability mass functions"},
-{"id": 1222,
-"keyword": "linear time"},
-{"id": 1223,
-"keyword": "purely syntactic criteria"},
-{"id": 1224,
-"keyword": "mechanically verifying algorithms"},
-{"id": 1225,
-"keyword": "non-strict computations"},
-{"id": 1226,
-"keyword": "derive proofs"},
-{"id": 1227,
-"keyword": "expressive power"},
-{"id": 1228,
-"keyword": "textbook presentation"},
-{"id": 1229,
-"keyword": "io monad"},
-{"id": 1230,
-"keyword": "common language features"},
-{"id": 1231,
-"keyword": "mutually recursive procedures"},
-{"id": 1232,
-"keyword": "intervals"},
-{"id": 1233,
-"keyword": "defensive strategies exist"},
-{"id": 1234,
->>>>>>> merge rev
+{"id": 1239,
"keyword": "ordinal arithmetic"},
-<<<<<<< working copy
-{"id": 1221,
-||||||| common ancestor
-{"id": 1225,
-=======
-{"id": 1235,
->>>>>>> merge rev
+{"id": 1240,
"keyword": "security protocols based"},
-<<<<<<< working copy
-{"id": 1222,
-||||||| common ancestor
-{"id": 1226,
-=======
-{"id": 1236,
->>>>>>> merge rev
+{"id": 1241,
"keyword": "cryptographically secure proof"},
-<<<<<<< working copy
-{"id": 1223,
-||||||| common ancestor
-{"id": 1227,
-=======
-{"id": 1237,
->>>>>>> merge rev
+{"id": 1242,
"keyword": "domain theory"},
-<<<<<<< working copy
-{"id": 1224,
+{"id": 1243,
"keyword": "class models"},
-{"id": 1225,
-"keyword": "fully automated methods"},
-{"id": 1226,
-"keyword": "current formalization"},
-{"id": 1227,
-"keyword": "formalisation presents"},
-{"id": 1228,
-"keyword": "contradicts consensus"},
-{"id": 1229,
-"keyword": "group divisible designs"},
-{"id": 1230,
-"keyword": "self-contained specification"},
-{"id": 1231,
-"keyword": "successor search"},
-{"id": 1232,
-"keyword": "full details"},
-{"id": 1233,
-"keyword": "standard redundancy criterion"},
-{"id": 1234,
-"keyword": "algebraic geometry"},
-{"id": 1235,
-"keyword": "material decribed"},
-{"id": 1236,
-"keyword": "abstract rewrite system"},
-{"id": 1237,
-"keyword": "recursive function operates"},
-{"id": 1238,
-"keyword": "sequential compactness"},
-{"id": 1239,
-"keyword": "core part"},
-{"id": 1240,
-"keyword": "w_i a_i"},
-{"id": 1241,
-"keyword": "operations run"},
-{"id": 1242,
-"keyword": "interpreting intensional type systems"},
-{"id": 1243,
-"keyword": "lexicographic algorithm incorporating"},
{"id": 1244,
-"keyword": "llists"},
+"keyword": "fully automated methods"},
{"id": 1245,
-"keyword": "success probability grows exponentially"},
+"keyword": "current formalization"},
{"id": 1246,
-"keyword": "generate"},
-||||||| common ancestor
-{"id": 1228,
-"keyword": "class models"},
-{"id": 1229,
-"keyword": "fully automated methods"},
-{"id": 1230,
-"keyword": "current formalization"},
-{"id": 1231,
"keyword": "formalisation presents"},
-{"id": 1232,
+{"id": 1247,
"keyword": "contradicts consensus"},
-{"id": 1233,
+{"id": 1248,
"keyword": "group divisible designs"},
-{"id": 1234,
+{"id": 1249,
"keyword": "self-contained specification"},
-{"id": 1235,
+{"id": 1250,
"keyword": "successor search"},
-{"id": 1236,
+{"id": 1251,
"keyword": "full details"},
-{"id": 1237,
+{"id": 1252,
"keyword": "standard redundancy criterion"},
-{"id": 1238,
+{"id": 1253,
"keyword": "algebraic geometry"},
-{"id": 1239,
+{"id": 1254,
"keyword": "material decribed"},
-{"id": 1240,
+{"id": 1255,
"keyword": "abstract rewrite system"},
-{"id": 1241,
+{"id": 1256,
"keyword": "recursive function operates"},
-{"id": 1242,
+{"id": 1257,
"keyword": "sequential compactness"},
-{"id": 1243,
+{"id": 1258,
"keyword": "core part"},
-{"id": 1244,
+{"id": 1259,
"keyword": "w_i a_i"},
-{"id": 1245,
+{"id": 1260,
"keyword": "operations run"},
-{"id": 1246,
+{"id": 1261,
"keyword": "interpreting intensional type systems"},
-=======
-{"id": 1238,
-"keyword": "class models"},
-{"id": 1239,
-"keyword": "fully automated methods"},
-{"id": 1240,
-"keyword": "current formalization"},
-{"id": 1241,
-"keyword": "formalisation presents"},
-{"id": 1242,
-"keyword": "contradicts consensus"},
-{"id": 1243,
-"keyword": "group divisible designs"},
-{"id": 1244,
-"keyword": "self-contained specification"},
-{"id": 1245,
-"keyword": "successor search"},
-{"id": 1246,
-"keyword": "full details"},
->>>>>>> merge rev
-{"id": 1247,
-<<<<<<< working copy
-"keyword": "34th ifip international conference"},
-||||||| common ancestor
+{"id": 1262,
"keyword": "lexicographic algorithm incorporating"},
-=======
-"keyword": "standard redundancy criterion"},
->>>>>>> merge rev
-{"id": 1248,
-<<<<<<< working copy
-"keyword": "abstract academic models"},
-||||||| common ancestor
+{"id": 1263,
"keyword": "llists"},
-=======
-"keyword": "algebraic geometry"},
->>>>>>> merge rev
-{"id": 1249,
-<<<<<<< working copy
-"keyword": "notably poicar recurrence theorem"},
-||||||| common ancestor
+{"id": 1264,
"keyword": "success probability grows exponentially"},
-=======
-"keyword": "material decribed"},
->>>>>>> merge rev
-{"id": 1250,
-<<<<<<< working copy
-"keyword": "relevant definitions"},
-||||||| common ancestor
+{"id": 1265,
"keyword": "generate"},
-=======
-"keyword": "abstract rewrite system"},
->>>>>>> merge rev
-{"id": 1251,
-<<<<<<< working copy
-"keyword": "refinement steps"},
-||||||| common ancestor
+{"id": 1266,
"keyword": "34th ifip international conference"},
-=======
-"keyword": "recursive function operates"},
->>>>>>> merge rev
-{"id": 1252,
-<<<<<<< working copy
-"keyword": "time polynomial"},
-||||||| common ancestor
+{"id": 1267,
"keyword": "abstract academic models"},
-=======
-"keyword": "sequential compactness"},
->>>>>>> merge rev
-{"id": 1253,
-<<<<<<< working copy
-"keyword": "skip lists consists"},
-||||||| common ancestor
+{"id": 1268,
"keyword": "notably poicar recurrence theorem"},
-=======
-"keyword": "core part"},
->>>>>>> merge rev
-{"id": 1254,
-<<<<<<< working copy
-"keyword": "stream versions"},
-||||||| common ancestor
-"keyword": "relevant definitions"},
-=======
-"keyword": "w_i a_i"},
->>>>>>> merge rev
-{"id": 1255,
-<<<<<<< working copy
-"keyword": "update constant pattern"},
-||||||| common ancestor
-"keyword": "refinement steps"},
-=======
-"keyword": "operations run"},
->>>>>>> merge rev
-{"id": 1256,
-<<<<<<< working copy
-"keyword": "small-step operational semantics"},
-||||||| common ancestor
-"keyword": "time polynomial"},
-=======
-"keyword": "interpreting intensional type systems"},
->>>>>>> merge rev
-{"id": 1257,
-<<<<<<< working copy
-"keyword": "set partitions"},
-||||||| common ancestor
-"keyword": "skip lists consists"},
-=======
-"keyword": "lexicographic algorithm incorporating"},
->>>>>>> merge rev
-{"id": 1258,
-<<<<<<< working copy
-"keyword": "explicit construction"},
-||||||| common ancestor
-"keyword": "stream versions"},
-=======
-"keyword": "llists"},
->>>>>>> merge rev
-{"id": 1259,
-<<<<<<< working copy
-"keyword": "mechanised proofs offermat"},
-||||||| common ancestor
-"keyword": "update constant pattern"},
-=======
-"keyword": "success probability grows exponentially"},
->>>>>>> merge rev
-{"id": 1260,
-<<<<<<< working copy
-"keyword": "concurrent sub-models"},
-||||||| common ancestor
-"keyword": "small-step operational semantics"},
-=======
-"keyword": "generate"},
->>>>>>> merge rev
-{"id": 1261,
-<<<<<<< working copy
-"keyword": "parallel branches"},
-||||||| common ancestor
-"keyword": "set partitions"},
-=======
-"keyword": "34th ifip international conference"},
->>>>>>> merge rev
-{"id": 1262,
-<<<<<<< working copy
-"keyword": "cubic equations"},
-||||||| common ancestor
-"keyword": "explicit construction"},
-=======
-"keyword": "abstract academic models"},
->>>>>>> merge rev
-{"id": 1263,
-<<<<<<< working copy
-"keyword": "computably enumerable sets"},
-||||||| common ancestor
-"keyword": "mechanised proofs offermat"},
-=======
-"keyword": "notably poicar recurrence theorem"},
->>>>>>> merge rev
-{"id": 1264,
-<<<<<<< working copy
-"keyword": "machine-verifiable proof certificates"},
-||||||| common ancestor
-"keyword": "concurrent sub-models"},
-=======
+{"id": 1269,
"keyword": "relevant definitions"},
->>>>>>> merge rev
-{"id": 1265,
-<<<<<<< working copy
-"keyword": "simple language"},
-||||||| common ancestor
-"keyword": "parallel branches"},
-=======
+{"id": 1270,
"keyword": "refinement steps"},
->>>>>>> merge rev
-{"id": 1266,
-<<<<<<< working copy
-"keyword": "poincar -bendixson theorem"},
-||||||| common ancestor
-"keyword": "cubic equations"},
-=======
-"keyword": "time polynomial"},
->>>>>>> merge rev
-{"id": 1267,
-<<<<<<< working copy
-"keyword": "relevant material"},
-||||||| common ancestor
-"keyword": "computably enumerable sets"},
-=======
-"keyword": "skip lists consists"},
->>>>>>> merge rev
-{"id": 1268,
-<<<<<<< working copy
-"keyword": "efficient data structures"},
-{"id": 1269,
-"keyword": "extended real line"},
-{"id": 1270,
-"keyword": "sunflower lemma"},
{"id": 1271,
-"keyword": "intransitive policy"},
+"keyword": "time polynomial"},
{"id": 1272,
-"keyword": "universal property"},
+"keyword": "skip lists consists"},
{"id": 1273,
-"keyword": "algebraically closed field"},
+"keyword": "stream versions"},
{"id": 1274,
-"keyword": "larger memory"},
+"keyword": "update constant pattern"},
{"id": 1275,
-"keyword": "program verification environment"},
-||||||| common ancestor
-"keyword": "machine-verifiable proof certificates"},
-{"id": 1269,
-"keyword": "simple language"},
-{"id": 1270,
-"keyword": "poincar -bendixson theorem"},
-{"id": 1271,
-"keyword": "relevant material"},
-{"id": 1272,
-"keyword": "efficient data structures"},
-{"id": 1273,
-"keyword": "extended real line"},
-{"id": 1274,
-"keyword": "sunflower lemma"},
-{"id": 1275,
-"keyword": "intransitive policy"},
-=======
-"keyword": "stream versions"},
-{"id": 1269,
-"keyword": "update constant pattern"},
-{"id": 1270,
"keyword": "small-step operational semantics"},
-{"id": 1271,
+{"id": 1276,
"keyword": "set partitions"},
-{"id": 1272,
+{"id": 1277,
"keyword": "explicit construction"},
-{"id": 1273,
+{"id": 1278,
"keyword": "mechanised proofs offermat"},
-{"id": 1274,
+{"id": 1279,
"keyword": "concurrent sub-models"},
-{"id": 1275,
+{"id": 1280,
"keyword": "parallel branches"},
->>>>>>> merge rev
-{"id": 1276,
-<<<<<<< working copy
-"keyword": "basic modal logics"},
-||||||| common ancestor
-"keyword": "universal property"},
-=======
+{"id": 1281,
"keyword": "cubic equations"},
->>>>>>> merge rev
-{"id": 1277,
-<<<<<<< working copy
-"keyword": "nested multisets"},
-||||||| common ancestor
-"keyword": "algebraically closed field"},
-=======
+{"id": 1282,
"keyword": "computably enumerable sets"},
->>>>>>> merge rev
-{"id": 1278,
-<<<<<<< working copy
+{"id": 1283,
+"keyword": "machine-verifiable proof certificates"},
+{"id": 1284,
+"keyword": "simple language"},
+{"id": 1285,
+"keyword": "poincar -bendixson theorem"},
+{"id": 1286,
+"keyword": "relevant material"},
+{"id": 1287,
+"keyword": "efficient data structures"},
+{"id": 1288,
+"keyword": "extended real line"},
+{"id": 1289,
+"keyword": "sunflower lemma"},
+{"id": 1290,
+"keyword": "intransitive policy"},
+{"id": 1291,
+"keyword": "universal property"},
+{"id": 1292,
+"keyword": "algebraically closed field"},
+{"id": 1293,
+"keyword": "larger memory"},
+{"id": 1294,
+"keyword": "program verification environment"},
+{"id": 1295,
+"keyword": "basic modal logics"},
+{"id": 1296,
+"keyword": "nested multisets"},
+{"id": 1297,
"keyword": "concrete mathematics"},
-||||||| common ancestor
-"keyword": "larger memory"},
-=======
-"keyword": "machine-verifiable proof certificates"},
->>>>>>> merge rev
-{"id": 1279,
-<<<<<<< working copy
+{"id": 1298,
"keyword": "safe ocl distincts nullable"},
-||||||| common ancestor
-"keyword": "program verification environment"},
-=======
-"keyword": "simple language"},
->>>>>>> merge rev
-{"id": 1280,
-<<<<<<< working copy
+{"id": 1299,
"keyword": "ramsey"},
-{"id": 1281,
+{"id": 1300,
"keyword": "thy -files"},
-{"id": 1282,
-"keyword": "deterministic processes"},
-{"id": 1283,
-"keyword": "logarithmic expected time"},
-{"id": 1284,
-"keyword": "generic work-list algorithm"},
-{"id": 1285,
-"keyword": "theorems related"},
-{"id": 1286,
-"keyword": "generic type class implementation"},
-{"id": 1287,
-||||||| common ancestor
-"keyword": "basic modal logics"},
-{"id": 1281,
-"keyword": "nested multisets"},
-{"id": 1282,
-"keyword": "concrete mathematics"},
-{"id": 1283,
-"keyword": "safe ocl distincts nullable"},
-{"id": 1284,
-"keyword": "ramsey"},
-{"id": 1285,
-"keyword": "thy -files"},
-{"id": 1286,
+{"id": 1301,
"keyword": "deterministic processes"},
-{"id": 1287,
+{"id": 1302,
"keyword": "logarithmic expected time"},
-{"id": 1288,
-"keyword": "generic work-list algorithm"},
-{"id": 1289,
-"keyword": "theorems related"},
-{"id": 1290,
-"keyword": "generic type class implementation"},
-{"id": 1291,
-=======
-"keyword": "poincar -bendixson theorem"},
-{"id": 1281,
-"keyword": "relevant material"},
-{"id": 1282,
-"keyword": "efficient data structures"},
-{"id": 1283,
-"keyword": "extended real line"},
-{"id": 1284,
-"keyword": "sunflower lemma"},
-{"id": 1285,
-"keyword": "intransitive policy"},
-{"id": 1286,
-"keyword": "universal property"},
-{"id": 1287,
-"keyword": "algebraically closed field"},
-{"id": 1288,
-"keyword": "larger memory"},
-{"id": 1289,
-"keyword": "program verification environment"},
-{"id": 1290,
-"keyword": "basic modal logics"},
-{"id": 1291,
-"keyword": "nested multisets"},
-{"id": 1292,
-"keyword": "concrete mathematics"},
-{"id": 1293,
-"keyword": "safe ocl distincts nullable"},
-{"id": 1294,
-"keyword": "ramsey"},
-{"id": 1295,
-"keyword": "thy -files"},
-{"id": 1296,
-"keyword": "deterministic processes"},
-{"id": 1297,
-"keyword": "logarithmic expected time"},
-{"id": 1298,
-"keyword": "generic work-list algorithm"},
-{"id": 1299,
-"keyword": "theorems related"},
-{"id": 1300,
-"keyword": "generic type class implementation"},
-{"id": 1301,
->>>>>>> merge rev
-"keyword": "subtle behaviors"},
-<<<<<<< working copy
-{"id": 1288,
-||||||| common ancestor
-{"id": 1292,
-=======
-{"id": 1302,
->>>>>>> merge rev
-"keyword": "set construction"},
-<<<<<<< working copy
-{"id": 1289,
-||||||| common ancestor
-{"id": 1293,
-=======
{"id": 1303,
->>>>>>> merge rev
-"keyword": "asymptotic growth approximation"},
-<<<<<<< working copy
-{"id": 1290,
-||||||| common ancestor
-{"id": 1294,
-=======
+"keyword": "generic work-list algorithm"},
{"id": 1304,
->>>>>>> merge rev
-"keyword": "well-order relation"},
-<<<<<<< working copy
-{"id": 1291,
-"keyword": "encryption schemes"},
-{"id": 1292,
-"keyword": "ipv6 addresses"},
-{"id": 1293,
-"keyword": "trusted base"},
-{"id": 1294,
-"keyword": "identifying finite-dimensional operators"},
-{"id": 1295,
-"keyword": "restricted schedules"},
-{"id": 1296,
-"keyword": "fabian immler"},
-{"id": 1297,
-"keyword": "count real roots"},
-{"id": 1298,
-"keyword": "abstract data structures"},
-{"id": 1299,
-"keyword": "policy decision function"},
-{"id": 1300,
-"keyword": "solutions based"},
-{"id": 1301,
-"keyword": "produce labeled subgoals"},
-{"id": 1302,
-"keyword": "quadratic virtual substitution"},
-{"id": 1303,
-"keyword": "partial translation"},
-{"id": 1304,
-"keyword": "tedious proofs"},
-||||||| common ancestor
-{"id": 1295,
-"keyword": "encryption schemes"},
-{"id": 1296,
-"keyword": "ipv6 addresses"},
-{"id": 1297,
-"keyword": "trusted base"},
-{"id": 1298,
-"keyword": "identifying finite-dimensional operators"},
-{"id": 1299,
-"keyword": "restricted schedules"},
-{"id": 1300,
-"keyword": "fabian immler"},
-{"id": 1301,
-"keyword": "count real roots"},
-{"id": 1302,
-"keyword": "abstract data structures"},
-{"id": 1303,
-"keyword": "policy decision function"},
-{"id": 1304,
-"keyword": "solutions based"},
-=======
->>>>>>> merge rev
+"keyword": "theorems related"},
{"id": 1305,
-<<<<<<< working copy
-"keyword": "jordan decomposition theorem"},
-||||||| common ancestor
-"keyword": "produce labeled subgoals"},
-=======
-"keyword": "encryption schemes"},
->>>>>>> merge rev
+"keyword": "generic type class implementation"},
{"id": 1306,
-<<<<<<< working copy
-"keyword": "support tostring functions"},
-||||||| common ancestor
-"keyword": "quadratic virtual substitution"},
-=======
-"keyword": "ipv6 addresses"},
->>>>>>> merge rev
+"keyword": "subtle behaviors"},
{"id": 1307,
-<<<<<<< working copy
-"keyword": "underlying concepts"},
-||||||| common ancestor
-"keyword": "partial translation"},
-=======
-"keyword": "trusted base"},
->>>>>>> merge rev
+"keyword": "set construction"},
{"id": 1308,
-<<<<<<< working copy
-"keyword": "defining web components"},
-||||||| common ancestor
-"keyword": "tedious proofs"},
-=======
-"keyword": "identifying finite-dimensional operators"},
->>>>>>> merge rev
+"keyword": "asymptotic growth approximation"},
{"id": 1309,
-<<<<<<< working copy
-"keyword": "financial theory"},
-||||||| common ancestor
-"keyword": "jordan decomposition theorem"},
-=======
-"keyword": "restricted schedules"},
->>>>>>> merge rev
+"keyword": "well-order relation"},
{"id": 1310,
-<<<<<<< working copy
-"keyword": "self-adjusting binary search trees"},
-||||||| common ancestor
-"keyword": "support tostring functions"},
-=======
-"keyword": "fabian immler"},
->>>>>>> merge rev
+"keyword": "encryption schemes"},
{"id": 1311,
-<<<<<<< working copy
-"keyword": "code generation facility"},
-||||||| common ancestor
-"keyword": "underlying concepts"},
-=======
-"keyword": "count real roots"},
->>>>>>> merge rev
+"keyword": "ipv6 addresses"},
{"id": 1312,
-<<<<<<< working copy
-"keyword": "carefully crafted"},
-||||||| common ancestor
-"keyword": "defining web components"},
-=======
-"keyword": "abstract data structures"},
->>>>>>> merge rev
+"keyword": "trusted base"},
{"id": 1313,
-<<<<<<< working copy
-"keyword": "topological space generated"},
-||||||| common ancestor
-"keyword": "financial theory"},
-=======
-"keyword": "policy decision function"},
->>>>>>> merge rev
+"keyword": "identifying finite-dimensional operators"},
{"id": 1314,
-<<<<<<< working copy
-"keyword": "proving functional correctness"},
-||||||| common ancestor
-"keyword": "self-adjusting binary search trees"},
-=======
-"keyword": "solutions based"},
->>>>>>> merge rev
+"keyword": "restricted schedules"},
{"id": 1315,
-<<<<<<< working copy
-"keyword": "original design"},
-||||||| common ancestor
-"keyword": "code generation facility"},
-=======
-"keyword": "produce labeled subgoals"},
->>>>>>> merge rev
+"keyword": "fabian immler"},
{"id": 1316,
-<<<<<<< working copy
-"keyword": "squares problem"},
-{"id": 1317,
-||||||| common ancestor
-"keyword": "carefully crafted"},
+"keyword": "count real roots"},
{"id": 1317,
-"keyword": "topological space generated"},
-{"id": 1318,
-"keyword": "proving functional correctness"},
-{"id": 1319,
-"keyword": "original design"},
-{"id": 1320,
-"keyword": "squares problem"},
-{"id": 1321,
-=======
-"keyword": "quadratic virtual substitution"},
-{"id": 1317,
-"keyword": "partial translation"},
+"keyword": "abstract data structures"},
{"id": 1318,
-"keyword": "tedious proofs"},
-{"id": 1319,
-"keyword": "jordan decomposition theorem"},
-{"id": 1320,
-"keyword": "support tostring functions"},
-{"id": 1321,
-"keyword": "underlying concepts"},
-{"id": 1322,
-"keyword": "defining web components"},
-{"id": 1323,
-"keyword": "financial theory"},
-{"id": 1324,
-"keyword": "self-adjusting binary search trees"},
-{"id": 1325,
-"keyword": "code generation facility"},
-{"id": 1326,
-"keyword": "carefully crafted"},
-{"id": 1327,
-"keyword": "topological space generated"},
-{"id": 1328,
-"keyword": "proving functional correctness"},
-{"id": 1329,
-"keyword": "original design"},
-{"id": 1330,
-"keyword": "squares problem"},
-{"id": 1331,
->>>>>>> merge rev
-"keyword": "formal reasoning"},
-<<<<<<< working copy
-{"id": 1318,
-||||||| common ancestor
-{"id": 1322,
-=======
-{"id": 1332,
->>>>>>> merge rev
-"keyword": "temporal logic operators"},
-<<<<<<< working copy
+"keyword": "policy decision function"},
{"id": 1319,
-||||||| common ancestor
+"keyword": "solutions based"},
+{"id": 1320,
+"keyword": "produce labeled subgoals"},
+{"id": 1321,
+"keyword": "quadratic virtual substitution"},
+{"id": 1322,
+"keyword": "partial translation"},
{"id": 1323,
-=======
-{"id": 1333,
->>>>>>> merge rev
-"keyword": "quadratic real arithmetic"},
-<<<<<<< working copy
-{"id": 1320,
-"keyword": "requires precise statements"},
-{"id": 1321,
-"keyword": "linear size"},
-{"id": 1322,
-"keyword": "bird tree"},
-{"id": 1323,
-"keyword": "series consisting"},
+"keyword": "tedious proofs"},
{"id": 1324,
-"keyword": "pdf"},
+"keyword": "jordan decomposition theorem"},
{"id": 1325,
-"keyword": "standard arithmetic"},
+"keyword": "algorithm decodes correctly"},
{"id": 1326,
-"keyword": "executable function eval"},
+"keyword": "support tostring functions"},
{"id": 1327,
-"keyword": "extensible record package"},
+"keyword": "underlying concepts"},
{"id": 1328,
-"keyword": "data secrecy"},
+"keyword": "defining web components"},
{"id": 1329,
-"keyword": "model checking"},
+"keyword": "financial theory"},
{"id": 1330,
-"keyword": "publication tphols 2009"},
+"keyword": "self-adjusting binary search trees"},
{"id": 1331,
-"keyword": "additional control flow analysis"},
+"keyword": "code generation facility"},
{"id": 1332,
-"keyword": "hermite-lindemann-weierstra theorem"},
+"keyword": "carefully crafted"},
{"id": 1333,
-"keyword": "ocl type system"},
+"keyword": "topological space generated"},
{"id": 1334,
-"keyword": "x_1 exists"},
+"keyword": "proving functional correctness"},
{"id": 1335,
-"keyword": "formalization consists"},
+"keyword": "original design"},
{"id": 1336,
-"keyword": "modal relational type theory"},
+"keyword": "squares problem"},
{"id": 1337,
-"keyword": "significant gain"},
+"keyword": "formal reasoning"},
{"id": 1338,
-"keyword": "separation logic assertion"},
+"keyword": "temporal logic operators"},
{"id": 1339,
-"keyword": "shallowly embed"},
+"keyword": "quadratic real arithmetic"},
{"id": 1340,
-"keyword": "specially well-"},
+"keyword": "rank nullity theorem entry"},
{"id": 1341,
-"keyword": "random systems"},
+"keyword": "pairwise commuting matrices"},
{"id": 1342,
-"keyword": "perron ndash"},
+"keyword": "requires precise statements"},
{"id": 1343,
-"keyword": "unified approximation order"},
+"keyword": "linear size"},
{"id": 1344,
-"keyword": "structures"},
+"keyword": "bird tree"},
{"id": 1345,
-||||||| common ancestor
-{"id": 1324,
-"keyword": "requires precise statements"},
-{"id": 1325,
-"keyword": "linear size"},
-{"id": 1326,
-"keyword": "bird tree"},
-{"id": 1327,
"keyword": "series consisting"},
-{"id": 1328,
+{"id": 1346,
"keyword": "pdf"},
-{"id": 1329,
+{"id": 1347,
"keyword": "standard arithmetic"},
-{"id": 1330,
+{"id": 1348,
"keyword": "executable function eval"},
-{"id": 1331,
+{"id": 1349,
"keyword": "extensible record package"},
-{"id": 1332,
+{"id": 1350,
"keyword": "data secrecy"},
-{"id": 1333,
+{"id": 1351,
"keyword": "model checking"},
-{"id": 1334,
+{"id": 1352,
"keyword": "publication tphols 2009"},
-{"id": 1335,
-"keyword": "additional control flow analysis"},
-{"id": 1336,
-"keyword": "hermite-lindemann-weierstra theorem"},
-{"id": 1337,
-"keyword": "ocl type system"},
-{"id": 1338,
-"keyword": "x_1 exists"},
-{"id": 1339,
-"keyword": "formalization consists"},
-{"id": 1340,
-"keyword": "modal relational type theory"},
-{"id": 1341,
-"keyword": "significant gain"},
-{"id": 1342,
-"keyword": "separation logic assertion"},
-{"id": 1343,
-"keyword": "shallowly embed"},
-{"id": 1344,
-"keyword": "specially well-"},
-{"id": 1345,
-"keyword": "random systems"},
-{"id": 1346,
-"keyword": "perron ndash"},
-{"id": 1347,
-"keyword": "unified approximation order"},
-{"id": 1348,
-"keyword": "structures"},
-{"id": 1349,
-=======
-{"id": 1334,
-"keyword": "rank nullity theorem entry"},
-{"id": 1335,
-"keyword": "pairwise commuting matrices"},
-{"id": 1336,
-"keyword": "requires precise statements"},
-{"id": 1337,
-"keyword": "linear size"},
-{"id": 1338,
-"keyword": "bird tree"},
-{"id": 1339,
-"keyword": "series consisting"},
-{"id": 1340,
-"keyword": "pdf"},
-{"id": 1341,
-"keyword": "standard arithmetic"},
-{"id": 1342,
-"keyword": "executable function eval"},
-{"id": 1343,
-"keyword": "extensible record package"},
-{"id": 1344,
-"keyword": "data secrecy"},
-{"id": 1345,
-"keyword": "model checking"},
-{"id": 1346,
-"keyword": "publication tphols 2009"},
-{"id": 1347,
+{"id": 1353,
"keyword": "additional control flow analysis"},
-{"id": 1348,
-"keyword": "hermite-lindemann-weierstra theorem"},
-{"id": 1349,
-"keyword": "ocl type system"},
-{"id": 1350,
-"keyword": "x_1 exists"},
-{"id": 1351,
-"keyword": "formalization consists"},
-{"id": 1352,
-"keyword": "modal relational type theory"},
-{"id": 1353,
-"keyword": "significant gain"},
{"id": 1354,
-"keyword": "separation logic assertion"},
-{"id": 1355,
-"keyword": "shallowly embed"},
-{"id": 1356,
-"keyword": "specially well-"},
-{"id": 1357,
-"keyword": "random systems"},
-{"id": 1358,
-"keyword": "perron ndash"},
-{"id": 1359,
-"keyword": "unified approximation order"},
-{"id": 1360,
-"keyword": "structures"},
-{"id": 1361,
->>>>>>> merge rev
-"keyword": "building high-performance multiprocessor software"},
-<<<<<<< working copy
-{"id": 1346,
-||||||| common ancestor
-{"id": 1350,
-=======
-{"id": 1362,
->>>>>>> merge rev
-"keyword": "foundational assumptions"},
-<<<<<<< working copy
-{"id": 1347,
-||||||| common ancestor
-{"id": 1351,
-=======
-{"id": 1363,
->>>>>>> merge rev
-"keyword": "cute puzzles"},
-<<<<<<< working copy
-{"id": 1348,
-||||||| common ancestor
-{"id": 1352,
-=======
-{"id": 1364,
->>>>>>> merge rev
-"keyword": "relation algebras extended"},
-<<<<<<< working copy
-{"id": 1349,
-"keyword": "originally expressed"},
-{"id": 1350,
-"keyword": "frobenius theorem"},
-{"id": 1351,
-"keyword": "space complexity"},
-{"id": 1352,
-"keyword": "infinite series built"},
-{"id": 1353,
-"keyword": "previous algorithms"},
-{"id": 1354,
-"keyword": "abstract algorithm working"},
+"keyword": "hermite-lindemann-weierstra theorem"},
{"id": 1355,
-"keyword": "main premise"},
+"keyword": "ocl type system"},
{"id": 1356,
-"keyword": "deciding relative safety"},
+"keyword": "x_1 exists"},
{"id": 1357,
-"keyword": "spatially-separated views"},
+"keyword": "formalization consists"},
{"id": 1358,
-"keyword": "list update algorithms"},
+"keyword": "modal relational type theory"},
{"id": 1359,
-"keyword": "single nodes"},
+"keyword": "significant gain"},
{"id": 1360,
-"keyword": "fourier series"},
+"keyword": "separation logic assertion"},
{"id": 1361,
-"keyword": "file write"},
+"keyword": "shallowly embed"},
{"id": 1362,
-"keyword": "adapted versions"},
+"keyword": "specially well-"},
{"id": 1363,
-"keyword": "magic wand assertion"},
+"keyword": "random systems"},
{"id": 1364,
-"keyword": "adequacy proof"},
+"keyword": "perron ndash"},
{"id": 1365,
-"keyword": "sd-strategy- proofness"},
+"keyword": "unified approximation order"},
{"id": 1366,
-"keyword": "dual incidence systems"},
+"keyword": "structures"},
{"id": 1367,
-"keyword": "primitive pythagorean triples"},
+"keyword": "building high-performance multiprocessor software"},
{"id": 1368,
-"keyword": "akra-bazzi method based"},
+"keyword": "foundational assumptions"},
{"id": 1369,
-"keyword": "important properties"},
+"keyword": "cute puzzles"},
{"id": 1370,
-"keyword": "unique irreducible factors"},
-{"id": 1371,
-"keyword": "outgoing edges"},
-||||||| common ancestor
-{"id": 1353,
-"keyword": "originally expressed"},
-{"id": 1354,
-"keyword": "frobenius theorem"},
-{"id": 1355,
-"keyword": "space complexity"},
-{"id": 1356,
-"keyword": "infinite series built"},
-{"id": 1357,
-"keyword": "previous algorithms"},
-{"id": 1358,
-"keyword": "abstract algorithm working"},
-{"id": 1359,
-"keyword": "main premise"},
-{"id": 1360,
-"keyword": "deciding relative safety"},
-{"id": 1361,
-"keyword": "spatially-separated views"},
-{"id": 1362,
-"keyword": "list update algorithms"},
-{"id": 1363,
-"keyword": "single nodes"},
-{"id": 1364,
-"keyword": "fourier series"},
-{"id": 1365,
-"keyword": "file write"},
-{"id": 1366,
-"keyword": "adapted versions"},
-{"id": 1367,
-"keyword": "magic wand assertion"},
-{"id": 1368,
-"keyword": "adequacy proof"},
-{"id": 1369,
-"keyword": "sd-strategy- proofness"},
-{"id": 1370,
-"keyword": "dual incidence systems"},
+"keyword": "relation algebras extended"},
{"id": 1371,
-"keyword": "primitive pythagorean triples"},
-=======
-{"id": 1365,
"keyword": "originally expressed"},
-{"id": 1366,
+{"id": 1372,
"keyword": "frobenius theorem"},
-{"id": 1367,
-"keyword": "space complexity"},
-{"id": 1368,
-"keyword": "infinite series built"},
-{"id": 1369,
-"keyword": "previous algorithms"},
-{"id": 1370,
-"keyword": "abstract algorithm working"},
-{"id": 1371,
-"keyword": "main premise"},
->>>>>>> merge rev
-{"id": 1372,
-<<<<<<< working copy
-"keyword": "target imperative hol"},
-||||||| common ancestor
-"keyword": "akra-bazzi method based"},
-=======
-"keyword": "deciding relative safety"},
->>>>>>> merge rev
{"id": 1373,
-<<<<<<< working copy
-"keyword": "efficiently executable"},
-||||||| common ancestor
-"keyword": "important properties"},
-=======
-"keyword": "spatially-separated views"},
->>>>>>> merge rev
+"keyword": "space complexity"},
{"id": 1374,
-<<<<<<< working copy
-"keyword": "lifting operation"},
-||||||| common ancestor
-"keyword": "unique irreducible factors"},
-=======
-"keyword": "list update algorithms"},
->>>>>>> merge rev
+"keyword": "infinite series built"},
{"id": 1375,
-<<<<<<< working copy
-"keyword": "lens algebra"},
-||||||| common ancestor
-"keyword": "outgoing edges"},
-=======
-"keyword": "single nodes"},
->>>>>>> merge rev
+"keyword": "previous algorithms"},
{"id": 1376,
-<<<<<<< working copy
-"keyword": "agm operators"},
-||||||| common ancestor
-"keyword": "target imperative hol"},
-=======
-"keyword": "fourier series"},
->>>>>>> merge rev
+"keyword": "abstract algorithm working"},
{"id": 1377,
-<<<<<<< working copy
-"keyword": "book"},
-||||||| common ancestor
-"keyword": "efficiently executable"},
-=======
-"keyword": "file write"},
->>>>>>> merge rev
+"keyword": "main premise"},
{"id": 1378,
-<<<<<<< working copy
-"keyword": "behaviour structure"},
-||||||| common ancestor
-"keyword": "lifting operation"},
-=======
-"keyword": "adapted versions"},
->>>>>>> merge rev
+"keyword": "deciding relative safety"},
{"id": 1379,
-<<<<<<< working copy
-"keyword": "complete semantics"},
-||||||| common ancestor
-"keyword": "lens algebra"},
-=======
-"keyword": "magic wand assertion"},
->>>>>>> merge rev
+"keyword": "spatially-separated views"},
{"id": 1380,
-<<<<<<< working copy
-"keyword": "simple solution"},
-||||||| common ancestor
-"keyword": "agm operators"},
-=======
-"keyword": "adequacy proof"},
->>>>>>> merge rev
+"keyword": "list update algorithms"},
{"id": 1381,
-<<<<<<< working copy
-"keyword": "fixed-width machine words"},
-||||||| common ancestor
-"keyword": "book"},
-=======
-"keyword": "sd-strategy- proofness"},
->>>>>>> merge rev
+"keyword": "single nodes"},
{"id": 1382,
-<<<<<<< working copy
-"keyword": "thread creation"},
+"keyword": "fourier series"},
{"id": 1383,
-||||||| common ancestor
-"keyword": "behaviour structure"},
-{"id": 1383,
-"keyword": "complete semantics"},
+"keyword": "file write"},
{"id": 1384,
-"keyword": "simple solution"},
-{"id": 1385,
-"keyword": "fixed-width machine words"},
-{"id": 1386,
-"keyword": "thread creation"},
-{"id": 1387,
-=======
-"keyword": "dual incidence systems"},
-{"id": 1383,
-"keyword": "primitive pythagorean triples"},
-{"id": 1384,
-"keyword": "akra-bazzi method based"},
+"keyword": "adapted versions"},
{"id": 1385,
-"keyword": "important properties"},
+"keyword": "magic wand assertion"},
{"id": 1386,
-"keyword": "unique irreducible factors"},
+"keyword": "adequacy proof"},
{"id": 1387,
-"keyword": "outgoing edges"},
+"keyword": "sd-strategy- proofness"},
{"id": 1388,
-"keyword": "target imperative hol"},
+"keyword": "dual incidence systems"},
{"id": 1389,
-"keyword": "efficiently executable"},
+"keyword": "primitive pythagorean triples"},
{"id": 1390,
-"keyword": "lifting operation"},
+"keyword": "akra-bazzi method based"},
{"id": 1391,
-"keyword": "lens algebra"},
+"keyword": "important properties"},
{"id": 1392,
-"keyword": "agm operators"},
+"keyword": "unique irreducible factors"},
{"id": 1393,
-"keyword": "book"},
+"keyword": "outgoing edges"},
{"id": 1394,
-"keyword": "behaviour structure"},
+"keyword": "target imperative hol"},
{"id": 1395,
-"keyword": "complete semantics"},
+"keyword": "efficiently executable"},
{"id": 1396,
-"keyword": "simple solution"},
+"keyword": "lifting operation"},
{"id": 1397,
-"keyword": "fixed-width machine words"},
+"keyword": "lens algebra"},
{"id": 1398,
-"keyword": "thread creation"},
+"keyword": "agm operators"},
{"id": 1399,
->>>>>>> merge rev
-"keyword": "ip-route command"},
-<<<<<<< working copy
-{"id": 1384,
-||||||| common ancestor
-{"id": 1388,
-=======
+"keyword": "book"},
{"id": 1400,
->>>>>>> merge rev
-"keyword": "underlying libraries"},
-<<<<<<< working copy
-{"id": 1385,
-||||||| common ancestor
-{"id": 1389,
-=======
+"keyword": "behaviour structure"},
{"id": 1401,
->>>>>>> merge rev
-"keyword": "formally verified checkers"},
-<<<<<<< working copy
-{"id": 1386,
-||||||| common ancestor
-{"id": 1390,
-=======
+"keyword": "complete semantics"},
{"id": 1402,
->>>>>>> merge rev
-"keyword": "direct corollaries"},
-<<<<<<< working copy
-{"id": 1387,
-"keyword": "authors upcoming dissertation"},
-{"id": 1388,
-"keyword": "restrictive definition"},
-{"id": 1389,
-"keyword": "extensible design permits"},
-{"id": 1390,
-"keyword": "earlier afp entry"},
-{"id": 1391,
-"keyword": "automated proof tactics"},
-{"id": 1392,
-"keyword": "metatheoretical observation"},
-{"id": 1393,
-"keyword": "plane geometry"},
-{"id": 1394,
-"keyword": "finite trees"},
-{"id": 1395,
-"keyword": "wide design space"},
-{"id": 1396,
-"keyword": "hellip"},
-{"id": 1397,
-"keyword": "trace set inclusion"},
-{"id": 1398,
-"keyword": "alpern"},
-{"id": 1399,
-"keyword": "mathematical development presented"},
-{"id": 1400,
-"keyword": "formal version"},
-{"id": 1401,
-"keyword": "lambda-free recursive path orders"},
-{"id": 1402,
-"keyword": "concrete result"},
+"keyword": "simple solution"},
{"id": 1403,
-"keyword": "quantitative temporal constraints"},
+"keyword": "fixed-width machine words"},
{"id": 1404,
-"keyword": "formalization effort necessitated"},
+"keyword": "thread creation"},
{"id": 1405,
-"keyword": "stepwise program refinement"},
+"keyword": "ip-route command"},
{"id": 1406,
-"keyword": "theoretical computer science"},
+"keyword": "underlying libraries"},
{"id": 1407,
-"keyword": "sequential composition"},
-{"id": 1408,
-"keyword": "combinatorial auction"},
-{"id": 1409,
-"keyword": "1007 978-3-030-90138-7_2"},
-{"id": 1410,
-"keyword": "article builds"},
-{"id": 1411,
-"keyword": "paraconsistent logic avoids"},
-{"id": 1412,
-"keyword": "mixed-product property"},
-{"id": 1413,
-"keyword": "operator applications"},
-{"id": 1414,
-"keyword": "information whatsoever flows"},
-{"id": 1415,
-"keyword": "tla specifications"},
-{"id": 1416,
-"keyword": "security type system"},
-{"id": 1417,
-"keyword": "pide development environment"},
-{"id": 1418,
-"keyword": "entry vcg auctions"},
-{"id": 1419,
-"keyword": "locally control back-end settings"},
-||||||| common ancestor
-{"id": 1391,
-"keyword": "authors upcoming dissertation"},
-{"id": 1392,
-"keyword": "restrictive definition"},
-{"id": 1393,
-"keyword": "extensible design permits"},
-{"id": 1394,
-"keyword": "earlier afp entry"},
-{"id": 1395,
-"keyword": "automated proof tactics"},
-{"id": 1396,
-"keyword": "metatheoretical observation"},
-{"id": 1397,
-"keyword": "plane geometry"},
-{"id": 1398,
-"keyword": "finite trees"},
-{"id": 1399,
-"keyword": "wide design space"},
-{"id": 1400,
-"keyword": "hellip"},
-{"id": 1401,
-"keyword": "trace set inclusion"},
-{"id": 1402,
-"keyword": "alpern"},
-{"id": 1403,
-"keyword": "mathematical development presented"},
-{"id": 1404,
-"keyword": "formal version"},
-{"id": 1405,
-"keyword": "lambda-free recursive path orders"},
-{"id": 1406,
-"keyword": "concrete result"},
-{"id": 1407,
-"keyword": "quantitative temporal constraints"},
+"keyword": "formally verified checkers"},
{"id": 1408,
-"keyword": "formalization effort necessitated"},
+"keyword": "direct corollaries"},
{"id": 1409,
-"keyword": "stepwise program refinement"},
+"keyword": "authors upcoming dissertation"},
{"id": 1410,
-"keyword": "theoretical computer science"},
+"keyword": "restrictive definition"},
{"id": 1411,
-"keyword": "sequential composition"},
+"keyword": "interactive program verification environment"},
{"id": 1412,
-"keyword": "combinatorial auction"},
-{"id": 1413,
-"keyword": "1007 978-3-030-90138-7_2"},
-{"id": 1414,
-"keyword": "posix matching algorithm"},
-{"id": 1415,
-"keyword": "article builds"},
-{"id": 1416,
-"keyword": "paraconsistent logic avoids"},
-{"id": 1417,
-"keyword": "mixed-product property"},
-{"id": 1418,
-"keyword": "operator applications"},
-{"id": 1419,
-"keyword": "information whatsoever flows"},
-=======
-{"id": 1403,
-"keyword": "authors upcoming dissertation"},
-{"id": 1404,
-"keyword": "restrictive definition"},
-{"id": 1405,
-"keyword": "interactive program verification environment"},
-{"id": 1406,
"keyword": "extensible design permits"},
-{"id": 1407,
+{"id": 1413,
"keyword": "earlier afp entry"},
-{"id": 1408,
+{"id": 1414,
"keyword": "automated proof tactics"},
-{"id": 1409,
-"keyword": "metatheoretical observation"},
-{"id": 1410,
-"keyword": "plane geometry"},
-{"id": 1411,
-"keyword": "finite trees"},
-{"id": 1412,
-"keyword": "wide design space"},
-{"id": 1413,
-"keyword": "hellip"},
-{"id": 1414,
-"keyword": "trace set inclusion"},
{"id": 1415,
-"keyword": "alpern"},
+"keyword": "metatheoretical observation"},
{"id": 1416,
-"keyword": "mathematical development presented"},
+"keyword": "plane geometry"},
{"id": 1417,
-"keyword": "formal version"},
+"keyword": "finite trees"},
{"id": 1418,
-"keyword": "lambda-free recursive path orders"},
+"keyword": "wide design space"},
{"id": 1419,
-"keyword": "concrete result"},
->>>>>>> merge rev
+"keyword": "hellip"},
{"id": 1420,
-<<<<<<< working copy
-"keyword": "bounded linear functions"},
-||||||| common ancestor
-"keyword": "tla specifications"},
-=======
-"keyword": "square complex matrix"},
->>>>>>> merge rev
+"keyword": "trace set inclusion"},
{"id": 1421,
-<<<<<<< working copy
-"keyword": "deliberately restrict"},
-||||||| common ancestor
-"keyword": "security type system"},
-=======
-"keyword": "quantitative temporal constraints"},
->>>>>>> merge rev
+"keyword": "alpern"},
{"id": 1422,
-<<<<<<< working copy
-"keyword": "sample main"},
-||||||| common ancestor
-"keyword": "pide development environment"},
-=======
-"keyword": "formalization effort necessitated"},
->>>>>>> merge rev
+"keyword": "mathematical development presented"},
{"id": 1423,
-<<<<<<< working copy
-"keyword": "construct proper generic extensions"},
-||||||| common ancestor
-"keyword": "entry vcg auctions"},
-=======
-"keyword": "stepwise program refinement"},
->>>>>>> merge rev
+"keyword": "formal version"},
{"id": 1424,
-<<<<<<< working copy
-"keyword": "reusable proof components"},
-||||||| common ancestor
-"keyword": "locally control back-end settings"},
-=======
-"keyword": "theoretical computer science"},
->>>>>>> merge rev
+"keyword": "lambda-free recursive path orders"},
{"id": 1425,
-<<<<<<< working copy
-"keyword": "deductive tools"},
-||||||| common ancestor
-"keyword": "bounded linear functions"},
-=======
-"keyword": "sequential composition"},
->>>>>>> merge rev
+"keyword": "concrete result"},
{"id": 1426,
-<<<<<<< working copy
-"keyword": "linearly ordered sets"},
-||||||| common ancestor
-"keyword": "deliberately restrict"},
-=======
-"keyword": "combinatorial auction"},
->>>>>>> merge rev
+"keyword": "square complex matrix"},
{"id": 1427,
-<<<<<<< working copy
-"keyword": "primal problem"},
-||||||| common ancestor
-"keyword": "sample main"},
-=======
-"keyword": "1007 978-3-030-90138-7_2"},
->>>>>>> merge rev
+"keyword": "quantitative temporal constraints"},
{"id": 1428,
-<<<<<<< working copy
-"keyword": "combine multiple methods"},
-||||||| common ancestor
-"keyword": "construct proper generic extensions"},
-=======
-"keyword": "posix matching algorithm"},
->>>>>>> merge rev
+"keyword": "formalization effort necessitated"},
{"id": 1429,
-<<<<<<< working copy
-"keyword": "model checkers"},
-||||||| common ancestor
-"keyword": "reusable proof components"},
-=======
+"keyword": "stepwise program refinement"},
+{"id": 1430,
+"keyword": "theoretical computer science"},
+{"id": 1431,
+"keyword": "sequential composition"},
+{"id": 1432,
+"keyword": "combinatorial auction"},
+{"id": 1433,
+"keyword": "1007 978-3-030-90138-7_2"},
+{"id": 1434,
"keyword": "article builds"},
->>>>>>> merge rev
-{"id": 1430,
-<<<<<<< working copy
-"keyword": "extract efficient code"},
-||||||| common ancestor
-"keyword": "deductive tools"},
-=======
+{"id": 1435,
"keyword": "paraconsistent logic avoids"},
->>>>>>> merge rev
-{"id": 1431,
-<<<<<<< working copy
-"keyword": "strips fragment"},
-{"id": 1432,
-"keyword": "surely produce"},
-{"id": 1433,
-"keyword": "presents interesting results"},
-{"id": 1434,
-"keyword": "intersecting chords theorem"},
-{"id": 1435,
-"keyword": "lift larger classes"},
{"id": 1436,
-"keyword": "entry"},
+"keyword": "mixed-product property"},
{"id": 1437,
-"keyword": "related rewrite rules"},
+"keyword": "operator applications"},
{"id": 1438,
-"keyword": "weaker statement contained"},
-||||||| common ancestor
-"keyword": "linearly ordered sets"},
-{"id": 1432,
-"keyword": "primal problem"},
-{"id": 1433,
-"keyword": "combine multiple methods"},
-{"id": 1434,
-"keyword": "extract efficient code"},
-{"id": 1435,
-"keyword": "strips fragment"},
-{"id": 1436,
-"keyword": "surely produce"},
-{"id": 1437,
-"keyword": "presents interesting results"},
-{"id": 1438,
-"keyword": "intersecting chords theorem"},
-=======
-"keyword": "mixed-product property"},
-{"id": 1432,
-"keyword": "operator applications"},
-{"id": 1433,
"keyword": "information whatsoever flows"},
-{"id": 1434,
+{"id": 1439,
"keyword": "tla specifications"},
-{"id": 1435,
-"keyword": "security type system"},
-{"id": 1436,
-"keyword": "pide development environment"},
-{"id": 1437,
-"keyword": "entry vcg auctions"},
-{"id": 1438,
-"keyword": "locally control back-end settings"},
->>>>>>> merge rev
-{"id": 1439,
-<<<<<<< working copy
-"keyword": "automate canonical tasks"},
-||||||| common ancestor
-"keyword": "lift larger classes"},
-=======
-"keyword": "bounded linear functions"},
->>>>>>> merge rev
{"id": 1440,
-<<<<<<< working copy
-"keyword": "perform update operations naively"},
-||||||| common ancestor
-"keyword": "entry"},
-=======
-"keyword": "deliberately restrict"},
->>>>>>> merge rev
+"keyword": "security type system"},
{"id": 1441,
-<<<<<<< working copy
-"keyword": "usual redundancy elimination rules"},
-||||||| common ancestor
-"keyword": "related rewrite rules"},
-=======
-"keyword": "sample main"},
->>>>>>> merge rev
+"keyword": "pide development environment"},
{"id": 1442,
-<<<<<<< working copy
-"keyword": "present"},
-||||||| common ancestor
-"keyword": "weaker statement contained"},
-=======
-"keyword": "construct proper generic extensions"},
->>>>>>> merge rev
+"keyword": "entry vcg auctions"},
{"id": 1443,
-<<<<<<< working copy
-"keyword": "pairwise comparison"},
+"keyword": "locally control back-end settings"},
{"id": 1444,
-"keyword": "compositional algorithm"},
+"keyword": "bounded linear functions"},
{"id": 1445,
-"keyword": "inconsistent bounds"},
+"keyword": "deliberately restrict"},
{"id": 1446,
-"keyword": "symmetric polynomial combination"},
+"keyword": "sample main"},
{"id": 1447,
-"keyword": "conjectured relation"},
+"keyword": "construct proper generic extensions"},
{"id": 1448,
-"keyword": "expression typing rules"},
+"keyword": "reusable proof components"},
{"id": 1449,
-"keyword": "csp noninterference security stated"},
+"keyword": "deductive tools"},
{"id": 1450,
-"keyword": "avoiding quantification"},
+"keyword": "linearly ordered sets"},
{"id": 1451,
-"keyword": "varepsilon 0"},
+"keyword": "primal problem"},
{"id": 1452,
-"keyword": "purposefully incomplete"},
+"keyword": "combine multiple methods"},
{"id": 1453,
-"keyword": "combinatorial proof requires construction"},
+"keyword": "model checkers"},
{"id": 1454,
-"keyword": "adam betts"},
+"keyword": "extract efficient code"},
{"id": 1455,
-"keyword": "real-normed fields"},
+"keyword": "strips fragment"},
{"id": 1456,
-"keyword": "algebraic structure"},
+"keyword": "surely produce"},
{"id": 1457,
-"keyword": "unlike treaps"},
+"keyword": "presents interesting results"},
{"id": 1458,
-"keyword": "lemma statements"},
+"keyword": "intersecting chords theorem"},
{"id": 1459,
-"keyword": "sorted linked lists enhanced"},
+"keyword": "lift larger classes"},
{"id": 1460,
-"keyword": "uniformly bounded"},
+"keyword": "entry"},
{"id": 1461,
-"keyword": "compiler correctness"},
+"keyword": "related rewrite rules"},
{"id": 1462,
-"keyword": "small step semantics"},
+"keyword": "weaker statement contained"},
{"id": 1463,
-"keyword": "alexander birch jensen"},
+"keyword": "automate canonical tasks"},
{"id": 1464,
-"keyword": "mathematical theories"},
+"keyword": "perform update operations naively"},
{"id": 1465,
-"keyword": "failure divergence model"},
+"keyword": "usual redundancy elimination rules"},
{"id": 1466,
-"keyword": "bnfcc theory"},
-{"id": 1467,
-"keyword": "diagonal functors"},
-||||||| common ancestor
-"keyword": "automate canonical tasks"},
-{"id": 1444,
-"keyword": "perform update operations naively"},
-{"id": 1445,
-"keyword": "usual redundancy elimination rules"},
-{"id": 1446,
"keyword": "present"},
-{"id": 1447,
-"keyword": "pairwise comparison"},
-{"id": 1448,
-"keyword": "compositional algorithm"},
-{"id": 1449,
-"keyword": "inconsistent bounds"},
-{"id": 1450,
-"keyword": "symmetric polynomial combination"},
-{"id": 1451,
-"keyword": "conjectured relation"},
-{"id": 1452,
-"keyword": "expression typing rules"},
-{"id": 1453,
-"keyword": "csp noninterference security stated"},
-{"id": 1454,
-"keyword": "avoiding quantification"},
-{"id": 1455,
-"keyword": "varepsilon 0"},
-{"id": 1456,
-"keyword": "purposefully incomplete"},
-{"id": 1457,
-"keyword": "combinatorial proof requires construction"},
-{"id": 1458,
-"keyword": "adam betts"},
-{"id": 1459,
-"keyword": "real-normed fields"},
-{"id": 1460,
-"keyword": "algebraic structure"},
-{"id": 1461,
-"keyword": "unlike treaps"},
-{"id": 1462,
-"keyword": "lemma statements"},
-{"id": 1463,
-"keyword": "sorted linked lists enhanced"},
-{"id": 1464,
-"keyword": "uniformly bounded"},
-{"id": 1465,
-"keyword": "compiler correctness"},
-{"id": 1466,
-"keyword": "small step semantics"},
{"id": 1467,
-"keyword": "alexander birch jensen"},
-=======
-"keyword": "reusable proof components"},
-{"id": 1444,
-"keyword": "deductive tools"},
-{"id": 1445,
-"keyword": "linearly ordered sets"},
-{"id": 1446,
-"keyword": "primal problem"},
-{"id": 1447,
-"keyword": "combine multiple methods"},
-{"id": 1448,
-"keyword": "extract efficient code"},
-{"id": 1449,
-"keyword": "strips fragment"},
-{"id": 1450,
-"keyword": "surely produce"},
-{"id": 1451,
-"keyword": "presents interesting results"},
-{"id": 1452,
-"keyword": "intersecting chords theorem"},
-{"id": 1453,
-"keyword": "lift larger classes"},
-{"id": 1454,
-"keyword": "entry"},
-{"id": 1455,
-"keyword": "related rewrite rules"},
-{"id": 1456,
-"keyword": "weaker statement contained"},
-{"id": 1457,
-"keyword": "automate canonical tasks"},
-{"id": 1458,
-"keyword": "perform update operations naively"},
-{"id": 1459,
-"keyword": "usual redundancy elimination rules"},
-{"id": 1460,
-"keyword": "present"},
-{"id": 1461,
"keyword": "pairwise comparison"},
-{"id": 1462,
+{"id": 1468,
"keyword": "compositional algorithm"},
-{"id": 1463,
-"keyword": "inconsistent bounds"},
-{"id": 1464,
-"keyword": "symmetric polynomial combination"},
-{"id": 1465,
-"keyword": "conjectured relation"},
-{"id": 1466,
-"keyword": "expression typing rules"},
-{"id": 1467,
-"keyword": "csp noninterference security stated"},
->>>>>>> merge rev
-{"id": 1468,
-<<<<<<< working copy
-"keyword": "partial synchrony"},
-||||||| common ancestor
-"keyword": "mathematical theories"},
-=======
-"keyword": "avoiding quantification"},
->>>>>>> merge rev
{"id": 1469,
-<<<<<<< working copy
-"keyword": "preserves semantics"},
-||||||| common ancestor
-"keyword": "failure divergence model"},
-=======
-"keyword": "varepsilon 0"},
->>>>>>> merge rev
+"keyword": "inconsistent bounds"},
{"id": 1470,
-<<<<<<< working copy
-"keyword": "obtain dynamic programming algorithms"},
-||||||| common ancestor
-"keyword": "bnfcc theory"},
-=======
-"keyword": "purposefully incomplete"},
->>>>>>> merge rev
+"keyword": "symmetric polynomial combination"},
{"id": 1471,
-<<<<<<< working copy
-"keyword": "refine system specifications"},
-||||||| common ancestor
-"keyword": "diagonal functors"},
-=======
-"keyword": "combinatorial proof requires construction"},
->>>>>>> merge rev
+"keyword": "conjectured relation"},
{"id": 1472,
-<<<<<<< working copy
-"keyword": "process crashes"},
-||||||| common ancestor
-"keyword": "partial synchrony"},
-=======
-"keyword": "adam betts"},
->>>>>>> merge rev
+"keyword": "expression typing rules"},
{"id": 1473,
-<<<<<<< working copy
-"keyword": "algorithm multiple times independently"},
-||||||| common ancestor
-"keyword": "preserves semantics"},
-=======
-"keyword": "real-normed fields"},
->>>>>>> merge rev
+"keyword": "csp noninterference security stated"},
{"id": 1474,
-<<<<<<< working copy
-"keyword": "diagonal-free timed automata"},
-||||||| common ancestor
-"keyword": "obtain dynamic programming algorithms"},
-=======
-"keyword": "algebraic structure"},
->>>>>>> merge rev
+"keyword": "avoiding quantification"},
{"id": 1475,
-<<<<<<< working copy
-"keyword": "-free higher-order terms"},
-||||||| common ancestor
-"keyword": "refine system specifications"},
-=======
-"keyword": "unlike treaps"},
->>>>>>> merge rev
+"keyword": "varepsilon 0"},
{"id": 1476,
-<<<<<<< working copy
-"keyword": "generic imperative algorithms"},
-||||||| common ancestor
-"keyword": "process crashes"},
-=======
-"keyword": "lemma statements"},
->>>>>>> merge rev
+"keyword": "purposefully incomplete"},
{"id": 1477,
-<<<<<<< working copy
-"keyword": "gromov hyperbolic"},
-||||||| common ancestor
-"keyword": "algorithm multiple times independently"},
-=======
-"keyword": "sorted linked lists enhanced"},
->>>>>>> merge rev
+"keyword": "combinatorial proof requires construction"},
{"id": 1478,
-<<<<<<< working copy
-"keyword": "imaginary part"},
-||||||| common ancestor
-"keyword": "diagonal-free timed automata"},
-=======
-"keyword": "uniformly bounded"},
->>>>>>> merge rev
+"keyword": "adam betts"},
{"id": 1479,
-<<<<<<< working copy
-"keyword": "artificial general intelligence"},
+"keyword": "real-normed fields"},
{"id": 1480,
-||||||| common ancestor
-"keyword": "-free higher-order terms"},
-{"id": 1480,
-"keyword": "generic imperative algorithms"},
+"keyword": "algebraic structure"},
{"id": 1481,
-"keyword": "gromov hyperbolic"},
+"keyword": "unlike treaps"},
{"id": 1482,
-"keyword": "imaginary part"},
+"keyword": "lemma statements"},
{"id": 1483,
-"keyword": "artificial general intelligence"},
-{"id": 1484,
-=======
-"keyword": "compiler correctness"},
-{"id": 1480,
-"keyword": "small step semantics"},
-{"id": 1481,
-"keyword": "alexander birch jensen"},
-{"id": 1482,
-"keyword": "mathematical theories"},
-{"id": 1483,
-"keyword": "failure divergence model"},
-{"id": 1484,
-"keyword": "bnfcc theory"},
-{"id": 1485,
-"keyword": "diagonal functors"},
-{"id": 1486,
-"keyword": "partial synchrony"},
-{"id": 1487,
-"keyword": "preserves semantics"},
-{"id": 1488,
-"keyword": "obtain dynamic programming algorithms"},
-{"id": 1489,
-"keyword": "refine system specifications"},
-{"id": 1490,
-"keyword": "process crashes"},
-{"id": 1491,
-"keyword": "algorithm multiple times independently"},
-{"id": 1492,
-"keyword": "diagonal-free timed automata"},
-{"id": 1493,
-"keyword": "-free higher-order terms"},
-{"id": 1494,
-"keyword": "generic imperative algorithms"},
-{"id": 1495,
-"keyword": "gromov hyperbolic"},
-{"id": 1496,
-"keyword": "imaginary part"},
-{"id": 1497,
-"keyword": "artificial general intelligence"},
-{"id": 1498,
->>>>>>> merge rev
-"keyword": "coreutils sha256 implementation"},
-<<<<<<< working copy
-{"id": 1481,
-||||||| common ancestor
-{"id": 1485,
-=======
-{"id": 1499,
->>>>>>> merge rev
-"keyword": "traditional formalisations"},
-<<<<<<< working copy
-{"id": 1482,
-||||||| common ancestor
-{"id": 1486,
-=======
-{"id": 1500,
->>>>>>> merge rev
-"keyword": "floating-point operations"},
-<<<<<<< working copy
-{"id": 1483,
-||||||| common ancestor
-{"id": 1487,
-=======
-{"id": 1501,
->>>>>>> merge rev
-"keyword": "landau expressions"},
-<<<<<<< working copy
+"keyword": "sorted linked lists enhanced"},
{"id": 1484,
-||||||| common ancestor
-{"id": 1488,
-=======
-{"id": 1502,
->>>>>>> merge rev
-"keyword": "asymptotic relation"},
-<<<<<<< working copy
+"keyword": "uniformly bounded"},
{"id": 1485,
-||||||| common ancestor
-{"id": 1489,
-=======
-{"id": 1503,
->>>>>>> merge rev
-"keyword": "lebesgue measure"},
-<<<<<<< working copy
+"keyword": "compiler correctness"},
{"id": 1486,
-||||||| common ancestor
-{"id": 1490,
-=======
-{"id": 1504,
->>>>>>> merge rev
-"keyword": "original design based"},
-<<<<<<< working copy
+"keyword": "small step semantics"},
{"id": 1487,
-||||||| common ancestor
-{"id": 1491,
-=======
-{"id": 1505,
->>>>>>> merge rev
-"keyword": "document root"},
-<<<<<<< working copy
+"keyword": "alexander birch jensen"},
{"id": 1488,
-||||||| common ancestor
-{"id": 1492,
-=======
-{"id": 1506,
->>>>>>> merge rev
-"keyword": "solve automatically"},
-<<<<<<< working copy
+"keyword": "mathematical theories"},
{"id": 1489,
-||||||| common ancestor
-{"id": 1493,
-=======
-{"id": 1507,
->>>>>>> merge rev
-"keyword": "trick"},
-<<<<<<< working copy
+"keyword": "failure divergence model"},
{"id": 1490,
-||||||| common ancestor
-{"id": 1494,
-=======
-{"id": 1508,
->>>>>>> merge rev
-"keyword": "weight-balanced trees"},
-<<<<<<< working copy
+"keyword": "bnfcc theory"},
{"id": 1491,
-||||||| common ancestor
+"keyword": "diagonal functors"},
+{"id": 1492,
+"keyword": "partial synchrony"},
+{"id": 1493,
+"keyword": "preserves semantics"},
+{"id": 1494,
+"keyword": "obtain dynamic programming algorithms"},
{"id": 1495,
-=======
+"keyword": "refine system specifications"},
+{"id": 1496,
+"keyword": "process crashes"},
+{"id": 1497,
+"keyword": "algorithm multiple times independently"},
+{"id": 1498,
+"keyword": "diagonal-free timed automata"},
+{"id": 1499,
+"keyword": "-free higher-order terms"},
+{"id": 1500,
+"keyword": "generic imperative algorithms"},
+{"id": 1501,
+"keyword": "gromov hyperbolic"},
+{"id": 1502,
+"keyword": "imaginary part"},
+{"id": 1503,
+"keyword": "artificial general intelligence"},
+{"id": 1504,
+"keyword": "coreutils sha256 implementation"},
+{"id": 1505,
+"keyword": "traditional formalisations"},
+{"id": 1506,
+"keyword": "floating-point operations"},
+{"id": 1507,
+"keyword": "landau expressions"},
+{"id": 1508,
+"keyword": "asymptotic relation"},
{"id": 1509,
->>>>>>> merge rev
-"keyword": "development forms"},
-<<<<<<< working copy
-{"id": 1492,
-||||||| common ancestor
-{"id": 1496,
-=======
+"keyword": "lebesgue measure"},
{"id": 1510,
->>>>>>> merge rev
+"keyword": "original design based"},
+{"id": 1511,
+"keyword": "document root"},
+{"id": 1512,
+"keyword": "solve automatically"},
+{"id": 1513,
+"keyword": "trick"},
+{"id": 1514,
+"keyword": "weight-balanced trees"},
+{"id": 1515,
+"keyword": "development forms"},
+{"id": 1516,
"keyword": "earlier version"},
-<<<<<<< working copy
-{"id": 1493,
+{"id": 1517,
"keyword": "afp entries goedel_hfset_semantic"},
-{"id": 1494,
-"keyword": "fairly obvious properties"},
-{"id": 1495,
-"keyword": "parigots -calculus"},
-{"id": 1496,
-"keyword": "construct real exponents"},
-{"id": 1497,
-"keyword": "nicta l4v"},
-{"id": 1498,
-"keyword": "fully canceled words"},
-{"id": 1499,
-"keyword": "concrete syntax"},
-{"id": 1500,
-"keyword": "standard two-phase slicer"},
-{"id": 1501,
-"keyword": "simple executable algorithms"},
-{"id": 1502,
-"keyword": "unbounded nondeterminism"},
-{"id": 1503,
-"keyword": "a-priori bound"},
-{"id": 1504,
-"keyword": "single partial binary operation"},
-{"id": 1505,
-"keyword": "hol definitions"},
-{"id": 1506,
-"keyword": "atomic elements"},
-{"id": 1507,
-"keyword": "linear equations"},
-{"id": 1508,
-||||||| common ancestor
-{"id": 1497,
-"keyword": "afp entries goedel_hfset_semantic"},
-{"id": 1498,
-"keyword": "fairly obvious properties"},
-{"id": 1499,
-"keyword": "parigots -calculus"},
-{"id": 1500,
-"keyword": "construct real exponents"},
-{"id": 1501,
-"keyword": "nicta l4v"},
-{"id": 1502,
-"keyword": "fully canceled words"},
-{"id": 1503,
-"keyword": "concrete syntax"},
-{"id": 1504,
-"keyword": "standard two-phase slicer"},
-{"id": 1505,
-"keyword": "simple executable algorithms"},
-{"id": 1506,
-"keyword": "unbounded nondeterminism"},
-{"id": 1507,
-"keyword": "a-priori bound"},
-{"id": 1508,
-"keyword": "single partial binary operation"},
-{"id": 1509,
-"keyword": "hol definitions"},
-{"id": 1510,
-"keyword": "atomic elements"},
-{"id": 1511,
-"keyword": "linear equations"},
-{"id": 1512,
-=======
-{"id": 1511,
-"keyword": "afp entries goedel_hfset_semantic"},
-{"id": 1512,
+{"id": 1518,
"keyword": "fairly obvious properties"},
-{"id": 1513,
+{"id": 1519,
"keyword": "parigots -calculus"},
-{"id": 1514,
-"keyword": "construct real exponents"},
-{"id": 1515,
-"keyword": "nicta l4v"},
-{"id": 1516,
-"keyword": "fully canceled words"},
-{"id": 1517,
-"keyword": "concrete syntax"},
-{"id": 1518,
-"keyword": "standard two-phase slicer"},
-{"id": 1519,
-"keyword": "simple executable algorithms"},
{"id": 1520,
-"keyword": "unbounded nondeterminism"},
-{"id": 1521,
-"keyword": "a-priori bound"},
-{"id": 1522,
-"keyword": "single partial binary operation"},
-{"id": 1523,
-"keyword": "hol definitions"},
-{"id": 1524,
-"keyword": "atomic elements"},
-{"id": 1525,
-"keyword": "linear equations"},
-{"id": 1526,
->>>>>>> merge rev
-"keyword": "group_add class"},
-<<<<<<< working copy
-{"id": 1509,
-||||||| common ancestor
-{"id": 1513,
-=======
-{"id": 1527,
->>>>>>> merge rev
-"keyword": "formalizing game-based proofs"},
-<<<<<<< working copy
-{"id": 1510,
-||||||| common ancestor
-{"id": 1514,
-=======
-{"id": 1528,
->>>>>>> merge rev
-"keyword": "analytic function"},
-<<<<<<< working copy
-{"id": 1511,
-"keyword": "previous afp entry"},
-{"id": 1512,
-"keyword": "solving equations"},
-{"id": 1513,
-"keyword": "random binary search trees"},
-{"id": 1514,
-"keyword": "presents experimental results"},
-{"id": 1515,
-"keyword": "invariance"},
-{"id": 1516,
-"keyword": "abstract data type"},
-{"id": 1517,
-"keyword": "replicated data"},
-{"id": 1518,
-"keyword": "square roots"},
-{"id": 1519,
-"keyword": "stuttering sampling functions"},
-{"id": 1520,
-"keyword": "poincar disc model development"},
+"keyword": "construct real exponents"},
{"id": 1521,
-"keyword": "concurrent operations"},
+"keyword": "nicta l4v"},
{"id": 1522,
-"keyword": "immensely helpful"},
+"keyword": "fully canceled words"},
{"id": 1523,
-"keyword": "intrinsic properties"},
+"keyword": "concrete syntax"},
{"id": 1524,
-"keyword": "category theory written"},
+"keyword": "standard two-phase slicer"},
{"id": 1525,
-"keyword": "high-level type systems"},
+"keyword": "simple executable algorithms"},
{"id": 1526,
-"keyword": "schur decomposition"},
+"keyword": "unbounded nondeterminism"},
{"id": 1527,
-"keyword": "stuttering"},
+"keyword": "a-priori bound"},
{"id": 1528,
-"keyword": "language theory"},
+"keyword": "single partial binary operation"},
{"id": 1529,
-"keyword": "smt proof"},
+"keyword": "hol definitions"},
{"id": 1530,
-"keyword": "permission amounts held"},
+"keyword": "atomic elements"},
{"id": 1531,
-"keyword": "fourth sylow theorems"},
+"keyword": "linear equations"},
{"id": 1532,
-"keyword": "single infinite point"},
+"keyword": "group_add class"},
{"id": 1533,
-"keyword": "intuitive arguments found"},
+"keyword": "formalizing game-based proofs"},
{"id": 1534,
-"keyword": "defensive jinja virtual machine"},
-||||||| common ancestor
-{"id": 1515,
-"keyword": "previous afp entry"},
-{"id": 1516,
-"keyword": "solving equations"},
-{"id": 1517,
-"keyword": "random binary search trees"},
-{"id": 1518,
-"keyword": "presents experimental results"},
-{"id": 1519,
-"keyword": "invariance"},
-{"id": 1520,
-"keyword": "abstract data type"},
-{"id": 1521,
-"keyword": "replicated data"},
-{"id": 1522,
-"keyword": "square roots"},
-{"id": 1523,
-"keyword": "stuttering sampling functions"},
-{"id": 1524,
-"keyword": "poincar disc model development"},
-{"id": 1525,
-"keyword": "concurrent operations"},
-{"id": 1526,
-"keyword": "immensely helpful"},
-{"id": 1527,
-"keyword": "intrinsic properties"},
-{"id": 1528,
-"keyword": "category theory written"},
-{"id": 1529,
-"keyword": "high-level type systems"},
-{"id": 1530,
-"keyword": "schur decomposition"},
-{"id": 1531,
-"keyword": "stuttering"},
-{"id": 1532,
-"keyword": "language theory"},
-{"id": 1533,
-"keyword": "smt proof"},
-{"id": 1534,
-"keyword": "permission amounts held"},
-=======
-{"id": 1529,
+"keyword": "analytic function"},
+{"id": 1535,
"keyword": "previous afp entry"},
-{"id": 1530,
+{"id": 1536,
"keyword": "solving equations"},
-{"id": 1531,
-"keyword": "random binary search trees"},
-{"id": 1532,
-"keyword": "presents experimental results"},
-{"id": 1533,
-"keyword": "invariance"},
-{"id": 1534,
-"keyword": "abstract data type"},
->>>>>>> merge rev
-{"id": 1535,
-<<<<<<< working copy
-"keyword": "type class"},
-||||||| common ancestor
-"keyword": "fourth sylow theorems"},
-=======
-"keyword": "replicated data"},
->>>>>>> merge rev
-{"id": 1536,
-<<<<<<< working copy
-"keyword": "twelve bijections"},
-||||||| common ancestor
-"keyword": "single infinite point"},
-=======
-"keyword": "square roots"},
->>>>>>> merge rev
{"id": 1537,
-<<<<<<< working copy
-"keyword": "torino group"},
-||||||| common ancestor
-"keyword": "intuitive arguments found"},
-=======
-"keyword": "stuttering sampling functions"},
->>>>>>> merge rev
+"keyword": "random binary search trees"},
{"id": 1538,
-<<<<<<< working copy
-"keyword": "semantic embedding"},
-||||||| common ancestor
-"keyword": "defensive jinja virtual machine"},
-=======
-"keyword": "poincar disc model development"},
->>>>>>> merge rev
+"keyword": "presents experimental results"},
{"id": 1539,
-<<<<<<< working copy
-"keyword": "previous theorem"},
-||||||| common ancestor
-"keyword": "type class"},
-=======
-"keyword": "concurrent operations"},
->>>>>>> merge rev
+"keyword": "invariance"},
{"id": 1540,
-<<<<<<< working copy
-"keyword": "digit shifts"},
-||||||| common ancestor
-"keyword": "twelve bijections"},
-=======
-"keyword": "immensely helpful"},
->>>>>>> merge rev
+"keyword": "abstract data type"},
{"id": 1541,
-<<<<<<< working copy
-"keyword": "cardinality"},
-||||||| common ancestor
-"keyword": "torino group"},
-=======
-"keyword": "intrinsic properties"},
->>>>>>> merge rev
+"keyword": "replicated data"},
{"id": 1542,
-<<<<<<< working copy
-"keyword": "polynomial factorisation algorithms ndash"},
-||||||| common ancestor
-"keyword": "semantic embedding"},
-=======
-"keyword": "category theory written"},
->>>>>>> merge rev
+"keyword": "square roots"},
{"id": 1543,
-<<<<<<< working copy
-"keyword": "protocol analysis"},
-||||||| common ancestor
-"keyword": "previous theorem"},
-=======
-"keyword": "high-level type systems"},
->>>>>>> merge rev
+"keyword": "stuttering sampling functions"},
{"id": 1544,
-<<<<<<< working copy
-"keyword": "earlier joint work"},
-||||||| common ancestor
-"keyword": "digit shifts"},
-=======
-"keyword": "schur decomposition"},
->>>>>>> merge rev
+"keyword": "poincar disc model development"},
{"id": 1545,
-<<<<<<< working copy
-"keyword": "polynomial rings"},
+"keyword": "concurrent operations"},
{"id": 1546,
-||||||| common ancestor
-"keyword": "cardinality"},
-{"id": 1546,
-"keyword": "polynomial factorisation algorithms ndash"},
+"keyword": "immensely helpful"},
{"id": 1547,
-"keyword": "protocol analysis"},
+"keyword": "intrinsic properties"},
{"id": 1548,
-"keyword": "earlier joint work"},
+"keyword": "category theory written"},
{"id": 1549,
-"keyword": "polynomial rings"},
+"keyword": "high-level type systems"},
{"id": 1550,
-=======
+"keyword": "schur decomposition"},
+{"id": 1551,
"keyword": "stuttering"},
-{"id": 1546,
+{"id": 1552,
"keyword": "language theory"},
-{"id": 1547,
+{"id": 1553,
"keyword": "smt proof"},
-{"id": 1548,
+{"id": 1554,
"keyword": "permission amounts held"},
-{"id": 1549,
+{"id": 1555,
"keyword": "fourth sylow theorems"},
-{"id": 1550,
+{"id": 1556,
"keyword": "single infinite point"},
-{"id": 1551,
+{"id": 1557,
"keyword": "intuitive arguments found"},
-{"id": 1552,
+{"id": 1558,
"keyword": "defensive jinja virtual machine"},
-{"id": 1553,
+{"id": 1559,
"keyword": "type class"},
-{"id": 1554,
+{"id": 1560,
"keyword": "twelve bijections"},
-{"id": 1555,
-"keyword": "torino group"},
-{"id": 1556,
-"keyword": "semantic embedding"},
-{"id": 1557,
-"keyword": "previous theorem"},
-{"id": 1558,
-"keyword": "digit shifts"},
-{"id": 1559,
-"keyword": "cardinality"},
-{"id": 1560,
-"keyword": "polynomial factorisation algorithms ndash"},
{"id": 1561,
-"keyword": "protocol analysis"},
+"keyword": "torino group"},
{"id": 1562,
-"keyword": "earlier joint work"},
+"keyword": "semantic embedding"},
{"id": 1563,
-"keyword": "polynomial rings"},
+"keyword": "previous theorem"},
{"id": 1564,
->>>>>>> merge rev
-"keyword": "operational rules"},
-<<<<<<< working copy
-{"id": 1547,
-||||||| common ancestor
-{"id": 1551,
-=======
+"keyword": "digit shifts"},
{"id": 1565,
->>>>>>> merge rev
-"keyword": "original compilation process"},
-<<<<<<< working copy
-{"id": 1548,
-||||||| common ancestor
-{"id": 1552,
-=======
+"keyword": "cardinality"},
{"id": 1566,
->>>>>>> merge rev
-"keyword": "specification language"},
-<<<<<<< working copy
-{"id": 1549,
-||||||| common ancestor
-{"id": 1553,
-=======
-{"id": 1567,
->>>>>>> merge rev
-"keyword": "maximally consistent sets"},
-<<<<<<< working copy
-{"id": 1550,
-"keyword": "von-neumann-morgenstern utility theorem"},
-{"id": 1551,
-"keyword": "tarski-seidenberg theorem established"},
-{"id": 1552,
-"keyword": "streamlining formal definitions"},
-{"id": 1553,
-"keyword": "interest rates"},
-{"id": 1554,
-"keyword": "exhibit core features"},
-{"id": 1555,
-"keyword": "right-hand side"},
-{"id": 1556,
-"keyword": "calculating operators"},
-{"id": 1557,
-"keyword": "generated code implements"},
-{"id": 1558,
-"keyword": "automatic instantiation"},
-{"id": 1559,
-"keyword": "skew heaps"},
-{"id": 1560,
-"keyword": "completely remove tedious proofs"},
-{"id": 1561,
-"keyword": "session keys"},
-{"id": 1562,
-"keyword": "atkinson lemma"},
-{"id": 1563,
-"keyword": "additional theory"},
-{"id": 1564,
-"keyword": "boolos gave"},
-{"id": 1565,
-"keyword": "lemma based"},
-{"id": 1566,
-"keyword": "regular sets"},
+"keyword": "polynomial factorisation algorithms ndash"},
{"id": 1567,
-"keyword": "web components"},
+"keyword": "protocol analysis"},
{"id": 1568,
-"keyword": "stuart rankin"},
+"keyword": "earlier joint work"},
{"id": 1569,
-"keyword": "18th century"},
-||||||| common ancestor
-{"id": 1554,
-"keyword": "von-neumann-morgenstern utility theorem"},
-{"id": 1555,
-"keyword": "tarski-seidenberg theorem established"},
-{"id": 1556,
-"keyword": "streamlining formal definitions"},
-{"id": 1557,
-"keyword": "interest rates"},
-{"id": 1558,
-"keyword": "exhibit core features"},
-{"id": 1559,
-"keyword": "right-hand side"},
-{"id": 1560,
-"keyword": "calculating operators"},
-{"id": 1561,
-"keyword": "generated code implements"},
-{"id": 1562,
-"keyword": "automatic instantiation"},
-{"id": 1563,
-"keyword": "skew heaps"},
-{"id": 1564,
-"keyword": "completely remove tedious proofs"},
-{"id": 1565,
-"keyword": "session keys"},
-{"id": 1566,
-"keyword": "atkinson lemma"},
-{"id": 1567,
-"keyword": "additional theory"},
-{"id": 1568,
-"keyword": "boolos gave"},
-{"id": 1569,
-"keyword": "lemma based"},
-=======
-{"id": 1568,
-"keyword": "von-neumann-morgenstern utility theorem"},
-{"id": 1569,
-"keyword": "tarski-seidenberg theorem established"},
->>>>>>> merge rev
+"keyword": "polynomial rings"},
{"id": 1570,
-<<<<<<< working copy
-"keyword": "roots"},
-||||||| common ancestor
-"keyword": "regular sets"},
-=======
-"keyword": "streamlining formal definitions"},
->>>>>>> merge rev
+"keyword": "operational rules"},
{"id": 1571,
-<<<<<<< working copy
-"keyword": "style presented"},
-||||||| common ancestor
-"keyword": "web components"},
-=======
-"keyword": "interest rates"},
->>>>>>> merge rev
+"keyword": "original compilation process"},
{"id": 1572,
-<<<<<<< working copy
-"keyword": "complementing previous encodings"},
-||||||| common ancestor
-"keyword": "stuart rankin"},
-=======
-"keyword": "exhibit core features"},
->>>>>>> merge rev
+"keyword": "specification language"},
{"id": 1573,
-<<<<<<< working copy
-"keyword": "hoc fashion"},
-||||||| common ancestor
-"keyword": "18th century"},
-=======
+"keyword": "maximally consistent sets"},
+{"id": 1574,
+"keyword": "von-neumann-morgenstern utility theorem"},
+{"id": 1575,
+"keyword": "tarski-seidenberg theorem established"},
+{"id": 1576,
+"keyword": "streamlining formal definitions"},
+{"id": 1577,
+"keyword": "interest rates"},
+{"id": 1578,
+"keyword": "exhibit core features"},
+{"id": 1579,
"keyword": "right-hand side"},
->>>>>>> merge rev
-{"id": 1574,
-<<<<<<< working copy
-"keyword": "algebraic number implementation"},
-||||||| common ancestor
-"keyword": "roots"},
-=======
+{"id": 1580,
"keyword": "calculating operators"},
->>>>>>> merge rev
-{"id": 1575,
-<<<<<<< working copy
-"keyword": "transcendence criteria"},
-{"id": 1576,
-"keyword": "exponential series"},
-{"id": 1577,
-"keyword": "finite dimensional vector space"},
-{"id": 1578,
-"keyword": "synthetic approach"},
-{"id": 1579,
-"keyword": "function calls"},
-{"id": 1580,
-"keyword": "hereditarily finite sets"},
{"id": 1581,
-"keyword": "free theorems"},
+"keyword": "generated code implements"},
{"id": 1582,
-"keyword": "stuttering equivalence"},
-||||||| common ancestor
-"keyword": "style presented"},
-{"id": 1576,
-"keyword": "complementing previous encodings"},
-{"id": 1577,
-"keyword": "hoc fashion"},
-{"id": 1578,
-"keyword": "algebraic number implementation"},
-{"id": 1579,
-"keyword": "transcendence criteria"},
-{"id": 1580,
-"keyword": "exponential series"},
-{"id": 1581,
-"keyword": "finite dimensional vector space"},
-{"id": 1582,
-"keyword": "synthetic approach"},
-=======
-"keyword": "generated code implements"},
-{"id": 1576,
"keyword": "automatic instantiation"},
-{"id": 1577,
-"keyword": "skew heaps"},
-{"id": 1578,
-"keyword": "completely remove tedious proofs"},
-{"id": 1579,
-"keyword": "session keys"},
-{"id": 1580,
-"keyword": "atkinson lemma"},
-{"id": 1581,
-"keyword": "additional theory"},
-{"id": 1582,
-"keyword": "boolos gave"},
->>>>>>> merge rev
{"id": 1583,
-<<<<<<< working copy
-"keyword": "predicate abstraction"},
-||||||| common ancestor
-"keyword": "function calls"},
-=======
-"keyword": "lemma based"},
->>>>>>> merge rev
+"keyword": "skew heaps"},
{"id": 1584,
-<<<<<<< working copy
-"keyword": "formula represent propositional formulas"},
-||||||| common ancestor
-"keyword": "hereditarily finite sets"},
-=======
-"keyword": "regular sets"},
->>>>>>> merge rev
+"keyword": "completely remove tedious proofs"},
{"id": 1585,
-<<<<<<< working copy
-"keyword": "preorder relations"},
-||||||| common ancestor
-"keyword": "free theorems"},
-=======
-"keyword": "web components"},
->>>>>>> merge rev
+"keyword": "session keys"},
{"id": 1586,
-<<<<<<< working copy
-"keyword": "bound variables"},
-||||||| common ancestor
-"keyword": "stuttering equivalence"},
-=======
-"keyword": "stuart rankin"},
->>>>>>> merge rev
+"keyword": "halting problem"},
{"id": 1587,
-<<<<<<< working copy
-"keyword": "first-order quantification"},
-||||||| common ancestor
-"keyword": "predicate abstraction"},
-=======
-"keyword": "18th century"},
->>>>>>> merge rev
+"keyword": "atkinson lemma"},
{"id": 1588,
-<<<<<<< working copy
-"keyword": "skew binomial heaps"},
-||||||| common ancestor
-"keyword": "formula represent propositional formulas"},
-=======
-"keyword": "roots"},
->>>>>>> merge rev
+"keyword": "additional theory"},
{"id": 1589,
-<<<<<<< working copy
-"keyword": "control operators"},
-||||||| common ancestor
-"keyword": "preorder relations"},
-=======
-"keyword": "style presented"},
->>>>>>> merge rev
+"keyword": "boolos gave"},
{"id": 1590,
-<<<<<<< working copy
-"keyword": "form construction algorithm"},
-||||||| common ancestor
-"keyword": "bound variables"},
-=======
-"keyword": "complementing previous encodings"},
->>>>>>> merge rev
+"keyword": "lemma based"},
{"id": 1591,
-<<<<<<< working copy
-"keyword": "central meta theorem"},
-||||||| common ancestor
-"keyword": "first-order quantification"},
-=======
-"keyword": "hoc fashion"},
->>>>>>> merge rev
+"keyword": "hales jewett theorem"},
{"id": 1592,
-<<<<<<< working copy
-"keyword": "matrix representation"},
-||||||| common ancestor
-"keyword": "skew binomial heaps"},
-=======
-"keyword": "algebraic number implementation"},
->>>>>>> merge rev
+"keyword": "regular sets"},
{"id": 1593,
-<<<<<<< working copy
-"keyword": "data complexity"},
-||||||| common ancestor
-"keyword": "control operators"},
-=======
-"keyword": "transcendence criteria"},
->>>>>>> merge rev
+"keyword": "web components"},
{"id": 1594,
-<<<<<<< working copy
-"keyword": "modular arithmetic plays"},
+"keyword": "stuart rankin"},
{"id": 1595,
-"keyword": "fairly nice"},
+"keyword": "18th century"},
{"id": 1596,
-"keyword": "foundational structures"},
+"keyword": "roots"},
{"id": 1597,
-"keyword": "direct recursion"},
+"keyword": "style presented"},
{"id": 1598,
-"keyword": "mathematical logic"},
+"keyword": "complementing previous encodings"},
{"id": 1599,
-"keyword": "higher-order superposition calculus"},
+"keyword": "hoc fashion"},
{"id": 1600,
-"keyword": "purely algebraic"},
+"keyword": "algebraic number implementation"},
{"id": 1601,
-"keyword": "differentiability"},
+"keyword": "transcendence criteria"},
{"id": 1602,
-||||||| common ancestor
-"keyword": "form construction algorithm"},
-{"id": 1595,
-"keyword": "central meta theorem"},
-{"id": 1596,
-"keyword": "matrix representation"},
-{"id": 1597,
-"keyword": "data complexity"},
-{"id": 1598,
-"keyword": "modular arithmetic plays"},
-{"id": 1599,
-"keyword": "fairly nice"},
-{"id": 1600,
-"keyword": "foundational structures"},
-{"id": 1601,
-"keyword": "direct recursion"},
-{"id": 1602,
-"keyword": "mathematical logic"},
+"keyword": "exponential series"},
{"id": 1603,
-"keyword": "higher-order superposition calculus"},
+"keyword": "finite dimensional vector space"},
{"id": 1604,
-"keyword": "purely algebraic"},
+"keyword": "synthetic approach"},
{"id": 1605,
-"keyword": "differentiability"},
+"keyword": "function calls"},
{"id": 1606,
-=======
-"keyword": "exponential series"},
-{"id": 1595,
-"keyword": "finite dimensional vector space"},
-{"id": 1596,
-"keyword": "synthetic approach"},
-{"id": 1597,
-"keyword": "function calls"},
-{"id": 1598,
"keyword": "hereditarily finite sets"},
-{"id": 1599,
+{"id": 1607,
"keyword": "free theorems"},
-{"id": 1600,
+{"id": 1608,
"keyword": "stuttering equivalence"},
-{"id": 1601,
+{"id": 1609,
"keyword": "predicate abstraction"},
-{"id": 1602,
+{"id": 1610,
"keyword": "formula represent propositional formulas"},
-{"id": 1603,
+{"id": 1611,
"keyword": "preorder relations"},
-{"id": 1604,
+{"id": 1612,
"keyword": "bound variables"},
-{"id": 1605,
+{"id": 1613,
"keyword": "first-order quantification"},
-{"id": 1606,
+{"id": 1614,
"keyword": "skew binomial heaps"},
-{"id": 1607,
+{"id": 1615,
"keyword": "control operators"},
-{"id": 1608,
+{"id": 1616,
"keyword": "form construction algorithm"},
-{"id": 1609,
+{"id": 1617,
"keyword": "central meta theorem"},
-{"id": 1610,
+{"id": 1618,
"keyword": "matrix representation"},
-{"id": 1611,
+{"id": 1619,
"keyword": "data complexity"},
-{"id": 1612,
+{"id": 1620,
"keyword": "modular arithmetic plays"},
-{"id": 1613,
+{"id": 1621,
"keyword": "fairly nice"},
-{"id": 1614,
+{"id": 1622,
"keyword": "foundational structures"},
-{"id": 1615,
+{"id": 1623,
"keyword": "direct recursion"},
-{"id": 1616,
+{"id": 1624,
"keyword": "mathematical logic"},
-{"id": 1617,
+{"id": 1625,
"keyword": "higher-order superposition calculus"},
-{"id": 1618,
+{"id": 1626,
"keyword": "purely algebraic"},
-{"id": 1619,
+{"id": 1627,
"keyword": "differentiability"},
-{"id": 1620,
->>>>>>> merge rev
+{"id": 1628,
"keyword": "logging-independent message anonymity"},
-<<<<<<< working copy
-{"id": 1603,
-||||||| common ancestor
-{"id": 1607,
-=======
-{"id": 1621,
->>>>>>> merge rev
+{"id": 1629,
"keyword": "functional implementation"},
-<<<<<<< working copy
-{"id": 1604,
-||||||| common ancestor
-{"id": 1608,
-=======
-{"id": 1622,
->>>>>>> merge rev
+{"id": 1630,
"keyword": "composition series"},
-<<<<<<< working copy
-{"id": 1605,
-||||||| common ancestor
-{"id": 1609,
-=======
-{"id": 1623,
->>>>>>> merge rev
+{"id": 1631,
"keyword": "ordered resolution"},
-<<<<<<< working copy
-{"id": 1606,
-||||||| common ancestor
-{"id": 1610,
-=======
-{"id": 1624,
->>>>>>> merge rev
+{"id": 1632,
"keyword": "chinese remainder theorem"},
-<<<<<<< working copy
-{"id": 1607,
-||||||| common ancestor
-{"id": 1611,
-=======
-{"id": 1625,
->>>>>>> merge rev
+{"id": 1633,
"keyword": "clausal consequences"},
-<<<<<<< working copy
-{"id": 1608,
-"keyword": "consistent fol theories extending"},
-{"id": 1609,
-"keyword": "real coefficients"},
-{"id": 1610,
-"keyword": "sparcv8 architecture"},
-{"id": 1611,
-"keyword": "compositional noninterference"},
-{"id": 1612,
-"keyword": "simd extensions"},
-{"id": 1613,
-"keyword": "imperative hol heap monad"},
-{"id": 1614,
-"keyword": "error message"},
-{"id": 1615,
-"keyword": "generic results"},
-{"id": 1616,
-"keyword": "basic randomised social choice"},
-{"id": 1617,
-"keyword": "dynamic tables parameterized"},
-{"id": 1618,
-"keyword": "proper grounding"},
-{"id": 1619,
-"keyword": "quasi-borel spaces"},
-{"id": 1620,
-"keyword": "sat solver correctness proofs"},
-{"id": 1621,
-"keyword": "charly gries"},
-{"id": 1622,
-"keyword": "valid completeness threshold"},
-{"id": 1623,
-"keyword": "reduces proof obligations"},
-{"id": 1624,
-"keyword": "concrete representation"},
-{"id": 1625,
-"keyword": "restricted growth functions"},
-{"id": 1626,
-"keyword": "irrationality criteria"},
-{"id": 1627,
-"keyword": "language features"},
-{"id": 1628,
-"keyword": "compilation function"},
-{"id": 1629,
-"keyword": "formally reason"},
-{"id": 1630,
-"keyword": "development employs"},
-||||||| common ancestor
-{"id": 1612,
-"keyword": "consistent fol theories extending"},
-{"id": 1613,
-"keyword": "real coefficients"},
-{"id": 1614,
-"keyword": "sparcv8 architecture"},
-{"id": 1615,
-"keyword": "compositional noninterference"},
-{"id": 1616,
-"keyword": "simd extensions"},
-{"id": 1617,
-"keyword": "imperative hol heap monad"},
-{"id": 1618,
-"keyword": "error message"},
-{"id": 1619,
-"keyword": "generic results"},
-{"id": 1620,
-"keyword": "basic randomised social choice"},
-{"id": 1621,
-"keyword": "dynamic tables parameterized"},
-{"id": 1622,
-"keyword": "proper grounding"},
-{"id": 1623,
-"keyword": "quasi-borel spaces"},
-{"id": 1624,
-"keyword": "sat solver correctness proofs"},
-{"id": 1625,
-"keyword": "charly gries"},
-{"id": 1626,
-"keyword": "valid completeness threshold"},
-{"id": 1627,
-"keyword": "reduces proof obligations"},
-{"id": 1628,
-"keyword": "concrete representation"},
-{"id": 1629,
-"keyword": "restricted growth functions"},
-{"id": 1630,
-"keyword": "irrationality criteria"},
-=======
-{"id": 1626,
-"keyword": "consistent fol theories extending"},
-{"id": 1627,
-"keyword": "real coefficients"},
-{"id": 1628,
-"keyword": "sparcv8 architecture"},
-{"id": 1629,
-"keyword": "compositional noninterference"},
-{"id": 1630,
-"keyword": "simd extensions"},
->>>>>>> merge rev
-{"id": 1631,
-<<<<<<< working copy
-"keyword": "policy decision point"},
-||||||| common ancestor
-"keyword": "language features"},
-=======
-"keyword": "imperative hol heap monad"},
->>>>>>> merge rev
-{"id": 1632,
-<<<<<<< working copy
-"keyword": "comparison oracle"},
-||||||| common ancestor
-"keyword": "compilation function"},
-=======
-"keyword": "error message"},
->>>>>>> merge rev
-{"id": 1633,
-<<<<<<< working copy
-"keyword": "suitable distributed system model"},
-||||||| common ancestor
-"keyword": "formally reason"},
-=======
-"keyword": "generic results"},
->>>>>>> merge rev
{"id": 1634,
-<<<<<<< working copy
-"keyword": "tautology elimination"},
-||||||| common ancestor
-"keyword": "development employs"},
-=======
-"keyword": "basic randomised social choice"},
->>>>>>> merge rev
+"keyword": "consistent fol theories extending"},
{"id": 1635,
-<<<<<<< working copy
-"keyword": "parallel prefix computations"},
-||||||| common ancestor
-"keyword": "policy decision point"},
-=======
-"keyword": "dynamic tables parameterized"},
->>>>>>> merge rev
+"keyword": "real coefficients"},
{"id": 1636,
-<<<<<<< working copy
-"keyword": "andrei popescu"},
-||||||| common ancestor
-"keyword": "comparison oracle"},
-=======
-"keyword": "proper grounding"},
->>>>>>> merge rev
+"keyword": "turing machines arose"},
{"id": 1637,
-<<<<<<< working copy
-"keyword": "proofs necessitate"},
-||||||| common ancestor
-"keyword": "suitable distributed system model"},
-=======
-"keyword": "quasi-borel spaces"},
->>>>>>> merge rev
+"keyword": "sparcv8 architecture"},
{"id": 1638,
-<<<<<<< working copy
-"keyword": "verified implementation"},
-||||||| common ancestor
-"keyword": "tautology elimination"},
-=======
-"keyword": "sat solver correctness proofs"},
->>>>>>> merge rev
+"keyword": "compositional noninterference"},
{"id": 1639,
-<<<<<<< working copy
-"keyword": "geometric sketches"},
-||||||| common ancestor
-"keyword": "parallel prefix computations"},
-=======
-"keyword": "charly gries"},
->>>>>>> merge rev
+"keyword": "simd extensions"},
{"id": 1640,
-<<<<<<< working copy
-"keyword": "small-step semantics akin"},
-||||||| common ancestor
-"keyword": "andrei popescu"},
-=======
-"keyword": "valid completeness threshold"},
->>>>>>> merge rev
+"keyword": "imperative hol heap monad"},
{"id": 1641,
-<<<<<<< working copy
-"keyword": "finite developments theorem"},
-||||||| common ancestor
-"keyword": "proofs necessitate"},
-=======
-"keyword": "reduces proof obligations"},
->>>>>>> merge rev
+"keyword": "error message"},
{"id": 1642,
-<<<<<<< working copy
-"keyword": "search-tree property"},
-||||||| common ancestor
-"keyword": "verified implementation"},
-=======
-"keyword": "concrete representation"},
->>>>>>> merge rev
+"keyword": "generic results"},
{"id": 1643,
-<<<<<<< working copy
-"keyword": "unverified reference implementation"},
-||||||| common ancestor
-"keyword": "geometric sketches"},
-=======
-"keyword": "restricted growth functions"},
->>>>>>> merge rev
+"keyword": "basic randomised social choice"},
{"id": 1644,
-<<<<<<< working copy
-"keyword": "abstract separation logic"},
-||||||| common ancestor
-"keyword": "small-step semantics akin"},
-=======
-"keyword": "irrationality criteria"},
->>>>>>> merge rev
+"keyword": "generate reverse-symmetric claims"},
{"id": 1645,
-<<<<<<< working copy
-"keyword": "abstract algebraic structure satisfying"},
-||||||| common ancestor
-"keyword": "finite developments theorem"},
-=======
-"keyword": "language features"},
->>>>>>> merge rev
+"keyword": "dynamic tables parameterized"},
{"id": 1646,
-<<<<<<< working copy
-"keyword": "types-to-sets mechanism"},
-||||||| common ancestor
-"keyword": "search-tree property"},
-=======
-"keyword": "compilation function"},
->>>>>>> merge rev
+"keyword": "proper grounding"},
{"id": 1647,
-<<<<<<< working copy
-"keyword": "stiffness matrix represents"},
-{"id": 1648,
-"keyword": "time real exponents"},
-{"id": 1649,
-"keyword": "vcg auction"},
-{"id": 1650,
-"keyword": "secure network configurations"},
-{"id": 1651,
-"keyword": "infinite conjunctions"},
-{"id": 1652,
-||||||| common ancestor
-"keyword": "unverified reference implementation"},
-{"id": 1648,
-"keyword": "abstract separation logic"},
-{"id": 1649,
-"keyword": "abstract algebraic structure satisfying"},
-{"id": 1650,
-"keyword": "types-to-sets mechanism"},
-{"id": 1651,
-"keyword": "stiffness matrix represents"},
-{"id": 1652,
-"keyword": "time real exponents"},
-{"id": 1653,
-"keyword": "vcg auction"},
-{"id": 1654,
-"keyword": "secure network configurations"},
-{"id": 1655,
-"keyword": "infinite conjunctions"},
-{"id": 1656,
-=======
-"keyword": "formally reason"},
+"keyword": "quasi-borel spaces"},
{"id": 1648,
-"keyword": "development employs"},
+"keyword": "sat solver correctness proofs"},
{"id": 1649,
-"keyword": "policy decision point"},
+"keyword": "charly gries"},
{"id": 1650,
-"keyword": "comparison oracle"},
+"keyword": "valid completeness threshold"},
{"id": 1651,
-"keyword": "suitable distributed system model"},
+"keyword": "reduces proof obligations"},
{"id": 1652,
-"keyword": "tautology elimination"},
+"keyword": "concrete representation"},
{"id": 1653,
-"keyword": "parallel prefix computations"},
+"keyword": "restricted growth functions"},
{"id": 1654,
-"keyword": "andrei popescu"},
+"keyword": "irrationality criteria"},
{"id": 1655,
-"keyword": "proofs necessitate"},
+"keyword": "language features"},
{"id": 1656,
-"keyword": "verified implementation"},
+"keyword": "compilation function"},
{"id": 1657,
-"keyword": "geometric sketches"},
+"keyword": "formally reason"},
{"id": 1658,
-"keyword": "small-step semantics akin"},
+"keyword": "development employs"},
{"id": 1659,
-"keyword": "finite developments theorem"},
+"keyword": "policy decision point"},
{"id": 1660,
-"keyword": "search-tree property"},
+"keyword": "comparison oracle"},
{"id": 1661,
-"keyword": "unverified reference implementation"},
+"keyword": "suitable distributed system model"},
{"id": 1662,
-"keyword": "abstract separation logic"},
+"keyword": "tautology elimination"},
{"id": 1663,
-"keyword": "abstract algebraic structure satisfying"},
+"keyword": "parallel prefix computations"},
{"id": 1664,
-"keyword": "types-to-sets mechanism"},
+"keyword": "andrei popescu"},
{"id": 1665,
-"keyword": "stiffness matrix represents"},
+"keyword": "proofs necessitate"},
{"id": 1666,
-"keyword": "time real exponents"},
+"keyword": "verified implementation"},
{"id": 1667,
-"keyword": "vcg auction"},
+"keyword": "geometric sketches"},
{"id": 1668,
-"keyword": "secure network configurations"},
+"keyword": "small-step semantics akin"},
{"id": 1669,
-"keyword": "infinite conjunctions"},
+"keyword": "finite developments theorem"},
{"id": 1670,
->>>>>>> merge rev
-"keyword": "respective frameworks"},
-<<<<<<< working copy
-{"id": 1653,
-||||||| common ancestor
-{"id": 1657,
-=======
+"keyword": "search-tree property"},
{"id": 1671,
->>>>>>> merge rev
-"keyword": "strongly normalizing"},
-<<<<<<< working copy
-{"id": 1654,
-||||||| common ancestor
-{"id": 1658,
-=======
+"keyword": "unverified reference implementation"},
{"id": 1672,
->>>>>>> merge rev
-"keyword": "distinct operators"},
-<<<<<<< working copy
-{"id": 1655,
-||||||| common ancestor
-{"id": 1659,
-=======
+"keyword": "abstract separation logic"},
{"id": 1673,
->>>>>>> merge rev
-"keyword": "efficient computation"},
-<<<<<<< working copy
-{"id": 1656,
-"keyword": "author merz 1998"},
-{"id": 1657,
-"keyword": "concurrent revisions model"},
-{"id": 1658,
-"keyword": "regain sequential consistency"},
-{"id": 1659,
-"keyword": "updated version"},
-{"id": 1660,
-"keyword": "tlc model checker"},
-{"id": 1661,
-"keyword": "fully abstract"},
-{"id": 1662,
-"keyword": "framework supports semantic annotations"},
-{"id": 1663,
-"keyword": "theory file"},
-{"id": 1664,
-"keyword": "earlier paper"},
-{"id": 1665,
-"keyword": "executable functions"},
-{"id": 1666,
-"keyword": "general result"},
-{"id": 1667,
-"keyword": "runtime verification tool"},
-{"id": 1668,
-"keyword": "automated proof techniques"},
-{"id": 1669,
-"keyword": "simple verification conditions"},
-{"id": 1670,
-"keyword": "orthogonal vectors"},
-{"id": 1671,
-||||||| common ancestor
-{"id": 1660,
-"keyword": "author merz 1998"},
-{"id": 1661,
-"keyword": "concurrent revisions model"},
-{"id": 1662,
-"keyword": "regain sequential consistency"},
-{"id": 1663,
-"keyword": "updated version"},
-{"id": 1664,
-"keyword": "tlc model checker"},
-{"id": 1665,
-"keyword": "fully abstract"},
-{"id": 1666,
-"keyword": "framework supports semantic annotations"},
-{"id": 1667,
-"keyword": "theory file"},
-{"id": 1668,
-"keyword": "earlier paper"},
-{"id": 1669,
-"keyword": "executable functions"},
-{"id": 1670,
-"keyword": "general result"},
-{"id": 1671,
-"keyword": "runtime verification tool"},
-{"id": 1672,
-"keyword": "automated proof techniques"},
-{"id": 1673,
-"keyword": "simple verification conditions"},
+"keyword": "abstract algebraic structure satisfying"},
{"id": 1674,
-"keyword": "orthogonal vectors"},
-{"id": 1675,
-=======
-{"id": 1674,
-"keyword": "author merz 1998"},
+"keyword": "types-to-sets mechanism"},
{"id": 1675,
-"keyword": "concurrent revisions model"},
+"keyword": "stiffness matrix represents"},
{"id": 1676,
-"keyword": "regain sequential consistency"},
+"keyword": "time real exponents"},
{"id": 1677,
-"keyword": "updated version"},
+"keyword": "vcg auction"},
{"id": 1678,
-"keyword": "tlc model checker"},
+"keyword": "secure network configurations"},
{"id": 1679,
-"keyword": "fully abstract"},
+"keyword": "infinite conjunctions"},
{"id": 1680,
-"keyword": "framework supports semantic annotations"},
+"keyword": "respective frameworks"},
{"id": 1681,
-"keyword": "theory file"},
+"keyword": "strongly normalizing"},
{"id": 1682,
-"keyword": "earlier paper"},
+"keyword": "distinct operators"},
{"id": 1683,
-"keyword": "executable functions"},
-{"id": 1684,
-"keyword": "general result"},
-{"id": 1685,
-"keyword": "runtime verification tool"},
-{"id": 1686,
-"keyword": "automated proof techniques"},
-{"id": 1687,
-"keyword": "simple verification conditions"},
-{"id": 1688,
-"keyword": "orthogonal vectors"},
-{"id": 1689,
->>>>>>> merge rev
-"keyword": "machine checked collections framework"},
-<<<<<<< working copy
-{"id": 1672,
-||||||| common ancestor
-{"id": 1676,
-=======
-{"id": 1690,
->>>>>>> merge rev
-"keyword": "command mk_ide"},
-<<<<<<< working copy
-{"id": 1673,
-||||||| common ancestor
-{"id": 1677,
-=======
-{"id": 1691,
->>>>>>> merge rev
-"keyword": "polynomial growth"},
-<<<<<<< working copy
-{"id": 1674,
-"keyword": "local clock"},
-{"id": 1675,
-"keyword": "abstract first-order prover"},
-{"id": 1676,
-"keyword": "kuratowski subgraphs"},
-{"id": 1677,
-"keyword": "mathematical text"},
-{"id": 1678,
-"keyword": "absolute positiveness"},
-{"id": 1679,
-"keyword": "number-theoretic foundations"},
-{"id": 1680,
-"keyword": "negative resolution"},
-{"id": 1681,
-"keyword": "differential game logic"},
-{"id": 1682,
-"keyword": "reusable libraries"},
-{"id": 1683,
-"keyword": "minimum weighted path length"},
+"keyword": "efficient computation"},
{"id": 1684,
-"keyword": "analytic dirichlet series"},
+"keyword": "author merz 1998"},
{"id": 1685,
-"keyword": "completeness threshold"},
+"keyword": "concurrent revisions model"},
{"id": 1686,
-"keyword": "impact"},
+"keyword": "regain sequential consistency"},
{"id": 1687,
-"keyword": "gained experience"},
+"keyword": "updated version"},
{"id": 1688,
-"keyword": "automated reasoning"},
+"keyword": "tlc model checker"},
{"id": 1689,
-"keyword": "positive real roots"},
+"keyword": "fully abstract"},
{"id": 1690,
-"keyword": "update functions"},
+"keyword": "framework supports semantic annotations"},
{"id": 1691,
-"keyword": "ipv4 address allocation"},
-{"id": 1692,
-"keyword": "reusable reasoning infrastructure"},
-{"id": 1693,
-"keyword": "original motivation"},
-{"id": 1694,
-"keyword": "underlying theorem"},
-{"id": 1695,
-"keyword": "tableau blocks"},
-{"id": 1696,
-"keyword": "suffix"},
-{"id": 1697,
-"keyword": "strong duality theorem"},
-||||||| common ancestor
-{"id": 1678,
-"keyword": "local clock"},
-{"id": 1679,
-"keyword": "abstract first-order prover"},
-{"id": 1680,
-"keyword": "kuratowski subgraphs"},
-{"id": 1681,
-"keyword": "mathematical text"},
-{"id": 1682,
-"keyword": "absolute positiveness"},
-{"id": 1683,
-"keyword": "number-theoretic foundations"},
-{"id": 1684,
-"keyword": "negative resolution"},
-{"id": 1685,
-"keyword": "differential game logic"},
-{"id": 1686,
-"keyword": "reusable libraries"},
-{"id": 1687,
-"keyword": "minimum weighted path length"},
-{"id": 1688,
-"keyword": "analytic dirichlet series"},
-{"id": 1689,
-"keyword": "completeness threshold"},
-{"id": 1690,
-"keyword": "impact"},
-{"id": 1691,
-"keyword": "gained experience"},
-{"id": 1692,
-"keyword": "automated reasoning"},
-{"id": 1693,
-"keyword": "positive real roots"},
-{"id": 1694,
-"keyword": "update functions"},
-{"id": 1695,
-"keyword": "ipv4 address allocation"},
-{"id": 1696,
-"keyword": "reusable reasoning infrastructure"},
-{"id": 1697,
-"keyword": "original motivation"},
-=======
+"keyword": "theory file"},
{"id": 1692,
-"keyword": "local clock"},
+"keyword": "earlier paper"},
{"id": 1693,
-"keyword": "abstract first-order prover"},
+"keyword": "executable functions"},
{"id": 1694,
-"keyword": "kuratowski subgraphs"},
+"keyword": "general result"},
{"id": 1695,
-"keyword": "mathematical text"},
+"keyword": "runtime verification tool"},
{"id": 1696,
-"keyword": "absolute positiveness"},
+"keyword": "automated proof techniques"},
{"id": 1697,
-"keyword": "number-theoretic foundations"},
->>>>>>> merge rev
+"keyword": "simple verification conditions"},
{"id": 1698,
-<<<<<<< working copy
-"keyword": "subsequent formalisation"},
-||||||| common ancestor
-"keyword": "underlying theorem"},
-=======
-"keyword": "negative resolution"},
->>>>>>> merge rev
+"keyword": "orthogonal vectors"},
{"id": 1699,
-<<<<<<< working copy
-"keyword": "enumerative combinatorics"},
-||||||| common ancestor
-"keyword": "tableau blocks"},
-=======
-"keyword": "differential game logic"},
->>>>>>> merge rev
+"keyword": "machine checked collections framework"},
{"id": 1700,
-<<<<<<< working copy
-"keyword": "monad carries"},
-||||||| common ancestor
-"keyword": "suffix"},
-=======
-"keyword": "reusable libraries"},
->>>>>>> merge rev
+"keyword": "command mk_ide"},
{"id": 1701,
-<<<<<<< working copy
-"keyword": "concurrent programming"},
-||||||| common ancestor
-"keyword": "strong duality theorem"},
-=======
-"keyword": "minimum weighted path length"},
->>>>>>> merge rev
+"keyword": "polynomial growth"},
{"id": 1702,
-<<<<<<< working copy
-"keyword": "logic tla merz 1999"},
-||||||| common ancestor
-"keyword": "subsequent formalisation"},
-=======
-"keyword": "analytic dirichlet series"},
->>>>>>> merge rev
+"keyword": "local clock"},
{"id": 1703,
-<<<<<<< working copy
-"keyword": "bisimulation variants"},
-||||||| common ancestor
-"keyword": "enumerative combinatorics"},
-=======
-"keyword": "completeness threshold"},
->>>>>>> merge rev
+"keyword": "abstract first-order prover"},
{"id": 1704,
-<<<<<<< working copy
-"keyword": "osc"},
-||||||| common ancestor
-"keyword": "monad carries"},
-=======
-"keyword": "impact"},
->>>>>>> merge rev
+"keyword": "kuratowski subgraphs"},
{"id": 1705,
-<<<<<<< working copy
-"keyword": "executable decision procedure"},
-||||||| common ancestor
-"keyword": "concurrent programming"},
-=======
-"keyword": "gained experience"},
->>>>>>> merge rev
+"keyword": "mathematical text"},
{"id": 1706,
-<<<<<<< working copy
-"keyword": "parsing concept"},
-||||||| common ancestor
-"keyword": "logic tla merz 1999"},
-=======
-"keyword": "automated reasoning"},
->>>>>>> merge rev
+"keyword": "absolute positiveness"},
{"id": 1707,
-<<<<<<< working copy
-"keyword": "documents managed"},
-||||||| common ancestor
-"keyword": "bisimulation variants"},
-=======
-"keyword": "positive real roots"},
->>>>>>> merge rev
+"keyword": "cryptographic scheme crystals-kyber"},
{"id": 1708,
-<<<<<<< working copy
-"keyword": "complex predicates"},
+"keyword": "number-theoretic foundations"},
{"id": 1709,
-||||||| common ancestor
-"keyword": "osc"},
-{"id": 1709,
-"keyword": "executable decision procedure"},
+"keyword": "negative resolution"},
{"id": 1710,
-"keyword": "parsing concept"},
+"keyword": "differential game logic"},
{"id": 1711,
-"keyword": "documents managed"},
+"keyword": "reusable libraries"},
{"id": 1712,
-"keyword": "complex predicates"},
+"keyword": "minimum weighted path length"},
{"id": 1713,
-=======
-"keyword": "update functions"},
-{"id": 1709,
-"keyword": "ipv4 address allocation"},
-{"id": 1710,
-"keyword": "reusable reasoning infrastructure"},
-{"id": 1711,
-"keyword": "original motivation"},
-{"id": 1712,
-"keyword": "underlying theorem"},
-{"id": 1713,
-"keyword": "tableau blocks"},
+"keyword": "analytic dirichlet series"},
{"id": 1714,
-"keyword": "suffix"},
+"keyword": "completeness threshold"},
{"id": 1715,
-"keyword": "strong duality theorem"},
+"keyword": "impact"},
{"id": 1716,
-"keyword": "subsequent formalisation"},
+"keyword": "gained experience"},
{"id": 1717,
+"keyword": "automated reasoning"},
+{"id": 1718,
+"keyword": "positive real roots"},
+{"id": 1719,
+"keyword": "update functions"},
+{"id": 1720,
+"keyword": "ipv4 address allocation"},
+{"id": 1721,
+"keyword": "reusable reasoning infrastructure"},
+{"id": 1722,
+"keyword": "original motivation"},
+{"id": 1723,
+"keyword": "underlying theorem"},
+{"id": 1724,
+"keyword": "tableau blocks"},
+{"id": 1725,
+"keyword": "suffix"},
+{"id": 1726,
+"keyword": "strong duality theorem"},
+{"id": 1727,
+"keyword": "subsequent formalisation"},
+{"id": 1728,
"keyword": "enumerative combinatorics"},
-{"id": 1718,
+{"id": 1729,
"keyword": "monad carries"},
-{"id": 1719,
+{"id": 1730,
"keyword": "concurrent programming"},
-{"id": 1720,
+{"id": 1731,
"keyword": "logic tla merz 1999"},
-{"id": 1721,
+{"id": 1732,
"keyword": "bisimulation variants"},
-{"id": 1722,
+{"id": 1733,
"keyword": "osc"},
-{"id": 1723,
+{"id": 1734,
"keyword": "executable decision procedure"},
-{"id": 1724,
+{"id": 1735,
"keyword": "parsing concept"},
-{"id": 1725,
+{"id": 1736,
"keyword": "documents managed"},
-{"id": 1726,
+{"id": 1737,
"keyword": "complex predicates"},
-{"id": 1727,
->>>>>>> merge rev
+{"id": 1738,
"keyword": "dual system relationships"},
-<<<<<<< working copy
-{"id": 1710,
-||||||| common ancestor
-{"id": 1714,
-=======
-{"id": 1728,
->>>>>>> merge rev
+{"id": 1739,
"keyword": "study second-order formalisations"},
-<<<<<<< working copy
-{"id": 1711,
-||||||| common ancestor
-{"id": 1715,
-=======
-{"id": 1729,
->>>>>>> merge rev
+{"id": 1740,
"keyword": "extended finite state machines"},
-<<<<<<< working copy
-{"id": 1712,
-||||||| common ancestor
-{"id": 1716,
-=======
-{"id": 1730,
+{"id": 1741,
"keyword": "grammar based fuzzing"},
-{"id": 1731,
->>>>>>> merge rev
+{"id": 1742,
"keyword": "seligman-style tableau system"},
-<<<<<<< working copy
-{"id": 1713,
-||||||| common ancestor
-{"id": 1717,
-=======
-{"id": 1732,
->>>>>>> merge rev
+{"id": 1743,
"keyword": "complete ipv4"},
-<<<<<<< working copy
-{"id": 1714,
+{"id": 1744,
"keyword": "first-order query evaluation"},
-{"id": 1715,
+{"id": 1745,
"keyword": "simple model"},
-{"id": 1716,
+{"id": 1746,
"keyword": "chandy--lamport algorithm"},
-{"id": 1717,
+{"id": 1747,
"keyword": "proof technology"},
-{"id": 1718,
+{"id": 1748,
"keyword": "turing machines"},
-{"id": 1719,
+{"id": 1749,
"keyword": "required induction rule"},
-{"id": 1720,
+{"id": 1750,
"keyword": "multivariate polynomials"},
-{"id": 1721,
+{"id": 1751,
"keyword": "main routing table"},
-{"id": 1722,
+{"id": 1752,
"keyword": "normalise monadic hol terms"},
-{"id": 1723,
+{"id": 1753,
"keyword": "executable instantiations"},
-{"id": 1724,
+{"id": 1754,
"keyword": "design existence"},
-{"id": 1725,
+{"id": 1755,
"keyword": "32bit machine words"},
-{"id": 1726,
+{"id": 1756,
"keyword": "lock synchronisation"},
-{"id": 1727,
+{"id": 1757,
"keyword": "case distinction"},
-{"id": 1728,
+{"id": 1758,
"keyword": "advanced binding constructs"},
-{"id": 1729,
+{"id": 1759,
"keyword": "dynamic slicing"},
-{"id": 1730,
+{"id": 1760,
"keyword": "technical problems"},
-{"id": 1731,
-"keyword": "additional properties related"},
-{"id": 1732,
-"keyword": "technical university"},
-||||||| common ancestor
-{"id": 1718,
-"keyword": "first-order query evaluation"},
-{"id": 1719,
-"keyword": "simple model"},
-{"id": 1720,
-"keyword": "chandy--lamport algorithm"},
-{"id": 1721,
-"keyword": "proof technology"},
-{"id": 1722,
-"keyword": "turing machines"},
-{"id": 1723,
-"keyword": "required induction rule"},
-{"id": 1724,
-"keyword": "multivariate polynomials"},
-{"id": 1725,
-"keyword": "main routing table"},
-{"id": 1726,
-"keyword": "normalise monadic hol terms"},
-{"id": 1727,
-"keyword": "executable instantiations"},
-{"id": 1728,
-"keyword": "design existence"},
-{"id": 1729,
-"keyword": "32bit machine words"},
-{"id": 1730,
-"keyword": "lock synchronisation"},
-{"id": 1731,
-"keyword": "case distinction"},
-{"id": 1732,
-"keyword": "advanced binding constructs"},
-=======
->>>>>>> merge rev
-{"id": 1733,
-<<<<<<< working copy
-"keyword": "security invariants"},
-||||||| common ancestor
-"keyword": "dynamic slicing"},
-=======
-"keyword": "first-order query evaluation"},
->>>>>>> merge rev
-{"id": 1734,
-<<<<<<< working copy
-"keyword": "demonstrator semantic backend"},
-||||||| common ancestor
-"keyword": "technical problems"},
-=======
-"keyword": "simple model"},
->>>>>>> merge rev
-{"id": 1735,
-<<<<<<< working copy
-"keyword": "tom ridge"},
-||||||| common ancestor
+{"id": 1761,
"keyword": "additional properties related"},
-=======
-"keyword": "chandy--lamport algorithm"},
->>>>>>> merge rev
-{"id": 1736,
-<<<<<<< working copy
-"keyword": "real arithmetic"},
-||||||| common ancestor
+{"id": 1762,
"keyword": "technical university"},
-=======
-"keyword": "proof technology"},
->>>>>>> merge rev
-{"id": 1737,
-<<<<<<< working copy
+{"id": 1763,
+"keyword": "security invariants"},
+{"id": 1764,
+"keyword": "demonstrator semantic backend"},
+{"id": 1765,
+"keyword": "tom ridge"},
+{"id": 1766,
+"keyword": "real arithmetic"},
+{"id": 1767,
"keyword": "two-argument partition function"},
-||||||| common ancestor
-"keyword": "security invariants"},
-=======
-"keyword": "turing machines"},
->>>>>>> merge rev
-{"id": 1738,
-<<<<<<< working copy
+{"id": 1768,
"keyword": "cade-27 paper"},
-{"id": 1739,
+{"id": 1769,
"keyword": "existing integration theory"},
-{"id": 1740,
+{"id": 1770,
"keyword": "defining variants"},
-{"id": 1741,
-"keyword": "represent recursively enumerable sets"},
-{"id": 1742,
-"keyword": "normalization equivalence"},
-{"id": 1743,
-"keyword": "modified policy iteration"},
-{"id": 1744,
-"keyword": "set operations"},
-{"id": 1745,
-"keyword": "zf set theory"},
-||||||| common ancestor
-"keyword": "demonstrator semantic backend"},
-{"id": 1739,
-"keyword": "tom ridge"},
-{"id": 1740,
-"keyword": "real arithmetic"},
-{"id": 1741,
-"keyword": "two-argument partition function"},
-{"id": 1742,
-"keyword": "cade-27 paper"},
-{"id": 1743,
-"keyword": "existing integration theory"},
-{"id": 1744,
-"keyword": "defining variants"},
-{"id": 1745,
+{"id": 1771,
"keyword": "represent recursively enumerable sets"},
-=======
-"keyword": "required induction rule"},
-{"id": 1739,
-"keyword": "multivariate polynomials"},
-{"id": 1740,
-"keyword": "main routing table"},
-{"id": 1741,
-"keyword": "normalise monadic hol terms"},
-{"id": 1742,
-"keyword": "executable instantiations"},
-{"id": 1743,
-"keyword": "design existence"},
-{"id": 1744,
-"keyword": "32bit machine words"},
-{"id": 1745,
-"keyword": "lock synchronisation"},
->>>>>>> merge rev
-{"id": 1746,
-<<<<<<< working copy
-"keyword": "robbins conjecture"},
-||||||| common ancestor
+{"id": 1772,
"keyword": "normalization equivalence"},
-=======
-"keyword": "case distinction"},
->>>>>>> merge rev
-{"id": 1747,
-<<<<<<< working copy
-"keyword": "coalgebraic decision procedure"},
-||||||| common ancestor
+{"id": 1773,
"keyword": "modified policy iteration"},
-=======
-"keyword": "advanced binding constructs"},
->>>>>>> merge rev
-{"id": 1748,
-<<<<<<< working copy
-"keyword": "bit simpler"},
-||||||| common ancestor
+{"id": 1774,
"keyword": "set operations"},
-=======
-"keyword": "dynamic slicing"},
->>>>>>> merge rev
-{"id": 1749,
-<<<<<<< working copy
-"keyword": "heterogeneous subsystems"},
-||||||| common ancestor
+{"id": 1775,
"keyword": "zf set theory"},
-=======
-"keyword": "technical problems"},
->>>>>>> merge rev
-{"id": 1750,
-<<<<<<< working copy
-"keyword": "semantic information directly embedded"},
-||||||| common ancestor
+{"id": 1776,
"keyword": "robbins conjecture"},
-=======
-"keyword": "additional properties related"},
->>>>>>> merge rev
-{"id": 1751,
-<<<<<<< working copy
-"keyword": "topological curiosity discovered"},
-||||||| common ancestor
+{"id": 1777,
"keyword": "coalgebraic decision procedure"},
-=======
-"keyword": "technical university"},
->>>>>>> merge rev
-{"id": 1752,
-<<<<<<< working copy
-"keyword": "guarantee safety"},
-||||||| common ancestor
+{"id": 1778,
"keyword": "bit simpler"},
-=======
-"keyword": "security invariants"},
->>>>>>> merge rev
-{"id": 1753,
-<<<<<<< working copy
-"keyword": "central result"},
-||||||| common ancestor
+{"id": 1779,
"keyword": "heterogeneous subsystems"},
-=======
-"keyword": "demonstrator semantic backend"},
->>>>>>> merge rev
-{"id": 1754,
-<<<<<<< working copy
-"keyword": "numeric constants occurring"},
-||||||| common ancestor
+{"id": 1780,
"keyword": "semantic information directly embedded"},
-=======
-"keyword": "tom ridge"},
->>>>>>> merge rev
-{"id": 1755,
-<<<<<<< working copy
-"keyword": "points constructible"},
-||||||| common ancestor
+{"id": 1781,
"keyword": "topological curiosity discovered"},
-=======
-"keyword": "real arithmetic"},
->>>>>>> merge rev
-{"id": 1756,
-<<<<<<< working copy
-"keyword": "word numerals"},
-||||||| common ancestor
-"keyword": "guarantee safety"},
-=======
-"keyword": "two-argument partition function"},
->>>>>>> merge rev
-{"id": 1757,
-<<<<<<< working copy
-"keyword": "verified approach"},
-||||||| common ancestor
-"keyword": "central result"},
-=======
-"keyword": "cade-27 paper"},
->>>>>>> merge rev
-{"id": 1758,
-<<<<<<< working copy
-"keyword": "replacement theorem"},
-||||||| common ancestor
-"keyword": "numeric constants occurring"},
-=======
-"keyword": "existing integration theory"},
->>>>>>> merge rev
-{"id": 1759,
-<<<<<<< working copy
-"keyword": "close connection"},
-||||||| common ancestor
-"keyword": "points constructible"},
-=======
-"keyword": "defining variants"},
->>>>>>> merge rev
-{"id": 1760,
-<<<<<<< working copy
-"keyword": "executable version"},
-||||||| common ancestor
-"keyword": "word numerals"},
-=======
-"keyword": "represent recursively enumerable sets"},
->>>>>>> merge rev
-{"id": 1761,
-<<<<<<< working copy
-"keyword": "finitely supported"},
-||||||| common ancestor
-"keyword": "verified approach"},
-=======
-"keyword": "normalization equivalence"},
->>>>>>> merge rev
-{"id": 1762,
-<<<<<<< working copy
-"keyword": "strong normalization"},
-||||||| common ancestor
-"keyword": "replacement theorem"},
-=======
-"keyword": "modified policy iteration"},
->>>>>>> merge rev
-{"id": 1763,
-<<<<<<< working copy
-"keyword": "specific integer polynomial"},
-||||||| common ancestor
-"keyword": "close connection"},
-=======
-"keyword": "set operations"},
->>>>>>> merge rev
-{"id": 1764,
-<<<<<<< working copy
-"keyword": "metric space"},
-||||||| common ancestor
-"keyword": "executable version"},
-=======
-"keyword": "zf set theory"},
->>>>>>> merge rev
-{"id": 1765,
-<<<<<<< working copy
-"keyword": "von zur gathen"},
-||||||| common ancestor
-"keyword": "finitely supported"},
-=======
-"keyword": "robbins conjecture"},
->>>>>>> merge rev
-{"id": 1766,
-<<<<<<< working copy
-||||||| common ancestor
-"keyword": "strong normalization"},
-{"id": 1767,
-"keyword": "specific integer polynomial"},
-{"id": 1768,
-"keyword": "metric space"},
-{"id": 1769,
-"keyword": "optimised version"},
-{"id": 1770,
-"keyword": "von zur gathen"},
-{"id": 1771,
-=======
-"keyword": "coalgebraic decision procedure"},
-{"id": 1767,
-"keyword": "bit simpler"},
-{"id": 1768,
-"keyword": "heterogeneous subsystems"},
-{"id": 1769,
-"keyword": "semantic information directly embedded"},
-{"id": 1770,
-"keyword": "topological curiosity discovered"},
-{"id": 1771,
-"keyword": "guarantee safety"},
-{"id": 1772,
-"keyword": "central result"},
-{"id": 1773,
-"keyword": "numeric constants occurring"},
-{"id": 1774,
-"keyword": "points constructible"},
-{"id": 1775,
-"keyword": "word numerals"},
-{"id": 1776,
-"keyword": "verified approach"},
-{"id": 1777,
-"keyword": "replacement theorem"},
-{"id": 1778,
-"keyword": "close connection"},
-{"id": 1779,
-"keyword": "executable version"},
-{"id": 1780,
-"keyword": "finitely supported"},
-{"id": 1781,
-"keyword": "strong normalization"},
{"id": 1782,
-"keyword": "specific integer polynomial"},
+"keyword": "guarantee safety"},
{"id": 1783,
-"keyword": "metric space"},
+"keyword": "central result"},
{"id": 1784,
-"keyword": "optimised version"},
+"keyword": "numeric constants occurring"},
{"id": 1785,
-"keyword": "von zur gathen"},
+"keyword": "points constructible"},
{"id": 1786,
->>>>>>> merge rev
-"keyword": "similar level"},
-<<<<<<< working copy
-{"id": 1767,
-||||||| common ancestor
-{"id": 1772,
-=======
-{"id": 1787,
->>>>>>> merge rev
-"keyword": "refinement approach scales"},
-<<<<<<< working copy
-{"id": 1768,
-||||||| common ancestor
-{"id": 1773,
-=======
-{"id": 1788,
->>>>>>> merge rev
-"keyword": "explicitly represented"},
-<<<<<<< working copy
-{"id": 1769,
-||||||| common ancestor
-{"id": 1774,
-=======
-{"id": 1789,
->>>>>>> merge rev
-"keyword": "optimal stationary deterministic solution"},
-<<<<<<< working copy
-{"id": 1770,
-"keyword": "semantic domain"},
-{"id": 1771,
-"keyword": "computer algebra system maple"},
-{"id": 1772,
-"keyword": "sublists alternately extracted"},
-{"id": 1773,
-"keyword": "cons"},
-{"id": 1774,
-"keyword": "congruence theorems"},
-{"id": 1775,
-"keyword": "wide variety"},
-{"id": 1776,
-"keyword": "expected height"},
-{"id": 1777,
-"keyword": "produce observable outputs"},
-{"id": 1778,
-"keyword": "reduction theorem"},
-{"id": 1779,
-"keyword": "self-contained certifier"},
-{"id": 1780,
-"keyword": "book first-order logic"},
-{"id": 1781,
-"keyword": "list update problem"},
-{"id": 1782,
-"keyword": "forthcoming paper"},
-{"id": 1783,
-"keyword": "winding number measures"},
-{"id": 1784,
-"keyword": "important theorem"},
-{"id": 1785,
-"keyword": "cartesian product"},
-{"id": 1786,
-"keyword": "taylor series expansions"},
+"keyword": "word numerals"},
{"id": 1787,
-"keyword": "design choices underlying"},
+"keyword": "verified approach"},
{"id": 1788,
-"keyword": "constructive points"},
+"keyword": "replacement theorem"},
{"id": 1789,
-"keyword": "functional data structures"},
+"keyword": "close connection"},
{"id": 1790,
-"keyword": "2nd international workshop"},
+"keyword": "executable version"},
{"id": 1791,
-"keyword": "pages 20-34"},
+"keyword": "finitely supported"},
{"id": 1792,
-"keyword": "afp entry simple_firewall"},
-{"id": 1793,
-"keyword": "shadow root"},
-{"id": 1794,
-"keyword": "invariant factor decomposition"},
-{"id": 1795,
-"keyword": "operational"},
-{"id": 1796,
-"keyword": "restricted type"},
-{"id": 1797,
-"keyword": "org 10"},
-{"id": 1798,
-"keyword": "fully-automated approach"},
-{"id": 1799,
-"keyword": "auxiliary labels"},
-{"id": 1800,
-"keyword": "widely applicable"},
-{"id": 1801,
-"keyword": "rich expression typing rules"},
-{"id": 1802,
-"keyword": "metric first-order dynamic logic"},
-{"id": 1803,
-"keyword": "specific conflict analysis algorithm"},
-||||||| common ancestor
-{"id": 1775,
-"keyword": "semantic domain"},
-{"id": 1776,
-"keyword": "computer algebra system maple"},
-{"id": 1777,
-"keyword": "sublists alternately extracted"},
-{"id": 1778,
-"keyword": "cons"},
-{"id": 1779,
-"keyword": "congruence theorems"},
-{"id": 1780,
-"keyword": "wide variety"},
-{"id": 1781,
-"keyword": "expected height"},
-{"id": 1782,
-"keyword": "produce observable outputs"},
-{"id": 1783,
-"keyword": "reduction theorem"},
-{"id": 1784,
-"keyword": "self-contained certifier"},
-{"id": 1785,
-"keyword": "book first-order logic"},
-{"id": 1786,
-"keyword": "list update problem"},
-{"id": 1787,
-"keyword": "forthcoming paper"},
-{"id": 1788,
-"keyword": "winding number measures"},
-{"id": 1789,
-"keyword": "important theorem"},
-{"id": 1790,
-"keyword": "cartesian product"},
-{"id": 1791,
-"keyword": "taylor series expansions"},
-{"id": 1792,
-"keyword": "design choices underlying"},
+"keyword": "strong normalization"},
{"id": 1793,
-"keyword": "constructive points"},
+"keyword": "specific integer polynomial"},
{"id": 1794,
-"keyword": "functional data structures"},
-{"id": 1795,
-"keyword": "2nd international workshop"},
-{"id": 1796,
-"keyword": "pages 20-34"},
-{"id": 1797,
-"keyword": "afp entry simple_firewall"},
-{"id": 1798,
-"keyword": "shadow root"},
-{"id": 1799,
-"keyword": "invariant factor decomposition"},
-{"id": 1800,
-"keyword": "operational"},
-{"id": 1801,
-"keyword": "restricted type"},
-{"id": 1802,
-"keyword": "org 10"},
-{"id": 1803,
-"keyword": "fully-automated approach"},
-=======
-{"id": 1790,
-"keyword": "semantic domain"},
-{"id": 1791,
-"keyword": "computer algebra system maple"},
-{"id": 1792,
-"keyword": "sublists alternately extracted"},
-{"id": 1793,
-"keyword": "cons"},
-{"id": 1794,
-"keyword": "congruence theorems"},
+"keyword": "metric space"},
{"id": 1795,
-"keyword": "wide variety"},
+"keyword": "von zur gathen"},
{"id": 1796,
-"keyword": "expected height"},
+"keyword": "similar level"},
{"id": 1797,
-"keyword": "produce observable outputs"},
+"keyword": "refinement approach scales"},
{"id": 1798,
-"keyword": "reduction theorem"},
+"keyword": "explicitly represented"},
{"id": 1799,
-"keyword": "self-contained certifier"},
+"keyword": "optimal stationary deterministic solution"},
{"id": 1800,
-"keyword": "book first-order logic"},
+"keyword": "semantic domain"},
{"id": 1801,
-"keyword": "list update problem"},
+"keyword": "computer algebra system maple"},
{"id": 1802,
-"keyword": "forthcoming paper"},
+"keyword": "sublists alternately extracted"},
{"id": 1803,
-"keyword": "winding number measures"},
->>>>>>> merge rev
+"keyword": "cons"},
{"id": 1804,
-<<<<<<< working copy
-"keyword": "linear algebra"},
-||||||| common ancestor
-"keyword": "auxiliary labels"},
-=======
-"keyword": "important theorem"},
->>>>>>> merge rev
+"keyword": "congruence theorems"},
{"id": 1805,
-<<<<<<< working copy
-"keyword": "arbitrary uniform distributions"},
-||||||| common ancestor
-"keyword": "widely applicable"},
-=======
-"keyword": "cartesian product"},
->>>>>>> merge rev
+"keyword": "wide variety"},
{"id": 1806,
-<<<<<<< working copy
-"keyword": "security violations"},
-||||||| common ancestor
-"keyword": "rich expression typing rules"},
-=======
-"keyword": "taylor series expansions"},
->>>>>>> merge rev
+"keyword": "expected height"},
{"id": 1807,
-<<<<<<< working copy
-"keyword": "intersection type systems"},
-||||||| common ancestor
-"keyword": "metric first-order dynamic logic"},
-=======
-"keyword": "design choices underlying"},
->>>>>>> merge rev
+"keyword": "produce observable outputs"},
{"id": 1808,
-<<<<<<< working copy
-"keyword": "state-of-the-art smt solvers"},
-||||||| common ancestor
-"keyword": "specific conflict analysis algorithm"},
-=======
-"keyword": "constructive points"},
->>>>>>> merge rev
+"keyword": "reduction theorem"},
{"id": 1809,
-<<<<<<< working copy
-"keyword": "class-collection-based rts algorithms run"},
-||||||| common ancestor
-"keyword": "linear algebra"},
-=======
-"keyword": "functional data structures"},
->>>>>>> merge rev
+"keyword": "self-contained certifier"},
{"id": 1810,
-<<<<<<< working copy
-"keyword": "control flow"},
+"keyword": "book first-order logic"},
{"id": 1811,
-"keyword": "nominal2 package"},
+"keyword": "list update problem"},
{"id": 1812,
-"keyword": "1 involving"},
-{"id": 1813,
-"keyword": "free groups"},
-{"id": 1814,
-||||||| common ancestor
-"keyword": "arbitrary uniform distributions"},
-{"id": 1811,
-"keyword": "security violations"},
-{"id": 1812,
-"keyword": "intersection type systems"},
+"keyword": "forthcoming paper"},
{"id": 1813,
-"keyword": "state-of-the-art smt solvers"},
-{"id": 1814,
-"keyword": "class-collection-based rts algorithms run"},
-{"id": 1815,
-"keyword": "control flow"},
-{"id": 1816,
-"keyword": "nominal2 package"},
-{"id": 1817,
-"keyword": "1 involving"},
-{"id": 1818,
-"keyword": "free groups"},
-{"id": 1819,
-=======
-"keyword": "2nd international workshop"},
-{"id": 1811,
-"keyword": "pages 20-34"},
-{"id": 1812,
-"keyword": "afp entry simple_firewall"},
-{"id": 1813,
-"keyword": "shadow root"},
+"keyword": "winding number measures"},
{"id": 1814,
-"keyword": "invariant factor decomposition"},
+"keyword": "important theorem"},
{"id": 1815,
-"keyword": "operational"},
+"keyword": "cartesian product"},
{"id": 1816,
-"keyword": "restricted type"},
+"keyword": "taylor series expansions"},
{"id": 1817,
-"keyword": "org 10"},
+"keyword": "design choices underlying"},
{"id": 1818,
-"keyword": "fully-automated approach"},
+"keyword": "constructive points"},
{"id": 1819,
-"keyword": "auxiliary labels"},
+"keyword": "functional data structures"},
{"id": 1820,
-"keyword": "widely applicable"},
+"keyword": "2nd international workshop"},
{"id": 1821,
-"keyword": "rich expression typing rules"},
+"keyword": "pages 20-34"},
{"id": 1822,
-"keyword": "metric first-order dynamic logic"},
+"keyword": "afp entry simple_firewall"},
{"id": 1823,
-"keyword": "specific conflict analysis algorithm"},
+"keyword": "shadow root"},
{"id": 1824,
-"keyword": "linear algebra"},
+"keyword": "invariant factor decomposition"},
{"id": 1825,
-"keyword": "arbitrary uniform distributions"},
+"keyword": "operational"},
{"id": 1826,
-"keyword": "security violations"},
+"keyword": "restricted type"},
{"id": 1827,
-"keyword": "intersection type systems"},
+"keyword": "org 10"},
{"id": 1828,
-"keyword": "state-of-the-art smt solvers"},
+"keyword": "fully-automated approach"},
{"id": 1829,
-"keyword": "class-collection-based rts algorithms run"},
+"keyword": "auxiliary labels"},
{"id": 1830,
-"keyword": "control flow"},
+"keyword": "widely applicable"},
{"id": 1831,
-"keyword": "nominal2 package"},
+"keyword": "rich expression typing rules"},
{"id": 1832,
-"keyword": "1 involving"},
+"keyword": "metric first-order dynamic logic"},
{"id": 1833,
-"keyword": "free groups"},
+"keyword": "specific conflict analysis algorithm"},
{"id": 1834,
->>>>>>> merge rev
+"keyword": "linear algebra"},
+{"id": 1835,
+"keyword": "arbitrary uniform distributions"},
+{"id": 1836,
+"keyword": "security violations"},
+{"id": 1837,
+"keyword": "intersection type systems"},
+{"id": 1838,
+"keyword": "state-of-the-art smt solvers"},
+{"id": 1839,
+"keyword": "class-collection-based rts algorithms run"},
+{"id": 1840,
+"keyword": "control flow"},
+{"id": 1841,
+"keyword": "nominal2 package"},
+{"id": 1842,
+"keyword": "1 involving"},
+{"id": 1843,
+"keyword": "free groups"},
+{"id": 1844,
"keyword": "actuarial mathematics"},
-<<<<<<< working copy
-{"id": 1815,
-||||||| common ancestor
-{"id": 1820,
-=======
-{"id": 1835,
->>>>>>> merge rev
+{"id": 1845,
"keyword": "famous abc conjecture"},
-<<<<<<< working copy
-{"id": 1816,
-||||||| common ancestor
-{"id": 1821,
-=======
-{"id": 1836,
->>>>>>> merge rev
+{"id": 1846,
"keyword": "myhill nerode theorem"},
-<<<<<<< working copy
-{"id": 1817,
-||||||| common ancestor
-{"id": 1822,
-=======
-{"id": 1837,
->>>>>>> merge rev
+{"id": 1847,
"keyword": "key result"},
-<<<<<<< working copy
-{"id": 1818,
+{"id": 1848,
"keyword": "uniform substitution calculus"},
-{"id": 1819,
-"keyword": "slightly modified"},
-{"id": 1820,
-"keyword": "tetrahedral group"},
-{"id": 1821,
-"keyword": "type class laws"},
-{"id": 1822,
-"keyword": "greatest common divisor"},
-{"id": 1823,
-"keyword": "automated reasoning framework"},
-{"id": 1824,
-"keyword": "compiled tactic code"},
-{"id": 1825,
-"keyword": "merkle functors"},
-{"id": 1826,
-"keyword": "dirichlet products"},
-{"id": 1827,
-"keyword": "group ring"},
-{"id": 1828,
-"keyword": "efficient allocation"},
-{"id": 1829,
-"keyword": "miller ndash"},
-{"id": 1830,
-"keyword": "direct execution"},
-{"id": 1831,
-"keyword": "important data structure"},
-{"id": 1832,
-"keyword": "projective coordinates"},
-{"id": 1833,
-||||||| common ancestor
-{"id": 1823,
-"keyword": "uniform substitution calculus"},
-{"id": 1824,
+{"id": 1849,
"keyword": "slightly modified"},
-{"id": 1825,
+{"id": 1850,
"keyword": "tetrahedral group"},
-{"id": 1826,
-"keyword": "type class laws"},
-{"id": 1827,
-"keyword": "greatest common divisor"},
-{"id": 1828,
-"keyword": "automated reasoning framework"},
-{"id": 1829,
-"keyword": "compiled tactic code"},
-{"id": 1830,
-"keyword": "merkle functors"},
-{"id": 1831,
-"keyword": "dirichlet products"},
-{"id": 1832,
-"keyword": "group ring"},
-{"id": 1833,
-"keyword": "efficient allocation"},
-{"id": 1834,
-"keyword": "miller ndash"},
-{"id": 1835,
-"keyword": "direct execution"},
-{"id": 1836,
-"keyword": "important data structure"},
-{"id": 1837,
-"keyword": "projective coordinates"},
-{"id": 1838,
-=======
-{"id": 1838,
-"keyword": "uniform substitution calculus"},
-{"id": 1839,
-"keyword": "slightly modified"},
-{"id": 1840,
-"keyword": "tetrahedral group"},
-{"id": 1841,
+{"id": 1851,
"keyword": "type class laws"},
-{"id": 1842,
-"keyword": "greatest common divisor"},
-{"id": 1843,
-"keyword": "automated reasoning framework"},
-{"id": 1844,
-"keyword": "compiled tactic code"},
-{"id": 1845,
-"keyword": "merkle functors"},
-{"id": 1846,
-"keyword": "dirichlet products"},
-{"id": 1847,
-"keyword": "import-expert format"},
-{"id": 1848,
-"keyword": "group ring"},
-{"id": 1849,
-"keyword": "efficient allocation"},
-{"id": 1850,
-"keyword": "miller ndash"},
-{"id": 1851,
-"keyword": "direct execution"},
{"id": 1852,
-"keyword": "important data structure"},
-{"id": 1853,
-"keyword": "projective coordinates"},
-{"id": 1854,
->>>>>>> merge rev
-"keyword": "hypergraph theory"},
-<<<<<<< working copy
-{"id": 1834,
-"keyword": "perfect number theorem"},
-{"id": 1835,
-"keyword": "semantic arguments"},
-{"id": 1836,
-"keyword": "linear variable-separated rewrite systems"},
-{"id": 1837,
-"keyword": "local lexing semantics"},
-{"id": 1838,
-"keyword": "suffix comparability"},
-{"id": 1839,
-"keyword": "shallow learning"},
-{"id": 1840,
-"keyword": "normal form"},
-{"id": 1841,
-"keyword": "stone relation algebras"},
-{"id": 1842,
-"keyword": "simulation relation"},
-{"id": 1843,
-"keyword": "constant functions"},
-{"id": 1844,
-"keyword": "small predicate"},
-{"id": 1845,
-"keyword": "riemann zeta function"},
-{"id": 1846,
-"keyword": "jan kret nsk"},
-{"id": 1847,
-"keyword": "complex vector spaces"},
-{"id": 1848,
-"keyword": "ordinary generating function"},
-{"id": 1849,
-"keyword": "incidence system isomorphisms"},
-{"id": 1850,
-"keyword": "coefficients modulo"},
-{"id": 1851,
-"keyword": "cardinality formulae"},
-{"id": 1852,
-"keyword": "minor corrections"},
+"keyword": "greatest common divisor"},
{"id": 1853,
-"keyword": "exceeds aleph_1"},
+"keyword": "automated reasoning framework"},
{"id": 1854,
-"keyword": "basic superposition calculus"},
+"keyword": "compiled tactic code"},
{"id": 1855,
-"keyword": "projective geometry"},
+"keyword": "merkle functors"},
{"id": 1856,
-"keyword": "imperative target language"},
+"keyword": "dirichlet products"},
{"id": 1857,
-"keyword": "automatically derive"},
+"keyword": "import-expert format"},
{"id": 1858,
-"keyword": "afp entry implements"},
+"keyword": "group ring"},
{"id": 1859,
-"keyword": "geometric folklore proof rigorous"},
+"keyword": "efficient allocation"},
{"id": 1860,
-"keyword": "transitive noninterference policies"},
-||||||| common ancestor
-{"id": 1839,
+"keyword": "miller ndash"},
+{"id": 1861,
+"keyword": "direct execution"},
+{"id": 1862,
+"keyword": "important data structure"},
+{"id": 1863,
+"keyword": "projective coordinates"},
+{"id": 1864,
+"keyword": "hypergraph theory"},
+{"id": 1865,
"keyword": "perfect number theorem"},
-{"id": 1840,
+{"id": 1866,
"keyword": "semantic arguments"},
-{"id": 1841,
+{"id": 1867,
"keyword": "linear variable-separated rewrite systems"},
-{"id": 1842,
+{"id": 1868,
"keyword": "local lexing semantics"},
-{"id": 1843,
-"keyword": "suffix comparability"},
-{"id": 1844,
-"keyword": "shallow learning"},
-{"id": 1845,
-"keyword": "normal form"},
-{"id": 1846,
-"keyword": "stone relation algebras"},
-{"id": 1847,
-"keyword": "simulation relation"},
-{"id": 1848,
-"keyword": "constant functions"},
-{"id": 1849,
-"keyword": "small predicate"},
-{"id": 1850,
-"keyword": "riemann zeta function"},
-{"id": 1851,
-"keyword": "jan kret nsk"},
-{"id": 1852,
-"keyword": "complex vector spaces"},
-{"id": 1853,
-"keyword": "ordinary generating function"},
-{"id": 1854,
-"keyword": "incidence system isomorphisms"},
-{"id": 1855,
-"keyword": "coefficients modulo"},
-{"id": 1856,
-"keyword": "cardinality formulae"},
-{"id": 1857,
-"keyword": "minor corrections"},
-{"id": 1858,
-"keyword": "exceeds aleph_1"},
-{"id": 1859,
-"keyword": "basic superposition calculus"},
-{"id": 1860,
-"keyword": "projective geometry"},
-=======
-{"id": 1855,
-"keyword": "perfect number theorem"},
-{"id": 1856,
-"keyword": "semantic arguments"},
-{"id": 1857,
-"keyword": "linear variable-separated rewrite systems"},
-{"id": 1858,
-"keyword": "local lexing semantics"},
-{"id": 1859,
+{"id": 1869,
"keyword": "suffix comparability"},
-{"id": 1860,
+{"id": 1870,
"keyword": "shallow learning"},
->>>>>>> merge rev
-{"id": 1861,
-<<<<<<< working copy
-"keyword": "structure proofs"},
-||||||| common ancestor
-"keyword": "imperative target language"},
-=======
+{"id": 1871,
"keyword": "normal form"},
->>>>>>> merge rev
-{"id": 1862,
-<<<<<<< working copy
-"keyword": "arbitrary number"},
-||||||| common ancestor
-"keyword": "automatically derive"},
-=======
+{"id": 1872,
"keyword": "stone relation algebras"},
->>>>>>> merge rev
-{"id": 1863,
-<<<<<<< working copy
-"keyword": "control-flow operators"},
-||||||| common ancestor
-"keyword": "afp entry implements"},
-=======
-"keyword": "simulation relation"},
->>>>>>> merge rev
-{"id": 1864,
-<<<<<<< working copy
-"keyword": "powerset monad"},
-||||||| common ancestor
-"keyword": "geometric folklore proof rigorous"},
-=======
-"keyword": "constant functions"},
->>>>>>> merge rev
-{"id": 1865,
-<<<<<<< working copy
-"keyword": "distribute sequential composition"},
-||||||| common ancestor
-"keyword": "transitive noninterference policies"},
-=======
-"keyword": "small predicate"},
->>>>>>> merge rev
-{"id": 1866,
-<<<<<<< working copy
-"keyword": "algebraic point"},
-||||||| common ancestor
-"keyword": "structure proofs"},
-=======
-"keyword": "riemann zeta function"},
->>>>>>> merge rev
-{"id": 1867,
-<<<<<<< working copy
-"keyword": "common base clock"},
-||||||| common ancestor
-"keyword": "arbitrary number"},
-=======
-"keyword": "jan kret nsk"},
->>>>>>> merge rev
-{"id": 1868,
-<<<<<<< working copy
-"keyword": "lawrence paulson"},
-||||||| common ancestor
-"keyword": "control-flow operators"},
-=======
-"keyword": "complex vector spaces"},
->>>>>>> merge rev
-{"id": 1869,
-<<<<<<< working copy
-"keyword": "dk andschl thesis"},
-||||||| common ancestor
-"keyword": "powerset monad"},
-=======
-"keyword": "ordinary generating function"},
->>>>>>> merge rev
-{"id": 1870,
-<<<<<<< working copy
-"keyword": "confidentiality guarantees"},
-||||||| common ancestor
-"keyword": "distribute sequential composition"},
-=======
-"keyword": "incidence system isomorphisms"},
->>>>>>> merge rev
-{"id": 1871,
-<<<<<<< working copy
-"keyword": "intensional higher-order modal logic"},
-{"id": 1872,
-"keyword": "gromov hyperbolic spaces"},
-{"id": 1873,
-"keyword": "experimental data suggests"},
-{"id": 1874,
-"keyword": "control dependencies"},
-{"id": 1875,
-"keyword": "multi-head paradigm"},
-{"id": 1876,
-"keyword": "average-case cost"},
-{"id": 1877,
-"keyword": "article collects formalisations"},
-{"id": 1878,
-"keyword": "monitoring algorithm"},
-{"id": 1879,
-"keyword": "logical approaches"},
-{"id": 1880,
-"keyword": "strong ties"},
-{"id": 1881,
-"keyword": "binary search tree operations"},
-{"id": 1882,
-"keyword": "private information"},
-{"id": 1883,
-"keyword": "transition execution function"},
-{"id": 1884,
-"keyword": "analyzed firewall mdash"},
-{"id": 1885,
-"keyword": "residue classes"},
-{"id": 1886,
-"keyword": "final implementation"},
-{"id": 1887,
-"keyword": "theory builds"},
-{"id": 1888,
-"keyword": "pldi 2015 paper"},
-{"id": 1889,
-"keyword": "carath odory"},
-{"id": 1890,
-"keyword": "transitive closure"},
-{"id": 1891,
-"keyword": "book dense sphere packings"},
-{"id": 1892,
-"keyword": "planar systems"},
-{"id": 1893,
-"keyword": "results hold"},
-{"id": 1894,
-"keyword": "parser written"},
-{"id": 1895,
-"keyword": "nature allowing"},
-||||||| common ancestor
-"keyword": "algebraic point"},
-{"id": 1872,
-"keyword": "common base clock"},
{"id": 1873,
-"keyword": "lawrence paulson"},
+"keyword": "simulation relation"},
{"id": 1874,
-"keyword": "dk andschl thesis"},
+"keyword": "constant functions"},
{"id": 1875,
-"keyword": "confidentiality guarantees"},
+"keyword": "small predicate"},
{"id": 1876,
-"keyword": "intensional higher-order modal logic"},
+"keyword": "riemann zeta function"},
{"id": 1877,
-"keyword": "gromov hyperbolic spaces"},
+"keyword": "jan kret nsk"},
{"id": 1878,
-"keyword": "experimental data suggests"},
+"keyword": "complex vector spaces"},
{"id": 1879,
-"keyword": "control dependencies"},
+"keyword": "ordinary generating function"},
{"id": 1880,
-"keyword": "multi-head paradigm"},
+"keyword": "incidence system isomorphisms"},
{"id": 1881,
-"keyword": "average-case cost"},
+"keyword": "coefficients modulo"},
{"id": 1882,
-"keyword": "article collects formalisations"},
+"keyword": "cardinality formulae"},
{"id": 1883,
-"keyword": "monitoring algorithm"},
+"keyword": "minor corrections"},
{"id": 1884,
-"keyword": "logical approaches"},
+"keyword": "exceeds aleph_1"},
{"id": 1885,
-"keyword": "strong ties"},
+"keyword": "basic superposition calculus"},
{"id": 1886,
-"keyword": "binary search tree operations"},
+"keyword": "projective geometry"},
{"id": 1887,
-"keyword": "private information"},
+"keyword": "imperative target language"},
{"id": 1888,
-"keyword": "transition execution function"},
+"keyword": "automatically derive"},
{"id": 1889,
-"keyword": "analyzed firewall mdash"},
+"keyword": "afp entry implements"},
{"id": 1890,
-"keyword": "residue classes"},
+"keyword": "geometric folklore proof rigorous"},
{"id": 1891,
-"keyword": "final implementation"},
-{"id": 1892,
-"keyword": "theory builds"},
-{"id": 1893,
-"keyword": "pldi 2015 paper"},
-{"id": 1894,
-"keyword": "carath odory"},
-{"id": 1895,
-"keyword": "transitive closure"},
-=======
-"keyword": "coefficients modulo"},
-{"id": 1872,
-"keyword": "cardinality formulae"},
-{"id": 1873,
-"keyword": "minor corrections"},
-{"id": 1874,
-"keyword": "exceeds aleph_1"},
-{"id": 1875,
-"keyword": "basic superposition calculus"},
-{"id": 1876,
-"keyword": "projective geometry"},
-{"id": 1877,
-"keyword": "imperative target language"},
-{"id": 1878,
-"keyword": "automatically derive"},
-{"id": 1879,
-"keyword": "afp entry implements"},
-{"id": 1880,
-"keyword": "geometric folklore proof rigorous"},
-{"id": 1881,
"keyword": "transitive noninterference policies"},
-{"id": 1882,
+{"id": 1892,
"keyword": "structure proofs"},
-{"id": 1883,
+{"id": 1893,
"keyword": "arbitrary number"},
-{"id": 1884,
+{"id": 1894,
"keyword": "control-flow operators"},
-{"id": 1885,
+{"id": 1895,
"keyword": "powerset monad"},
-{"id": 1886,
-"keyword": "distribute sequential composition"},
-{"id": 1887,
-"keyword": "algebraic point"},
-{"id": 1888,
-"keyword": "common base clock"},
-{"id": 1889,
-"keyword": "lawrence paulson"},
-{"id": 1890,
-"keyword": "dk andschl thesis"},
-{"id": 1891,
-"keyword": "confidentiality guarantees"},
-{"id": 1892,
-"keyword": "intensional higher-order modal logic"},
-{"id": 1893,
-"keyword": "gromov hyperbolic spaces"},
-{"id": 1894,
-"keyword": "experimental data suggests"},
-{"id": 1895,
-"keyword": "control dependencies"},
->>>>>>> merge rev
{"id": 1896,
-<<<<<<< working copy
-"keyword": "educational setting due"},
-||||||| common ancestor
-"keyword": "book dense sphere packings"},
-=======
-"keyword": "multi-head paradigm"},
->>>>>>> merge rev
+"keyword": "distribute sequential composition"},
{"id": 1897,
-<<<<<<< working copy
-"keyword": "resolution rule"},
-||||||| common ancestor
-"keyword": "planar systems"},
-=======
-"keyword": "average-case cost"},
->>>>>>> merge rev
+"keyword": "algebraic point"},
{"id": 1898,
-<<<<<<< working copy
-"keyword": "verification conditions generated"},
-||||||| common ancestor
-"keyword": "results hold"},
-=======
-"keyword": "article collects formalisations"},
->>>>>>> merge rev
+"keyword": "common base clock"},
{"id": 1899,
-<<<<<<< working copy
-"keyword": "full extent"},
-||||||| common ancestor
-"keyword": "parser written"},
-=======
-"keyword": "monitoring algorithm"},
->>>>>>> merge rev
+"keyword": "lawrence paulson"},
{"id": 1900,
-<<<<<<< working copy
-"keyword": "binary trees fredman"},
+"keyword": "dk andschl thesis"},
{"id": 1901,
-"keyword": "systems communication patterns"},
+"keyword": "confidentiality guarantees"},
{"id": 1902,
-"keyword": "handwritten reference implementations"},
+"keyword": "intensional higher-order modal logic"},
{"id": 1903,
-"keyword": "metric first-order temporal logic"},
+"keyword": "gromov hyperbolic spaces"},
{"id": 1904,
-"keyword": "paraconsistent engineering"},
+"keyword": "experimental data suggests"},
{"id": 1905,
-"keyword": "stone algebra"},
+"keyword": "control dependencies"},
{"id": 1906,
-"keyword": "verify basic algorithms"},
+"keyword": "multi-head paradigm"},
{"id": 1907,
-"keyword": "dirichlet series"},
+"keyword": "average-case cost"},
{"id": 1908,
-"keyword": "weak conjunction"},
-||||||| common ancestor
-"keyword": "nature allowing"},
-{"id": 1901,
-"keyword": "educational setting due"},
-{"id": 1902,
-"keyword": "resolution rule"},
-{"id": 1903,
-"keyword": "verification conditions generated"},
-{"id": 1904,
-"keyword": "full extent"},
-{"id": 1905,
-"keyword": "binary trees fredman"},
-{"id": 1906,
-"keyword": "systems communication patterns"},
-{"id": 1907,
-"keyword": "handwritten reference implementations"},
-{"id": 1908,
-"keyword": "metric first-order temporal logic"},
-=======
+"keyword": "article collects formalisations"},
+{"id": 1909,
+"keyword": "monitoring algorithm"},
+{"id": 1910,
"keyword": "logical approaches"},
-{"id": 1901,
-"keyword": "strong ties"},
-{"id": 1902,
-"keyword": "binary search tree operations"},
-{"id": 1903,
-"keyword": "private information"},
-{"id": 1904,
-"keyword": "transition execution function"},
-{"id": 1905,
-"keyword": "analyzed firewall mdash"},
-{"id": 1906,
-"keyword": "residue classes"},
-{"id": 1907,
-"keyword": "final implementation"},
-{"id": 1908,
-"keyword": "theory builds"},
->>>>>>> merge rev
-{"id": 1909,
-<<<<<<< working copy
-"keyword": "desired subgraph"},
-||||||| common ancestor
-"keyword": "paraconsistent engineering"},
-=======
-"keyword": "pldi 2015 paper"},
->>>>>>> merge rev
-{"id": 1910,
-<<<<<<< working copy
-"keyword": "hol nominal"},
-||||||| common ancestor
-"keyword": "stone algebra"},
-=======
-"keyword": "carath odory"},
->>>>>>> merge rev
{"id": 1911,
-<<<<<<< working copy
-"keyword": "set theory framework"},
-||||||| common ancestor
-"keyword": "verify basic algorithms"},
-=======
-"keyword": "transitive closure"},
->>>>>>> merge rev
+"keyword": "strong ties"},
{"id": 1912,
-<<<<<<< working copy
-"keyword": "modeling application level protocols"},
-||||||| common ancestor
-"keyword": "dirichlet series"},
-=======
-"keyword": "book dense sphere packings"},
->>>>>>> merge rev
+"keyword": "binary search tree operations"},
{"id": 1913,
-<<<<<<< working copy
-"keyword": "functions approximating"},
-||||||| common ancestor
-"keyword": "weak conjunction"},
-=======
-"keyword": "planar systems"},
->>>>>>> merge rev
+"keyword": "private information"},
{"id": 1914,
-<<<<<<< working copy
-"keyword": "domain-theoretic fixpoint operator"},
-||||||| common ancestor
-"keyword": "desired subgraph"},
-=======
-"keyword": "results hold"},
->>>>>>> merge rev
+"keyword": "transition execution function"},
{"id": 1915,
-<<<<<<< working copy
-"keyword": "amir hossein parvardi"},
-||||||| common ancestor
-"keyword": "hol nominal"},
-=======
-"keyword": "parser written"},
->>>>>>> merge rev
+"keyword": "analyzed firewall mdash"},
{"id": 1916,
-<<<<<<< working copy
-"keyword": "np-hard problem"},
-||||||| common ancestor
-"keyword": "set theory framework"},
-=======
-"keyword": "nature allowing"},
->>>>>>> merge rev
+"keyword": "residue classes"},
{"id": 1917,
-<<<<<<< working copy
-"keyword": "trace based"},
-||||||| common ancestor
-"keyword": "modeling application level protocols"},
-=======
-"keyword": "educational setting due"},
->>>>>>> merge rev
+"keyword": "final implementation"},
{"id": 1918,
-<<<<<<< working copy
-"keyword": "digit expansions builds"},
-||||||| common ancestor
-"keyword": "functions approximating"},
-=======
-"keyword": "resolution rule"},
->>>>>>> merge rev
+"keyword": "theory builds"},
{"id": 1919,
-<<<<<<< working copy
-"keyword": "correct 2-3 finger trees"},
+"keyword": "pldi 2015 paper"},
{"id": 1920,
-"keyword": "sizeable family"},
+"keyword": "carath odory"},
{"id": 1921,
-"keyword": "optimal running time"},
+"keyword": "transitive closure"},
{"id": 1922,
-"keyword": "emptiness check"},
+"keyword": "book dense sphere packings"},
{"id": 1923,
-"keyword": "ordinal exponentiation"},
+"keyword": "planar systems"},
{"id": 1924,
-"keyword": "first-order clauses"},
+"keyword": "results hold"},
{"id": 1925,
-"keyword": "stiffness matrix"},
+"keyword": "parser written"},
{"id": 1926,
-"keyword": "clause sets"},
+"keyword": "nature allowing"},
{"id": 1927,
-"keyword": "georg kreisel"},
-||||||| common ancestor
-"keyword": "domain-theoretic fixpoint operator"},
-{"id": 1920,
-"keyword": "amir hossein parvardi"},
-{"id": 1921,
-"keyword": "np-hard problem"},
-{"id": 1922,
-"keyword": "trace based"},
-{"id": 1923,
-"keyword": "digit expansions builds"},
-{"id": 1924,
-"keyword": "correct 2-3 finger trees"},
-{"id": 1925,
-"keyword": "sizeable family"},
-{"id": 1926,
-"keyword": "optimal running time"},
-{"id": 1927,
-"keyword": "emptiness check"},
-=======
+"keyword": "educational setting due"},
+{"id": 1928,
+"keyword": "resolution rule"},
+{"id": 1929,
"keyword": "verification conditions generated"},
-{"id": 1920,
+{"id": 1930,
"keyword": "full extent"},
-{"id": 1921,
+{"id": 1931,
"keyword": "binary trees fredman"},
-{"id": 1922,
+{"id": 1932,
"keyword": "systems communication patterns"},
-{"id": 1923,
+{"id": 1933,
"keyword": "handwritten reference implementations"},
-{"id": 1924,
+{"id": 1934,
"keyword": "metric first-order temporal logic"},
-{"id": 1925,
+{"id": 1935,
"keyword": "paraconsistent engineering"},
-{"id": 1926,
+{"id": 1936,
"keyword": "stone algebra"},
-{"id": 1927,
+{"id": 1937,
"keyword": "verify basic algorithms"},
->>>>>>> merge rev
-{"id": 1928,
-<<<<<<< working copy
-"keyword": "cartesian closed categories"},
-||||||| common ancestor
-"keyword": "ordinal exponentiation"},
-=======
+{"id": 1938,
"keyword": "dirichlet series"},
->>>>>>> merge rev
-{"id": 1929,
-<<<<<<< working copy
-"keyword": "executions produce sequences"},
-||||||| common ancestor
+{"id": 1939,
+"keyword": "weak conjunction"},
+{"id": 1940,
+"keyword": "desired subgraph"},
+{"id": 1941,
+"keyword": "hermitian matrix"},
+{"id": 1942,
+"keyword": "hol nominal"},
+{"id": 1943,
+"keyword": "set theory framework"},
+{"id": 1944,
+"keyword": "modeling application level protocols"},
+{"id": 1945,
+"keyword": "functions approximating"},
+{"id": 1946,
+"keyword": "domain-theoretic fixpoint operator"},
+{"id": 1947,
+"keyword": "amir hossein parvardi"},
+{"id": 1948,
+"keyword": "np-hard problem"},
+{"id": 1949,
+"keyword": "trace based"},
+{"id": 1950,
+"keyword": "digit expansions builds"},
+{"id": 1951,
+"keyword": "correct 2-3 finger trees"},
+{"id": 1952,
+"keyword": "sizeable family"},
+{"id": 1953,
+"keyword": "optimal running time"},
+{"id": 1954,
+"keyword": "emptiness check"},
+{"id": 1955,
+"keyword": "ordinal exponentiation"},
+{"id": 1956,
"keyword": "first-order clauses"},
-=======
-"keyword": "weak conjunction"},
->>>>>>> merge rev
-{"id": 1930,
-<<<<<<< working copy
-"keyword": "shifting intervals"},
-||||||| common ancestor
+{"id": 1957,
"keyword": "stiffness matrix"},
-=======
-"keyword": "desired subgraph"},
->>>>>>> merge rev
-{"id": 1931,
-<<<<<<< working copy
-"keyword": "write poof strategies"},
-||||||| common ancestor
+{"id": 1958,
"keyword": "clause sets"},
-=======
-"keyword": "hermitian matrix"},
->>>>>>> merge rev
-{"id": 1932,
-<<<<<<< working copy
-"keyword": "approximating real roots"},
-{"id": 1933,
-"keyword": "sequential imperative programming language"},
-{"id": 1934,
-"keyword": "models partial functions"},
-{"id": 1935,
-"keyword": "data dependencies"},
-{"id": 1936,
-"keyword": "distinctive feature"},
-{"id": 1937,
-"keyword": "underlying transition system"},
-{"id": 1938,
-"keyword": "derive powerful induction rules"},
-{"id": 1939,
-"keyword": "fair prices"},
-{"id": 1940,
-"keyword": "eye color"},
-{"id": 1941,
-"keyword": "polynomially bounded"},
-{"id": 1942,
-"keyword": "contribution presents"},
-{"id": 1943,
-"keyword": "computer-assisted interpretive method"},
-{"id": 1944,
-"keyword": "weak conjunction operator coincides"},
-{"id": 1945,
-"keyword": "maximum-flow minimal-cut theorem"},
-{"id": 1946,
-"keyword": "negative diagonal entry"},
-{"id": 1947,
-"keyword": "relation composition"},
-{"id": 1948,
-"keyword": "notions probabilistic noninterference"},
-{"id": 1949,
-"keyword": "language processing"},
-{"id": 1950,
-"keyword": "crypthol library crypthol"},
-{"id": 1951,
-"keyword": "multiplicative subset"},
-{"id": 1952,
-"keyword": "proof outlines"},
-{"id": 1953,
-"keyword": "top 100 theorems list"},
-{"id": 1954,
-"keyword": "banach space"},
-{"id": 1955,
-"keyword": "so-called desargues"},
-{"id": 1956,
-"keyword": "current version"},
-||||||| common ancestor
+{"id": 1959,
"keyword": "georg kreisel"},
-{"id": 1933,
+{"id": 1960,
"keyword": "cartesian closed categories"},
-{"id": 1934,
+{"id": 1961,
"keyword": "executions produce sequences"},
-{"id": 1935,
+{"id": 1962,
"keyword": "shifting intervals"},
-{"id": 1936,
+{"id": 1963,
"keyword": "write poof strategies"},
-{"id": 1937,
+{"id": 1964,
"keyword": "approximating real roots"},
-{"id": 1938,
+{"id": 1965,
"keyword": "sequential imperative programming language"},
-{"id": 1939,
+{"id": 1966,
"keyword": "models partial functions"},
-{"id": 1940,
+{"id": 1967,
"keyword": "data dependencies"},
-{"id": 1941,
+{"id": 1968,
"keyword": "distinctive feature"},
-{"id": 1942,
+{"id": 1969,
"keyword": "underlying transition system"},
-{"id": 1943,
+{"id": 1970,
"keyword": "derive powerful induction rules"},
-{"id": 1944,
+{"id": 1971,
"keyword": "fair prices"},
-{"id": 1945,
+{"id": 1972,
"keyword": "eye color"},
-{"id": 1946,
+{"id": 1973,
"keyword": "polynomially bounded"},
-{"id": 1947,
+{"id": 1974,
"keyword": "contribution presents"},
-{"id": 1948,
+{"id": 1975,
"keyword": "computer-assisted interpretive method"},
-{"id": 1949,
+{"id": 1976,
"keyword": "weak conjunction operator coincides"},
-{"id": 1950,
+{"id": 1977,
"keyword": "maximum-flow minimal-cut theorem"},
-{"id": 1951,
+{"id": 1978,
"keyword": "negative diagonal entry"},
-{"id": 1952,
+{"id": 1979,
"keyword": "relation composition"},
-{"id": 1953,
+{"id": 1980,
"keyword": "notions probabilistic noninterference"},
-{"id": 1954,
+{"id": 1981,
"keyword": "language processing"},
-{"id": 1955,
+{"id": 1982,
"keyword": "crypthol library crypthol"},
-{"id": 1956,
+{"id": 1983,
"keyword": "multiplicative subset"},
-=======
-"keyword": "hol nominal"},
-{"id": 1933,
-"keyword": "set theory framework"},
-{"id": 1934,
-"keyword": "modeling application level protocols"},
-{"id": 1935,
-"keyword": "functions approximating"},
-{"id": 1936,
-"keyword": "domain-theoretic fixpoint operator"},
-{"id": 1937,
-"keyword": "amir hossein parvardi"},
-{"id": 1938,
-"keyword": "np-hard problem"},
-{"id": 1939,
-"keyword": "trace based"},
-{"id": 1940,
-"keyword": "digit expansions builds"},
-{"id": 1941,
-"keyword": "correct 2-3 finger trees"},
-{"id": 1942,
-"keyword": "sizeable family"},
-{"id": 1943,
-"keyword": "optimal running time"},
-{"id": 1944,
-"keyword": "emptiness check"},
-{"id": 1945,
-"keyword": "ordinal exponentiation"},
-{"id": 1946,
-"keyword": "first-order clauses"},
-{"id": 1947,
-"keyword": "stiffness matrix"},
-{"id": 1948,
-"keyword": "clause sets"},
-{"id": 1949,
-"keyword": "georg kreisel"},
-{"id": 1950,
-"keyword": "cartesian closed categories"},
-{"id": 1951,
-"keyword": "executions produce sequences"},
-{"id": 1952,
-"keyword": "shifting intervals"},
-{"id": 1953,
-"keyword": "write poof strategies"},
-{"id": 1954,
-"keyword": "approximating real roots"},
-{"id": 1955,
-"keyword": "sequential imperative programming language"},
-{"id": 1956,
-"keyword": "models partial functions"},
->>>>>>> merge rev
-{"id": 1957,
-<<<<<<< working copy
-"keyword": "a-priori detect"},
-||||||| common ancestor
+{"id": 1984,
"keyword": "proof outlines"},
-=======
-"keyword": "data dependencies"},
->>>>>>> merge rev
-{"id": 1958,
-<<<<<<< working copy
-"keyword": "periodic arithmetic functions"},
-||||||| common ancestor
+{"id": 1985,
"keyword": "top 100 theorems list"},
-=======
-"keyword": "distinctive feature"},
->>>>>>> merge rev
-{"id": 1959,
-<<<<<<< working copy
-"keyword": "infinite ramsey theorem"},
-||||||| common ancestor
+{"id": 1986,
"keyword": "banach space"},
-=======
-"keyword": "underlying transition system"},
->>>>>>> merge rev
-{"id": 1960,
-<<<<<<< working copy
-"keyword": "registering applicative functors"},
-||||||| common ancestor
+{"id": 1987,
"keyword": "so-called desargues"},
-=======
-"keyword": "derive powerful induction rules"},
->>>>>>> merge rev
-{"id": 1961,
-<<<<<<< working copy
-"keyword": "future combinations"},
-||||||| common ancestor
+{"id": 1988,
"keyword": "current version"},
-=======
-"keyword": "fair prices"},
->>>>>>> merge rev
-{"id": 1962,
-<<<<<<< working copy
-"keyword": "mutable references"},
-||||||| common ancestor
+{"id": 1989,
+"keyword": "added formalisations"},
+{"id": 1990,
"keyword": "a-priori detect"},
-=======
-"keyword": "eye color"},
->>>>>>> merge rev
-{"id": 1963,
-<<<<<<< working copy
-"keyword": "isosceles triangle theorem"},
-||||||| common ancestor
+{"id": 1991,
"keyword": "periodic arithmetic functions"},
-=======
-"keyword": "polynomially bounded"},
->>>>>>> merge rev
-{"id": 1964,
-<<<<<<< working copy
-"keyword": "big step semantics"},
-||||||| common ancestor
+{"id": 1992,
"keyword": "infinite ramsey theorem"},
-=======
-"keyword": "contribution presents"},
->>>>>>> merge rev
-{"id": 1965,
-<<<<<<< working copy
-"keyword": "sequential consistency"},
-||||||| common ancestor
+{"id": 1993,
"keyword": "registering applicative functors"},
-=======
-"keyword": "computer-assisted interpretive method"},
->>>>>>> merge rev
-{"id": 1966,
-<<<<<<< working copy
-"keyword": "strict partial orders"},
-||||||| common ancestor
+{"id": 1994,
"keyword": "future combinations"},
-=======
-"keyword": "weak conjunction operator coincides"},
->>>>>>> merge rev
-{"id": 1967,
-<<<<<<< working copy
-"keyword": "45th theorem"},
-{"id": 1968,
-||||||| common ancestor
+{"id": 1995,
"keyword": "mutable references"},
-{"id": 1968,
+{"id": 1996,
"keyword": "isosceles triangle theorem"},
-{"id": 1969,
+{"id": 1997,
"keyword": "big step semantics"},
-{"id": 1970,
+{"id": 1998,
"keyword": "sequential consistency"},
-{"id": 1971,
+{"id": 1999,
"keyword": "strict partial orders"},
-{"id": 1972,
+{"id": 2000,
"keyword": "45th theorem"},
-{"id": 1973,
-=======
-"keyword": "maximum-flow minimal-cut theorem"},
-{"id": 1968,
-"keyword": "negative diagonal entry"},
-{"id": 1969,
-"keyword": "relation composition"},
-{"id": 1970,
-"keyword": "notions probabilistic noninterference"},
-{"id": 1971,
-"keyword": "language processing"},
-{"id": 1972,
-"keyword": "crypthol library crypthol"},
-{"id": 1973,
-"keyword": "multiplicative subset"},
-{"id": 1974,
-"keyword": "proof outlines"},
-{"id": 1975,
-"keyword": "top 100 theorems list"},
-{"id": 1976,
-"keyword": "banach space"},
-{"id": 1977,
-"keyword": "so-called desargues"},
-{"id": 1978,
-"keyword": "current version"},
-{"id": 1979,
-"keyword": "a-priori detect"},
-{"id": 1980,
-"keyword": "periodic arithmetic functions"},
-{"id": 1981,
-"keyword": "infinite ramsey theorem"},
-{"id": 1982,
-"keyword": "registering applicative functors"},
-{"id": 1983,
-"keyword": "future combinations"},
-{"id": 1984,
-"keyword": "mutable references"},
-{"id": 1985,
-"keyword": "isosceles triangle theorem"},
-{"id": 1986,
-"keyword": "big step semantics"},
-{"id": 1987,
-"keyword": "sequential consistency"},
-{"id": 1988,
-"keyword": "strict partial orders"},
-{"id": 1989,
-"keyword": "45th theorem"},
-{"id": 1990,
->>>>>>> merge rev
+{"id": 2001,
"keyword": "html documents"},
-<<<<<<< working copy
-{"id": 1969,
-||||||| common ancestor
-{"id": 1974,
-=======
-{"id": 1991,
->>>>>>> merge rev
+{"id": 2002,
+"keyword": "abelian group"},
+{"id": 2003,
"keyword": "volpano smith system"},
-<<<<<<< working copy
-{"id": 1970,
-||||||| common ancestor
-{"id": 1975,
-=======
-{"id": 1992,
->>>>>>> merge rev
+{"id": 2004,
"keyword": "faug egrave"},
-<<<<<<< working copy
-{"id": 1971,
+{"id": 2005,
"keyword": "formalisation accompanies"},
-{"id": 1972,
+{"id": 2006,
"keyword": "asymptotic approximation"},
-{"id": 1973,
-"keyword": "offers low-latency data-"},
-{"id": 1974,
-"keyword": "specific parameterization"},
-{"id": 1975,
-"keyword": "kleene algebra"},
-{"id": 1976,
-"keyword": "time frames"},
-{"id": 1977,
-"keyword": "bnfccs preserve quotients"},
-{"id": 1978,
-"keyword": "prover implementing"},
-{"id": 1979,
-"keyword": "partial networks"},
-{"id": 1980,
-"keyword": "functor category"},
-{"id": 1981,
-"keyword": "nora szasz"},
-{"id": 1982,
-"keyword": "stephanie bell"},
-{"id": 1983,
-"keyword": "austrian science fund"},
-{"id": 1984,
-"keyword": "denies access"},
-{"id": 1985,
-"keyword": "effective mutual authentication service"},
-{"id": 1986,
-||||||| common ancestor
-{"id": 1976,
-"keyword": "formalisation accompanies"},
-{"id": 1977,
-"keyword": "asymptotic approximation"},
-{"id": 1978,
-"keyword": "offers low-latency data-"},
-{"id": 1979,
-"keyword": "specific parameterization"},
-{"id": 1980,
-"keyword": "kleene algebra"},
-{"id": 1981,
-"keyword": "time frames"},
-{"id": 1982,
-"keyword": "bnfccs preserve quotients"},
-{"id": 1983,
-"keyword": "prover implementing"},
-{"id": 1984,
-"keyword": "partial networks"},
-{"id": 1985,
-"keyword": "functor category"},
-{"id": 1986,
-"keyword": "nora szasz"},
-{"id": 1987,
-"keyword": "stephanie bell"},
-{"id": 1988,
-"keyword": "austrian science fund"},
-{"id": 1989,
-"keyword": "denies access"},
-{"id": 1990,
-"keyword": "effective mutual authentication service"},
-{"id": 1991,
-=======
-{"id": 1993,
-"keyword": "formalisation accompanies"},
-{"id": 1994,
-"keyword": "asymptotic approximation"},
-{"id": 1995,
-"keyword": "offers low-latency data-"},
-{"id": 1996,
-"keyword": "specific parameterization"},
-{"id": 1997,
-"keyword": "kleene algebra"},
-{"id": 1998,
-"keyword": "time frames"},
-{"id": 1999,
-"keyword": "bnfccs preserve quotients"},
-{"id": 2000,
-"keyword": "prover implementing"},
-{"id": 2001,
-"keyword": "partial networks"},
-{"id": 2002,
-"keyword": "functor category"},
-{"id": 2003,
-"keyword": "nora szasz"},
-{"id": 2004,
-"keyword": "stephanie bell"},
-{"id": 2005,
-"keyword": "austrian science fund"},
-{"id": 2006,
-"keyword": "denies access"},
-{"id": 2007,
-"keyword": "effective mutual authentication service"},
-{"id": 2008,
->>>>>>> merge rev
-"keyword": "finite length"},
-<<<<<<< working copy
-{"id": 1987,
-||||||| common ancestor
-{"id": 1992,
-=======
-{"id": 2009,
->>>>>>> merge rev
-"keyword": "monic irreducible polynomials"},
-<<<<<<< working copy
-{"id": 1988,
-||||||| common ancestor
-{"id": 1993,
-=======
-{"id": 2010,
->>>>>>> merge rev
-"keyword": "boolean matrices"},
-<<<<<<< working copy
-{"id": 1989,
-||||||| common ancestor
-{"id": 1994,
-=======
-{"id": 2011,
->>>>>>> merge rev
-"keyword": "normalises monadic expressions"},
-<<<<<<< working copy
-{"id": 1990,
-"keyword": "verification conditions"},
-{"id": 1991,
-"keyword": "allowed accesses"},
-{"id": 1992,
-"keyword": "large class"},
-{"id": 1993,
-"keyword": "concerns infinite sets"},
-{"id": 1994,
-"keyword": "simple formalization covering"},
-{"id": 1995,
-"keyword": "precise effect"},
-{"id": 1996,
-"keyword": "semantic resolution"},
-{"id": 1997,
-"keyword": "publisher component"},
-{"id": 1998,
-"keyword": "verified checker past"},
-{"id": 1999,
-"keyword": "checks strong security"},
-{"id": 2000,
-"keyword": "real polynomial"},
-{"id": 2001,
-"keyword": "real normed division algebras"},
-{"id": 2002,
-"keyword": "derives equality theorems"},
-{"id": 2003,
-"keyword": "book linear algebra"},
-{"id": 2004,
-"keyword": "exponential generating function"},
-{"id": 2005,
-"keyword": "function checking"},
-{"id": 2006,
-"keyword": "refinement framework"},
{"id": 2007,
-"keyword": "slide operation"},
+"keyword": "offers low-latency data-"},
{"id": 2008,
-"keyword": "morris-pratt string matching algorithm"},
+"keyword": "specific parameterization"},
{"id": 2009,
-"keyword": "infinite execution"},
+"keyword": "kleene algebra"},
{"id": 2010,
-"keyword": "independent interest"},
+"keyword": "time frames"},
{"id": 2011,
-"keyword": "simple interactive proof assistant"},
+"keyword": "bnfccs preserve quotients"},
{"id": 2012,
-"keyword": "construction theorem"},
+"keyword": "prover implementing"},
{"id": 2013,
-"keyword": "object logic chaudhuri"},
+"keyword": "partial networks"},
{"id": 2014,
-"keyword": "formulas assuming"},
+"keyword": "functor category"},
{"id": 2015,
-"keyword": "unrestricted resolution rule"},
-{"id": 2016,
-"keyword": "easy reuse"},
-{"id": 2017,
-"keyword": "lift_definition command"},
-||||||| common ancestor
-{"id": 1995,
-"keyword": "verification conditions"},
-{"id": 1996,
-"keyword": "allowed accesses"},
-{"id": 1997,
-"keyword": "large class"},
-{"id": 1998,
-"keyword": "concerns infinite sets"},
-{"id": 1999,
-"keyword": "simple formalization covering"},
-{"id": 2000,
-"keyword": "precise effect"},
-{"id": 2001,
-"keyword": "semantic resolution"},
-{"id": 2002,
-"keyword": "publisher component"},
-{"id": 2003,
-"keyword": "verified checker past"},
-{"id": 2004,
-"keyword": "checks strong security"},
-{"id": 2005,
-"keyword": "real polynomial"},
-{"id": 2006,
-"keyword": "real normed division algebras"},
-{"id": 2007,
-"keyword": "derives equality theorems"},
-{"id": 2008,
-"keyword": "book linear algebra"},
-{"id": 2009,
-"keyword": "exponential generating function"},
-{"id": 2010,
-"keyword": "function checking"},
-{"id": 2011,
-"keyword": "refinement framework"},
-{"id": 2012,
-"keyword": "slide operation"},
-{"id": 2013,
-"keyword": "morris-pratt string matching algorithm"},
-{"id": 2014,
-"keyword": "infinite execution"},
-{"id": 2015,
-"keyword": "early version"},
+"keyword": "nora szasz"},
{"id": 2016,
-"keyword": "independent interest"},
+"keyword": "stephanie bell"},
{"id": 2017,
-"keyword": "simple interactive proof assistant"},
-=======
-{"id": 2012,
-"keyword": "verification conditions"},
-{"id": 2013,
-"keyword": "allowed accesses"},
-{"id": 2014,
-"keyword": "large class"},
-{"id": 2015,
-"keyword": "concerns infinite sets"},
-{"id": 2016,
-"keyword": "simple formalization covering"},
-{"id": 2017,
-"keyword": "precise effect"},
->>>>>>> merge rev
+"keyword": "austrian science fund"},
{"id": 2018,
-<<<<<<< working copy
-"keyword": "paul erd"},
-||||||| common ancestor
-"keyword": "construction theorem"},
-=======
-"keyword": "semantic resolution"},
->>>>>>> merge rev
+"keyword": "denies access"},
{"id": 2019,
-<<<<<<< working copy
-"keyword": "separation logic utilities"},
-||||||| common ancestor
-"keyword": "object logic chaudhuri"},
-=======
-"keyword": "publisher component"},
->>>>>>> merge rev
+"keyword": "effective mutual authentication service"},
{"id": 2020,
-<<<<<<< working copy
-"keyword": "inference rules"},
-||||||| common ancestor
-"keyword": "formulas assuming"},
-=======
-"keyword": "verified checker past"},
->>>>>>> merge rev
+"keyword": "finite length"},
{"id": 2021,
-<<<<<<< working copy
-"keyword": "complex arguments"},
-||||||| common ancestor
-"keyword": "unrestricted resolution rule"},
-=======
-"keyword": "checks strong security"},
->>>>>>> merge rev
+"keyword": "monic irreducible polynomials"},
{"id": 2022,
-<<<<<<< working copy
-"keyword": "runge-kutta methods"},
-||||||| common ancestor
-"keyword": "easy reuse"},
-=======
-"keyword": "real polynomial"},
->>>>>>> merge rev
+"keyword": "boolean matrices"},
{"id": 2023,
-<<<<<<< working copy
-"keyword": "satisfying tuples"},
-||||||| common ancestor
-"keyword": "lift_definition command"},
-=======
-"keyword": "real normed division algebras"},
->>>>>>> merge rev
+"keyword": "normalises monadic expressions"},
{"id": 2024,
-<<<<<<< working copy
-"keyword": "hahn decomposition theorem"},
-||||||| common ancestor
-"keyword": "paul erd"},
-=======
-"keyword": "derives equality theorems"},
->>>>>>> merge rev
+"keyword": "verification conditions"},
{"id": 2025,
-<<<<<<< working copy
-"keyword": "compute asymptotic expansions"},
-||||||| common ancestor
-"keyword": "separation logic utilities"},
-=======
-"keyword": "book linear algebra"},
->>>>>>> merge rev
+"keyword": "allowed accesses"},
{"id": 2026,
-<<<<<<< working copy
-"keyword": "snyder found"},
-||||||| common ancestor
-"keyword": "inference rules"},
-=======
-"keyword": "exponential generating function"},
->>>>>>> merge rev
+"keyword": "large class"},
{"id": 2027,
-<<<<<<< working copy
-"keyword": "so-called hessenberg"},
-||||||| common ancestor
-"keyword": "complex arguments"},
-=======
-"keyword": "function checking"},
->>>>>>> merge rev
+"keyword": "concerns infinite sets"},
{"id": 2028,
-<<<<<<< working copy
-"keyword": "refutational theorem proving"},
-||||||| common ancestor
-"keyword": "runge-kutta methods"},
-=======
-"keyword": "refinement framework"},
->>>>>>> merge rev
+"keyword": "simple formalization covering"},
{"id": 2029,
-<<<<<<< working copy
-"keyword": "additional assumptions needed"},
-||||||| common ancestor
-"keyword": "satisfying tuples"},
-=======
-"keyword": "slide operation"},
->>>>>>> merge rev
+"keyword": "precise effect"},
{"id": 2030,
-<<<<<<< working copy
-"keyword": "domain-theoretic semantics"},
-||||||| common ancestor
-"keyword": "hahn decomposition theorem"},
-=======
-"keyword": "morris-pratt string matching algorithm"},
->>>>>>> merge rev
+"keyword": "semantic resolution"},
{"id": 2031,
-<<<<<<< working copy
-"keyword": "weak law"},
-||||||| common ancestor
-"keyword": "compute asymptotic expansions"},
-=======
-"keyword": "infinite execution"},
->>>>>>> merge rev
+"keyword": "publisher component"},
{"id": 2032,
-<<<<<<< working copy
-"keyword": "monadified version"},
-||||||| common ancestor
-"keyword": "snyder found"},
-=======
-"keyword": "early version"},
->>>>>>> merge rev
+"keyword": "verified checker past"},
{"id": 2033,
-<<<<<<< working copy
-||||||| common ancestor
-"keyword": "so-called hessenberg"},
-{"id": 2034,
-"keyword": "refutational theorem proving"},
-{"id": 2035,
-"keyword": "additional assumptions needed"},
-{"id": 2036,
-"keyword": "domain-theoretic semantics"},
-{"id": 2037,
-"keyword": "weak law"},
-{"id": 2038,
-"keyword": "monadified version"},
-{"id": 2039,
-=======
-"keyword": "independent interest"},
+"keyword": "checks strong security"},
{"id": 2034,
-"keyword": "simple interactive proof assistant"},
-{"id": 2035,
-"keyword": "construction theorem"},
-{"id": 2036,
-"keyword": "object logic chaudhuri"},
-{"id": 2037,
-"keyword": "formulas assuming"},
-{"id": 2038,
-"keyword": "unrestricted resolution rule"},
-{"id": 2039,
-"keyword": "easy reuse"},
-{"id": 2040,
-"keyword": "lift_definition command"},
-{"id": 2041,
-"keyword": "paul erd"},
-{"id": 2042,
-"keyword": "separation logic utilities"},
-{"id": 2043,
-"keyword": "formal semantics builds"},
-{"id": 2044,
-"keyword": "inference rules"},
-{"id": 2045,
-"keyword": "complex arguments"},
-{"id": 2046,
-"keyword": "runge-kutta methods"},
-{"id": 2047,
-"keyword": "satisfying tuples"},
-{"id": 2048,
-"keyword": "hahn decomposition theorem"},
-{"id": 2049,
-"keyword": "compute asymptotic expansions"},
-{"id": 2050,
-"keyword": "snyder found"},
-{"id": 2051,
-"keyword": "so-called hessenberg"},
-{"id": 2052,
-"keyword": "refutational theorem proving"},
-{"id": 2053,
-"keyword": "additional assumptions needed"},
-{"id": 2054,
-"keyword": "domain-theoretic semantics"},
-{"id": 2055,
-"keyword": "weak law"},
-{"id": 2056,
-"keyword": "monadified version"},
-{"id": 2057,
->>>>>>> merge rev
-"keyword": "state-of-the-art sat-based planner"},
-<<<<<<< working copy
-{"id": 2034,
-||||||| common ancestor
-{"id": 2040,
-=======
-{"id": 2058,
->>>>>>> merge rev
-"keyword": "approach supports reachability goals"},
-<<<<<<< working copy
+"keyword": "real polynomial"},
{"id": 2035,
-"keyword": "residuation operation"},
+"keyword": "real normed division algebras"},
{"id": 2036,
-"keyword": "formal proof technology"},
+"keyword": "derives equality theorems"},
{"id": 2037,
-"keyword": "missing gaps"},
+"keyword": "book linear algebra"},
{"id": 2038,
-"keyword": "prime number rdquo"},
+"keyword": "exponential generating function"},
{"id": 2039,
-"keyword": "simpler sigma-calculus based"},
+"keyword": "function checking"},
{"id": 2040,
-"keyword": "maintain hidden state"},
+"keyword": "refinement framework"},
{"id": 2041,
-"keyword": "statement applies"},
+"keyword": "slide operation"},
{"id": 2042,
-"keyword": "intraprocedural proof"},
+"keyword": "morris-pratt string matching algorithm"},
{"id": 2043,
-"keyword": "interesting property"},
+"keyword": "infinite execution"},
{"id": 2044,
-"keyword": "independent families"},
+"keyword": "independent interest"},
{"id": 2045,
-"keyword": "greatest fixed points"},
+"keyword": "simple interactive proof assistant"},
{"id": 2046,
-"keyword": "debugging purposes"},
+"keyword": "construction theorem"},
{"id": 2047,
-"keyword": "exact nature"},
+"keyword": "object logic chaudhuri"},
{"id": 2048,
-"keyword": "separator smaller"},
+"keyword": "formulas assuming"},
{"id": 2049,
-"keyword": "linear inequalities"},
+"keyword": "unrestricted resolution rule"},
{"id": 2050,
-"keyword": "difference vector"},
+"keyword": "easy reuse"},
{"id": 2051,
-"keyword": "compositional approach"},
+"keyword": "lift_definition command"},
{"id": 2052,
-"keyword": "safely composable dom"},
+"keyword": "paul erd"},
{"id": 2053,
-"keyword": "sml parser"},
+"keyword": "separation logic utilities"},
{"id": 2054,
-"keyword": "treated implicitly"},
+"keyword": "formal semantics builds"},
{"id": 2055,
-"keyword": "full bridge rule"},
+"keyword": "inference rules"},
{"id": 2056,
-"keyword": "asymptotic bounds"},
+"keyword": "complex arguments"},
{"id": 2057,
-"keyword": "compiler correctness proof"},
+"keyword": "runge-kutta methods"},
{"id": 2058,
-"keyword": "growth rates"},
+"keyword": "satisfying tuples"},
{"id": 2059,
-"keyword": "second-order logic"},
+"keyword": "hahn decomposition theorem"},
{"id": 2060,
-"keyword": "imperative programs"},
+"keyword": "compute asymptotic expansions"},
{"id": 2061,
-"keyword": "call merkle functors"},
+"keyword": "snyder found"},
{"id": 2062,
-"keyword": "printing case expressions"},
+"keyword": "so-called hessenberg"},
{"id": 2063,
-"keyword": "homological argument"},
+"keyword": "refutational theorem proving"},
{"id": 2064,
-"keyword": "partial correctness setting"},
+"keyword": "additional assumptions needed"},
{"id": 2065,
-"keyword": "fundamental binary operations allowing"},
+"keyword": "domain-theoretic semantics"},
{"id": 2066,
-"keyword": "mid 80s"},
+"keyword": "weak law"},
{"id": 2067,
-"keyword": "main theorem relates"},
+"keyword": "monadified version"},
{"id": 2068,
-"keyword": "arctic semirings satisfy"},
+"keyword": "state-of-the-art sat-based planner"},
{"id": 2069,
-"keyword": "covering directed"},
+"keyword": "approach supports reachability goals"},
{"id": 2070,
-"keyword": "abstract interface"},
+"keyword": "residuation operation"},
{"id": 2071,
-"keyword": "existing solutions"},
-||||||| common ancestor
-{"id": 2041,
-"keyword": "residuation operation"},
-{"id": 2042,
"keyword": "formal proof technology"},
-{"id": 2043,
+{"id": 2072,
"keyword": "missing gaps"},
-{"id": 2044,
+{"id": 2073,
"keyword": "prime number rdquo"},
-{"id": 2045,
+{"id": 2074,
"keyword": "simpler sigma-calculus based"},
-{"id": 2046,
+{"id": 2075,
"keyword": "maintain hidden state"},
-{"id": 2047,
+{"id": 2076,
"keyword": "statement applies"},
-{"id": 2048,
+{"id": 2077,
"keyword": "intraprocedural proof"},
-{"id": 2049,
+{"id": 2078,
"keyword": "interesting property"},
-{"id": 2050,
+{"id": 2079,
+"keyword": "formal semantics complies"},
+{"id": 2080,
"keyword": "independent families"},
-{"id": 2051,
+{"id": 2081,
"keyword": "greatest fixed points"},
-{"id": 2052,
+{"id": 2082,
"keyword": "debugging purposes"},
-{"id": 2053,
+{"id": 2083,
"keyword": "exact nature"},
-{"id": 2054,
+{"id": 2084,
"keyword": "separator smaller"},
-{"id": 2055,
+{"id": 2085,
"keyword": "linear inequalities"},
-{"id": 2056,
+{"id": 2086,
"keyword": "difference vector"},
-{"id": 2057,
+{"id": 2087,
"keyword": "compositional approach"},
-{"id": 2058,
+{"id": 2088,
"keyword": "safely composable dom"},
-{"id": 2059,
+{"id": 2089,
"keyword": "sml parser"},
-{"id": 2060,
+{"id": 2090,
"keyword": "treated implicitly"},
-{"id": 2061,
+{"id": 2091,
"keyword": "full bridge rule"},
-{"id": 2062,
+{"id": 2092,
"keyword": "asymptotic bounds"},
-{"id": 2063,
+{"id": 2093,
"keyword": "compiler correctness proof"},
-{"id": 2064,
+{"id": 2094,
"keyword": "growth rates"},
-{"id": 2065,
+{"id": 2095,
"keyword": "second-order logic"},
-{"id": 2066,
+{"id": 2096,
"keyword": "imperative programs"},
-{"id": 2067,
+{"id": 2097,
"keyword": "call merkle functors"},
-{"id": 2068,
+{"id": 2098,
"keyword": "printing case expressions"},
-{"id": 2069,
+{"id": 2099,
"keyword": "homological argument"},
-{"id": 2070,
+{"id": 2100,
"keyword": "partial correctness setting"},
-{"id": 2071,
+{"id": 2101,
"keyword": "fundamental binary operations allowing"},
-=======
-{"id": 2059,
-"keyword": "residuation operation"},
-{"id": 2060,
-"keyword": "formal proof technology"},
-{"id": 2061,
-"keyword": "missing gaps"},
-{"id": 2062,
-"keyword": "prime number rdquo"},
-{"id": 2063,
-"keyword": "simpler sigma-calculus based"},
-{"id": 2064,
-"keyword": "maintain hidden state"},
-{"id": 2065,
-"keyword": "statement applies"},
-{"id": 2066,
-"keyword": "intraprocedural proof"},
-{"id": 2067,
-"keyword": "interesting property"},
-{"id": 2068,
-"keyword": "formal semantics complies"},
-{"id": 2069,
-"keyword": "independent families"},
-{"id": 2070,
-"keyword": "greatest fixed points"},
-{"id": 2071,
-"keyword": "debugging purposes"},
->>>>>>> merge rev
-{"id": 2072,
-<<<<<<< working copy
-"keyword": "group theory results"},
-||||||| common ancestor
+{"id": 2102,
"keyword": "mid 80s"},
-=======
-"keyword": "exact nature"},
->>>>>>> merge rev
-{"id": 2073,
-<<<<<<< working copy
-"keyword": "network security mechanisms"},
-||||||| common ancestor
+{"id": 2103,
"keyword": "main theorem relates"},
-=======
-"keyword": "separator smaller"},
->>>>>>> merge rev
-{"id": 2074,
-<<<<<<< working copy
-"keyword": "text"},
-||||||| common ancestor
+{"id": 2104,
"keyword": "arctic semirings satisfy"},
-=======
-"keyword": "linear inequalities"},
->>>>>>> merge rev
-{"id": 2075,
-<<<<<<< working copy
-"keyword": "ordinary assertional reasoning"},
-||||||| common ancestor
+{"id": 2105,
"keyword": "covering directed"},
-=======
-"keyword": "difference vector"},
->>>>>>> merge rev
-{"id": 2076,
-<<<<<<< working copy
-"keyword": "operational correspondence"},
-||||||| common ancestor
+{"id": 2106,
"keyword": "abstract interface"},
-=======
-"keyword": "compositional approach"},
->>>>>>> merge rev
-{"id": 2077,
-<<<<<<< working copy
-"keyword": "standard boolean algebra operations"},
-||||||| common ancestor
+{"id": 2107,
"keyword": "existing solutions"},
-=======
-"keyword": "safely composable dom"},
->>>>>>> merge rev
-{"id": 2078,
-<<<<<<< working copy
-"keyword": "haskell"},
-||||||| common ancestor
+{"id": 2108,
"keyword": "group theory results"},
-=======
-"keyword": "sml parser"},
->>>>>>> merge rev
-{"id": 2079,
-<<<<<<< working copy
-"keyword": "precisely compute roots"},
-||||||| common ancestor
+{"id": 2109,
"keyword": "network security mechanisms"},
-=======
-"keyword": "treated implicitly"},
->>>>>>> merge rev
-{"id": 2080,
-<<<<<<< working copy
-"keyword": "nondeterministic programs"},
-||||||| common ancestor
+{"id": 2110,
"keyword": "text"},
-=======
-"keyword": "full bridge rule"},
->>>>>>> merge rev
-{"id": 2081,
-<<<<<<< working copy
+{"id": 2111,
+"keyword": "ordinary assertional reasoning"},
+{"id": 2112,
+"keyword": "operational correspondence"},
+{"id": 2113,
+"keyword": "standard boolean algebra operations"},
+{"id": 2114,
+"keyword": "haskell"},
+{"id": 2115,
+"keyword": "precisely compute roots"},
+{"id": 2116,
+"keyword": "nondeterministic programs"},
+{"id": 2117,
"keyword": "verified monitor"},
-{"id": 2082,
+{"id": 2118,
"keyword": "data-type declarations"},
-{"id": 2083,
-"keyword": "function elts"},
-{"id": 2084,
-"keyword": "flyspeck project"},
-{"id": 2085,
-"keyword": "classic unsolved problems"},
-{"id": 2086,
-"keyword": "amicable numbers"},
-{"id": 2087,
-"keyword": "order-theoretic concepts"},
-{"id": 2088,
-"keyword": "set theory"},
-{"id": 2089,
-"keyword": "total correctness"},
-{"id": 2090,
-"keyword": "basic properties"},
-||||||| common ancestor
-"keyword": "ordinary assertional reasoning"},
-{"id": 2082,
-"keyword": "operational correspondence"},
-{"id": 2083,
-"keyword": "standard boolean algebra operations"},
-{"id": 2084,
-"keyword": "haskell"},
-{"id": 2085,
-"keyword": "precisely compute roots"},
-{"id": 2086,
-"keyword": "nondeterministic programs"},
-{"id": 2087,
-"keyword": "verified monitor"},
-{"id": 2088,
-"keyword": "data-type declarations"},
-{"id": 2089,
+{"id": 2119,
"keyword": "function elts"},
-{"id": 2090,
+{"id": 2120,
"keyword": "flyspeck project"},
-=======
-"keyword": "asymptotic bounds"},
-{"id": 2082,
-"keyword": "compiler correctness proof"},
-{"id": 2083,
-"keyword": "growth rates"},
-{"id": 2084,
-"keyword": "second-order logic"},
-{"id": 2085,
-"keyword": "imperative programs"},
-{"id": 2086,
-"keyword": "call merkle functors"},
-{"id": 2087,
-"keyword": "printing case expressions"},
-{"id": 2088,
-"keyword": "homological argument"},
-{"id": 2089,
-"keyword": "partial correctness setting"},
-{"id": 2090,
-"keyword": "fundamental binary operations allowing"},
->>>>>>> merge rev
-{"id": 2091,
-<<<<<<< working copy
-"keyword": "special issue"},
-||||||| common ancestor
+{"id": 2121,
"keyword": "classic unsolved problems"},
-=======
-"keyword": "mid 80s"},
->>>>>>> merge rev
-{"id": 2092,
-<<<<<<< working copy
-"keyword": "list type"},
-||||||| common ancestor
+{"id": 2122,
"keyword": "amicable numbers"},
-=======
-"keyword": "main theorem relates"},
->>>>>>> merge rev
-{"id": 2093,
-<<<<<<< working copy
-"keyword": "efficient proof checking"},
-||||||| common ancestor
+{"id": 2123,
"keyword": "order-theoretic concepts"},
-=======
-"keyword": "arctic semirings satisfy"},
->>>>>>> merge rev
-{"id": 2094,
-<<<<<<< working copy
-"keyword": "peter lammich"},
-||||||| common ancestor
+{"id": 2124,
"keyword": "set theory"},
-=======
-"keyword": "covering directed"},
->>>>>>> merge rev
-{"id": 2095,
-<<<<<<< working copy
+{"id": 2125,
+"keyword": "total correctness"},
+{"id": 2126,
+"keyword": "basic properties"},
+{"id": 2127,
+"keyword": "special issue"},
+{"id": 2128,
+"keyword": "list type"},
+{"id": 2129,
+"keyword": "efficient proof checking"},
+{"id": 2130,
+"keyword": "peter lammich"},
+{"id": 2131,
"keyword": "black-box traces"},
-{"id": 2096,
+{"id": 2132,
"keyword": "code generation feature"},
-{"id": 2097,
+{"id": 2133,
"keyword": "randall munroe"},
-{"id": 2098,
+{"id": 2134,
"keyword": "meeting point"},
-{"id": 2099,
+{"id": 2135,
"keyword": "rational root test"},
-{"id": 2100,
+{"id": 2136,
"keyword": "cyk decides"},
-{"id": 2101,
+{"id": 2137,
"keyword": "algebraic manipulations"},
-{"id": 2102,
+{"id": 2138,
"keyword": "generic types"},
-{"id": 2103,
-"keyword": "formally verify gauss-seidel"},
-{"id": 2104,
+{"id": 2139,
"keyword": "tour revisited"},
-{"id": 2105,
-"keyword": "insertion sort"},
-{"id": 2106,
-"keyword": "transfinite cardinalities"},
-{"id": 2107,
-"keyword": "travel faster"},
-{"id": 2108,
-"keyword": "greater detail"},
-{"id": 2109,
-"keyword": "partial data structures"},
-{"id": 2110,
-"keyword": "formalising t-designs"},
-{"id": 2111,
-"keyword": "strictness theorem"},
-{"id": 2112,
-"keyword": "alternative interface"},
-{"id": 2113,
-"keyword": "maximum flow"},
-{"id": 2114,
-"keyword": "hamiltonian path problem"},
-{"id": 2115,
-"keyword": "ltl yielding"},
-{"id": 2116,
-"keyword": "recurrence equations"},
-{"id": 2117,
-"keyword": "additional effort"},
-{"id": 2118,
-"keyword": "formally verified quantifier elimination"},
-{"id": 2119,
-"keyword": "weak simulation"},
-||||||| common ancestor
-"keyword": "total correctness"},
-{"id": 2096,
-"keyword": "basic properties"},
-{"id": 2097,
-"keyword": "special issue"},
-{"id": 2098,
-"keyword": "list type"},
-{"id": 2099,
-"keyword": "efficient proof checking"},
-{"id": 2100,
-"keyword": "peter lammich"},
-{"id": 2101,
-"keyword": "black-box traces"},
-{"id": 2102,
-"keyword": "code generation feature"},
-{"id": 2103,
-"keyword": "randall munroe"},
-{"id": 2104,
-"keyword": "meeting point"},
-{"id": 2105,
-"keyword": "rational root test"},
-{"id": 2106,
-"keyword": "cyk decides"},
-{"id": 2107,
-"keyword": "algebraic manipulations"},
-{"id": 2108,
-"keyword": "generic types"},
-{"id": 2109,
+{"id": 2140,
"keyword": "formally verify gauss-seidel"},
-{"id": 2110,
-"keyword": "tour revisited"},
-{"id": 2111,
+{"id": 2141,
+"keyword": "simple verified token"},
+{"id": 2142,
"keyword": "insertion sort"},
-{"id": 2112,
+{"id": 2143,
"keyword": "transfinite cardinalities"},
-{"id": 2113,
+{"id": 2144,
"keyword": "travel faster"},
-{"id": 2114,
+{"id": 2145,
"keyword": "greater detail"},
-{"id": 2115,
+{"id": 2146,
"keyword": "partial data structures"},
-{"id": 2116,
+{"id": 2147,
"keyword": "formalising t-designs"},
-{"id": 2117,
+{"id": 2148,
"keyword": "strictness theorem"},
-{"id": 2118,
+{"id": 2149,
"keyword": "alternative interface"},
-{"id": 2119,
+{"id": 2150,
"keyword": "maximum flow"},
-=======
-"keyword": "abstract interface"},
-{"id": 2096,
-"keyword": "existing solutions"},
-{"id": 2097,
-"keyword": "group theory results"},
-{"id": 2098,
-"keyword": "network security mechanisms"},
-{"id": 2099,
-"keyword": "text"},
-{"id": 2100,
-"keyword": "ordinary assertional reasoning"},
-{"id": 2101,
-"keyword": "operational correspondence"},
-{"id": 2102,
-"keyword": "standard boolean algebra operations"},
-{"id": 2103,
-"keyword": "haskell"},
-{"id": 2104,
-"keyword": "precisely compute roots"},
-{"id": 2105,
-"keyword": "nondeterministic programs"},
-{"id": 2106,
-"keyword": "verified monitor"},
-{"id": 2107,
-"keyword": "data-type declarations"},
-{"id": 2108,
-"keyword": "function elts"},
-{"id": 2109,
-"keyword": "flyspeck project"},
-{"id": 2110,
-"keyword": "classic unsolved problems"},
-{"id": 2111,
-"keyword": "amicable numbers"},
-{"id": 2112,
-"keyword": "order-theoretic concepts"},
-{"id": 2113,
-"keyword": "set theory"},
-{"id": 2114,
-"keyword": "total correctness"},
-{"id": 2115,
-"keyword": "basic properties"},
-{"id": 2116,
-"keyword": "special issue"},
-{"id": 2117,
-"keyword": "list type"},
-{"id": 2118,
-"keyword": "efficient proof checking"},
-{"id": 2119,
-"keyword": "peter lammich"},
->>>>>>> merge rev
-{"id": 2120,
-<<<<<<< working copy
-"keyword": "maximum reachability probabilities"},
-||||||| common ancestor
+{"id": 2151,
"keyword": "hamiltonian path problem"},
-=======
-"keyword": "black-box traces"},
->>>>>>> merge rev
-{"id": 2121,
-<<<<<<< working copy
-"keyword": "complex polynomials"},
-||||||| common ancestor
+{"id": 2152,
"keyword": "ltl yielding"},
-=======
-"keyword": "code generation feature"},
->>>>>>> merge rev
-{"id": 2122,
-<<<<<<< working copy
-"keyword": "discrete instants"},
-||||||| common ancestor
+{"id": 2153,
"keyword": "recurrence equations"},
-=======
-"keyword": "randall munroe"},
->>>>>>> merge rev
-{"id": 2123,
-<<<<<<< working copy
-"keyword": "higher edge probability"},
-||||||| common ancestor
+{"id": 2154,
"keyword": "additional effort"},
-=======
-"keyword": "meeting point"},
->>>>>>> merge rev
-{"id": 2124,
-<<<<<<< working copy
-"keyword": "key cards"},
-||||||| common ancestor
+{"id": 2155,
"keyword": "formally verified quantifier elimination"},
-=======
-"keyword": "rational root test"},
->>>>>>> merge rev
-{"id": 2125,
-<<<<<<< working copy
-"keyword": "representation function"},
-||||||| common ancestor
+{"id": 2156,
"keyword": "weak simulation"},
-=======
-"keyword": "cyk decides"},
->>>>>>> merge rev
-{"id": 2126,
-<<<<<<< working copy
-"keyword": "inequality involving expectations"},
-||||||| common ancestor
+{"id": 2157,
"keyword": "maximum reachability probabilities"},
-=======
-"keyword": "algebraic manipulations"},
->>>>>>> merge rev
-{"id": 2127,
-<<<<<<< working copy
-"keyword": "theorem statement"},
-||||||| common ancestor
+{"id": 2158,
"keyword": "complex polynomials"},
-=======
-"keyword": "generic types"},
->>>>>>> merge rev
-{"id": 2128,
-<<<<<<< working copy
-"keyword": "simpler operations"},
-||||||| common ancestor
+{"id": 2159,
"keyword": "discrete instants"},
-=======
-"keyword": "tour revisited"},
->>>>>>> merge rev
-{"id": 2129,
-<<<<<<< working copy
-"keyword": "summation bounds grow"},
-{"id": 2130,
-||||||| common ancestor
+{"id": 2160,
"keyword": "higher edge probability"},
-{"id": 2130,
-"keyword": "key cards"},
-{"id": 2131,
-"keyword": "representation function"},
-{"id": 2132,
-"keyword": "inequality involving expectations"},
-{"id": 2133,
-"keyword": "theorem statement"},
-{"id": 2134,
-"keyword": "simpler operations"},
-{"id": 2135,
-"keyword": "summation bounds grow"},
-{"id": 2136,
-=======
-"keyword": "formally verify gauss-seidel"},
-{"id": 2130,
-"keyword": "simple verified token"},
-{"id": 2131,
-"keyword": "insertion sort"},
-{"id": 2132,
-"keyword": "transfinite cardinalities"},
-{"id": 2133,
-"keyword": "travel faster"},
-{"id": 2134,
-"keyword": "greater detail"},
-{"id": 2135,
-"keyword": "partial data structures"},
-{"id": 2136,
-"keyword": "formalising t-designs"},
-{"id": 2137,
-"keyword": "strictness theorem"},
-{"id": 2138,
-"keyword": "alternative interface"},
-{"id": 2139,
-"keyword": "maximum flow"},
-{"id": 2140,
-"keyword": "hamiltonian path problem"},
-{"id": 2141,
-"keyword": "ltl yielding"},
-{"id": 2142,
-"keyword": "recurrence equations"},
-{"id": 2143,
-"keyword": "additional effort"},
-{"id": 2144,
-"keyword": "formally verified quantifier elimination"},
-{"id": 2145,
-"keyword": "weak simulation"},
-{"id": 2146,
-"keyword": "maximum reachability probabilities"},
-{"id": 2147,
-"keyword": "complex polynomials"},
-{"id": 2148,
-"keyword": "discrete instants"},
-{"id": 2149,
-"keyword": "higher edge probability"},
-{"id": 2150,
+{"id": 2161,
"keyword": "key cards"},
-{"id": 2151,
+{"id": 2162,
"keyword": "representation function"},
-{"id": 2152,
+{"id": 2163,
"keyword": "inequality involving expectations"},
-{"id": 2153,
+{"id": 2164,
"keyword": "theorem statement"},
-{"id": 2154,
+{"id": 2165,
"keyword": "simpler operations"},
-{"id": 2155,
+{"id": 2166,
"keyword": "summation bounds grow"},
-{"id": 2156,
->>>>>>> merge rev
+{"id": 2167,
"keyword": "framed links"},
-<<<<<<< working copy
-{"id": 2131,
-||||||| common ancestor
-{"id": 2137,
-=======
-{"id": 2157,
->>>>>>> merge rev
+{"id": 2168,
"keyword": "ample set condition"},
-<<<<<<< working copy
-{"id": 2132,
-||||||| common ancestor
-{"id": 2138,
-=======
-{"id": 2158,
->>>>>>> merge rev
+{"id": 2169,
"keyword": "violate sortedness"},
-<<<<<<< working copy
-{"id": 2133,
+{"id": 2170,
"keyword": "directly implies"},
-{"id": 2134,
+{"id": 2171,
"keyword": "accommodating arbitrary nominal datatypes"},
-{"id": 2135,
+{"id": 2172,
"keyword": "number-theoretic functions"},
-{"id": 2136,
-"keyword": "to-string functions"},
-{"id": 2137,
-"keyword": "states common definitions"},
-{"id": 2138,
-"keyword": "constructive cryptography proofs"},
-{"id": 2139,
-"keyword": "abstract perspective enables"},
-{"id": 2140,
-"keyword": "cosmed social media platform"},
-{"id": 2141,
-"keyword": "splitting compilation"},
-{"id": 2142,
-"keyword": "well-ordered type"},
-{"id": 2143,
-"keyword": "language features monadic sequencing"},
-{"id": 2144,
-"keyword": "conflict-free replicated datatype"},
-{"id": 2145,
-"keyword": "verified compiler"},
-{"id": 2146,
-"keyword": "rts definition mandates safety"},
-{"id": 2147,
-"keyword": "abstract formalization"},
-{"id": 2148,
-||||||| common ancestor
-{"id": 2139,
-"keyword": "directly implies"},
-{"id": 2140,
-"keyword": "accommodating arbitrary nominal datatypes"},
-{"id": 2141,
-"keyword": "number-theoretic functions"},
-{"id": 2142,
+{"id": 2173,
"keyword": "to-string functions"},
-{"id": 2143,
+{"id": 2174,
"keyword": "states common definitions"},
-{"id": 2144,
-"keyword": "constructive cryptography proofs"},
-{"id": 2145,
-"keyword": "abstract perspective enables"},
-{"id": 2146,
-"keyword": "cosmed social media platform"},
-{"id": 2147,
-"keyword": "splitting compilation"},
-{"id": 2148,
-"keyword": "well-ordered type"},
-{"id": 2149,
-"keyword": "language features monadic sequencing"},
-{"id": 2150,
-"keyword": "conflict-free replicated datatype"},
-{"id": 2151,
-"keyword": "verified compiler"},
-{"id": 2152,
-"keyword": "rts definition mandates safety"},
-{"id": 2153,
-"keyword": "abstract formalization"},
-{"id": 2154,
-=======
-{"id": 2159,
-"keyword": "directly implies"},
-{"id": 2160,
-"keyword": "accommodating arbitrary nominal datatypes"},
-{"id": 2161,
-"keyword": "number-theoretic functions"},
-{"id": 2162,
-"keyword": "to-string functions"},
-{"id": 2163,
-"keyword": "states common definitions"},
-{"id": 2164,
-"keyword": "constructive cryptography proofs"},
-{"id": 2165,
-"keyword": "abstract perspective enables"},
-{"id": 2166,
-"keyword": "cosmed social media platform"},
-{"id": 2167,
-"keyword": "splitting compilation"},
-{"id": 2168,
-"keyword": "well-ordered type"},
-{"id": 2169,
-"keyword": "language features monadic sequencing"},
-{"id": 2170,
-"keyword": "conflict-free replicated datatype"},
-{"id": 2171,
-"keyword": "verified compiler"},
-{"id": 2172,
-"keyword": "rts definition mandates safety"},
-{"id": 2173,
-"keyword": "abstract formalization"},
-{"id": 2174,
->>>>>>> merge rev
-"keyword": "works based"},
-<<<<<<< working copy
-{"id": 2149,
-||||||| common ancestor
-{"id": 2155,
-=======
{"id": 2175,
->>>>>>> merge rev
-"keyword": "uniform substitution principle"},
-<<<<<<< working copy
-{"id": 2150,
-||||||| common ancestor
-{"id": 2156,
-=======
+"keyword": "constructive cryptography proofs"},
{"id": 2176,
->>>>>>> merge rev
-"keyword": "infinite domain"},
-<<<<<<< working copy
-{"id": 2151,
-||||||| common ancestor
-{"id": 2157,
-=======
+"keyword": "abstract perspective enables"},
{"id": 2177,
->>>>>>> merge rev
-"keyword": "full classification"},
-<<<<<<< working copy
-{"id": 2152,
-"keyword": "identify undesired information leaks"},
-{"id": 2153,
-"keyword": "building correct programs working"},
-{"id": 2154,
-"keyword": "working backwards"},
-{"id": 2155,
-"keyword": "functorial operations"},
-{"id": 2156,
-"keyword": "intuitive desired security policy"},
-{"id": 2157,
-"keyword": "org abs 1609"},
-{"id": 2158,
-"keyword": "sum type"},
-{"id": 2159,
-"keyword": "epistemic logic"},
-{"id": 2160,
-"keyword": "sending end host selects"},
-{"id": 2161,
-"keyword": "hybrid programs"},
-{"id": 2162,
-"keyword": "statement"},
-{"id": 2163,
-"keyword": "academic partners"},
-{"id": 2164,
-"keyword": "similar systems"},
-{"id": 2165,
-"keyword": "direct adequacy proof"},
-{"id": 2166,
-"keyword": "efficient priority search trees"},
-{"id": 2167,
-"keyword": "pattern matching"},
-{"id": 2168,
-"keyword": "lucas ndash"},
-{"id": 2169,
-"keyword": "original parallel postulate"},
-{"id": 2170,
-"keyword": "polynomial"},
-{"id": 2171,
-"keyword": "article"},
-{"id": 2172,
-"keyword": "outstanding work"},
-{"id": 2173,
-"keyword": "transfinite recursion"},
-{"id": 2174,
-"keyword": "previously replaced term"},
-{"id": 2175,
-"keyword": "fully verified"},
-{"id": 2176,
-"keyword": "running time"},
-{"id": 2177,
-"keyword": "gou zel"},
+"keyword": "cosmed social media platform"},
{"id": 2178,
-"keyword": "program execution"},
+"keyword": "splitting compilation"},
{"id": 2179,
-"keyword": "entire input sequence"},
+"keyword": "well-ordered type"},
{"id": 2180,
-"keyword": "standard textbook proof"},
+"keyword": "language features monadic sequencing"},
{"id": 2181,
-"keyword": "computation based"},
+"keyword": "conflict-free replicated datatype"},
{"id": 2182,
-"keyword": "hol set"},
-{"id": 2183,
-"keyword": "surprise hanging"},
-{"id": 2184,
-"keyword": "efsms execute traces"},
-{"id": 2185,
-"keyword": "display algebraic numbers"},
-{"id": 2186,
-"keyword": "constant predicates stated"},
-||||||| common ancestor
-{"id": 2158,
-"keyword": "identify undesired information leaks"},
-{"id": 2159,
-"keyword": "building correct programs working"},
-{"id": 2160,
-"keyword": "working backwards"},
-{"id": 2161,
-"keyword": "functorial operations"},
-{"id": 2162,
-"keyword": "intuitive desired security policy"},
-{"id": 2163,
-"keyword": "org abs 1609"},
-{"id": 2164,
-"keyword": "sum type"},
-{"id": 2165,
-"keyword": "epistemic logic"},
-{"id": 2166,
-"keyword": "sending end host selects"},
-{"id": 2167,
-"keyword": "hybrid programs"},
-{"id": 2168,
-"keyword": "statement"},
-{"id": 2169,
-"keyword": "academic partners"},
-{"id": 2170,
-"keyword": "similar systems"},
-{"id": 2171,
-"keyword": "direct adequacy proof"},
-{"id": 2172,
-"keyword": "efficient priority search trees"},
-{"id": 2173,
-"keyword": "pattern matching"},
-{"id": 2174,
-"keyword": "lucas ndash"},
-{"id": 2175,
-"keyword": "original parallel postulate"},
-{"id": 2176,
-"keyword": "polynomial"},
-{"id": 2177,
-"keyword": "article"},
-{"id": 2178,
-"keyword": "outstanding work"},
-{"id": 2179,
-"keyword": "transfinite recursion"},
-{"id": 2180,
-"keyword": "previously replaced term"},
-{"id": 2181,
-"keyword": "fully verified"},
-{"id": 2182,
-"keyword": "running time"},
+"keyword": "verified compiler"},
{"id": 2183,
-"keyword": "gou zel"},
+"keyword": "rts definition mandates safety"},
{"id": 2184,
-"keyword": "program execution"},
+"keyword": "abstract formalization"},
{"id": 2185,
-"keyword": "entire input sequence"},
+"keyword": "works based"},
{"id": 2186,
-"keyword": "standard textbook proof"},
-=======
-{"id": 2178,
-"keyword": "identify undesired information leaks"},
-{"id": 2179,
-"keyword": "building correct programs working"},
-{"id": 2180,
-"keyword": "working backwards"},
-{"id": 2181,
-"keyword": "functorial operations"},
-{"id": 2182,
-"keyword": "intuitive desired security policy"},
-{"id": 2183,
-"keyword": "org abs 1609"},
-{"id": 2184,
-"keyword": "sum type"},
-{"id": 2185,
-"keyword": "epistemic logic"},
-{"id": 2186,
-"keyword": "sending end host selects"},
->>>>>>> merge rev
+"keyword": "uniform substitution principle"},
{"id": 2187,
-<<<<<<< working copy
-"keyword": "automotive-gateway system"},
-||||||| common ancestor
-"keyword": "computation based"},
-=======
-"keyword": "hybrid programs"},
->>>>>>> merge rev
+"keyword": "infinite domain"},
{"id": 2188,
-<<<<<<< working copy
-"keyword": "type constructor representing"},
-||||||| common ancestor
-"keyword": "hol set"},
-=======
-"keyword": "statement"},
->>>>>>> merge rev
+"keyword": "full classification"},
{"id": 2189,
-<<<<<<< working copy
-"keyword": "afp entry complex geometry"},
-||||||| common ancestor
-"keyword": "surprise hanging"},
-=======
-"keyword": "academic partners"},
->>>>>>> merge rev
+"keyword": "identify undesired information leaks"},
{"id": 2190,
-<<<<<<< working copy
-"keyword": "lists representation"},
-||||||| common ancestor
-"keyword": "efsms execute traces"},
-=======
-"keyword": "similar systems"},
->>>>>>> merge rev
+"keyword": "building correct programs working"},
{"id": 2191,
-<<<<<<< working copy
-"keyword": "state-based non-deterministic sequential computations"},
-||||||| common ancestor
-"keyword": "display algebraic numbers"},
-=======
-"keyword": "efficient priority search trees"},
->>>>>>> merge rev
+"keyword": "working backwards"},
{"id": 2192,
-<<<<<<< working copy
-"keyword": "complete basis"},
-||||||| common ancestor
-"keyword": "constant predicates stated"},
-=======
+"keyword": "functorial operations"},
+{"id": 2193,
+"keyword": "intuitive desired security policy"},
+{"id": 2194,
+"keyword": "org abs 1609"},
+{"id": 2195,
+"keyword": "sum type"},
+{"id": 2196,
+"keyword": "epistemic logic"},
+{"id": 2197,
+"keyword": "sending end host selects"},
+{"id": 2198,
+"keyword": "hybrid programs"},
+{"id": 2199,
+"keyword": "statement"},
+{"id": 2200,
+"keyword": "academic partners"},
+{"id": 2201,
+"keyword": "similar systems"},
+{"id": 2202,
+"keyword": "efficient priority search trees"},
+{"id": 2203,
+"keyword": "small sets"},
+{"id": 2204,
"keyword": "pattern matching"},
->>>>>>> merge rev
-{"id": 2193,
-<<<<<<< working copy
-"keyword": "existing package algorithms"},
-||||||| common ancestor
-"keyword": "automotive-gateway system"},
-=======
+{"id": 2205,
"keyword": "author x27"},
->>>>>>> merge rev
-{"id": 2194,
-<<<<<<< working copy
-"keyword": "commuting conversion rule"},
-||||||| common ancestor
-"keyword": "type constructor representing"},
-=======
+{"id": 2206,
"keyword": "direct adequacy proof"},
->>>>>>> merge rev
-{"id": 2195,
-<<<<<<< working copy
-"keyword": "target concurrent operating systems"},
-||||||| common ancestor
-"keyword": "afp entry complex geometry"},
-=======
+{"id": 2207,
"keyword": "lucas ndash"},
->>>>>>> merge rev
-{"id": 2196,
-<<<<<<< working copy
-"keyword": "classical church-rosser theorem"},
-{"id": 2197,
-"keyword": "polychronous systems"},
-{"id": 2198,
-"keyword": "certified declarative first-order prover"},
-{"id": 2199,
-"keyword": "tame plane graphs"},
-{"id": 2200,
-"keyword": "stream processing functions"},
-{"id": 2201,
-"keyword": "rely guarantee reasoning"},
-{"id": 2202,
-"keyword": "haskell library"},
-{"id": 2203,
-"keyword": "13 binary relations"},
-{"id": 2204,
-"keyword": "expressing security properties"},
-{"id": 2205,
-"keyword": "encoding"},
-{"id": 2206,
-"keyword": "side product"},
-{"id": 2207,
-"keyword": "restricted identification"},
{"id": 2208,
-"keyword": "order logic"},
+"keyword": "original parallel postulate"},
{"id": 2209,
-"keyword": "type checking phase"},
+"keyword": "polynomial"},
{"id": 2210,
-"keyword": "natural transformations"},
+"keyword": "article"},
{"id": 2211,
-"keyword": "related concepts"},
-{"id": 2212,
-"keyword": "labelled directed graphs"},
-{"id": 2213,
-"keyword": "implementation runs"},
-{"id": 2214,
-"keyword": "proofs correct incompletenesses"},
-{"id": 2215,
-"keyword": "existing replication algorithm satisfies"},
-{"id": 2216,
-"keyword": "algorithm top-"},
-{"id": 2217,
-"keyword": "x_1"},
-{"id": 2218,
-"keyword": "complete networks"},
-{"id": 2219,
-"keyword": "multiplicative constants"},
-{"id": 2220,
-"keyword": "sifum_type_systems afp entry"},
-{"id": 2221,
-"keyword": "tail-recursive implementation"},
-||||||| common ancestor
-"keyword": "lists representation"},
-{"id": 2197,
-"keyword": "state-based non-deterministic sequential computations"},
-{"id": 2198,
-"keyword": "complete basis"},
-{"id": 2199,
-"keyword": "existing package algorithms"},
-{"id": 2200,
-"keyword": "commuting conversion rule"},
-{"id": 2201,
-"keyword": "target concurrent operating systems"},
-{"id": 2202,
-"keyword": "classical church-rosser theorem"},
-{"id": 2203,
-"keyword": "polychronous systems"},
-{"id": 2204,
-"keyword": "certified declarative first-order prover"},
-{"id": 2205,
-"keyword": "tame plane graphs"},
-{"id": 2206,
-"keyword": "stream processing functions"},
-{"id": 2207,
-"keyword": "rely guarantee reasoning"},
-{"id": 2208,
-"keyword": "haskell library"},
-{"id": 2209,
-"keyword": "13 binary relations"},
-{"id": 2210,
-"keyword": "expressing security properties"},
-{"id": 2211,
-"keyword": "encoding"},
-{"id": 2212,
-"keyword": "side product"},
-{"id": 2213,
-"keyword": "restricted identification"},
-{"id": 2214,
-"keyword": "order logic"},
-{"id": 2215,
-"keyword": "type checking phase"},
-{"id": 2216,
-"keyword": "natural transformations"},
-{"id": 2217,
-"keyword": "related concepts"},
-{"id": 2218,
-"keyword": "labelled directed graphs"},
-{"id": 2219,
-"keyword": "implementation runs"},
-{"id": 2220,
-"keyword": "proofs correct incompletenesses"},
-{"id": 2221,
-"keyword": "existing replication algorithm satisfies"},
-=======
-"keyword": "original parallel postulate"},
-{"id": 2197,
-"keyword": "polynomial"},
-{"id": 2198,
-"keyword": "article"},
-{"id": 2199,
"keyword": "outstanding work"},
-{"id": 2200,
+{"id": 2212,
"keyword": "transfinite recursion"},
-{"id": 2201,
+{"id": 2213,
"keyword": "previously replaced term"},
-{"id": 2202,
-"keyword": "fully verified"},
-{"id": 2203,
-"keyword": "running time"},
-{"id": 2204,
-"keyword": "gou zel"},
-{"id": 2205,
-"keyword": "program execution"},
-{"id": 2206,
-"keyword": "entire input sequence"},
-{"id": 2207,
-"keyword": "standard textbook proof"},
-{"id": 2208,
-"keyword": "computation based"},
-{"id": 2209,
-"keyword": "hol set"},
-{"id": 2210,
-"keyword": "surprise hanging"},
-{"id": 2211,
-"keyword": "efsms execute traces"},
-{"id": 2212,
-"keyword": "display algebraic numbers"},
-{"id": 2213,
-"keyword": "constant predicates stated"},
{"id": 2214,
-"keyword": "automotive-gateway system"},
+"keyword": "fully verified"},
{"id": 2215,
-"keyword": "type constructor representing"},
+"keyword": "running time"},
{"id": 2216,
-"keyword": "afp entry complex geometry"},
+"keyword": "gou zel"},
{"id": 2217,
-"keyword": "lists representation"},
+"keyword": "program execution"},
{"id": 2218,
-"keyword": "state-based non-deterministic sequential computations"},
+"keyword": "entire input sequence"},
{"id": 2219,
-"keyword": "complete basis"},
+"keyword": "standard textbook proof"},
{"id": 2220,
-"keyword": "existing package algorithms"},
+"keyword": "computation based"},
{"id": 2221,
-"keyword": "target concurrent operating systems"},
->>>>>>> merge rev
+"keyword": "hol set"},
{"id": 2222,
-<<<<<<< working copy
-"keyword": "usable framework"},
-||||||| common ancestor
-"keyword": "algorithm top-"},
-=======
-"keyword": "classical church-rosser theorem"},
->>>>>>> merge rev
+"keyword": "surprise hanging"},
{"id": 2223,
-<<<<<<< working copy
-"keyword": "source coding theorem"},
-||||||| common ancestor
-"keyword": "x_1"},
-=======
-"keyword": "polychronous systems"},
->>>>>>> merge rev
+"keyword": "efsms execute traces"},
{"id": 2224,
-<<<<<<< working copy
-"keyword": "von wright"},
-||||||| common ancestor
-"keyword": "complete networks"},
-=======
-"keyword": "certified declarative first-order prover"},
->>>>>>> merge rev
+"keyword": "display algebraic numbers"},
{"id": 2225,
-<<<<<<< working copy
-"keyword": "paper formalising fisher"},
+"keyword": "constant predicates stated"},
{"id": 2226,
-"keyword": "modular assembly kit"},
-{"id": 2227,
-"keyword": "web community"},
-{"id": 2228,
-"keyword": "unrelated times"},
-{"id": 2229,
-"keyword": "stepwise manner"},
-{"id": 2230,
-"keyword": "semantic type soundness"},
-{"id": 2231,
-"keyword": "linear algebraic techniques"},
-{"id": 2232,
-"keyword": "hoare logic"},
-{"id": 2233,
-"keyword": "multithreaded case"},
-{"id": 2234,
-"keyword": "hintikka set"},
-||||||| common ancestor
-"keyword": "multiplicative constants"},
-{"id": 2226,
-"keyword": "sifum_type_systems afp entry"},
+"keyword": "mutually inverse"},
{"id": 2227,
-"keyword": "tail-recursive implementation"},
+"keyword": "automotive-gateway system"},
{"id": 2228,
-"keyword": "usable framework"},
+"keyword": "type constructor representing"},
{"id": 2229,
-"keyword": "source coding theorem"},
+"keyword": "afp entry complex geometry"},
{"id": 2230,
-"keyword": "von wright"},
+"keyword": "lists representation"},
{"id": 2231,
-"keyword": "paper formalising fisher"},
+"keyword": "state-based non-deterministic sequential computations"},
{"id": 2232,
-"keyword": "modular assembly kit"},
+"keyword": "complete basis"},
{"id": 2233,
-"keyword": "web community"},
+"keyword": "existing package algorithms"},
{"id": 2234,
-"keyword": "unrelated times"},
-=======
-"keyword": "commuting conversion rule"},
-{"id": 2226,
-"keyword": "parity wallet bug"},
-{"id": 2227,
-"keyword": "tame plane graphs"},
-{"id": 2228,
-"keyword": "stream processing functions"},
-{"id": 2229,
-"keyword": "rely guarantee reasoning"},
-{"id": 2230,
-"keyword": "haskell library"},
-{"id": 2231,
-"keyword": "13 binary relations"},
-{"id": 2232,
-"keyword": "expressing security properties"},
-{"id": 2233,
-"keyword": "encoding"},
-{"id": 2234,
-"keyword": "side product"},
->>>>>>> merge rev
+"keyword": "target concurrent operating systems"},
{"id": 2235,
-<<<<<<< working copy
-"keyword": "derive class instances"},
-||||||| common ancestor
-"keyword": "stepwise manner"},
-=======
-"keyword": "restricted identification"},
->>>>>>> merge rev
+"keyword": "butterfly scheme"},
{"id": 2236,
-<<<<<<< working copy
-"keyword": "a_n leq tfrac 1"},
-||||||| common ancestor
-"keyword": "semantic type soundness"},
-=======
-"keyword": "order logic"},
->>>>>>> merge rev
+"keyword": "classical church-rosser theorem"},
{"id": 2237,
-<<<<<<< working copy
-"keyword": "polynomial interpolation"},
-||||||| common ancestor
-"keyword": "linear algebraic techniques"},
-=======
-"keyword": "type checking phase"},
->>>>>>> merge rev
+"keyword": "polychronous systems"},
{"id": 2238,
-<<<<<<< working copy
-"keyword": "fully automated"},
-||||||| common ancestor
-"keyword": "hoare logic"},
-=======
-"keyword": "natural transformations"},
->>>>>>> merge rev
+"keyword": "certified declarative first-order prover"},
{"id": 2239,
-<<<<<<< working copy
-"keyword": "concrete function"},
-||||||| common ancestor
-"keyword": "multithreaded case"},
-=======
-"keyword": "related concepts"},
->>>>>>> merge rev
+"keyword": "commuting conversion rule"},
{"id": 2240,
-<<<<<<< working copy
-"keyword": "pragmatic reasons"},
-||||||| common ancestor
-"keyword": "hintikka set"},
-=======
-"keyword": "labelled directed graphs"},
->>>>>>> merge rev
+"keyword": "parity wallet bug"},
{"id": 2241,
-<<<<<<< working copy
-"keyword": "polytimed systems"},
-||||||| common ancestor
-"keyword": "derive class instances"},
-=======
-"keyword": "implementation runs"},
->>>>>>> merge rev
+"keyword": "tame plane graphs"},
{"id": 2242,
-<<<<<<< working copy
-"keyword": "executable program"},
-||||||| common ancestor
-"keyword": "a_n leq tfrac 1"},
-=======
+"keyword": "stream processing functions"},
+{"id": 2243,
+"keyword": "rely guarantee reasoning"},
+{"id": 2244,
+"keyword": "haskell library"},
+{"id": 2245,
+"keyword": "13 binary relations"},
+{"id": 2246,
+"keyword": "expressing security properties"},
+{"id": 2247,
+"keyword": "turing computability"},
+{"id": 2248,
+"keyword": "encoding"},
+{"id": 2249,
+"keyword": "side product"},
+{"id": 2250,
+"keyword": "restricted identification"},
+{"id": 2251,
+"keyword": "order logic"},
+{"id": 2252,
+"keyword": "type checking phase"},
+{"id": 2253,
+"keyword": "natural transformations"},
+{"id": 2254,
+"keyword": "related concepts"},
+{"id": 2255,
+"keyword": "labelled directed graphs"},
+{"id": 2256,
+"keyword": "implementation runs"},
+{"id": 2257,
"keyword": "proofs correct incompletenesses"},
->>>>>>> merge rev
-{"id": 2243,
-<<<<<<< working copy
-"keyword": "pythagoras law"},
-||||||| common ancestor
-"keyword": "polynomial interpolation"},
-=======
+{"id": 2258,
"keyword": "existing replication algorithm satisfies"},
->>>>>>> merge rev
-{"id": 2244,
-<<<<<<< working copy
-"keyword": "type safety proof"},
-{"id": 2245,
-"keyword": "verifying security policies"},
-{"id": 2246,
-"keyword": "floating-point modulo function"},
-{"id": 2247,
-"keyword": "chomsky normal form"},
-{"id": 2248,
-"keyword": "effectively harness theorem provers"},
-{"id": 2249,
-"keyword": "data structure"},
-{"id": 2250,
-"keyword": "command"},
-{"id": 2251,
-"keyword": "total"},
-{"id": 2252,
-||||||| common ancestor
-"keyword": "fully automated"},
-{"id": 2245,
-"keyword": "concrete function"},
-{"id": 2246,
-"keyword": "pragmatic reasons"},
-{"id": 2247,
-"keyword": "polytimed systems"},
-{"id": 2248,
-"keyword": "executable program"},
-{"id": 2249,
-"keyword": "pythagoras law"},
-{"id": 2250,
-"keyword": "type safety proof"},
-{"id": 2251,
-"keyword": "verifying security policies"},
-{"id": 2252,
-"keyword": "floating-point modulo function"},
-{"id": 2253,
-"keyword": "chomsky normal form"},
-{"id": 2254,
-"keyword": "effectively harness theorem provers"},
-{"id": 2255,
-"keyword": "data structure"},
-{"id": 2256,
-"keyword": "command"},
-{"id": 2257,
-"keyword": "total"},
-{"id": 2258,
-=======
+{"id": 2259,
"keyword": "algorithm top-"},
-{"id": 2245,
+{"id": 2260,
"keyword": "x_1"},
-{"id": 2246,
+{"id": 2261,
"keyword": "complete networks"},
-{"id": 2247,
+{"id": 2262,
"keyword": "multiplicative constants"},
-{"id": 2248,
+{"id": 2263,
"keyword": "sifum_type_systems afp entry"},
-{"id": 2249,
+{"id": 2264,
"keyword": "tail-recursive implementation"},
-{"id": 2250,
+{"id": 2265,
"keyword": "usable framework"},
-{"id": 2251,
+{"id": 2266,
"keyword": "source coding theorem"},
-{"id": 2252,
+{"id": 2267,
"keyword": "von wright"},
-{"id": 2253,
+{"id": 2268,
"keyword": "paper formalising fisher"},
-{"id": 2254,
+{"id": 2269,
"keyword": "modular assembly kit"},
-{"id": 2255,
+{"id": 2270,
"keyword": "web community"},
-{"id": 2256,
+{"id": 2271,
"keyword": "unrelated times"},
-{"id": 2257,
-"keyword": "stepwise manner"},
-{"id": 2258,
-"keyword": "semantic type soundness"},
-{"id": 2259,
-"keyword": "linear algebraic techniques"},
-{"id": 2260,
-"keyword": "hoare logic"},
-{"id": 2261,
-"keyword": "multithreaded case"},
-{"id": 2262,
-"keyword": "hintikka set"},
-{"id": 2263,
-"keyword": "derive class instances"},
-{"id": 2264,
-"keyword": "a_n leq tfrac 1"},
-{"id": 2265,
-"keyword": "polynomial interpolation"},
-{"id": 2266,
-"keyword": "fully automated"},
-{"id": 2267,
-"keyword": "concrete function"},
-{"id": 2268,
-"keyword": "pragmatic reasons"},
-{"id": 2269,
-"keyword": "polytimed systems"},
-{"id": 2270,
-"keyword": "executable program"},
-{"id": 2271,
-"keyword": "pythagoras law"},
{"id": 2272,
-"keyword": "type safety proof"},
+"keyword": "stepwise manner"},
{"id": 2273,
-"keyword": "verifying security policies"},
+"keyword": "semantic type soundness"},
{"id": 2274,
-"keyword": "floating-point modulo function"},
+"keyword": "linear algebraic techniques"},
{"id": 2275,
-"keyword": "chomsky normal form"},
+"keyword": "hoare logic"},
{"id": 2276,
-"keyword": "effectively harness theorem provers"},
+"keyword": "multithreaded case"},
{"id": 2277,
-"keyword": "data structure"},
+"keyword": "hintikka set"},
{"id": 2278,
-"keyword": "command"},
+"keyword": "derive class instances"},
{"id": 2279,
-"keyword": "total"},
+"keyword": "efficiently computed"},
{"id": 2280,
->>>>>>> merge rev
-"keyword": "positional determinacy"},
-<<<<<<< working copy
-{"id": 2253,
-||||||| common ancestor
-{"id": 2259,
-=======
+"keyword": "a_n leq tfrac 1"},
{"id": 2281,
->>>>>>> merge rev
+"keyword": "polynomial interpolation"},
+{"id": 2282,
+"keyword": "fully automated"},
+{"id": 2283,
+"keyword": "concrete function"},
+{"id": 2284,
+"keyword": "pragmatic reasons"},
+{"id": 2285,
+"keyword": "polytimed systems"},
+{"id": 2286,
+"keyword": "executable program"},
+{"id": 2287,
+"keyword": "pythagoras law"},
+{"id": 2288,
+"keyword": "type safety proof"},
+{"id": 2289,
+"keyword": "verifying security policies"},
+{"id": 2290,
+"keyword": "floating-point modulo function"},
+{"id": 2291,
+"keyword": "chomsky normal form"},
+{"id": 2292,
+"keyword": "effectively harness theorem provers"},
+{"id": 2293,
+"keyword": "data structure"},
+{"id": 2294,
+"keyword": "command"},
+{"id": 2295,
+"keyword": "total"},
+{"id": 2296,
+"keyword": "positional determinacy"},
+{"id": 2297,
"keyword": "separable characters induced moduli"},
-<<<<<<< working copy
-{"id": 2254,
-||||||| common ancestor
-{"id": 2260,
-=======
-{"id": 2282,
->>>>>>> merge rev
+{"id": 2298,
"keyword": "inductive predicates"},
-<<<<<<< working copy
-{"id": 2255,
-||||||| common ancestor
-{"id": 2261,
-=======
-{"id": 2283,
->>>>>>> merge rev
+{"id": 2299,
"keyword": "verification back-ends"},
-<<<<<<< working copy
-{"id": 2256,
-||||||| common ancestor
-{"id": 2262,
-=======
-{"id": 2284,
->>>>>>> merge rev
+{"id": 2300,
"keyword": "jordan_normal_form afp entry"},
-<<<<<<< working copy
-{"id": 2257,
-||||||| common ancestor
-{"id": 2263,
-=======
-{"id": 2285,
->>>>>>> merge rev
+{"id": 2301,
"keyword": "all-pairs shortest path problem"},
-<<<<<<< working copy
-{"id": 2258,
+{"id": 2302,
"keyword": "full asymptotic expansion"},
-{"id": 2259,
+{"id": 2303,
"keyword": "lens class"},
-{"id": 2260,
+{"id": 2304,
"keyword": "parameterised process architectures"},
-{"id": 2261,
+{"id": 2305,
"keyword": "shallow embedding manner"},
-{"id": 2262,
+{"id": 2306,
"keyword": "rapidly growing literature"},
-{"id": 2263,
-"keyword": "input processes"},
-{"id": 2264,
-"keyword": "recurrence relation"},
-{"id": 2265,
-"keyword": "modern multiprocessors depend"},
-{"id": 2266,
-"keyword": "input simultaneously"},
-{"id": 2267,
-"keyword": "propositional fragment"},
-{"id": 2268,
-"keyword": "coinductive lists"},
-{"id": 2269,
-"keyword": "number theoretic result"},
-{"id": 2270,
-"keyword": "refutational completeness"},
-{"id": 2271,
-"keyword": "secure process"},
-{"id": 2272,
-"keyword": "measure preserving transformations"},
-{"id": 2273,
-||||||| common ancestor
-{"id": 2264,
-"keyword": "full asymptotic expansion"},
-{"id": 2265,
-"keyword": "lens class"},
-{"id": 2266,
-"keyword": "parameterised process architectures"},
-{"id": 2267,
-"keyword": "shallow embedding manner"},
-{"id": 2268,
-"keyword": "rapidly growing literature"},
-{"id": 2269,
+{"id": 2307,
"keyword": "input processes"},
-{"id": 2270,
-"keyword": "recurrence relation"},
-{"id": 2271,
-"keyword": "modern multiprocessors depend"},
-{"id": 2272,
-"keyword": "input simultaneously"},
-{"id": 2273,
-"keyword": "propositional fragment"},
-{"id": 2274,
-"keyword": "coinductive lists"},
-{"id": 2275,
-"keyword": "number theoretic result"},
-{"id": 2276,
-"keyword": "refutational completeness"},
-{"id": 2277,
-"keyword": "secure process"},
-{"id": 2278,
-"keyword": "measure preserving transformations"},
-{"id": 2279,
-=======
-{"id": 2286,
-"keyword": "full asymptotic expansion"},
-{"id": 2287,
-"keyword": "lens class"},
-{"id": 2288,
-"keyword": "parameterised process architectures"},
-{"id": 2289,
-"keyword": "shallow embedding manner"},
-{"id": 2290,
-"keyword": "rapidly growing literature"},
-{"id": 2291,
-"keyword": "input processes"},
-{"id": 2292,
+{"id": 2308,
"keyword": "recurrence relation"},
-{"id": 2293,
+{"id": 2309,
"keyword": "modern multiprocessors depend"},
-{"id": 2294,
+{"id": 2310,
"keyword": "input simultaneously"},
-{"id": 2295,
+{"id": 2311,
"keyword": "propositional fragment"},
-{"id": 2296,
+{"id": 2312,
"keyword": "coinductive lists"},
-{"id": 2297,
+{"id": 2313,
"keyword": "number theoretic result"},
-{"id": 2298,
+{"id": 2314,
+"keyword": "turing decidability"},
+{"id": 2315,
"keyword": "refutational completeness"},
-{"id": 2299,
+{"id": 2316,
"keyword": "secure process"},
-{"id": 2300,
+{"id": 2317,
"keyword": "measure preserving transformations"},
-{"id": 2301,
->>>>>>> merge rev
+{"id": 2318,
"keyword": "efficient executable code"},
-<<<<<<< working copy
-{"id": 2274,
-||||||| common ancestor
-{"id": 2280,
-=======
-{"id": 2302,
->>>>>>> merge rev
+{"id": 2319,
"keyword": "java language architecture"},
-<<<<<<< working copy
-{"id": 2275,
-||||||| common ancestor
-{"id": 2281,
-=======
-{"id": 2303,
->>>>>>> merge rev
+{"id": 2320,
"keyword": "normal subgroups"},
-<<<<<<< working copy
-{"id": 2276,
-||||||| common ancestor
-{"id": 2282,
-=======
-{"id": 2304,
->>>>>>> merge rev
+{"id": 2321,
"keyword": "internal equivalences"},
-<<<<<<< working copy
-{"id": 2277,
+{"id": 2322,
"keyword": "extensible minimal imperative fragment"},
-{"id": 2278,
+{"id": 2323,
"keyword": "leitsch lei97"},
-{"id": 2279,
+{"id": 2324,
"keyword": "conditional expressions"},
-{"id": 2280,
+{"id": 2325,
"keyword": "definitional embedding"},
-{"id": 2281,
+{"id": 2326,
"keyword": "constructing sturm sequences efficiently"},
-{"id": 2282,
+{"id": 2327,
"keyword": "finite fourier series"},
-{"id": 2283,
+{"id": 2328,
"keyword": "fixed access frequencies"},
-{"id": 2284,
+{"id": 2329,
"keyword": "hol-multivariate-analysis session"},
-{"id": 2285,
+{"id": 2330,
"keyword": "locale assumptions"},
-{"id": 2286,
+{"id": 2331,
"keyword": "concrete file represented"},
-{"id": 2287,
+{"id": 2332,
"keyword": "polynomial time"},
-{"id": 2288,
+{"id": 2333,
"keyword": "beta_n"},
-{"id": 2289,
+{"id": 2334,
"keyword": "communicating concurrent kleene algebra"},
-{"id": 2290,
+{"id": 2335,
"keyword": "re-usable dfs-based algorithms"},
-{"id": 2291,
-"keyword": "development accompanies"},
-{"id": 2292,
-||||||| common ancestor
-{"id": 2283,
-"keyword": "extensible minimal imperative fragment"},
-{"id": 2284,
-"keyword": "leitsch lei97"},
-{"id": 2285,
-"keyword": "conditional expressions"},
-{"id": 2286,
-"keyword": "definitional embedding"},
-{"id": 2287,
-"keyword": "constructing sturm sequences efficiently"},
-{"id": 2288,
-"keyword": "finite fourier series"},
-{"id": 2289,
-"keyword": "fixed access frequencies"},
-{"id": 2290,
-"keyword": "hol-multivariate-analysis session"},
-{"id": 2291,
-"keyword": "locale assumptions"},
-{"id": 2292,
-"keyword": "concrete file represented"},
-{"id": 2293,
-"keyword": "polynomial time"},
-{"id": 2294,
-"keyword": "beta_n"},
-{"id": 2295,
-"keyword": "communicating concurrent kleene algebra"},
-{"id": 2296,
-"keyword": "re-usable dfs-based algorithms"},
-{"id": 2297,
+{"id": 2336,
"keyword": "development accompanies"},
-{"id": 2298,
-=======
-{"id": 2305,
-"keyword": "extensible minimal imperative fragment"},
-{"id": 2306,
-"keyword": "leitsch lei97"},
-{"id": 2307,
-"keyword": "conditional expressions"},
-{"id": 2308,
-"keyword": "definitional embedding"},
-{"id": 2309,
-"keyword": "constructing sturm sequences efficiently"},
-{"id": 2310,
-"keyword": "finite fourier series"},
-{"id": 2311,
-"keyword": "fixed access frequencies"},
-{"id": 2312,
-"keyword": "hol-multivariate-analysis session"},
-{"id": 2313,
-"keyword": "locale assumptions"},
-{"id": 2314,
-"keyword": "concrete file represented"},
-{"id": 2315,
-"keyword": "polynomial time"},
-{"id": 2316,
-"keyword": "beta_n"},
-{"id": 2317,
-"keyword": "communicating concurrent kleene algebra"},
-{"id": 2318,
-"keyword": "re-usable dfs-based algorithms"},
-{"id": 2319,
-"keyword": "development accompanies"},
-{"id": 2320,
->>>>>>> merge rev
+{"id": 2337,
"keyword": "guarded recursive equations"},
-<<<<<<< working copy
-{"id": 2293,
-||||||| common ancestor
-{"id": 2299,
-=======
-{"id": 2321,
->>>>>>> merge rev
+{"id": 2338,
"keyword": "general recursion"},
-<<<<<<< working copy
-{"id": 2294,
-||||||| common ancestor
-{"id": 2300,
-=======
-{"id": 2322,
->>>>>>> merge rev
+{"id": 2339,
"keyword": "easily adapt existing proofs"},
-<<<<<<< working copy
-{"id": 2295,
-||||||| common ancestor
-{"id": 2301,
-=======
-{"id": 2323,
->>>>>>> merge rev
+{"id": 2340,
"keyword": "world code"},
-<<<<<<< working copy
-{"id": 2296,
+{"id": 2341,
"keyword": "problems"},
-{"id": 2297,
+{"id": 2342,
"keyword": "mapping method"},
-{"id": 2298,
+{"id": 2343,
"keyword": "emphasising local spatial properties"},
-{"id": 2299,
-"keyword": "stronger notion"},
-{"id": 2300,
-"keyword": "tree automata"},
-{"id": 2301,
-"keyword": "automatic theorem prover"},
-{"id": 2302,
-"keyword": "typing rules"},
-{"id": 2303,
-"keyword": "augustin louis cauchy"},
-{"id": 2304,
-"keyword": "traditional proof outlines"},
-{"id": 2305,
-"keyword": "proof terms"},
-{"id": 2306,
-"keyword": "geodesic gromov-hyperbolic space"},
-{"id": 2307,
-"keyword": "order types"},
-{"id": 2308,
-"keyword": "suitable inductive predicate"},
-{"id": 2309,
-"keyword": "developing aspects"},
-{"id": 2310,
-"keyword": "linux netfilter iptables firewall"},
-{"id": 2311,
-||||||| common ancestor
-{"id": 2302,
-"keyword": "problems"},
-{"id": 2303,
-"keyword": "mapping method"},
-{"id": 2304,
-"keyword": "emphasising local spatial properties"},
-{"id": 2305,
+{"id": 2344,
"keyword": "stronger notion"},
-{"id": 2306,
+{"id": 2345,
"keyword": "tree automata"},
-{"id": 2307,
-"keyword": "automatic theorem prover"},
-{"id": 2308,
-"keyword": "typing rules"},
-{"id": 2309,
-"keyword": "augustin louis cauchy"},
-{"id": 2310,
-"keyword": "traditional proof outlines"},
-{"id": 2311,
-"keyword": "proof terms"},
-{"id": 2312,
-"keyword": "geodesic gromov-hyperbolic space"},
-{"id": 2313,
-"keyword": "order types"},
-{"id": 2314,
-"keyword": "suitable inductive predicate"},
-{"id": 2315,
-"keyword": "developing aspects"},
-{"id": 2316,
-"keyword": "linux netfilter iptables firewall"},
-{"id": 2317,
-=======
-{"id": 2324,
-"keyword": "problems"},
-{"id": 2325,
-"keyword": "mapping method"},
-{"id": 2326,
-"keyword": "emphasising local spatial properties"},
-{"id": 2327,
-"keyword": "stronger notion"},
-{"id": 2328,
-"keyword": "tree automata"},
-{"id": 2329,
+{"id": 2346,
"keyword": "automatic theorem prover"},
-{"id": 2330,
+{"id": 2347,
"keyword": "typing rules"},
-{"id": 2331,
+{"id": 2348,
"keyword": "augustin louis cauchy"},
-{"id": 2332,
+{"id": 2349,
"keyword": "traditional proof outlines"},
-{"id": 2333,
+{"id": 2350,
"keyword": "proof terms"},
-{"id": 2334,
+{"id": 2351,
"keyword": "geodesic gromov-hyperbolic space"},
-{"id": 2335,
+{"id": 2352,
"keyword": "order types"},
-{"id": 2336,
+{"id": 2353,
"keyword": "suitable inductive predicate"},
-{"id": 2337,
+{"id": 2354,
"keyword": "developing aspects"},
-{"id": 2338,
+{"id": 2355,
"keyword": "linux netfilter iptables firewall"},
-{"id": 2339,
->>>>>>> merge rev
+{"id": 2356,
"keyword": "ordering properties"},
-<<<<<<< working copy
-{"id": 2312,
-||||||| common ancestor
-{"id": 2318,
-=======
-{"id": 2340,
->>>>>>> merge rev
+{"id": 2357,
"keyword": "hereditary base 2"},
-<<<<<<< working copy
-{"id": 2313,
-||||||| common ancestor
-{"id": 2319,
-=======
-{"id": 2341,
->>>>>>> merge rev
+{"id": 2358,
"keyword": "insurance products"},
-<<<<<<< working copy
-{"id": 2314,
-||||||| common ancestor
-{"id": 2320,
-=======
-{"id": 2342,
->>>>>>> merge rev
+{"id": 2359,
"keyword": "timing functions"},
-<<<<<<< working copy
-{"id": 2315,
+{"id": 2360,
"keyword": "list module"},
-{"id": 2316,
+{"id": 2361,
"keyword": "128bit words"},
-{"id": 2317,
+{"id": 2362,
"keyword": "core theorems"},
-{"id": 2318,
+{"id": 2363,
"keyword": "worker wrapper transformation"},
-{"id": 2319,
+{"id": 2364,
"keyword": "implementation supports set membership"},
-{"id": 2320,
+{"id": 2365,
"keyword": "longest recognized substrings"},
-{"id": 2321,
+{"id": 2366,
"keyword": "initial nonterminal"},
-{"id": 2322,
+{"id": 2367,
"keyword": "insecure channel controlled"},
-{"id": 2323,
+{"id": 2368,
"keyword": "utility functions"},
-{"id": 2324,
+{"id": 2369,
"keyword": "unified view"},
-{"id": 2325,
-"keyword": "underlying commented theories"},
-{"id": 2326,
-"keyword": "software security"},
-{"id": 2327,
-"keyword": "deeply embedded target programs"},
-{"id": 2328,
-"keyword": "achieve compositionality"},
-{"id": 2329,
-"keyword": "type definitions"},
-{"id": 2330,
-"keyword": "priority search tree"},
-{"id": 2331,
-"keyword": "complicated derivatives"},
-{"id": 2332,
-"keyword": "resulting bst"},
-{"id": 2333,
-"keyword": "decision"},
-{"id": 2334,
-"keyword": "incomparable results"},
-{"id": 2335,
-"keyword": "clear formalisation"},
-{"id": 2336,
-"keyword": "total supremum function"},
-{"id": 2337,
-"keyword": "extension formally represents"},
-{"id": 2338,
-"keyword": "normal filters"},
-{"id": 2339,
-"keyword": "rob arthan"},
-{"id": 2340,
-"keyword": "pseudo-bl algebras"},
-{"id": 2341,
-"keyword": "purely functional algorithms"},
-{"id": 2342,
-"keyword": "mathematical development"},
-{"id": 2343,
-"keyword": "optimizations heuristics"},
-{"id": 2344,
-"keyword": "borel-measurable random variables"},
-{"id": 2345,
-"keyword": "checkers operate"},
-{"id": 2346,
-"keyword": "short proof"},
-{"id": 2347,
-"keyword": "total correctness based"},
-{"id": 2348,
-"keyword": "real ideal world paradigm"},
-{"id": 2349,
-"keyword": "arbitrary univariate polynomials"},
-||||||| common ancestor
-{"id": 2321,
-"keyword": "list module"},
-{"id": 2322,
-"keyword": "128bit words"},
-{"id": 2323,
-"keyword": "core theorems"},
-{"id": 2324,
-"keyword": "worker wrapper transformation"},
-{"id": 2325,
-"keyword": "implementation supports set membership"},
-{"id": 2326,
-"keyword": "longest recognized substrings"},
-{"id": 2327,
-"keyword": "initial nonterminal"},
-{"id": 2328,
-"keyword": "insecure channel controlled"},
-{"id": 2329,
-"keyword": "utility functions"},
-{"id": 2330,
-"keyword": "unified view"},
-{"id": 2331,
+{"id": 2370,
"keyword": "underlying commented theories"},
-{"id": 2332,
+{"id": 2371,
"keyword": "software security"},
-{"id": 2333,
+{"id": 2372,
"keyword": "deeply embedded target programs"},
-{"id": 2334,
+{"id": 2373,
"keyword": "achieve compositionality"},
-{"id": 2335,
+{"id": 2374,
"keyword": "type definitions"},
-{"id": 2336,
-"keyword": "priority search tree"},
-{"id": 2337,
-"keyword": "complicated derivatives"},
-{"id": 2338,
-"keyword": "resulting bst"},
-{"id": 2339,
-"keyword": "decision"},
-{"id": 2340,
-"keyword": "incomparable results"},
-{"id": 2341,
-"keyword": "clear formalisation"},
-{"id": 2342,
-"keyword": "total supremum function"},
-{"id": 2343,
-"keyword": "extension formally represents"},
-{"id": 2344,
-"keyword": "normal filters"},
-{"id": 2345,
-"keyword": "rob arthan"},
-{"id": 2346,
-"keyword": "pseudo-bl algebras"},
-{"id": 2347,
-"keyword": "purely functional algorithms"},
-{"id": 2348,
-"keyword": "mathematical development"},
-{"id": 2349,
-"keyword": "optimizations heuristics"},
-=======
-{"id": 2343,
-"keyword": "list module"},
-{"id": 2344,
-"keyword": "128bit words"},
-{"id": 2345,
-"keyword": "core theorems"},
-{"id": 2346,
-"keyword": "worker wrapper transformation"},
-{"id": 2347,
-"keyword": "implementation supports set membership"},
-{"id": 2348,
-"keyword": "longest recognized substrings"},
-{"id": 2349,
-"keyword": "initial nonterminal"},
->>>>>>> merge rev
-{"id": 2350,
-<<<<<<< working copy
-"keyword": "basic framework"},
-||||||| common ancestor
-"keyword": "borel-measurable random variables"},
-=======
-"keyword": "insecure channel controlled"},
->>>>>>> merge rev
-{"id": 2351,
-<<<<<<< working copy
-"keyword": "game-based cryptographic security notions"},
-||||||| common ancestor
-"keyword": "checkers operate"},
-=======
-"keyword": "utility functions"},
->>>>>>> merge rev
-{"id": 2352,
-<<<<<<< working copy
-"keyword": "general solver"},
-||||||| common ancestor
-"keyword": "short proof"},
-=======
-"keyword": "unified view"},
->>>>>>> merge rev
-{"id": 2353,
-<<<<<<< working copy
-"keyword": "threat models"},
-||||||| common ancestor
-"keyword": "total correctness based"},
-=======
-"keyword": "underlying commented theories"},
->>>>>>> merge rev
-{"id": 2354,
-<<<<<<< working copy
-"keyword": "fredkin cacm 1960"},
-||||||| common ancestor
-"keyword": "real ideal world paradigm"},
-=======
-"keyword": "software security"},
->>>>>>> merge rev
-{"id": 2355,
-<<<<<<< working copy
-"keyword": "induction"},
-||||||| common ancestor
-"keyword": "arbitrary univariate polynomials"},
-=======
-"keyword": "deeply embedded target programs"},
->>>>>>> merge rev
-{"id": 2356,
-<<<<<<< working copy
-"keyword": "uniform global clock"},
-||||||| common ancestor
-"keyword": "basic framework"},
-=======
-"keyword": "achieve compositionality"},
->>>>>>> merge rev
-{"id": 2357,
-<<<<<<< working copy
-"keyword": "mechanical derivation"},
-||||||| common ancestor
-"keyword": "game-based cryptographic security notions"},
-=======
-"keyword": "type definitions"},
->>>>>>> merge rev
-{"id": 2358,
-<<<<<<< working copy
-"keyword": "proof sketch"},
-||||||| common ancestor
-"keyword": "general solver"},
-=======
+{"id": 2375,
"keyword": "priority search tree"},
->>>>>>> merge rev
-{"id": 2359,
-<<<<<<< working copy
-"keyword": "55th theorem"},
-{"id": 2360,
-"keyword": "specific instantiations"},
-{"id": 2361,
-"keyword": "infinite iteration"},
-{"id": 2362,
-"keyword": "parameterized verification framework"},
-{"id": 2363,
-"keyword": "probabilistic noninterference"},
-{"id": 2364,
-"keyword": "prior non-mechanized soundness proofs"},
-{"id": 2365,
-"keyword": "planning system fast-downward"},
-{"id": 2366,
-"keyword": "total store order"},
-{"id": 2367,
-"keyword": "type system"},
-{"id": 2368,
-"keyword": "verifythis competition series"},
-{"id": 2369,
-"keyword": "cartesian categories"},
-{"id": 2370,
-"keyword": "direct product"},
-{"id": 2371,
-"keyword": "special case"},
-{"id": 2372,
-"keyword": "free boolean algebra"},
-{"id": 2373,
-"keyword": "static interprocedural slicing"},
-{"id": 2374,
-"keyword": "connected open set"},
-{"id": 2375,
-"keyword": "building"},
{"id": 2376,
-"keyword": "meet schneider"},
+"keyword": "complicated derivatives"},
{"id": 2377,
-"keyword": "dynamic context"},
+"keyword": "resulting bst"},
{"id": 2378,
-"keyword": "coherence theorem"},
-||||||| common ancestor
-"keyword": "threat models"},
-{"id": 2360,
-"keyword": "fredkin cacm 1960"},
-{"id": 2361,
-"keyword": "induction"},
-{"id": 2362,
-"keyword": "uniform global clock"},
-{"id": 2363,
-"keyword": "mechanical derivation"},
-{"id": 2364,
-"keyword": "proof sketch"},
-{"id": 2365,
-"keyword": "55th theorem"},
-{"id": 2366,
-"keyword": "specific instantiations"},
-{"id": 2367,
-"keyword": "infinite iteration"},
-{"id": 2368,
-"keyword": "parameterized verification framework"},
-{"id": 2369,
-"keyword": "probabilistic noninterference"},
-{"id": 2370,
-"keyword": "prior non-mechanized soundness proofs"},
-{"id": 2371,
-"keyword": "planning system fast-downward"},
-{"id": 2372,
-"keyword": "total store order"},
-{"id": 2373,
-"keyword": "type system"},
-{"id": 2374,
-"keyword": "verifythis competition series"},
-{"id": 2375,
-"keyword": "cartesian categories"},
-{"id": 2376,
-"keyword": "direct product"},
-{"id": 2377,
-"keyword": "special case"},
-{"id": 2378,
-"keyword": "free boolean algebra"},
-=======
-"keyword": "complicated derivatives"},
-{"id": 2360,
-"keyword": "resulting bst"},
-{"id": 2361,
"keyword": "decision"},
-{"id": 2362,
+{"id": 2379,
"keyword": "incomparable results"},
-{"id": 2363,
+{"id": 2380,
"keyword": "clear formalisation"},
-{"id": 2364,
+{"id": 2381,
"keyword": "total supremum function"},
-{"id": 2365,
+{"id": 2382,
"keyword": "extension formally represents"},
-{"id": 2366,
+{"id": 2383,
"keyword": "normal filters"},
-{"id": 2367,
+{"id": 2384,
"keyword": "rob arthan"},
-{"id": 2368,
+{"id": 2385,
"keyword": "pseudo-bl algebras"},
-{"id": 2369,
+{"id": 2386,
"keyword": "purely functional algorithms"},
-{"id": 2370,
+{"id": 2387,
"keyword": "mathematical development"},
-{"id": 2371,
+{"id": 2388,
"keyword": "optimizations heuristics"},
-{"id": 2372,
+{"id": 2389,
"keyword": "borel-measurable random variables"},
-{"id": 2373,
+{"id": 2390,
"keyword": "checkers operate"},
-{"id": 2374,
+{"id": 2391,
"keyword": "short proof"},
-{"id": 2375,
+{"id": 2392,
"keyword": "total correctness based"},
-{"id": 2376,
+{"id": 2393,
"keyword": "real ideal world paradigm"},
-{"id": 2377,
+{"id": 2394,
"keyword": "arbitrary univariate polynomials"},
-{"id": 2378,
+{"id": 2395,
"keyword": "basic framework"},
->>>>>>> merge rev
-{"id": 2379,
-<<<<<<< working copy
-"keyword": "set categories"},
-||||||| common ancestor
-"keyword": "static interprocedural slicing"},
-=======
+{"id": 2396,
"keyword": "game-based cryptographic security notions"},
->>>>>>> merge rev
-{"id": 2380,
-<<<<<<< working copy
-"keyword": "step functions"},
-||||||| common ancestor
-"keyword": "connected open set"},
-=======
+{"id": 2397,
"keyword": "test strategies"},
->>>>>>> merge rev
-{"id": 2381,
-<<<<<<< working copy
-"keyword": "practical interoperability protocol"},
-||||||| common ancestor
-"keyword": "building"},
-=======
+{"id": 2398,
"keyword": "general solver"},
->>>>>>> merge rev
-{"id": 2382,
-<<<<<<< working copy
-"keyword": "general purpose data structure"},
-||||||| common ancestor
-"keyword": "meet schneider"},
-=======
+{"id": 2399,
"keyword": "threat models"},
->>>>>>> merge rev
-{"id": 2383,
-<<<<<<< working copy
-"keyword": "proof method"},
-||||||| common ancestor
-"keyword": "dynamic context"},
-=======
+{"id": 2400,
"keyword": "fredkin cacm 1960"},
->>>>>>> merge rev
-{"id": 2384,
-<<<<<<< working copy
-"keyword": "diophantine approximations"},
-||||||| common ancestor
-"keyword": "coherence theorem"},
-=======
+{"id": 2401,
"keyword": "induction"},
->>>>>>> merge rev
-{"id": 2385,
-<<<<<<< working copy
-"keyword": "identifies posix"},
-||||||| common ancestor
-"keyword": "set categories"},
-=======
+{"id": 2402,
"keyword": "uniform global clock"},
->>>>>>> merge rev
-{"id": 2386,
-<<<<<<< working copy
-"keyword": "factor polynomials"},
-||||||| common ancestor
-"keyword": "step functions"},
-=======
+{"id": 2403,
"keyword": "mechanical derivation"},
->>>>>>> merge rev
-{"id": 2387,
-<<<<<<< working copy
-"keyword": "success probability"},
-||||||| common ancestor
-"keyword": "practical interoperability protocol"},
-=======
+{"id": 2404,
"keyword": "proof sketch"},
->>>>>>> merge rev
-{"id": 2388,
-<<<<<<< working copy
-"keyword": "concrete sigma-protocols"},
-||||||| common ancestor
-"keyword": "general purpose data structure"},
-=======
+{"id": 2405,
"keyword": "55th theorem"},
->>>>>>> merge rev
-{"id": 2389,
-<<<<<<< working copy
-"keyword": "expand stone relation algebras"},
-{"id": 2390,
-"keyword": "effectively executable"},
-{"id": 2391,
-"keyword": "mechanising proofs"},
-{"id": 2392,
-"keyword": "partial orders"},
-{"id": 2393,
-"keyword": "mdp model checking"},
-{"id": 2394,
-"keyword": "providing stronger guarantees"},
-{"id": 2395,
-"keyword": "lambda calculus"},
-{"id": 2396,
-"keyword": "element set"},
-{"id": 2397,
-"keyword": "landmark theorem due"},
-||||||| common ancestor
-"keyword": "proof method"},
-{"id": 2390,
-"keyword": "diophantine approximations"},
-{"id": 2391,
-"keyword": "factor polynomials"},
-{"id": 2392,
-"keyword": "success probability"},
-{"id": 2393,
-"keyword": "concrete sigma-protocols"},
-{"id": 2394,
-"keyword": "expand stone relation algebras"},
-{"id": 2395,
-"keyword": "effectively executable"},
-{"id": 2396,
-"keyword": "mechanising proofs"},
-{"id": 2397,
-"keyword": "partial orders"},
-=======
+{"id": 2406,
"keyword": "specific instantiations"},
-{"id": 2390,
+{"id": 2407,
"keyword": "infinite iteration"},
-{"id": 2391,
+{"id": 2408,
"keyword": "parameterized verification framework"},
-{"id": 2392,
+{"id": 2409,
"keyword": "probabilistic noninterference"},
-{"id": 2393,
+{"id": 2410,
"keyword": "prior non-mechanized soundness proofs"},
-{"id": 2394,
+{"id": 2411,
"keyword": "planning system fast-downward"},
-{"id": 2395,
+{"id": 2412,
"keyword": "total store order"},
-{"id": 2396,
+{"id": 2413,
"keyword": "type system"},
-{"id": 2397,
+{"id": 2414,
"keyword": "verifythis competition series"},
->>>>>>> merge rev
-{"id": 2398,
-<<<<<<< working copy
-"keyword": "classic quantifier elimination"},
-||||||| common ancestor
-"keyword": "mdp model checking"},
-=======
+{"id": 2415,
"keyword": "cartesian categories"},
->>>>>>> merge rev
-{"id": 2399,
-<<<<<<< working copy
-"keyword": "game-based definitions"},
-||||||| common ancestor
-"keyword": "providing stronger guarantees"},
-=======
+{"id": 2416,
"keyword": "direct product"},
->>>>>>> merge rev
-{"id": 2400,
-<<<<<<< working copy
-"keyword": "natural-language explanations"},
-||||||| common ancestor
-"keyword": "lambda calculus"},
-=======
+{"id": 2417,
"keyword": "special case"},
->>>>>>> merge rev
-{"id": 2401,
-<<<<<<< working copy
-"keyword": "large transitive closures"},
-||||||| common ancestor
-"keyword": "element set"},
-=======
+{"id": 2418,
"keyword": "free boolean algebra"},
->>>>>>> merge rev
-{"id": 2402,
-<<<<<<< working copy
-"keyword": "static openflow rules"},
-||||||| common ancestor
-"keyword": "landmark theorem due"},
-=======
+{"id": 2419,
"keyword": "static interprocedural slicing"},
->>>>>>> merge rev
-{"id": 2403,
-<<<<<<< working copy
-"keyword": "default instantiation"},
-||||||| common ancestor
-"keyword": "classic quantifier elimination"},
-=======
+{"id": 2420,
"keyword": "connected open set"},
->>>>>>> merge rev
-{"id": 2404,
-<<<<<<< working copy
-"keyword": "mentioned properties"},
-||||||| common ancestor
-"keyword": "game-based definitions"},
-=======
-"keyword": "building"},
->>>>>>> merge rev
-{"id": 2405,
-<<<<<<< working copy
-"keyword": "verify truth tables"},
-||||||| common ancestor
-"keyword": "natural-language explanations"},
-=======
-"keyword": "meet schneider"},
->>>>>>> merge rev
-{"id": 2406,
-<<<<<<< working copy
-"keyword": "substructural logics"},
-||||||| common ancestor
-"keyword": "large transitive closures"},
-=======
-"keyword": "dynamic context"},
->>>>>>> merge rev
-{"id": 2407,
-<<<<<<< working copy
-"keyword": "standard algorithms textbooks"},
-||||||| common ancestor
-"keyword": "static openflow rules"},
-=======
-"keyword": "coherence theorem"},
->>>>>>> merge rev
-{"id": 2408,
-<<<<<<< working copy
-"keyword": "machine checked proofs"},
-||||||| common ancestor
-"keyword": "default instantiation"},
-=======
-"keyword": "set categories"},
->>>>>>> merge rev
-{"id": 2409,
-<<<<<<< working copy
-"keyword": "kleene star arise"},
-||||||| common ancestor
-"keyword": "mentioned properties"},
-=======
-"keyword": "step functions"},
->>>>>>> merge rev
-{"id": 2410,
-<<<<<<< working copy
-"keyword": "formally verified implementation"},
-||||||| common ancestor
-"keyword": "verify truth tables"},
-=======
-"keyword": "practical interoperability protocol"},
->>>>>>> merge rev
-{"id": 2411,
-<<<<<<< working copy
-"keyword": "autonomous systems"},
-||||||| common ancestor
-"keyword": "substructural logics"},
-=======
-"keyword": "general purpose data structure"},
->>>>>>> merge rev
-{"id": 2412,
-<<<<<<< working copy
-"keyword": "implementation mixes"},
-||||||| common ancestor
-"keyword": "standard algorithms textbooks"},
-=======
-"keyword": "proof method"},
->>>>>>> merge rev
-{"id": 2413,
-<<<<<<< working copy
-"keyword": "slightly advanced properties"},
-||||||| common ancestor
-"keyword": "machine checked proofs"},
-=======
-"keyword": "diophantine approximations"},
->>>>>>> merge rev
-{"id": 2414,
-<<<<<<< working copy
-"keyword": "discussion logs"},
-||||||| common ancestor
-"keyword": "kleene star arise"},
-=======
-"keyword": "factor polynomials"},
->>>>>>> merge rev
-{"id": 2415,
-<<<<<<< working copy
-"keyword": "generic imperative language embedded"},
-||||||| common ancestor
-"keyword": "formally verified implementation"},
-=======
-"keyword": "success probability"},
->>>>>>> merge rev
-{"id": 2416,
-<<<<<<< working copy
-"keyword": "basic path manipulation rules"},
-||||||| common ancestor
-"keyword": "autonomous systems"},
-=======
-"keyword": "concrete sigma-protocols"},
->>>>>>> merge rev
-{"id": 2417,
-<<<<<<< working copy
-"keyword": "fully automatic tools"},
-||||||| common ancestor
-"keyword": "implementation mixes"},
-=======
-"keyword": "expand stone relation algebras"},
->>>>>>> merge rev
-{"id": 2418,
-<<<<<<< working copy
-||||||| common ancestor
-"keyword": "slightly advanced properties"},
-{"id": 2419,
-"keyword": "discussion logs"},
-{"id": 2420,
-"keyword": "generic imperative language embedded"},
{"id": 2421,
-"keyword": "basic path manipulation rules"},
+"keyword": "building"},
{"id": 2422,
-"keyword": "fully automatic tools"},
+"keyword": "meet schneider"},
{"id": 2423,
-=======
-"keyword": "effectively executable"},
-{"id": 2419,
-"keyword": "mechanising proofs"},
-{"id": 2420,
-"keyword": "partial orders"},
-{"id": 2421,
-"keyword": "mdp model checking"},
-{"id": 2422,
-"keyword": "providing stronger guarantees"},
-{"id": 2423,
-"keyword": "lambda calculus"},
+"keyword": "dynamic context"},
{"id": 2424,
-"keyword": "element set"},
+"keyword": "coherence theorem"},
{"id": 2425,
-"keyword": "landmark theorem due"},
+"keyword": "set categories"},
{"id": 2426,
-"keyword": "classic quantifier elimination"},
+"keyword": "step functions"},
{"id": 2427,
-"keyword": "game-based definitions"},
+"keyword": "practical interoperability protocol"},
{"id": 2428,
-"keyword": "natural-language explanations"},
+"keyword": "general purpose data structure"},
{"id": 2429,
-"keyword": "large transitive closures"},
+"keyword": "proof method"},
{"id": 2430,
-"keyword": "static openflow rules"},
+"keyword": "diophantine approximations"},
{"id": 2431,
-"keyword": "default instantiation"},
+"keyword": "identifies posix"},
{"id": 2432,
-"keyword": "mentioned properties"},
+"keyword": "factor polynomials"},
{"id": 2433,
-"keyword": "verify truth tables"},
-{"id": 2434,
-"keyword": "substructural logics"},
-{"id": 2435,
-"keyword": "standard algorithms textbooks"},
-{"id": 2436,
-"keyword": "key value-pairs"},
-{"id": 2437,
-"keyword": "machine checked proofs"},
-{"id": 2438,
-"keyword": "kleene star arise"},
-{"id": 2439,
-"keyword": "formally verified implementation"},
-{"id": 2440,
-"keyword": "autonomous systems"},
-{"id": 2441,
-"keyword": "implementation mixes"},
-{"id": 2442,
-"keyword": "slightly advanced properties"},
-{"id": 2443,
-"keyword": "discussion logs"},
-{"id": 2444,
-"keyword": "generic imperative language embedded"},
-{"id": 2445,
-"keyword": "basic path manipulation rules"},
-{"id": 2446,
-"keyword": "fully automatic tools"},
-{"id": 2447,
->>>>>>> merge rev
-"keyword": "distinct network nodes"},
-<<<<<<< working copy
-{"id": 2419,
-||||||| common ancestor
-{"id": 2424,
-=======
-{"id": 2448,
->>>>>>> merge rev
-"keyword": "triangle"},
-<<<<<<< working copy
-{"id": 2420,
-||||||| common ancestor
-{"id": 2425,
-=======
-{"id": 2449,
->>>>>>> merge rev
-"keyword": "plotkin existential"},
-<<<<<<< working copy
-{"id": 2421,
-||||||| common ancestor
-{"id": 2426,
-=======
-{"id": 2450,
->>>>>>> merge rev
-"keyword": "feature nice mathematical properties"},
-<<<<<<< working copy
-{"id": 2422,
-"keyword": "macaulay matrix"},
-{"id": 2423,
-"keyword": "boolean algebras generalise"},
-{"id": 2424,
-"keyword": "upf emphasizes"},
-{"id": 2425,
-"keyword": "reasonable efficiency"},
-{"id": 2426,
-"keyword": "explicit syntactic form"},
-{"id": 2427,
-"keyword": "type inference rules"},
-{"id": 2428,
-"keyword": "calculus immediately implies"},
-{"id": 2429,
-"keyword": "underlying theory"},
-{"id": 2430,
-"keyword": "individual components"},
-{"id": 2431,
-"keyword": "descartes test returns 0"},
-{"id": 2432,
-"keyword": "divided differences"},
-{"id": 2433,
-"keyword": "model existence theorem"},
-{"id": 2434,
-"keyword": "wireless mesh network"},
-{"id": 2435,
-"keyword": "monotonic property transformers"},
-{"id": 2436,
-"keyword": "prefix match"},
-{"id": 2437,
-||||||| common ancestor
-{"id": 2427,
-"keyword": "macaulay matrix"},
-{"id": 2428,
-"keyword": "boolean algebras generalise"},
-{"id": 2429,
-"keyword": "upf emphasizes"},
-{"id": 2430,
-"keyword": "reasonable efficiency"},
-{"id": 2431,
-"keyword": "explicit syntactic form"},
-{"id": 2432,
-"keyword": "type inference rules"},
-{"id": 2433,
-"keyword": "calculus immediately implies"},
+"keyword": "success probability"},
{"id": 2434,
-"keyword": "underlying theory"},
+"keyword": "concrete sigma-protocols"},
{"id": 2435,
-"keyword": "individual components"},
+"keyword": "expand stone relation algebras"},
{"id": 2436,
-"keyword": "descartes test returns 0"},
+"keyword": "effectively executable"},
{"id": 2437,
-"keyword": "divided differences"},
+"keyword": "mechanising proofs"},
{"id": 2438,
-"keyword": "model existence theorem"},
+"keyword": "partial orders"},
{"id": 2439,
-"keyword": "wireless mesh network"},
+"keyword": "mdp model checking"},
{"id": 2440,
-"keyword": "monotonic property transformers"},
+"keyword": "providing stronger guarantees"},
{"id": 2441,
-"keyword": "prefix match"},
+"keyword": "lambda calculus"},
{"id": 2442,
-=======
-{"id": 2451,
-"keyword": "macaulay matrix"},
-{"id": 2452,
-"keyword": "boolean algebras generalise"},
-{"id": 2453,
-"keyword": "upf emphasizes"},
-{"id": 2454,
-"keyword": "reasonable efficiency"},
-{"id": 2455,
-"keyword": "explicit syntactic form"},
-{"id": 2456,
-"keyword": "type inference rules"},
-{"id": 2457,
-"keyword": "calculus immediately implies"},
-{"id": 2458,
-"keyword": "underlying theory"},
-{"id": 2459,
-"keyword": "individual components"},
-{"id": 2460,
-"keyword": "descartes test returns 0"},
-{"id": 2461,
-"keyword": "divided differences"},
-{"id": 2462,
-"keyword": "model existence theorem"},
-{"id": 2463,
-"keyword": "executable denotational semantics"},
-{"id": 2464,
-"keyword": "wireless mesh network"},
-{"id": 2465,
-"keyword": "monotonic property transformers"},
-{"id": 2466,
-"keyword": "prefix match"},
-{"id": 2467,
->>>>>>> merge rev
-"keyword": "analytic proof"},
-<<<<<<< working copy
-{"id": 2438,
-||||||| common ancestor
+"keyword": "element set"},
{"id": 2443,
-=======
-{"id": 2468,
->>>>>>> merge rev
-"keyword": "safe distance"},
-<<<<<<< working copy
-{"id": 2439,
-||||||| common ancestor
+"keyword": "landmark theorem due"},
{"id": 2444,
-=======
-{"id": 2469,
->>>>>>> merge rev
-"keyword": "existing implementation"},
-<<<<<<< working copy
-{"id": 2440,
-||||||| common ancestor
+"keyword": "classic quantifier elimination"},
{"id": 2445,
-=======
-{"id": 2470,
->>>>>>> merge rev
-"keyword": "natural logarithm"},
-<<<<<<< working copy
-{"id": 2441,
-"keyword": "automatically transferable"},
-{"id": 2442,
-"keyword": "oopsla 2006 paper"},
-{"id": 2443,
-"keyword": "modern environment"},
-{"id": 2444,
-"keyword": "dynamic architectures"},
-{"id": 2445,
-"keyword": "simulate minsky machines"},
+"keyword": "game-based definitions"},
{"id": 2446,
-"keyword": "binomial heaps"},
+"keyword": "natural-language explanations"},
{"id": 2447,
-"keyword": "classifies topological spaces"},
+"keyword": "large transitive closures"},
{"id": 2448,
-"keyword": "partial meet contraction"},
+"keyword": "static openflow rules"},
{"id": 2449,
-"keyword": "standard signature algorithm"},
+"keyword": "default instantiation"},
{"id": 2450,
-"keyword": "selection functions"},
+"keyword": "mentioned properties"},
{"id": 2451,
-"keyword": "peano arithmetic"},
+"keyword": "verify truth tables"},
{"id": 2452,
-"keyword": "fully formally verified"},
+"keyword": "substructural logics"},
{"id": 2453,
-"keyword": "files"},
+"keyword": "standard algorithms textbooks"},
{"id": 2454,
-"keyword": "automated reasoning 52"},
+"keyword": "key value-pairs"},
{"id": 2455,
-"keyword": "involves extensive reasoning"},
+"keyword": "machine checked proofs"},
{"id": 2456,
-||||||| common ancestor
-{"id": 2446,
-"keyword": "automatically transferable"},
-{"id": 2447,
-"keyword": "oopsla 2006 paper"},
-{"id": 2448,
-"keyword": "modern environment"},
-{"id": 2449,
-"keyword": "dynamic architectures"},
-{"id": 2450,
-"keyword": "simulate minsky machines"},
-{"id": 2451,
-"keyword": "binomial heaps"},
-{"id": 2452,
-"keyword": "classifies topological spaces"},
-{"id": 2453,
-"keyword": "partial meet contraction"},
-{"id": 2454,
-"keyword": "standard signature algorithm"},
-{"id": 2455,
-"keyword": "selection functions"},
-{"id": 2456,
-"keyword": "peano arithmetic"},
+"keyword": "kleene star arise"},
{"id": 2457,
-"keyword": "fully formally verified"},
+"keyword": "formally verified implementation"},
{"id": 2458,
-"keyword": "files"},
+"keyword": "autonomous systems"},
{"id": 2459,
-"keyword": "automated reasoning 52"},
+"keyword": "implementation mixes"},
{"id": 2460,
-"keyword": "involves extensive reasoning"},
+"keyword": "slightly advanced properties"},
{"id": 2461,
-=======
-{"id": 2471,
-"keyword": "automatically transferable"},
-{"id": 2472,
-"keyword": "oopsla 2006 paper"},
-{"id": 2473,
-"keyword": "modern environment"},
-{"id": 2474,
-"keyword": "dynamic architectures"},
-{"id": 2475,
-"keyword": "simulate minsky machines"},
-{"id": 2476,
-"keyword": "binomial heaps"},
-{"id": 2477,
-"keyword": "classifies topological spaces"},
-{"id": 2478,
-"keyword": "partial meet contraction"},
-{"id": 2479,
-"keyword": "standard signature algorithm"},
-{"id": 2480,
-"keyword": "selection functions"},
-{"id": 2481,
-"keyword": "peano arithmetic"},
-{"id": 2482,
-"keyword": "fully formally verified"},
-{"id": 2483,
-"keyword": "files"},
-{"id": 2484,
-"keyword": "automated reasoning 52"},
-{"id": 2485,
-"keyword": "involves extensive reasoning"},
-{"id": 2486,
->>>>>>> merge rev
-"keyword": "pointwise updates"},
-<<<<<<< working copy
-{"id": 2457,
-||||||| common ancestor
+"keyword": "discussion logs"},
{"id": 2462,
-=======
-{"id": 2487,
->>>>>>> merge rev
-"keyword": "category theory"},
-<<<<<<< working copy
-{"id": 2458,
-||||||| common ancestor
-{"id": 2463,
-=======
-{"id": 2488,
->>>>>>> merge rev
-"keyword": "vector fields"},
-<<<<<<< working copy
-{"id": 2459,
-||||||| common ancestor
-{"id": 2464,
-=======
-{"id": 2489,
->>>>>>> merge rev
-"keyword": "direct mathematical model"},
-<<<<<<< working copy
-{"id": 2460,
-"keyword": "group generated"},
-{"id": 2461,
-"keyword": "random element"},
-{"id": 2462,
-"keyword": "simple imperative language"},
+"keyword": "generic imperative language embedded"},
{"id": 2463,
-"keyword": "modal kleene algebra"},
+"keyword": "basic path manipulation rules"},
{"id": 2464,
-"keyword": "arbitrary fields"},
+"keyword": "fully automatic tools"},
{"id": 2465,
-"keyword": "roger lipsett"},
+"keyword": "distinct network nodes"},
{"id": 2466,
-"keyword": "probabilistic system types"},
+"keyword": "triangle"},
{"id": 2467,
-"keyword": "existing pen-and-paper proof"},
+"keyword": "plotkin existential"},
{"id": 2468,
-"keyword": "working mathematician"},
-{"id": 2469,
-"keyword": "squarefree integers"},
-{"id": 2470,
-"keyword": "heap property"},
-{"id": 2471,
-"keyword": "beautiful result"},
-{"id": 2472,
-"keyword": "factorisation algorithm"},
-{"id": 2473,
-"keyword": "simple techniques"},
-{"id": 2474,
-"keyword": "arbitrary natural sets"},
-{"id": 2475,
-||||||| common ancestor
-{"id": 2465,
-"keyword": "group generated"},
-{"id": 2466,
-"keyword": "random element"},
-{"id": 2467,
-"keyword": "simple imperative language"},
-{"id": 2468,
-"keyword": "modal kleene algebra"},
+"keyword": "feature nice mathematical properties"},
{"id": 2469,
-"keyword": "arbitrary fields"},
+"keyword": "macaulay matrix"},
{"id": 2470,
-"keyword": "roger lipsett"},
+"keyword": "boolean algebras generalise"},
{"id": 2471,
-"keyword": "probabilistic system types"},
+"keyword": "upf emphasizes"},
{"id": 2472,
-"keyword": "existing pen-and-paper proof"},
+"keyword": "reasonable efficiency"},
{"id": 2473,
-"keyword": "working mathematician"},
+"keyword": "explicit syntactic form"},
{"id": 2474,
-"keyword": "squarefree integers"},
+"keyword": "type inference rules"},
{"id": 2475,
-"keyword": "heap property"},
+"keyword": "calculus immediately implies"},
{"id": 2476,
-"keyword": "beautiful result"},
+"keyword": "underlying theory"},
{"id": 2477,
-"keyword": "factorisation algorithm"},
+"keyword": "individual components"},
{"id": 2478,
-"keyword": "simple techniques"},
+"keyword": "descartes test returns 0"},
{"id": 2479,
-"keyword": "arbitrary natural sets"},
+"keyword": "divided differences"},
{"id": 2480,
-=======
+"keyword": "model existence theorem"},
+{"id": 2481,
+"keyword": "executable denotational semantics"},
+{"id": 2482,
+"keyword": "wireless mesh network"},
+{"id": 2483,
+"keyword": "monotonic property transformers"},
+{"id": 2484,
+"keyword": "prefix match"},
+{"id": 2485,
+"keyword": "analytic proof"},
+{"id": 2486,
+"keyword": "safe distance"},
+{"id": 2487,
+"keyword": "existing implementation"},
+{"id": 2488,
+"keyword": "natural logarithm"},
+{"id": 2489,
+"keyword": "automatically transferable"},
{"id": 2490,
-"keyword": "group generated"},
+"keyword": "oopsla 2006 paper"},
{"id": 2491,
-"keyword": "interesting format"},
+"keyword": "modern environment"},
{"id": 2492,
-"keyword": "random element"},
+"keyword": "dynamic architectures"},
{"id": 2493,
-"keyword": "simple imperative language"},
+"keyword": "simulate minsky machines"},
{"id": 2494,
-"keyword": "modal kleene algebra"},
+"keyword": "binomial heaps"},
{"id": 2495,
-"keyword": "arbitrary fields"},
+"keyword": "classifies topological spaces"},
{"id": 2496,
-"keyword": "roger lipsett"},
+"keyword": "partial meet contraction"},
{"id": 2497,
-"keyword": "probabilistic system types"},
-{"id": 2498,
-"keyword": "existing pen-and-paper proof"},
-{"id": 2499,
-"keyword": "working mathematician"},
-{"id": 2500,
-"keyword": "squarefree integers"},
-{"id": 2501,
-"keyword": "heap property"},
-{"id": 2502,
-"keyword": "beautiful result"},
-{"id": 2503,
-"keyword": "factorisation algorithm"},
-{"id": 2504,
-"keyword": "simple techniques"},
-{"id": 2505,
-"keyword": "arbitrary natural sets"},
-{"id": 2506,
->>>>>>> merge rev
-"keyword": "christoph benzm uuml"},
-<<<<<<< working copy
-{"id": 2476,
-"keyword": "combinable wand"},
-{"id": 2477,
-"keyword": "failure-prone environments"},
-{"id": 2478,
-"keyword": "abstract cryptography"},
-{"id": 2479,
-"keyword": "simpler secure processes"},
-{"id": 2480,
-"keyword": "sim sqrt 2 pi"},
-{"id": 2481,
-"keyword": "rigorous polynomial approximation"},
-{"id": 2482,
-"keyword": "cardinality facts relevant"},
-{"id": 2483,
-"keyword": "source-to-assembly step matching"},
-{"id": 2484,
-"keyword": "lambda-calculus"},
-{"id": 2485,
-"keyword": "fundamental theorem"},
-{"id": 2486,
-"keyword": "routing table entry"},
-{"id": 2487,
-"keyword": "called object constraint language"},
-{"id": 2488,
-"keyword": "logically safe"},
-{"id": 2489,
-"keyword": "non-relational reasoning"},
-{"id": 2490,
-"keyword": "intuitive combinatorial proof"},
-{"id": 2491,
-"keyword": "tphols 2008 paper"},
-{"id": 2492,
-"keyword": "floyd-warshall algorithm"},
-{"id": 2493,
-"keyword": "single event list varying"},
-{"id": 2494,
-"keyword": "church-encoded representation"},
-{"id": 2495,
-"keyword": "recursive inseparability"},
-{"id": 2496,
-"keyword": "hierarchical transactions"},
-{"id": 2497,
-"keyword": "low-degree polynomials"},
+"keyword": "standard signature algorithm"},
{"id": 2498,
-"keyword": "declaring nominal datatypes"},
+"keyword": "selection functions"},
{"id": 2499,
-"keyword": "widening operation"},
+"keyword": "peano arithmetic"},
{"id": 2500,
-"keyword": "weak preferences"},
-{"id": 2501,
-"keyword": "generic theory"},
-{"id": 2502,
-"keyword": "ocl specification"},
-{"id": 2503,
-"keyword": "original expression"},
-{"id": 2504,
-"keyword": "euler trails"},
-{"id": 2505,
-"keyword": "mutually recursive functions"},
-{"id": 2506,
-"keyword": "isomorphisms results"},
-{"id": 2507,
-"keyword": "hol light development"},
-{"id": 2508,
-"keyword": "numerical algorithms"},
-{"id": 2509,
-"keyword": "special form"},
-{"id": 2510,
-"keyword": "upcoming entry iptables semantics"},
-{"id": 2511,
-"keyword": "x86-64 assembly instructions"},
-{"id": 2512,
-"keyword": "great body"},
-||||||| common ancestor
-{"id": 2481,
-"keyword": "combinable wand"},
-{"id": 2482,
-"keyword": "failure-prone environments"},
-{"id": 2483,
-"keyword": "abstract cryptography"},
-{"id": 2484,
-"keyword": "simpler secure processes"},
-{"id": 2485,
-"keyword": "sim sqrt 2 pi"},
-{"id": 2486,
-"keyword": "rigorous polynomial approximation"},
-{"id": 2487,
-"keyword": "cardinality facts relevant"},
-{"id": 2488,
-"keyword": "source-to-assembly step matching"},
-{"id": 2489,
-"keyword": "lambda-calculus"},
-{"id": 2490,
-"keyword": "fundamental theorem"},
-{"id": 2491,
-"keyword": "routing table entry"},
-{"id": 2492,
-"keyword": "called object constraint language"},
-{"id": 2493,
-"keyword": "logically safe"},
-{"id": 2494,
-"keyword": "non-relational reasoning"},
-{"id": 2495,
-"keyword": "intuitive combinatorial proof"},
-{"id": 2496,
-"keyword": "tphols 2008 paper"},
-{"id": 2497,
-"keyword": "floyd-warshall algorithm"},
-{"id": 2498,
-"keyword": "single event list varying"},
-{"id": 2499,
-"keyword": "church-encoded representation"},
-{"id": 2500,
-"keyword": "recursive inseparability"},
+"keyword": "fully formally verified"},
{"id": 2501,
-"keyword": "hierarchical transactions"},
+"keyword": "files"},
{"id": 2502,
-"keyword": "low-degree polynomials"},
+"keyword": "automated reasoning 52"},
{"id": 2503,
-"keyword": "declaring nominal datatypes"},
+"keyword": "involves extensive reasoning"},
{"id": 2504,
-"keyword": "widening operation"},
+"keyword": "pointwise updates"},
{"id": 2505,
-"keyword": "weak preferences"},
+"keyword": "category theory"},
{"id": 2506,
-"keyword": "generic theory"},
+"keyword": "vector fields"},
{"id": 2507,
-"keyword": "ocl specification"},
+"keyword": "direct mathematical model"},
{"id": 2508,
-"keyword": "original expression"},
-{"id": 2509,
-"keyword": "euler trails"},
-{"id": 2510,
-"keyword": "mutually recursive functions"},
-{"id": 2511,
-"keyword": "isomorphisms results"},
-{"id": 2512,
-"keyword": "hol light development"},
-=======
-{"id": 2507,
-"keyword": "combinable wand"},
-{"id": 2508,
-"keyword": "failure-prone environments"},
+"keyword": "group generated"},
{"id": 2509,
-"keyword": "abstract cryptography"},
+"keyword": "interesting format"},
{"id": 2510,
-"keyword": "simpler secure processes"},
+"keyword": "random element"},
{"id": 2511,
-"keyword": "sim sqrt 2 pi"},
+"keyword": "simple imperative language"},
{"id": 2512,
-"keyword": "rigorous polynomial approximation"},
->>>>>>> merge rev
+"keyword": "modal kleene algebra"},
{"id": 2513,
-<<<<<<< working copy
-"keyword": "sliced graph"},
-||||||| common ancestor
-"keyword": "numerical algorithms"},
-=======
-"keyword": "cardinality facts relevant"},
->>>>>>> merge rev
+"keyword": "arbitrary fields"},
{"id": 2514,
-<<<<<<< working copy
-"keyword": "function zeta"},
-||||||| common ancestor
-"keyword": "special form"},
-=======
-"keyword": "source-to-assembly step matching"},
->>>>>>> merge rev
+"keyword": "roger lipsett"},
{"id": 2515,
-<<<<<<< working copy
-"keyword": "van der waerden"},
-||||||| common ancestor
-"keyword": "upcoming entry iptables semantics"},
-=======
-"keyword": "lambda-calculus"},
->>>>>>> merge rev
+"keyword": "probabilistic system types"},
{"id": 2516,
-<<<<<<< working copy
-"keyword": "pretty printing"},
-||||||| common ancestor
-"keyword": "x86-64 assembly instructions"},
-=======
-"keyword": "fundamental theorem"},
->>>>>>> merge rev
+"keyword": "existing pen-and-paper proof"},
{"id": 2517,
-<<<<<<< working copy
-"keyword": "memory model"},
-||||||| common ancestor
-"keyword": "great body"},
-=======
-"keyword": "routing table entry"},
->>>>>>> merge rev
+"keyword": "working mathematician"},
{"id": 2518,
-<<<<<<< working copy
-"keyword": "directly inspired"},
-||||||| common ancestor
-"keyword": "sliced graph"},
-=======
-"keyword": "called object constraint language"},
->>>>>>> merge rev
+"keyword": "squarefree integers"},
{"id": 2519,
-<<<<<<< working copy
-"keyword": "phi functions"},
-||||||| common ancestor
-"keyword": "function zeta"},
-=======
-"keyword": "logically safe"},
->>>>>>> merge rev
+"keyword": "heap property"},
{"id": 2520,
-<<<<<<< working copy
-"keyword": "security configuration actual firewall"},
-||||||| common ancestor
-"keyword": "van der waerden"},
-=======
-"keyword": "non-relational reasoning"},
->>>>>>> merge rev
+"keyword": "beautiful result"},
{"id": 2521,
-<<<<<<< working copy
-"keyword": "knuth bendix orders"},
-||||||| common ancestor
-"keyword": "pretty printing"},
-=======
-"keyword": "intuitive combinatorial proof"},
->>>>>>> merge rev
+"keyword": "factorisation algorithm"},
{"id": 2522,
-<<<<<<< working copy
-"keyword": "belief change"},
-||||||| common ancestor
-"keyword": "memory model"},
-=======
-"keyword": "tphols 2008 paper"},
->>>>>>> merge rev
+"keyword": "simple techniques"},
{"id": 2523,
-<<<<<<< working copy
-"keyword": "arctic interpretations"},
-||||||| common ancestor
-"keyword": "directly inspired"},
-=======
-"keyword": "floyd-warshall algorithm"},
->>>>>>> merge rev
+"keyword": "arbitrary natural sets"},
{"id": 2524,
-<<<<<<< working copy
-"keyword": "bounded operators"},
-||||||| common ancestor
-"keyword": "phi functions"},
-=======
-"keyword": "single event list varying"},
->>>>>>> merge rev
+"keyword": "christoph benzm uuml"},
{"id": 2525,
-<<<<<<< working copy
-"keyword": "harm security"},
-||||||| common ancestor
-"keyword": "security configuration actual firewall"},
-=======
-"keyword": "church-encoded representation"},
->>>>>>> merge rev
+"keyword": "combinable wand"},
{"id": 2526,
-<<<<<<< working copy
-"keyword": "separate afp entries goedel_hfset_semantic"},
-||||||| common ancestor
-"keyword": "knuth bendix orders"},
-=======
-"keyword": "recursive inseparability"},
->>>>>>> merge rev
+"keyword": "failure-prone environments"},
{"id": 2527,
-<<<<<<< working copy
-"keyword": "frequency moment"},
-||||||| common ancestor
-"keyword": "belief change"},
-=======
-"keyword": "hierarchical transactions"},
->>>>>>> merge rev
+"keyword": "abstract cryptography"},
{"id": 2528,
-<<<<<<< working copy
-"keyword": "arbitrary network topologies"},
-||||||| common ancestor
-"keyword": "arctic interpretations"},
-=======
-"keyword": "low-degree polynomials"},
->>>>>>> merge rev
+"keyword": "simpler secure processes"},
{"id": 2529,
-<<<<<<< working copy
-"keyword": "theorem implies combinatorial planarity"},
-||||||| common ancestor
-"keyword": "bounded operators"},
-=======
-"keyword": "declaring nominal datatypes"},
->>>>>>> merge rev
+"keyword": "sim sqrt 2 pi"},
{"id": 2530,
-<<<<<<< working copy
-"keyword": "expected internal path length"},
-||||||| common ancestor
-"keyword": "harm security"},
-=======
-"keyword": "widening operation"},
->>>>>>> merge rev
+"keyword": "rigorous polynomial approximation"},
{"id": 2531,
-<<<<<<< working copy
-"keyword": "stronger version"},
-||||||| common ancestor
-"keyword": "separate afp entries goedel_hfset_semantic"},
-=======
-"keyword": "weak preferences"},
->>>>>>> merge rev
+"keyword": "cardinality facts relevant"},
{"id": 2532,
-<<<<<<< working copy
-"keyword": "solving linear programs"},
-||||||| common ancestor
-"keyword": "frequency moment"},
-=======
-"keyword": "generic theory"},
->>>>>>> merge rev
+"keyword": "source-to-assembly step matching"},
{"id": 2533,
-<<<<<<< working copy
-"keyword": "entry formally"},
+"keyword": "lambda-calculus"},
{"id": 2534,
-"keyword": "discrete summation"},
+"keyword": "fundamental theorem"},
{"id": 2535,
-"keyword": "compact intervals"},
+"keyword": "routing table entry"},
{"id": 2536,
-"keyword": "complexity low"},
+"keyword": "called object constraint language"},
{"id": 2537,
-"keyword": "source type"},
+"keyword": "logically safe"},
{"id": 2538,
-"keyword": "meaningless encodings"},
+"keyword": "non-relational reasoning"},
{"id": 2539,
-"keyword": "yielding dynamic programming algorithms"},
+"keyword": "intuitive combinatorial proof"},
{"id": 2540,
-"keyword": "hol formalization builds"},
-{"id": 2541,
-"keyword": "abstract separation algebra"},
-||||||| common ancestor
-"keyword": "arbitrary network topologies"},
-{"id": 2534,
-"keyword": "theorem implies combinatorial planarity"},
-{"id": 2535,
-"keyword": "expected internal path length"},
-{"id": 2536,
-"keyword": "stronger version"},
-{"id": 2537,
-"keyword": "solving linear programs"},
-{"id": 2538,
-"keyword": "entry formally"},
-{"id": 2539,
-"keyword": "discrete summation"},
-{"id": 2540,
-"keyword": "compact intervals"},
+"keyword": "tphols 2008 paper"},
{"id": 2541,
-"keyword": "complexity low"},
-=======
-"keyword": "ocl specification"},
-{"id": 2534,
-"keyword": "original expression"},
-{"id": 2535,
-"keyword": "euler trails"},
-{"id": 2536,
-"keyword": "mutually recursive functions"},
-{"id": 2537,
-"keyword": "isomorphisms results"},
-{"id": 2538,
-"keyword": "hol light development"},
-{"id": 2539,
-"keyword": "numerical algorithms"},
-{"id": 2540,
-"keyword": "special form"},
-{"id": 2541,
-"keyword": "upcoming entry iptables semantics"},
->>>>>>> merge rev
+"keyword": "floyd-warshall algorithm"},
{"id": 2542,
-<<<<<<< working copy
-"keyword": "handle changing beliefs"},
-||||||| common ancestor
-"keyword": "source type"},
-=======
-"keyword": "x86-64 assembly instructions"},
->>>>>>> merge rev
+"keyword": "single event list varying"},
{"id": 2543,
-<<<<<<< working copy
-"keyword": "exploiting type classes"},
-||||||| common ancestor
-"keyword": "meaningless encodings"},
-=======
-"keyword": "great body"},
->>>>>>> merge rev
+"keyword": "church-encoded representation"},
{"id": 2544,
-<<<<<<< working copy
-"keyword": "linear programs"},
-||||||| common ancestor
-"keyword": "yielding dynamic programming algorithms"},
-=======
-"keyword": "sliced graph"},
->>>>>>> merge rev
+"keyword": "recursive inseparability"},
{"id": 2545,
-<<<<<<< working copy
-"keyword": "hol proof assistant"},
-||||||| common ancestor
-"keyword": "hol formalization builds"},
-=======
-"keyword": "function zeta"},
->>>>>>> merge rev
+"keyword": "hierarchical transactions"},
{"id": 2546,
-<<<<<<< working copy
-"keyword": "current monolithic protocols"},
-||||||| common ancestor
-"keyword": "abstract separation algebra"},
-=======
-"keyword": "van der waerden"},
->>>>>>> merge rev
+"keyword": "low-degree polynomials"},
{"id": 2547,
-<<<<<<< working copy
-"keyword": "partial correctness"},
-||||||| common ancestor
-"keyword": "handle changing beliefs"},
-=======
-"keyword": "pretty printing"},
->>>>>>> merge rev
+"keyword": "declaring nominal datatypes"},
{"id": 2548,
-<<<<<<< working copy
-"keyword": "finite collection"},
-||||||| common ancestor
-"keyword": "exploiting type classes"},
-=======
-"keyword": "memory model"},
->>>>>>> merge rev
+"keyword": "widening operation"},
{"id": 2549,
-<<<<<<< working copy
-"keyword": "manipulating data types"},
-||||||| common ancestor
-"keyword": "linear programs"},
-=======
-"keyword": "directly inspired"},
->>>>>>> merge rev
+"keyword": "weak preferences"},
{"id": 2550,
-<<<<<<< working copy
-"keyword": "library base"},
-||||||| common ancestor
-"keyword": "hol proof assistant"},
-=======
-"keyword": "phi functions"},
->>>>>>> merge rev
+"keyword": "generic theory"},
{"id": 2551,
-<<<<<<< working copy
-"keyword": "sophisticated object-oriented bytecode language"},
-||||||| common ancestor
-"keyword": "current monolithic protocols"},
-=======
-"keyword": "security configuration actual firewall"},
->>>>>>> merge rev
+"keyword": "ocl specification"},
{"id": 2552,
-<<<<<<< working copy
-"keyword": "probable hidden state sequence"},
+"keyword": "original expression"},
{"id": 2553,
-"keyword": "finger tree"},
+"keyword": "euler trails"},
{"id": 2554,
-"keyword": "optimality equations"},
+"keyword": "mutually recursive functions"},
{"id": 2555,
-"keyword": "latin square"},
+"keyword": "isomorphisms results"},
{"id": 2556,
-"keyword": "combine classical reasoning"},
+"keyword": "hol light development"},
{"id": 2557,
-"keyword": "magic wand formula"},
+"keyword": "numerical algorithms"},
{"id": 2558,
-"keyword": "complete formalization"},
+"keyword": "special form"},
{"id": 2559,
-"keyword": "purely syntactic normalisation procedure"},
+"keyword": "upcoming entry iptables semantics"},
{"id": 2560,
-"keyword": "generic algorithm"},
+"keyword": "x86-64 assembly instructions"},
{"id": 2561,
-"keyword": "formalizations differ mathematically"},
+"keyword": "great body"},
{"id": 2562,
-"keyword": "computing dominators"},
+"keyword": "sliced graph"},
{"id": 2563,
-"keyword": "relational constructors"},
+"keyword": "function zeta"},
{"id": 2564,
-"keyword": "simplicial complexes"},
+"keyword": "van der waerden"},
{"id": 2565,
-"keyword": "induction principle"},
+"keyword": "pretty printing"},
{"id": 2566,
-"keyword": "correct binomial heaps"},
+"keyword": "memory model"},
{"id": 2567,
-"keyword": "information flow security"},
+"keyword": "directly inspired"},
{"id": 2568,
-"keyword": "basic concepts"},
+"keyword": "phi functions"},
{"id": 2569,
-"keyword": "present formalisation formed"},
+"keyword": "security configuration actual firewall"},
{"id": 2570,
-"keyword": "significant piece"},
-||||||| common ancestor
-"keyword": "partial correctness"},
-{"id": 2553,
-"keyword": "finite collection"},
-{"id": 2554,
-"keyword": "manipulating data types"},
-{"id": 2555,
-"keyword": "library base"},
-{"id": 2556,
-"keyword": "sophisticated object-oriented bytecode language"},
-{"id": 2557,
-"keyword": "probable hidden state sequence"},
-{"id": 2558,
-"keyword": "finger tree"},
-{"id": 2559,
-"keyword": "optimality equations"},
-{"id": 2560,
-"keyword": "latin square"},
-{"id": 2561,
-"keyword": "combine classical reasoning"},
-{"id": 2562,
-"keyword": "magic wand formula"},
-{"id": 2563,
-"keyword": "complete formalization"},
-{"id": 2564,
-"keyword": "purely syntactic normalisation procedure"},
-{"id": 2565,
-"keyword": "generic algorithm"},
-{"id": 2566,
-"keyword": "formalizations differ mathematically"},
-{"id": 2567,
-"keyword": "computing dominators"},
-{"id": 2568,
-"keyword": "relational constructors"},
-{"id": 2569,
-"keyword": "simplicial complexes"},
-{"id": 2570,
-"keyword": "induction principle"},
-=======
"keyword": "knuth bendix orders"},
-{"id": 2553,
+{"id": 2571,
"keyword": "belief change"},
-{"id": 2554,
+{"id": 2572,
"keyword": "arctic interpretations"},
-{"id": 2555,
+{"id": 2573,
"keyword": "bounded operators"},
-{"id": 2556,
+{"id": 2574,
"keyword": "harm security"},
-{"id": 2557,
-"keyword": "separate afp entries goedel_hfset_semantic"},
-{"id": 2558,
-"keyword": "frequency moment"},
-{"id": 2559,
-"keyword": "arbitrary network topologies"},
-{"id": 2560,
-"keyword": "theorem implies combinatorial planarity"},
-{"id": 2561,
-"keyword": "expected internal path length"},
-{"id": 2562,
-"keyword": "stronger version"},
-{"id": 2563,
-"keyword": "solving linear programs"},
-{"id": 2564,
-"keyword": "entry formally"},
-{"id": 2565,
-"keyword": "discrete summation"},
-{"id": 2566,
-"keyword": "compact intervals"},
-{"id": 2567,
-"keyword": "complexity low"},
-{"id": 2568,
-"keyword": "source type"},
-{"id": 2569,
-"keyword": "meaningless encodings"},
-{"id": 2570,
-"keyword": "yielding dynamic programming algorithms"},
->>>>>>> merge rev
-{"id": 2571,
-<<<<<<< working copy
-"keyword": "safe regression test selection"},
-||||||| common ancestor
-"keyword": "correct binomial heaps"},
-=======
-"keyword": "hol formalization builds"},
->>>>>>> merge rev
-{"id": 2572,
-<<<<<<< working copy
-"keyword": "internal path length"},
-||||||| common ancestor
-"keyword": "information flow security"},
-=======
-"keyword": "abstract separation algebra"},
->>>>>>> merge rev
-{"id": 2573,
-<<<<<<< working copy
-"keyword": "avoid cascading linking"},
-||||||| common ancestor
-"keyword": "basic concepts"},
-=======
-"keyword": "handle changing beliefs"},
->>>>>>> merge rev
-{"id": 2574,
-<<<<<<< working copy
-"keyword": "dirichlet l-functions"},
-||||||| common ancestor
-"keyword": "present formalisation formed"},
-=======
-"keyword": "exploiting type classes"},
->>>>>>> merge rev
{"id": 2575,
-<<<<<<< working copy
-"keyword": "interactive proof assistant"},
-||||||| common ancestor
-"keyword": "significant piece"},
-=======
-"keyword": "linear programs"},
->>>>>>> merge rev
+"keyword": "separate afp entries goedel_hfset_semantic"},
{"id": 2576,
-<<<<<<< working copy
-"keyword": "article added additional material"},
-||||||| common ancestor
-"keyword": "safe regression test selection"},
-=======
-"keyword": "hol proof assistant"},
->>>>>>> merge rev
+"keyword": "frequency moment"},
{"id": 2577,
-<<<<<<< working copy
-"keyword": "shadow tree"},
-||||||| common ancestor
-"keyword": "internal path length"},
-=======
-"keyword": "current monolithic protocols"},
->>>>>>> merge rev
+"keyword": "arbitrary network topologies"},
{"id": 2578,
-<<<<<<< working copy
-"keyword": "prime number"},
-||||||| common ancestor
-"keyword": "avoid cascading linking"},
-=======
-"keyword": "partial correctness"},
->>>>>>> merge rev
+"keyword": "theorem implies combinatorial planarity"},
{"id": 2579,
-<<<<<<< working copy
-"keyword": "representation independence"},
-||||||| common ancestor
-"keyword": "dirichlet l-functions"},
-=======
-"keyword": "finite collection"},
->>>>>>> merge rev
+"keyword": "expected internal path length"},
{"id": 2580,
-<<<<<<< working copy
-"keyword": "landau symbol"},
-||||||| common ancestor
-"keyword": "interactive proof assistant"},
-=======
-"keyword": "manipulating data types"},
->>>>>>> merge rev
+"keyword": "stronger version"},
{"id": 2581,
-<<<<<<< working copy
-||||||| common ancestor
-"keyword": "article added additional material"},
+"keyword": "solving linear programs"},
{"id": 2582,
-"keyword": "shadow tree"},
+"keyword": "entry formally"},
{"id": 2583,
-"keyword": "prime number"},
+"keyword": "discrete summation"},
{"id": 2584,
-"keyword": "representation independence"},
+"keyword": "compact intervals"},
{"id": 2585,
-"keyword": "landau symbol"},
+"keyword": "complexity low"},
{"id": 2586,
-=======
+"keyword": "source type"},
+{"id": 2587,
+"keyword": "meaningless encodings"},
+{"id": 2588,
+"keyword": "yielding dynamic programming algorithms"},
+{"id": 2589,
+"keyword": "hol formalization builds"},
+{"id": 2590,
+"keyword": "abstract separation algebra"},
+{"id": 2591,
+"keyword": "handle changing beliefs"},
+{"id": 2592,
+"keyword": "exploiting type classes"},
+{"id": 2593,
+"keyword": "linear programs"},
+{"id": 2594,
+"keyword": "hol proof assistant"},
+{"id": 2595,
+"keyword": "current monolithic protocols"},
+{"id": 2596,
+"keyword": "partial correctness"},
+{"id": 2597,
+"keyword": "finite collection"},
+{"id": 2598,
+"keyword": "manipulating data types"},
+{"id": 2599,
"keyword": "library base"},
-{"id": 2582,
+{"id": 2600,
"keyword": "sophisticated object-oriented bytecode language"},
-{"id": 2583,
+{"id": 2601,
"keyword": "probable hidden state sequence"},
-{"id": 2584,
+{"id": 2602,
"keyword": "finger tree"},
-{"id": 2585,
+{"id": 2603,
"keyword": "optimality equations"},
-{"id": 2586,
+{"id": 2604,
"keyword": "latin square"},
-{"id": 2587,
+{"id": 2605,
"keyword": "combine classical reasoning"},
-{"id": 2588,
+{"id": 2606,
+"keyword": "relevant proof methods"},
+{"id": 2607,
"keyword": "magic wand formula"},
-{"id": 2589,
+{"id": 2608,
"keyword": "complete formalization"},
-{"id": 2590,
+{"id": 2609,
"keyword": "purely syntactic normalisation procedure"},
-{"id": 2591,
+{"id": 2610,
"keyword": "generic algorithm"},
-{"id": 2592,
+{"id": 2611,
"keyword": "formalizations differ mathematically"},
-{"id": 2593,
+{"id": 2612,
"keyword": "computing dominators"},
-{"id": 2594,
+{"id": 2613,
"keyword": "relational constructors"},
-{"id": 2595,
+{"id": 2614,
"keyword": "simplicial complexes"},
-{"id": 2596,
+{"id": 2615,
"keyword": "induction principle"},
-{"id": 2597,
+{"id": 2616,
"keyword": "correct binomial heaps"},
-{"id": 2598,
+{"id": 2617,
"keyword": "information flow security"},
-{"id": 2599,
+{"id": 2618,
"keyword": "basic concepts"},
-{"id": 2600,
+{"id": 2619,
"keyword": "present formalisation formed"},
-{"id": 2601,
+{"id": 2620,
"keyword": "significant piece"},
-{"id": 2602,
+{"id": 2621,
"keyword": "safe regression test selection"},
-{"id": 2603,
+{"id": 2622,
"keyword": "internal path length"},
-{"id": 2604,
+{"id": 2623,
"keyword": "avoid cascading linking"},
-{"id": 2605,
+{"id": 2624,
"keyword": "dirichlet l-functions"},
-{"id": 2606,
+{"id": 2625,
"keyword": "interactive proof assistant"},
-{"id": 2607,
+{"id": 2626,
"keyword": "article added additional material"},
-{"id": 2608,
+{"id": 2627,
"keyword": "shadow tree"},
-{"id": 2609,
+{"id": 2628,
"keyword": "prime number"},
-{"id": 2610,
+{"id": 2629,
"keyword": "representation independence"},
-{"id": 2611,
+{"id": 2630,
"keyword": "landau symbol"},
-{"id": 2612,
->>>>>>> merge rev
+{"id": 2631,
"keyword": "essentially follow"},
-<<<<<<< working copy
-{"id": 2582,
-||||||| common ancestor
-{"id": 2587,
-=======
-{"id": 2613,
->>>>>>> merge rev
+{"id": 2632,
"keyword": "additively idempotent semirings"},
-<<<<<<< working copy
-{"id": 2583,
-||||||| common ancestor
-{"id": 2588,
-=======
-{"id": 2614,
->>>>>>> merge rev
+{"id": 2633,
"keyword": "complex unknowns x1"},
-<<<<<<< working copy
-{"id": 2584,
-||||||| common ancestor
-{"id": 2589,
-=======
-{"id": 2615,
->>>>>>> merge rev
+{"id": 2634,
"keyword": "byzantine fault-tolerant clock synchronization"},
-<<<<<<< working copy
-{"id": 2585,
+{"id": 2635,
"keyword": "closely follow"},
-{"id": 2586,
+{"id": 2636,
"keyword": "shaz qadeer"},
-{"id": 2587,
+{"id": 2637,
"keyword": "complex systems involves"},
-{"id": 2588,
+{"id": 2638,
"keyword": "solving equational systems"},
-{"id": 2589,
+{"id": 2639,
"keyword": "safe ocl typing rules"},
-{"id": 2590,
+{"id": 2640,
"keyword": "delta system lemma sessions"},
-{"id": 2591,
+{"id": 2641,
"keyword": "theorem due"},
-{"id": 2592,
+{"id": 2642,
"keyword": "temporal order"},
-{"id": 2593,
+{"id": 2643,
"keyword": "infrastructure previously"},
-{"id": 2594,
+{"id": 2644,
"keyword": "specification holds"},
-{"id": 2595,
+{"id": 2645,
"keyword": "skew links"},
-{"id": 2596,
-"keyword": "transactional memory"},
-{"id": 2597,
-"keyword": "unique squarefree decomposition"},
-{"id": 2598,
-"keyword": "beta_1"},
-{"id": 2599,
-"keyword": "discrete stochastic dynamic programming"},
-{"id": 2600,
-||||||| common ancestor
-{"id": 2590,
-"keyword": "closely follow"},
-{"id": 2591,
-"keyword": "shaz qadeer"},
-{"id": 2592,
-"keyword": "complex systems involves"},
-{"id": 2593,
-"keyword": "solving equational systems"},
-{"id": 2594,
-"keyword": "safe ocl typing rules"},
-{"id": 2595,
-"keyword": "delta system lemma sessions"},
-{"id": 2596,
-"keyword": "theorem due"},
-{"id": 2597,
-"keyword": "temporal order"},
-{"id": 2598,
-"keyword": "infrastructure previously"},
-{"id": 2599,
-"keyword": "specification holds"},
-{"id": 2600,
-"keyword": "skew links"},
-{"id": 2601,
+{"id": 2646,
"keyword": "transactional memory"},
-{"id": 2602,
+{"id": 2647,
"keyword": "unique squarefree decomposition"},
-{"id": 2603,
+{"id": 2648,
"keyword": "beta_1"},
-{"id": 2604,
+{"id": 2649,
"keyword": "discrete stochastic dynamic programming"},
-{"id": 2605,
-=======
-{"id": 2616,
-"keyword": "closely follow"},
-{"id": 2617,
-"keyword": "shaz qadeer"},
-{"id": 2618,
-"keyword": "complex systems involves"},
-{"id": 2619,
-"keyword": "solving equational systems"},
-{"id": 2620,
-"keyword": "safe ocl typing rules"},
-{"id": 2621,
-"keyword": "delta system lemma sessions"},
-{"id": 2622,
-"keyword": "theorem due"},
-{"id": 2623,
-"keyword": "temporal order"},
-{"id": 2624,
-"keyword": "infrastructure previously"},
-{"id": 2625,
-"keyword": "specification holds"},
-{"id": 2626,
-"keyword": "skew links"},
-{"id": 2627,
-"keyword": "transactional memory"},
-{"id": 2628,
-"keyword": "unique squarefree decomposition"},
-{"id": 2629,
-"keyword": "beta_1"},
-{"id": 2630,
-"keyword": "discrete stochastic dynamic programming"},
-{"id": 2631,
->>>>>>> merge rev
+{"id": 2650,
"keyword": "highly modular"},
-<<<<<<< working copy
-{"id": 2601,
-||||||| common ancestor
-{"id": 2606,
-=======
-{"id": 2632,
->>>>>>> merge rev
+{"id": 2651,
"keyword": "transcendental numbers"},
-<<<<<<< working copy
-{"id": 2602,
-||||||| common ancestor
-{"id": 2607,
-=======
-{"id": 2633,
->>>>>>> merge rev
+{"id": 2652,
"keyword": "extra assumptions"},
-<<<<<<< working copy
-{"id": 2603,
-||||||| common ancestor
-{"id": 2608,
-=======
-{"id": 2634,
+{"id": 2653,
"keyword": "fully json compliant"},
-{"id": 2635,
->>>>>>> merge rev
+{"id": 2654,
"keyword": "instantiation draws heavily"},
-<<<<<<< working copy
-{"id": 2604,
-"keyword": "stuttering equivalence afp-entry"},
-{"id": 2605,
-"keyword": "incompleteness theorem"},
-{"id": 2606,
-"keyword": "general form"},
-{"id": 2607,
-"keyword": "coarse-grained semantics"},
-{"id": 2608,
-"keyword": "early result"},
-{"id": 2609,
-"keyword": "core dom"},
-{"id": 2610,
-"keyword": "trace set processes"},
-{"id": 2611,
-"keyword": "theorem applying"},
-{"id": 2612,
-"keyword": "present polished"},
-{"id": 2613,
-"keyword": "graph representation"},
-{"id": 2614,
-"keyword": "large number"},
-{"id": 2615,
-"keyword": "classical propositional logic"},
-{"id": 2616,
-"keyword": "context-free grammar"},
-{"id": 2617,
-"keyword": "lee cl73"},
-{"id": 2618,
-"keyword": "security invariants hold"},
-{"id": 2619,
-||||||| common ancestor
-{"id": 2609,
+{"id": 2655,
"keyword": "stuttering equivalence afp-entry"},
-{"id": 2610,
+{"id": 2656,
"keyword": "incompleteness theorem"},
-{"id": 2611,
+{"id": 2657,
"keyword": "general form"},
-{"id": 2612,
-"keyword": "coarse-grained semantics"},
-{"id": 2613,
-"keyword": "early result"},
-{"id": 2614,
-"keyword": "core dom"},
-{"id": 2615,
-"keyword": "trace set processes"},
-{"id": 2616,
-"keyword": "theorem applying"},
-{"id": 2617,
-"keyword": "present polished"},
-{"id": 2618,
-"keyword": "graph representation"},
-{"id": 2619,
-"keyword": "large number"},
-{"id": 2620,
-"keyword": "classical propositional logic"},
-{"id": 2621,
-"keyword": "context-free grammar"},
-{"id": 2622,
-"keyword": "lee cl73"},
-{"id": 2623,
-"keyword": "security invariants hold"},
-{"id": 2624,
-=======
-{"id": 2636,
-"keyword": "stuttering equivalence afp-entry"},
-{"id": 2637,
-"keyword": "incompleteness theorem"},
-{"id": 2638,
-"keyword": "general form"},
-{"id": 2639,
+{"id": 2658,
"keyword": "coarse-grained semantics"},
-{"id": 2640,
+{"id": 2659,
"keyword": "early result"},
-{"id": 2641,
+{"id": 2660,
"keyword": "core dom"},
-{"id": 2642,
+{"id": 2661,
"keyword": "trace set processes"},
-{"id": 2643,
+{"id": 2662,
"keyword": "theorem applying"},
-{"id": 2644,
+{"id": 2663,
"keyword": "present polished"},
-{"id": 2645,
+{"id": 2664,
"keyword": "graph representation"},
-{"id": 2646,
+{"id": 2665,
"keyword": "large number"},
-{"id": 2647,
-"keyword": "classical propositional logic"},
-{"id": 2648,
-"keyword": "context-free grammar"},
-{"id": 2649,
-"keyword": "lee cl73"},
-{"id": 2650,
-"keyword": "security invariants hold"},
-{"id": 2651,
->>>>>>> merge rev
-"keyword": "simple programming language"},
-<<<<<<< working copy
-{"id": 2620,
-||||||| common ancestor
-{"id": 2625,
-=======
-{"id": 2652,
->>>>>>> merge rev
-"keyword": "gibbard-satterthwaite theorem"},
-<<<<<<< working copy
-{"id": 2621,
-||||||| common ancestor
-{"id": 2626,
-=======
-{"id": 2653,
->>>>>>> merge rev
-"keyword": "compcertssa project"},
-<<<<<<< working copy
-{"id": 2622,
-||||||| common ancestor
-{"id": 2627,
-=======
-{"id": 2654,
->>>>>>> merge rev
-"keyword": "linear upper bound"},
-<<<<<<< working copy
-{"id": 2623,
-"keyword": "formula mdp ta pta"},
-{"id": 2624,
-"keyword": "quantic nuclei"},
-{"id": 2625,
-"keyword": "non-deterministic interpreter"},
-{"id": 2626,
-"keyword": "embedding path order"},
-{"id": 2627,
-"keyword": "convergence rate"},
-{"id": 2628,
-"keyword": "textbook types"},
-{"id": 2629,
-"keyword": "discrete financial models"},
-{"id": 2630,
-"keyword": "wireless networks"},
-{"id": 2631,
-"keyword": "mechanical theorem proving"},
-{"id": 2632,
-"keyword": "jan kretinsky proposed"},
-{"id": 2633,
-"keyword": "infinite subset"},
-{"id": 2634,
-"keyword": "reflection-based decision procedure"},
-{"id": 2635,
-"keyword": "int_0 infty b_n"},
-{"id": 2636,
-"keyword": "general cost functions"},
-{"id": 2637,
-"keyword": "ch research verifythis"},
-{"id": 2638,
-"keyword": "prim"},
-{"id": 2639,
-"keyword": "sparcv8 instruction set architecture"},
-{"id": 2640,
-"keyword": "ordered bdd"},
-{"id": 2641,
-"keyword": "incorporate smoothly"},
-{"id": 2642,
-"keyword": "java interactive verification environment"},
-{"id": 2643,
-"keyword": "time complexity bound"},
-{"id": 2644,
-"keyword": "rules controls"},
-{"id": 2645,
-"keyword": "theorem prover"},
-{"id": 2646,
-"keyword": "decrease efficiency"},
-{"id": 2647,
-"keyword": "separation algebra"},
-{"id": 2648,
-"keyword": "refined version"},
-{"id": 2649,
-"keyword": "facts involving algebraic laws"},
-{"id": 2650,
-"keyword": "indefinitely long sequence"},
-{"id": 2651,
-"keyword": "fundamental objects"},
-{"id": 2652,
-"keyword": "open induction schema based"},
-{"id": 2653,
-"keyword": "dependent choices"},
-{"id": 2654,
-"keyword": "temporal operators"},
-{"id": 2655,
-"keyword": "obtain concrete upper bounds"},
-{"id": 2656,
-"keyword": "verify spoofing protection"},
-{"id": 2657,
-"keyword": "significantly worse"},
-{"id": 2658,
-"keyword": "type class functions"},
-{"id": 2659,
-"keyword": "guarantee condition"},
-{"id": 2660,
-"keyword": "fairly rudimentary"},
-{"id": 2661,
-"keyword": "relation reduces"},
-{"id": 2662,
-"keyword": "petersen aplas 2012"},
-{"id": 2663,
-"keyword": "strips soundness meta-theory"},
-{"id": 2664,
-"keyword": "code"},
-{"id": 2665,
-"keyword": "popular theorems attributed"},
{"id": 2666,
-"keyword": "puzzle"},
+"keyword": "classical propositional logic"},
{"id": 2667,
-"keyword": "registering automatic methods"},
+"keyword": "context-free grammar"},
{"id": 2668,
-"keyword": "executable monitor"},
+"keyword": "lee cl73"},
{"id": 2669,
-"keyword": "cryptographic operators"},
+"keyword": "security invariants hold"},
{"id": 2670,
-"keyword": "previous berlekamp zassenhaus development"},
+"keyword": "simple programming language"},
{"id": 2671,
-"keyword": "paraconsistent many-"},
+"keyword": "gibbard-satterthwaite theorem"},
{"id": 2672,
-"keyword": "extended complex plane"},
+"keyword": "compcertssa project"},
{"id": 2673,
-"keyword": "non-deterministic buechi-automaton"},
+"keyword": "linear upper bound"},
{"id": 2674,
-"keyword": "x1j hellip"},
+"keyword": "formula mdp ta pta"},
{"id": 2675,
-"keyword": "simplex algorithm"},
+"keyword": "quantic nuclei"},
{"id": 2676,
-"keyword": "higher order logic"},
+"keyword": "non-deterministic interpreter"},
{"id": 2677,
-"keyword": "reachable nodes"},
+"keyword": "embedding path order"},
{"id": 2678,
-"keyword": "classical theorem stating"},
+"keyword": "convergence rate"},
{"id": 2679,
-"keyword": "basic part"},
+"keyword": "textbook types"},
{"id": 2680,
-"keyword": "book concrete semantics"},
+"keyword": "discrete financial models"},
{"id": 2681,
-"keyword": "concern geometry"},
+"keyword": "wireless networks"},
{"id": 2682,
-"keyword": "nnf-based algorithms"},
+"keyword": "mechanical theorem proving"},
{"id": 2683,
-"keyword": "de bruijn index-based syntax"},
+"keyword": "jan kretinsky proposed"},
{"id": 2684,
-"keyword": "destination ip space"},
+"keyword": "infinite subset"},
{"id": 2685,
-"keyword": "floating-point computation"},
-||||||| common ancestor
-{"id": 2628,
-"keyword": "formula mdp ta pta"},
-{"id": 2629,
-"keyword": "quantic nuclei"},
-{"id": 2630,
-"keyword": "non-deterministic interpreter"},
-{"id": 2631,
-"keyword": "embedding path order"},
-{"id": 2632,
-"keyword": "convergence rate"},
-{"id": 2633,
-"keyword": "textbook types"},
-{"id": 2634,
-"keyword": "discrete financial models"},
-{"id": 2635,
-"keyword": "wireless networks"},
-{"id": 2636,
-"keyword": "mechanical theorem proving"},
-{"id": 2637,
-"keyword": "jan kretinsky proposed"},
-{"id": 2638,
-"keyword": "infinite subset"},
-{"id": 2639,
"keyword": "reflection-based decision procedure"},
-{"id": 2640,
+{"id": 2686,
"keyword": "int_0 infty b_n"},
-{"id": 2641,
+{"id": 2687,
"keyword": "general cost functions"},
-{"id": 2642,
+{"id": 2688,
"keyword": "ch research verifythis"},
-{"id": 2643,
+{"id": 2689,
"keyword": "prim"},
-{"id": 2644,
+{"id": 2690,
"keyword": "sparcv8 instruction set architecture"},
-{"id": 2645,
+{"id": 2691,
"keyword": "ordered bdd"},
-{"id": 2646,
+{"id": 2692,
"keyword": "incorporate smoothly"},
-{"id": 2647,
+{"id": 2693,
"keyword": "java interactive verification environment"},
-{"id": 2648,
+{"id": 2694,
"keyword": "time complexity bound"},
-{"id": 2649,
+{"id": 2695,
"keyword": "rules controls"},
-{"id": 2650,
+{"id": 2696,
"keyword": "theorem prover"},
-{"id": 2651,
+{"id": 2697,
"keyword": "decrease efficiency"},
-{"id": 2652,
+{"id": 2698,
"keyword": "separation algebra"},
-{"id": 2653,
+{"id": 2699,
"keyword": "refined version"},
-{"id": 2654,
+{"id": 2700,
"keyword": "facts involving algebraic laws"},
-{"id": 2655,
+{"id": 2701,
"keyword": "indefinitely long sequence"},
-{"id": 2656,
+{"id": 2702,
"keyword": "fundamental objects"},
-{"id": 2657,
+{"id": 2703,
"keyword": "open induction schema based"},
-{"id": 2658,
+{"id": 2704,
"keyword": "dependent choices"},
-{"id": 2659,
+{"id": 2705,
"keyword": "temporal operators"},
-{"id": 2660,
+{"id": 2706,
"keyword": "obtain concrete upper bounds"},
-{"id": 2661,
+{"id": 2707,
"keyword": "verify spoofing protection"},
-{"id": 2662,
+{"id": 2708,
"keyword": "significantly worse"},
-{"id": 2663,
+{"id": 2709,
"keyword": "type class functions"},
-{"id": 2664,
+{"id": 2710,
+"keyword": "common format"},
+{"id": 2711,
"keyword": "guarantee condition"},
-{"id": 2665,
+{"id": 2712,
"keyword": "fairly rudimentary"},
-{"id": 2666,
+{"id": 2713,
"keyword": "relation reduces"},
-{"id": 2667,
+{"id": 2714,
"keyword": "petersen aplas 2012"},
-{"id": 2668,
+{"id": 2715,
"keyword": "strips soundness meta-theory"},
-{"id": 2669,
+{"id": 2716,
"keyword": "code"},
-{"id": 2670,
+{"id": 2717,
"keyword": "popular theorems attributed"},
-{"id": 2671,
+{"id": 2718,
"keyword": "puzzle"},
-{"id": 2672,
+{"id": 2719,
"keyword": "registering automatic methods"},
-{"id": 2673,
+{"id": 2720,
"keyword": "executable monitor"},
-{"id": 2674,
+{"id": 2721,
"keyword": "cryptographic operators"},
-{"id": 2675,
+{"id": 2722,
"keyword": "previous berlekamp zassenhaus development"},
-{"id": 2676,
+{"id": 2723,
"keyword": "paraconsistent many-"},
-{"id": 2677,
+{"id": 2724,
"keyword": "extended complex plane"},
-{"id": 2678,
+{"id": 2725,
"keyword": "non-deterministic buechi-automaton"},
-{"id": 2679,
+{"id": 2726,
"keyword": "x1j hellip"},
-{"id": 2680,
+{"id": 2727,
"keyword": "simplex algorithm"},
-{"id": 2681,
+{"id": 2728,
"keyword": "higher order logic"},
-{"id": 2682,
+{"id": 2729,
"keyword": "reachable nodes"},
-{"id": 2683,
+{"id": 2730,
"keyword": "classical theorem stating"},
-{"id": 2684,
+{"id": 2731,
"keyword": "basic part"},
-{"id": 2685,
+{"id": 2732,
"keyword": "book concrete semantics"},
-=======
-{"id": 2655,
-"keyword": "formula mdp ta pta"},
-{"id": 2656,
-"keyword": "quantic nuclei"},
-{"id": 2657,
-"keyword": "non-deterministic interpreter"},
-{"id": 2658,
-"keyword": "embedding path order"},
-{"id": 2659,
-"keyword": "convergence rate"},
-{"id": 2660,
-"keyword": "textbook types"},
-{"id": 2661,
-"keyword": "discrete financial models"},
-{"id": 2662,
-"keyword": "wireless networks"},
-{"id": 2663,
-"keyword": "mechanical theorem proving"},
-{"id": 2664,
-"keyword": "jan kretinsky proposed"},
-{"id": 2665,
-"keyword": "infinite subset"},
-{"id": 2666,
-"keyword": "reflection-based decision procedure"},
-{"id": 2667,
-"keyword": "int_0 infty b_n"},
-{"id": 2668,
-"keyword": "general cost functions"},
-{"id": 2669,
-"keyword": "ch research verifythis"},
-{"id": 2670,
-"keyword": "prim"},
-{"id": 2671,
-"keyword": "sparcv8 instruction set architecture"},
-{"id": 2672,
-"keyword": "ordered bdd"},
-{"id": 2673,
-"keyword": "incorporate smoothly"},
-{"id": 2674,
-"keyword": "java interactive verification environment"},
-{"id": 2675,
-"keyword": "time complexity bound"},
-{"id": 2676,
-"keyword": "rules controls"},
-{"id": 2677,
-"keyword": "theorem prover"},
-{"id": 2678,
-"keyword": "decrease efficiency"},
-{"id": 2679,
-"keyword": "separation algebra"},
-{"id": 2680,
-"keyword": "refined version"},
-{"id": 2681,
-"keyword": "facts involving algebraic laws"},
-{"id": 2682,
-"keyword": "indefinitely long sequence"},
-{"id": 2683,
-"keyword": "fundamental objects"},
-{"id": 2684,
-"keyword": "open induction schema based"},
-{"id": 2685,
-"keyword": "dependent choices"},
->>>>>>> merge rev
-{"id": 2686,
-<<<<<<< working copy
+{"id": 2733,
+"keyword": "concern geometry"},
+{"id": 2734,
+"keyword": "nnf-based algorithms"},
+{"id": 2735,
+"keyword": "de bruijn index-based syntax"},
+{"id": 2736,
+"keyword": "destination ip space"},
+{"id": 2737,
+"keyword": "floating-point computation"},
+{"id": 2738,
"keyword": "secure auto-completion"},
-||||||| common ancestor
-"keyword": "concern geometry"},
-=======
-"keyword": "temporal operators"},
->>>>>>> merge rev
-{"id": 2687,
-<<<<<<< working copy
-"keyword": "generating function equivalence proof"},
-||||||| common ancestor
-"keyword": "nnf-based algorithms"},
-=======
-"keyword": "obtain concrete upper bounds"},
->>>>>>> merge rev
-{"id": 2688,
-<<<<<<< working copy
-"keyword": "random serial dictatorship"},
-||||||| common ancestor
-"keyword": "de bruijn index-based syntax"},
-=======
-"keyword": "verify spoofing protection"},
->>>>>>> merge rev
-{"id": 2689,
-<<<<<<< working copy
-"keyword": "metaphysical theory"},
-||||||| common ancestor
-"keyword": "destination ip space"},
-=======
-"keyword": "significantly worse"},
->>>>>>> merge rev
-{"id": 2690,
-<<<<<<< working copy
-"keyword": "theorems stated"},
-||||||| common ancestor
-"keyword": "floating-point computation"},
-=======
-"keyword": "type class functions"},
->>>>>>> merge rev
-{"id": 2691,
-<<<<<<< working copy
-"keyword": "32-bit signed word"},
-||||||| common ancestor
-"keyword": "secure auto-completion"},
-=======
-"keyword": "common format"},
->>>>>>> merge rev
-{"id": 2692,
-<<<<<<< working copy
-"keyword": "flowgraph-based program model"},
-||||||| common ancestor
+{"id": 2739,
"keyword": "generating function equivalence proof"},
-=======
-"keyword": "guarantee condition"},
->>>>>>> merge rev
-{"id": 2693,
-<<<<<<< working copy
+{"id": 2740,
+"keyword": "random serial dictatorship"},
+{"id": 2741,
+"keyword": "metaphysical theory"},
+{"id": 2742,
+"keyword": "theorems stated"},
+{"id": 2743,
+"keyword": "32-bit signed word"},
+{"id": 2744,
+"keyword": "flowgraph-based program model"},
+{"id": 2745,
"keyword": "multiple positions"},
-||||||| common ancestor
-"keyword": "random serial dictatorship"},
-=======
-"keyword": "fairly rudimentary"},
->>>>>>> merge rev
-{"id": 2694,
-<<<<<<< working copy
+{"id": 2746,
"keyword": "non-strict function abstractions"},
-||||||| common ancestor
-"keyword": "metaphysical theory"},
-=======
-"keyword": "relation reduces"},
->>>>>>> merge rev
-{"id": 2695,
-<<<<<<< working copy
+{"id": 2747,
"keyword": "information-flow security applicable"},
-||||||| common ancestor
-"keyword": "theorems stated"},
-=======
-"keyword": "petersen aplas 2012"},
->>>>>>> merge rev
-{"id": 2696,
-<<<<<<< working copy
+{"id": 2748,
"keyword": "party cryptographic primitives"},
-{"id": 2697,
+{"id": 2749,
"keyword": "lattice supremum providing"},
-{"id": 2698,
+{"id": 2750,
"keyword": "additional theorems"},
-{"id": 2699,
-"keyword": "output port"},
-{"id": 2700,
-"keyword": "verify algorithms"},
-{"id": 2701,
-"keyword": "covers algebraic reasoning"},
-{"id": 2702,
-"keyword": "interleaves"},
-{"id": 2703,
-"keyword": "tree decomposition"},
-{"id": 2704,
-"keyword": "framework features"},
-||||||| common ancestor
-"keyword": "32-bit signed word"},
-{"id": 2697,
-"keyword": "flowgraph-based program model"},
-{"id": 2698,
-"keyword": "multiple positions"},
-{"id": 2699,
-"keyword": "non-strict function abstractions"},
-{"id": 2700,
-"keyword": "information-flow security applicable"},
-{"id": 2701,
-"keyword": "party cryptographic primitives"},
-{"id": 2702,
-"keyword": "lattice supremum providing"},
-{"id": 2703,
-"keyword": "additional theorems"},
-{"id": 2704,
+{"id": 2751,
"keyword": "output port"},
-=======
-"keyword": "strips soundness meta-theory"},
-{"id": 2697,
-"keyword": "code"},
-{"id": 2698,
-"keyword": "popular theorems attributed"},
-{"id": 2699,
-"keyword": "puzzle"},
-{"id": 2700,
-"keyword": "registering automatic methods"},
-{"id": 2701,
-"keyword": "executable monitor"},
-{"id": 2702,
-"keyword": "cryptographic operators"},
-{"id": 2703,
-"keyword": "previous berlekamp zassenhaus development"},
-{"id": 2704,
-"keyword": "paraconsistent many-"},
->>>>>>> merge rev
-{"id": 2705,
-<<<<<<< working copy
+{"id": 2752,
+"keyword": "verify algorithms"},
+{"id": 2753,
+"keyword": "covers algebraic reasoning"},
+{"id": 2754,
+"keyword": "interleaves"},
+{"id": 2755,
+"keyword": "tree decomposition"},
+{"id": 2756,
+"keyword": "framework features"},
+{"id": 2757,
"keyword": "quantities induces congruences"},
-||||||| common ancestor
-"keyword": "verify algorithms"},
-=======
-"keyword": "extended complex plane"},
->>>>>>> merge rev
-{"id": 2706,
-<<<<<<< working copy
+{"id": 2758,
"keyword": "type constructors"},
-||||||| common ancestor
-"keyword": "covers algebraic reasoning"},
-=======
-"keyword": "non-deterministic buechi-automaton"},
->>>>>>> merge rev
-{"id": 2707,
-<<<<<<< working copy
+{"id": 2759,
"keyword": "outsourcing data storage"},
-||||||| common ancestor
-"keyword": "interleaves"},
-=======
-"keyword": "x1j hellip"},
->>>>>>> merge rev
-{"id": 2708,
-<<<<<<< working copy
+{"id": 2760,
"keyword": "theoretical evidence"},
-||||||| common ancestor
-"keyword": "tree decomposition"},
-=======
-"keyword": "simplex algorithm"},
->>>>>>> merge rev
-{"id": 2709,
-<<<<<<< working copy
+{"id": 2761,
"keyword": "finite infinite lists"},
-||||||| common ancestor
-"keyword": "framework features"},
-=======
-"keyword": "higher order logic"},
->>>>>>> merge rev
-{"id": 2710,
-<<<<<<< working copy
+{"id": 2762,
"keyword": "finite state markov chains"},
-||||||| common ancestor
-"keyword": "quantities induces congruences"},
-=======
-"keyword": "reachable nodes"},
->>>>>>> merge rev
-{"id": 2711,
-<<<<<<< working copy
+{"id": 2763,
"keyword": "thematic section"},
-||||||| common ancestor
-"keyword": "type constructors"},
-=======
-"keyword": "classical theorem stating"},
->>>>>>> merge rev
-{"id": 2712,
-<<<<<<< working copy
+{"id": 2764,
"keyword": "definite descriptions"},
-||||||| common ancestor
-"keyword": "outsourcing data storage"},
-=======
-"keyword": "basic part"},
->>>>>>> merge rev
-{"id": 2713,
-<<<<<<< working copy
+{"id": 2765,
"keyword": "natural question"},
-||||||| common ancestor
-"keyword": "theoretical evidence"},
-=======
-"keyword": "book concrete semantics"},
->>>>>>> merge rev
-{"id": 2714,
-<<<<<<< working copy
-"keyword": "term shallow-style embedding"},
-||||||| common ancestor
-"keyword": "finite infinite lists"},
-=======
-"keyword": "concern geometry"},
->>>>>>> merge rev
-{"id": 2715,
-<<<<<<< working copy
-"keyword": "co-closure operators"},
-||||||| common ancestor
-"keyword": "finite state markov chains"},
-=======
-"keyword": "nnf-based algorithms"},
->>>>>>> merge rev
-{"id": 2716,
-<<<<<<< working copy
-"keyword": "uninterpreted functions"},
-||||||| common ancestor
-"keyword": "thematic section"},
-=======
-"keyword": "de bruijn index-based syntax"},
->>>>>>> merge rev
-{"id": 2717,
-<<<<<<< working copy
-"keyword": "formal development"},
-||||||| common ancestor
-"keyword": "definite descriptions"},
-=======
-"keyword": "destination ip space"},
->>>>>>> merge rev
-{"id": 2718,
-<<<<<<< working copy
-"keyword": "fft algorithm"},
-||||||| common ancestor
-"keyword": "natural question"},
-=======
-"keyword": "floating-point computation"},
->>>>>>> merge rev
-{"id": 2719,
-<<<<<<< working copy
-"keyword": "rank-nullity theorem roughly follow"},
-||||||| common ancestor
+{"id": 2766,
"keyword": "term shallow-style embedding"},
-=======
-"keyword": "secure auto-completion"},
->>>>>>> merge rev
-{"id": 2720,
-<<<<<<< working copy
-"keyword": "lens classes"},
-||||||| common ancestor
+{"id": 2767,
"keyword": "co-closure operators"},
-=======
-"keyword": "generating function equivalence proof"},
->>>>>>> merge rev
-{"id": 2721,
-<<<<<<< working copy
-"keyword": "state sigma iff"},
-||||||| common ancestor
+{"id": 2768,
"keyword": "uninterpreted functions"},
-=======
-"keyword": "random serial dictatorship"},
->>>>>>> merge rev
-{"id": 2722,
-<<<<<<< working copy
-"keyword": "invariant based programs"},
-||||||| common ancestor
+{"id": 2769,
"keyword": "formal development"},
-=======
-"keyword": "metaphysical theory"},
->>>>>>> merge rev
-{"id": 2723,
-<<<<<<< working copy
-"keyword": "types int"},
-||||||| common ancestor
+{"id": 2770,
"keyword": "fft algorithm"},
-=======
-"keyword": "theorems stated"},
->>>>>>> merge rev
-{"id": 2724,
-<<<<<<< working copy
-"keyword": "crucial ingredient"},
-||||||| common ancestor
+{"id": 2771,
"keyword": "rank-nullity theorem roughly follow"},
-=======
-"keyword": "32-bit signed word"},
->>>>>>> merge rev
-{"id": 2725,
-<<<<<<< working copy
-"keyword": "program executions based"},
-{"id": 2726,
-"keyword": "single permanent failure"},
-{"id": 2727,
-"keyword": "lyndon words"},
-{"id": 2728,
-"keyword": "equational reasoning"},
-{"id": 2729,
-"keyword": "operation results"},
-{"id": 2730,
-"keyword": "ontological argument"},
-{"id": 2731,
-"keyword": "decision procedure"},
-{"id": 2732,
-"keyword": "enforcing exclusive writes"},
-{"id": 2733,
-"keyword": "main entry point"},
-||||||| common ancestor
+{"id": 2772,
"keyword": "lens classes"},
-{"id": 2726,
+{"id": 2773,
"keyword": "state sigma iff"},
-{"id": 2727,
-"keyword": "invariant based programs"},
-{"id": 2728,
-"keyword": "types int"},
-{"id": 2729,
-"keyword": "crucial ingredient"},
-{"id": 2730,
-"keyword": "program executions based"},
-{"id": 2731,
-"keyword": "single permanent failure"},
-{"id": 2732,
-"keyword": "lyndon words"},
-{"id": 2733,
-"keyword": "equational reasoning"},
-=======
-"keyword": "flowgraph-based program model"},
-{"id": 2726,
-"keyword": "multiple positions"},
-{"id": 2727,
-"keyword": "non-strict function abstractions"},
-{"id": 2728,
-"keyword": "information-flow security applicable"},
-{"id": 2729,
-"keyword": "party cryptographic primitives"},
-{"id": 2730,
-"keyword": "lattice supremum providing"},
-{"id": 2731,
-"keyword": "additional theorems"},
-{"id": 2732,
-"keyword": "output port"},
-{"id": 2733,
-"keyword": "verify algorithms"},
->>>>>>> merge rev
-{"id": 2734,
-<<<<<<< working copy
-"keyword": "showcase haskell"},
-||||||| common ancestor
-"keyword": "operation results"},
-=======
-"keyword": "covers algebraic reasoning"},
->>>>>>> merge rev
-{"id": 2735,
-<<<<<<< working copy
-"keyword": "domain operation"},
-||||||| common ancestor
-"keyword": "ontological argument"},
-=======
-"keyword": "interleaves"},
->>>>>>> merge rev
-{"id": 2736,
-<<<<<<< working copy
-"keyword": "fixed service"},
-||||||| common ancestor
-"keyword": "decision procedure"},
-=======
-"keyword": "tree decomposition"},
->>>>>>> merge rev
-{"id": 2737,
-<<<<<<< working copy
-"keyword": "case study"},
-||||||| common ancestor
-"keyword": "enforcing exclusive writes"},
-=======
-"keyword": "framework features"},
->>>>>>> merge rev
-{"id": 2738,
-<<<<<<< working copy
-"keyword": "basic concepts cartesian products"},
-||||||| common ancestor
-"keyword": "main entry point"},
-=======
-"keyword": "quantities induces congruences"},
->>>>>>> merge rev
-{"id": 2739,
-<<<<<<< working copy
-"keyword": "refinement theorem"},
-||||||| common ancestor
-"keyword": "showcase haskell"},
-=======
-"keyword": "type constructors"},
->>>>>>> merge rev
-{"id": 2740,
-<<<<<<< working copy
-"keyword": "consistent sign assignments"},
-||||||| common ancestor
-"keyword": "domain operation"},
-=======
-"keyword": "outsourcing data storage"},
->>>>>>> merge rev
-{"id": 2741,
-<<<<<<< working copy
-"keyword": "object logic"},
-||||||| common ancestor
-"keyword": "fixed service"},
-=======
-"keyword": "theoretical evidence"},
->>>>>>> merge rev
-{"id": 2742,
-<<<<<<< working copy
-"keyword": "verified iptables firewall analysis"},
-||||||| common ancestor
-"keyword": "case study"},
-=======
-"keyword": "finite infinite lists"},
->>>>>>> merge rev
-{"id": 2743,
-<<<<<<< working copy
-"keyword": "recursion principles"},
-||||||| common ancestor
-"keyword": "basic concepts cartesian products"},
-=======
-"keyword": "finite state markov chains"},
->>>>>>> merge rev
-{"id": 2744,
-<<<<<<< working copy
-||||||| common ancestor
-"keyword": "refinement theorem"},
-{"id": 2745,
-"keyword": "consistent sign assignments"},
-{"id": 2746,
-"keyword": "object logic"},
-{"id": 2747,
-"keyword": "verified iptables firewall analysis"},
-{"id": 2748,
-"keyword": "recursion principles"},
-{"id": 2749,
-=======
-"keyword": "thematic section"},
-{"id": 2745,
-"keyword": "definite descriptions"},
-{"id": 2746,
-"keyword": "natural question"},
-{"id": 2747,
-"keyword": "term shallow-style embedding"},
-{"id": 2748,
-"keyword": "co-closure operators"},
-{"id": 2749,
-"keyword": "uninterpreted functions"},
-{"id": 2750,
-"keyword": "formal development"},
-{"id": 2751,
-"keyword": "fft algorithm"},
-{"id": 2752,
-"keyword": "rank-nullity theorem roughly follow"},
-{"id": 2753,
-"keyword": "lens classes"},
-{"id": 2754,
-"keyword": "state sigma iff"},
-{"id": 2755,
+{"id": 2774,
"keyword": "invariant based programs"},
-{"id": 2756,
+{"id": 2775,
"keyword": "types int"},
-{"id": 2757,
+{"id": 2776,
"keyword": "crucial ingredient"},
-{"id": 2758,
+{"id": 2777,
"keyword": "program executions based"},
-{"id": 2759,
+{"id": 2778,
"keyword": "single permanent failure"},
-{"id": 2760,
+{"id": 2779,
"keyword": "lyndon words"},
-{"id": 2761,
-"keyword": "equational reasoning"},
-{"id": 2762,
-"keyword": "operation results"},
-{"id": 2763,
-"keyword": "ontological argument"},
-{"id": 2764,
-"keyword": "decision procedure"},
-{"id": 2765,
-"keyword": "enforcing exclusive writes"},
-{"id": 2766,
-"keyword": "main entry point"},
-{"id": 2767,
-"keyword": "showcase haskell"},
-{"id": 2768,
-"keyword": "domain operation"},
-{"id": 2769,
-"keyword": "fixed service"},
-{"id": 2770,
-"keyword": "case study"},
-{"id": 2771,
-"keyword": "basic concepts cartesian products"},
-{"id": 2772,
-"keyword": "refinement theorem"},
-{"id": 2773,
-"keyword": "consistent sign assignments"},
-{"id": 2774,
-"keyword": "object logic"},
-{"id": 2775,
-"keyword": "verified iptables firewall analysis"},
-{"id": 2776,
-"keyword": "recursion principles"},
-{"id": 2777,
->>>>>>> merge rev
-"keyword": "cayley-hamilton theorem based"},
-<<<<<<< working copy
-{"id": 2745,
-||||||| common ancestor
-{"id": 2750,
-=======
-{"id": 2778,
->>>>>>> merge rev
-"keyword": "general library"},
-<<<<<<< working copy
-{"id": 2746,
-||||||| common ancestor
-{"id": 2751,
-=======
-{"id": 2779,
->>>>>>> merge rev
-"keyword": "hoare triples"},
-<<<<<<< working copy
-{"id": 2747,
-||||||| common ancestor
-{"id": 2752,
-=======
{"id": 2780,
->>>>>>> merge rev
+"keyword": "equational reasoning"},
+{"id": 2781,
+"keyword": "operation results"},
+{"id": 2782,
+"keyword": "ontological argument"},
+{"id": 2783,
+"keyword": "decision procedure"},
+{"id": 2784,
+"keyword": "enforcing exclusive writes"},
+{"id": 2785,
+"keyword": "main entry point"},
+{"id": 2786,
+"keyword": "showcase haskell"},
+{"id": 2787,
+"keyword": "domain operation"},
+{"id": 2788,
+"keyword": "fixed service"},
+{"id": 2789,
+"keyword": "case study"},
+{"id": 2790,
+"keyword": "basic concepts cartesian products"},
+{"id": 2791,
+"keyword": "refinement theorem"},
+{"id": 2792,
+"keyword": "consistent sign assignments"},
+{"id": 2793,
+"keyword": "object logic"},
+{"id": 2794,
+"keyword": "verified iptables firewall analysis"},
+{"id": 2795,
+"keyword": "recursion principles"},
+{"id": 2796,
+"keyword": "cayley-hamilton theorem based"},
+{"id": 2797,
+"keyword": "general library"},
+{"id": 2798,
+"keyword": "hoare triples"},
+{"id": 2799,
"keyword": "dictionary translation"},
-<<<<<<< working copy
-{"id": 2748,
+{"id": 2800,
"keyword": "prime-factorization algorithms"},
-{"id": 2749,
-"keyword": "proving safety"},
-{"id": 2750,
-"keyword": "monotonically decreasing sequence"},
-{"id": 2751,
-"keyword": "probability theory"},
-{"id": 2752,
-"keyword": "pipeline-parallel stream processing"},
-{"id": 2753,
-"keyword": "extended sturm"},
-{"id": 2754,
-"keyword": "rigorous numerical algorithms"},
-{"id": 2755,
-"keyword": "combined factorization algorithm"},
-{"id": 2756,
-"keyword": "lifting step"},
-{"id": 2757,
-"keyword": "satisfaction relation"},
-{"id": 2758,
-"keyword": "automatic refinement framework"},
-{"id": 2759,
-"keyword": "real eigenvalue"},
-{"id": 2760,
-"keyword": "proposed approach"},
-{"id": 2761,
-"keyword": "algorithm proceeds"},
-{"id": 2762,
-"keyword": "so-called key equalities"},
-{"id": 2763,
-||||||| common ancestor
-{"id": 2753,
-"keyword": "prime-factorization algorithms"},
-{"id": 2754,
-"keyword": "proving safety"},
-{"id": 2755,
-"keyword": "monotonically decreasing sequence"},
-{"id": 2756,
-"keyword": "probability theory"},
-{"id": 2757,
-"keyword": "pipeline-parallel stream processing"},
-{"id": 2758,
-"keyword": "extended sturm"},
-{"id": 2759,
-"keyword": "rigorous numerical algorithms"},
-{"id": 2760,
-"keyword": "combined factorization algorithm"},
-{"id": 2761,
-"keyword": "lifting step"},
-{"id": 2762,
-"keyword": "satisfaction relation"},
-{"id": 2763,
-"keyword": "automatic refinement framework"},
-{"id": 2764,
-"keyword": "real eigenvalue"},
-{"id": 2765,
-"keyword": "proposed approach"},
-{"id": 2766,
-"keyword": "algorithm proceeds"},
-{"id": 2767,
-"keyword": "so-called key equalities"},
-{"id": 2768,
-=======
-{"id": 2781,
-"keyword": "prime-factorization algorithms"},
-{"id": 2782,
+{"id": 2801,
"keyword": "proving safety"},
-{"id": 2783,
+{"id": 2802,
"keyword": "monotonically decreasing sequence"},
-{"id": 2784,
+{"id": 2803,
"keyword": "probability theory"},
-{"id": 2785,
+{"id": 2804,
"keyword": "pipeline-parallel stream processing"},
-{"id": 2786,
+{"id": 2805,
"keyword": "extended sturm"},
-{"id": 2787,
+{"id": 2806,
"keyword": "rigorous numerical algorithms"},
-{"id": 2788,
+{"id": 2807,
"keyword": "combined factorization algorithm"},
-{"id": 2789,
+{"id": 2808,
"keyword": "lifting step"},
-{"id": 2790,
+{"id": 2809,
"keyword": "satisfaction relation"},
-{"id": 2791,
+{"id": 2810,
"keyword": "automatic refinement framework"},
-{"id": 2792,
+{"id": 2811,
"keyword": "real eigenvalue"},
-{"id": 2793,
+{"id": 2812,
"keyword": "proposed approach"},
-{"id": 2794,
+{"id": 2813,
"keyword": "algorithm proceeds"},
-{"id": 2795,
+{"id": 2814,
"keyword": "so-called key equalities"},
-{"id": 2796,
->>>>>>> merge rev
+{"id": 2815,
"keyword": "transferring lifted properties back"},
-<<<<<<< working copy
-{"id": 2764,
-||||||| common ancestor
-{"id": 2769,
-=======
-{"id": 2797,
->>>>>>> merge rev
+{"id": 2816,
"keyword": "concise proof"},
-<<<<<<< working copy
-{"id": 2765,
-||||||| common ancestor
-{"id": 2770,
-=======
-{"id": 2798,
->>>>>>> merge rev
+{"id": 2817,
"keyword": "adjoint functors"},
-<<<<<<< working copy
-{"id": 2766,
-||||||| common ancestor
-{"id": 2771,
-=======
-{"id": 2799,
->>>>>>> merge rev
+{"id": 2818,
"keyword": "cryptography proof formalizations"},
-<<<<<<< working copy
-{"id": 2767,
+{"id": 2819,
"keyword": "blockchain pattern"},
-{"id": 2768,
+{"id": 2820,
"keyword": "game-based proofs"},
-{"id": 2769,
+{"id": 2821,
"keyword": "descartes test based"},
-{"id": 2770,
+{"id": 2822,
"keyword": "trace set"},
-{"id": 2771,
+{"id": 2823,
"keyword": "type-safe conversions"},
-{"id": 2772,
+{"id": 2824,
"keyword": "computing bernoulli numbers"},
-{"id": 2773,
+{"id": 2825,
"keyword": "collection offer functionality"},
-{"id": 2774,
-"keyword": "mason ndash"},
-{"id": 2775,
-"keyword": "summary edges"},
-{"id": 2776,
-"keyword": "litte theorem"},
-{"id": 2777,
-"keyword": "inconsistent theory"},
-{"id": 2778,
-"keyword": "proof closely"},
-{"id": 2779,
-"keyword": "access windows"},
-{"id": 2780,
-"keyword": "fully automated translation"},
-{"id": 2781,
-"keyword": "global variables"},
-{"id": 2782,
-||||||| common ancestor
-{"id": 2772,
-"keyword": "blockchain pattern"},
-{"id": 2773,
-"keyword": "game-based proofs"},
-{"id": 2774,
-"keyword": "descartes test based"},
-{"id": 2775,
-"keyword": "trace set"},
-{"id": 2776,
-"keyword": "type-safe conversions"},
-{"id": 2777,
-"keyword": "computing bernoulli numbers"},
-{"id": 2778,
-"keyword": "collection offer functionality"},
-{"id": 2779,
+{"id": 2826,
"keyword": "mason ndash"},
-{"id": 2780,
+{"id": 2827,
"keyword": "summary edges"},
-{"id": 2781,
+{"id": 2828,
"keyword": "litte theorem"},
-{"id": 2782,
-"keyword": "inconsistent theory"},
-{"id": 2783,
-"keyword": "proof closely"},
-{"id": 2784,
-"keyword": "access windows"},
-{"id": 2785,
-"keyword": "fully automated translation"},
-{"id": 2786,
-"keyword": "global variables"},
-{"id": 2787,
-=======
-{"id": 2800,
-"keyword": "blockchain pattern"},
-{"id": 2801,
-"keyword": "game-based proofs"},
-{"id": 2802,
-"keyword": "descartes test based"},
-{"id": 2803,
-"keyword": "trace set"},
-{"id": 2804,
-"keyword": "type-safe conversions"},
-{"id": 2805,
-"keyword": "computing bernoulli numbers"},
-{"id": 2806,
-"keyword": "collection offer functionality"},
-{"id": 2807,
-"keyword": "mason ndash"},
-{"id": 2808,
-"keyword": "summary edges"},
-{"id": 2809,
-"keyword": "litte theorem"},
-{"id": 2810,
+{"id": 2829,
"keyword": "inconsistent theory"},
-{"id": 2811,
+{"id": 2830,
"keyword": "proof closely"},
-{"id": 2812,
+{"id": 2831,
"keyword": "access windows"},
-{"id": 2813,
-"keyword": "fully automated translation"},
-{"id": 2814,
-"keyword": "global variables"},
-{"id": 2815,
->>>>>>> merge rev
-"keyword": "existing multivariate polynomial libraries"},
-<<<<<<< working copy
-{"id": 2783,
-||||||| common ancestor
-{"id": 2788,
-=======
-{"id": 2816,
->>>>>>> merge rev
-"keyword": "no-cloning theorem"},
-<<<<<<< working copy
-{"id": 2784,
-||||||| common ancestor
-{"id": 2789,
-=======
-{"id": 2817,
-"keyword": "large financial losses"},
-{"id": 2818,
->>>>>>> merge rev
-"keyword": "apply andy pitts"},
-<<<<<<< working copy
-{"id": 2785,
-||||||| common ancestor
-{"id": 2790,
-=======
-{"id": 2819,
->>>>>>> merge rev
-"keyword": "omega omega"},
-<<<<<<< working copy
-{"id": 2786,
-||||||| common ancestor
-{"id": 2791,
-=======
-{"id": 2820,
->>>>>>> merge rev
-"keyword": "package algorithms applicable"},
-<<<<<<< working copy
-{"id": 2787,
-||||||| common ancestor
-{"id": 2792,
-=======
-{"id": 2821,
->>>>>>> merge rev
-"keyword": "fulfilling van der waerden"},
-<<<<<<< working copy
-{"id": 2788,
-||||||| common ancestor
-{"id": 2793,
-=======
-{"id": 2822,
->>>>>>> merge rev
-"keyword": "interval logics"},
-<<<<<<< working copy
-{"id": 2789,
-||||||| common ancestor
-{"id": 2794,
-=======
-{"id": 2823,
->>>>>>> merge rev
-"keyword": "higher-order terms"},
-<<<<<<< working copy
-{"id": 2790,
-||||||| common ancestor
-{"id": 2795,
-=======
-{"id": 2824,
->>>>>>> merge rev
-"keyword": "measurable spaces"},
-<<<<<<< working copy
-{"id": 2791,
-||||||| common ancestor
-{"id": 2796,
-=======
-{"id": 2825,
->>>>>>> merge rev
-"keyword": "coarse-grained concurrency"},
-<<<<<<< working copy
-{"id": 2792,
-||||||| common ancestor
-{"id": 2797,
-=======
-{"id": 2826,
->>>>>>> merge rev
-"keyword": "study models"},
-<<<<<<< working copy
-{"id": 2793,
-||||||| common ancestor
-{"id": 2798,
-=======
-{"id": 2827,
->>>>>>> merge rev
-"keyword": "omega 1 alpha cdot"},
-<<<<<<< working copy
-{"id": 2794,
-||||||| common ancestor
-{"id": 2799,
-=======
-{"id": 2828,
->>>>>>> merge rev
-"keyword": "facilitate integrating future optimizations"},
-<<<<<<< working copy
-{"id": 2795,
-||||||| common ancestor
-{"id": 2800,
-=======
-{"id": 2829,
->>>>>>> merge rev
-"keyword": "eulerian trails"},
-<<<<<<< working copy
-{"id": 2796,
-"keyword": "algebraically closed"},
-{"id": 2797,
-"keyword": "numerous models"},
-{"id": 2798,
-"keyword": "general simplex algorithm"},
-{"id": 2799,
-"keyword": "relabelling function"},
-{"id": 2800,
-"keyword": "algebraic geometry culminating"},
-{"id": 2801,
-"keyword": "standard security protocols"},
-{"id": 2802,
-"keyword": "automatically generate proofs"},
-{"id": 2803,
-"keyword": "current symbolic state"},
-{"id": 2804,
-"keyword": "state transformers"},
-{"id": 2805,
-"keyword": "orbit-stabiliser theorem"},
-{"id": 2806,
-"keyword": "sufficiently rich"},
-{"id": 2807,
-"keyword": "commutative ring"},
-{"id": 2808,
-"keyword": "regular structures"},
-{"id": 2809,
-"keyword": "measure theory"},
-{"id": 2810,
-"keyword": "consistent learning"},
-{"id": 2811,
-||||||| common ancestor
-{"id": 2801,
-"keyword": "algebraically closed"},
-{"id": 2802,
-"keyword": "numerous models"},
-{"id": 2803,
-"keyword": "general simplex algorithm"},
-{"id": 2804,
-"keyword": "relabelling function"},
-{"id": 2805,
-"keyword": "algebraic geometry culminating"},
-{"id": 2806,
-"keyword": "standard security protocols"},
-{"id": 2807,
-"keyword": "automatically generate proofs"},
-{"id": 2808,
-"keyword": "current symbolic state"},
-{"id": 2809,
-"keyword": "state transformers"},
-{"id": 2810,
-"keyword": "orbit-stabiliser theorem"},
-{"id": 2811,
-"keyword": "sufficiently rich"},
-{"id": 2812,
-"keyword": "commutative ring"},
-{"id": 2813,
-"keyword": "regular structures"},
-{"id": 2814,
-"keyword": "measure theory"},
-{"id": 2815,
-"keyword": "consistent learning"},
-{"id": 2816,
-=======
-{"id": 2830,
-"keyword": "algebraically closed"},
-{"id": 2831,
-"keyword": "numerous models"},
-{"id": 2832,
-"keyword": "general simplex algorithm"},
-{"id": 2833,
-"keyword": "relabelling function"},
-{"id": 2834,
-"keyword": "algebraic geometry culminating"},
-{"id": 2835,
-"keyword": "standard security protocols"},
-{"id": 2836,
-"keyword": "automatically generate proofs"},
-{"id": 2837,
-"keyword": "current symbolic state"},
-{"id": 2838,
-"keyword": "state transformers"},
-{"id": 2839,
-"keyword": "orbit-stabiliser theorem"},
-{"id": 2840,
-"keyword": "sufficiently rich"},
-{"id": 2841,
-"keyword": "commutative ring"},
-{"id": 2842,
-"keyword": "regular structures"},
-{"id": 2843,
-"keyword": "measure theory"},
-{"id": 2844,
-"keyword": "consistent learning"},
-{"id": 2845,
->>>>>>> merge rev
-"keyword": "called check monad"},
-<<<<<<< working copy
-{"id": 2812,
-||||||| common ancestor
-{"id": 2817,
-=======
-{"id": 2846,
->>>>>>> merge rev
-"keyword": "interval temporal logics"},
-<<<<<<< working copy
-{"id": 2813,
-||||||| common ancestor
-{"id": 2818,
-=======
-{"id": 2847,
->>>>>>> merge rev
-"keyword": "original functional sigma-calculus"},
-<<<<<<< working copy
-{"id": 2814,
-||||||| common ancestor
-{"id": 2819,
-=======
-{"id": 2848,
->>>>>>> merge rev
-"keyword": "precise algorithms"},
-<<<<<<< working copy
-{"id": 2815,
-"keyword": "rational roots"},
-{"id": 2816,
-"keyword": "dynamic negation"},
-{"id": 2817,
-"keyword": "solution"},
-{"id": 2818,
-"keyword": "afp entry core dom"},
-{"id": 2819,
-"keyword": "cakeml abstract syntax trees"},
-{"id": 2820,
-"keyword": "keith conrad"},
-{"id": 2821,
-"keyword": "generating test cases"},
-{"id": 2822,
-"keyword": "sorting algorithm"},
-{"id": 2823,
-"keyword": "teaching purposes"},
-{"id": 2824,
-"keyword": "path authorization mechanism"},
-{"id": 2825,
-"keyword": "model finders"},
-{"id": 2826,
-"keyword": "subsequent article smooth manifolds"},
-{"id": 2827,
-"keyword": "bounded wajsberg pseudo-hoops"},
-{"id": 2828,
-"keyword": "expressions involving"},
-{"id": 2829,
-"keyword": "basic formal framework"},
-{"id": 2830,
-"keyword": "fixed natural number"},
-{"id": 2831,
-"keyword": "descartes rule"},
{"id": 2832,
-"keyword": "total order relation"},
+"keyword": "fully automated translation"},
{"id": 2833,
-"keyword": "linux firewall iptables"},
+"keyword": "global variables"},
{"id": 2834,
-"keyword": "hol sources underlying"},
+"keyword": "existing multivariate polynomial libraries"},
{"id": 2835,
-"keyword": "gr bner bases"},
+"keyword": "no-cloning theorem"},
{"id": 2836,
-"keyword": "strict preferences"},
+"keyword": "large financial losses"},
{"id": 2837,
-"keyword": "similar normal form"},
+"keyword": "apply andy pitts"},
{"id": 2838,
-"keyword": "heap location"},
+"keyword": "omega omega"},
{"id": 2839,
-"keyword": "extended language"},
+"keyword": "package algorithms applicable"},
{"id": 2840,
-||||||| common ancestor
-{"id": 2820,
-"keyword": "rational roots"},
-{"id": 2821,
-"keyword": "dynamic negation"},
-{"id": 2822,
-"keyword": "solution"},
-{"id": 2823,
-"keyword": "afp entry core dom"},
-{"id": 2824,
-"keyword": "cakeml abstract syntax trees"},
-{"id": 2825,
-"keyword": "keith conrad"},
-{"id": 2826,
-"keyword": "generating test cases"},
-{"id": 2827,
-"keyword": "sorting algorithm"},
-{"id": 2828,
-"keyword": "teaching purposes"},
-{"id": 2829,
-"keyword": "path authorization mechanism"},
-{"id": 2830,
-"keyword": "model finders"},
-{"id": 2831,
-"keyword": "subsequent article smooth manifolds"},
-{"id": 2832,
-"keyword": "bounded wajsberg pseudo-hoops"},
-{"id": 2833,
-"keyword": "expressions involving"},
-{"id": 2834,
-"keyword": "basic formal framework"},
-{"id": 2835,
-"keyword": "fixed natural number"},
-{"id": 2836,
-"keyword": "descartes rule"},
-{"id": 2837,
-"keyword": "total order relation"},
-{"id": 2838,
-"keyword": "linux firewall iptables"},
-{"id": 2839,
-"keyword": "hol sources underlying"},
-{"id": 2840,
-"keyword": "gr bner bases"},
+"keyword": "fulfilling van der waerden"},
{"id": 2841,
-"keyword": "strict preferences"},
+"keyword": "interval logics"},
{"id": 2842,
-"keyword": "similar normal form"},
+"keyword": "higher-order terms"},
{"id": 2843,
-"keyword": "heap location"},
+"keyword": "measurable spaces"},
{"id": 2844,
-"keyword": "extended language"},
+"keyword": "coarse-grained concurrency"},
{"id": 2845,
-=======
-{"id": 2849,
-"keyword": "rational roots"},
-{"id": 2850,
-"keyword": "dynamic negation"},
-{"id": 2851,
-"keyword": "solution"},
-{"id": 2852,
-"keyword": "afp entry core dom"},
-{"id": 2853,
-"keyword": "cakeml abstract syntax trees"},
-{"id": 2854,
-"keyword": "keith conrad"},
-{"id": 2855,
-"keyword": "generating test cases"},
-{"id": 2856,
-"keyword": "sorting algorithm"},
-{"id": 2857,
-"keyword": "teaching purposes"},
-{"id": 2858,
-"keyword": "path authorization mechanism"},
-{"id": 2859,
-"keyword": "model finders"},
-{"id": 2860,
-"keyword": "subsequent article smooth manifolds"},
-{"id": 2861,
-"keyword": "bounded wajsberg pseudo-hoops"},
-{"id": 2862,
-"keyword": "expressions involving"},
-{"id": 2863,
-"keyword": "basic formal framework"},
-{"id": 2864,
-"keyword": "fixed natural number"},
-{"id": 2865,
-"keyword": "descartes rule"},
-{"id": 2866,
-"keyword": "total order relation"},
-{"id": 2867,
-"keyword": "linux firewall iptables"},
-{"id": 2868,
-"keyword": "hol sources underlying"},
-{"id": 2869,
-"keyword": "gr bner bases"},
-{"id": 2870,
-"keyword": "strict preferences"},
-{"id": 2871,
-"keyword": "similar normal form"},
-{"id": 2872,
-"keyword": "heap location"},
-{"id": 2873,
-"keyword": "extended language"},
-{"id": 2874,
->>>>>>> merge rev
-"keyword": "backward compatible"},
-<<<<<<< working copy
-{"id": 2841,
-||||||| common ancestor
+"keyword": "study models"},
{"id": 2846,
-=======
-{"id": 2875,
->>>>>>> merge rev
-"keyword": "safely composable"},
-<<<<<<< working copy
-{"id": 2842,
-||||||| common ancestor
+"keyword": "omega 1 alpha cdot"},
{"id": 2847,
-=======
-{"id": 2876,
->>>>>>> merge rev
-"keyword": "minsky machines"},
-<<<<<<< working copy
-{"id": 2843,
-||||||| common ancestor
+"keyword": "facilitate integrating future optimizations"},
{"id": 2848,
-=======
-{"id": 2877,
->>>>>>> merge rev
-"keyword": "null space"},
-<<<<<<< working copy
-{"id": 2844,
-"keyword": "higher-order term algebra"},
-{"id": 2845,
-"keyword": "code accessing"},
-{"id": 2846,
-"keyword": "semantic trees"},
-{"id": 2847,
-"keyword": "featherweight ocl project"},
-{"id": 2848,
-"keyword": "well-formedness properties"},
+"keyword": "eulerian trails"},
{"id": 2849,
-"keyword": "solovay ndash"},
+"keyword": "algebraically closed"},
{"id": 2850,
-"keyword": "iteration operators"},
+"keyword": "numerous models"},
{"id": 2851,
-"keyword": "fold build rule"},
+"keyword": "general simplex algorithm"},
{"id": 2852,
-"keyword": "category equipped"},
+"keyword": "relabelling function"},
{"id": 2853,
-"keyword": "universal composability framework"},
+"keyword": "algebraic geometry culminating"},
{"id": 2854,
-"keyword": "decidability result"},
+"keyword": "standard security protocols"},
{"id": 2855,
-"keyword": "closely related"},
+"keyword": "automatically generate proofs"},
{"id": 2856,
-"keyword": "optimisations suggested"},
+"keyword": "current symbolic state"},
{"id": 2857,
-"keyword": "completely verified model checker"},
+"keyword": "state transformers"},
{"id": 2858,
-"keyword": "subsystems"},
+"keyword": "orbit-stabiliser theorem"},
{"id": 2859,
-||||||| common ancestor
-{"id": 2849,
-"keyword": "higher-order term algebra"},
-{"id": 2850,
-"keyword": "code accessing"},
-{"id": 2851,
-"keyword": "semantic trees"},
-{"id": 2852,
-"keyword": "featherweight ocl project"},
-{"id": 2853,
-"keyword": "well-formedness properties"},
-{"id": 2854,
-"keyword": "solovay ndash"},
-{"id": 2855,
-"keyword": "iteration operators"},
-{"id": 2856,
-"keyword": "fold build rule"},
-{"id": 2857,
-"keyword": "category equipped"},
-{"id": 2858,
-"keyword": "universal composability framework"},
-{"id": 2859,
-"keyword": "decidability result"},
+"keyword": "sufficiently rich"},
{"id": 2860,
-"keyword": "closely related"},
+"keyword": "commutative ring"},
{"id": 2861,
-"keyword": "optimisations suggested"},
+"keyword": "regular structures"},
{"id": 2862,
-"keyword": "completely verified model checker"},
+"keyword": "measure theory"},
{"id": 2863,
-"keyword": "subsystems"},
-{"id": 2864,
-=======
-{"id": 2878,
-"keyword": "higher-order term algebra"},
-{"id": 2879,
-"keyword": "code accessing"},
-{"id": 2880,
-"keyword": "semantic trees"},
-{"id": 2881,
-"keyword": "featherweight ocl project"},
-{"id": 2882,
-"keyword": "well-formedness properties"},
-{"id": 2883,
-"keyword": "solovay ndash"},
-{"id": 2884,
-"keyword": "iteration operators"},
-{"id": 2885,
-"keyword": "fold build rule"},
-{"id": 2886,
-"keyword": "category equipped"},
-{"id": 2887,
-"keyword": "universal composability framework"},
-{"id": 2888,
-"keyword": "decidability result"},
-{"id": 2889,
-"keyword": "closely related"},
-{"id": 2890,
-"keyword": "optimisations suggested"},
-{"id": 2891,
-"keyword": "completely verified model checker"},
-{"id": 2892,
-"keyword": "subsystems"},
-{"id": 2893,
->>>>>>> merge rev
-"keyword": "international system"},
-<<<<<<< working copy
-{"id": 2860,
-||||||| common ancestor
-{"id": 2865,
-=======
-{"id": 2894,
->>>>>>> merge rev
-"keyword": "stuttering equivalent runs"},
-<<<<<<< working copy
-{"id": 2861,
-||||||| common ancestor
-{"id": 2866,
-=======
-{"id": 2895,
->>>>>>> merge rev
-"keyword": "edge weights"},
-<<<<<<< working copy
-{"id": 2862,
-||||||| common ancestor
-{"id": 2867,
-=======
-{"id": 2896,
->>>>>>> merge rev
-"keyword": "widely studied topic"},
-<<<<<<< working copy
-{"id": 2863,
-||||||| common ancestor
-{"id": 2868,
-=======
-{"id": 2897,
->>>>>>> merge rev
-"keyword": "machine-checked version"},
-<<<<<<< working copy
+"keyword": "consistent learning"},
{"id": 2864,
-||||||| common ancestor
-{"id": 2869,
-=======
-{"id": 2898,
->>>>>>> merge rev
-"keyword": "planning domain definition language"},
-<<<<<<< working copy
+"keyword": "called check monad"},
{"id": 2865,
-||||||| common ancestor
-{"id": 2870,
-=======
-{"id": 2899,
->>>>>>> merge rev
-"keyword": "high edge probability"},
-<<<<<<< working copy
+"keyword": "interval temporal logics"},
{"id": 2866,
-||||||| common ancestor
-{"id": 2871,
-=======
-{"id": 2900,
->>>>>>> merge rev
-"keyword": "refinement based verification"},
-<<<<<<< working copy
+"keyword": "original functional sigma-calculus"},
{"id": 2867,
-||||||| common ancestor
-{"id": 2872,
-=======
-{"id": 2901,
->>>>>>> merge rev
-"keyword": "recursive functions heavily inspired"},
-<<<<<<< working copy
+"keyword": "precise algorithms"},
{"id": 2868,
-||||||| common ancestor
-{"id": 2873,
-=======
-{"id": 2902,
->>>>>>> merge rev
-"keyword": "pide sub-system"},
-<<<<<<< working copy
+"keyword": "rational roots"},
{"id": 2869,
-||||||| common ancestor
-{"id": 2874,
-=======
-{"id": 2903,
->>>>>>> merge rev
-"keyword": "lagrange interpolation"},
-<<<<<<< working copy
+"keyword": "dynamic negation"},
{"id": 2870,
-||||||| common ancestor
-{"id": 2875,
-=======
-{"id": 2904,
->>>>>>> merge rev
-"keyword": "integrated pide document model"},
-<<<<<<< working copy
+"keyword": "solution"},
{"id": 2871,
-||||||| common ancestor
+"keyword": "afp entry core dom"},
+{"id": 2872,
+"keyword": "cakeml abstract syntax trees"},
+{"id": 2873,
+"keyword": "key undecidability result present"},
+{"id": 2874,
+"keyword": "keith conrad"},
+{"id": 2875,
+"keyword": "generating test cases"},
{"id": 2876,
-=======
-{"id": 2905,
->>>>>>> merge rev
-"keyword": "finite learning"},
-<<<<<<< working copy
-{"id": 2872,
-||||||| common ancestor
+"keyword": "sorting algorithm"},
{"id": 2877,
-=======
-{"id": 2906,
->>>>>>> merge rev
-"keyword": "applied relativization"},
-<<<<<<< working copy
-{"id": 2873,
-"keyword": "imperative loop constructs"},
-{"id": 2874,
-"keyword": "book consistency"},
-{"id": 2875,
-"keyword": "cpp-2015 paper"},
-{"id": 2876,
-"keyword": "obtain executable code"},
-{"id": 2877,
-"keyword": "basic theory"},
+"keyword": "teaching purposes"},
{"id": 2878,
-"keyword": "formalisation hold"},
+"keyword": "path authorization mechanism"},
{"id": 2879,
-"keyword": "probabilistic functional language"},
+"keyword": "model finders"},
{"id": 2880,
-"keyword": "elements belong"},
+"keyword": "subsequent article smooth manifolds"},
{"id": 2881,
-"keyword": "system describes"},
+"keyword": "bounded wajsberg pseudo-hoops"},
{"id": 2882,
-"keyword": "static fields"},
+"keyword": "expressions involving"},
{"id": 2883,
-"keyword": "approximation ratio"},
+"keyword": "basic formal framework"},
{"id": 2884,
-"keyword": "general formal proof techniques"},
+"keyword": "fixed natural number"},
{"id": 2885,
-"keyword": "np-complete optimization problems"},
+"keyword": "descartes rule"},
{"id": 2886,
-"keyword": "probabilistic arguments"},
+"keyword": "total order relation"},
{"id": 2887,
-"keyword": "byzantine clock synchronization"},
+"keyword": "linux firewall iptables"},
{"id": 2888,
-"keyword": "original proof"},
+"keyword": "hol sources underlying"},
{"id": 2889,
-"keyword": "cauchy completion"},
+"keyword": "gr bner bases"},
{"id": 2890,
-"keyword": "abstract bnfccs similar"},
+"keyword": "strict preferences"},
{"id": 2891,
-"keyword": "abstract completeness theories"},
+"keyword": "similar normal form"},
{"id": 2892,
-"keyword": "brian huffman"},
+"keyword": "heap location"},
{"id": 2893,
-"keyword": "eponymous itp 2012 paper"},
+"keyword": "extended language"},
{"id": 2894,
-"keyword": "prime number theorem"},
+"keyword": "backward compatible"},
{"id": 2895,
-"keyword": "efficient deterministic parsing"},
+"keyword": "safely composable"},
{"id": 2896,
-"keyword": "data structure invented"},
+"keyword": "minsky machines"},
{"id": 2897,
-"keyword": "refinement proof"},
+"keyword": "null space"},
{"id": 2898,
-"keyword": "general definition"},
+"keyword": "higher-order term algebra"},
{"id": 2899,
-"keyword": "theorem prover based"},
+"keyword": "code accessing"},
{"id": 2900,
-"keyword": "angles requires solving"},
+"keyword": "semantic trees"},
{"id": 2901,
-"keyword": "inductive method"},
+"keyword": "featherweight ocl project"},
{"id": 2902,
-"keyword": "approximation algorithm"},
+"keyword": "well-formedness properties"},
{"id": 2903,
-"keyword": "possibilistic information-flow properties"},
+"keyword": "solovay ndash"},
{"id": 2904,
-"keyword": "larger arrangements due"},
+"keyword": "iteration operators"},
{"id": 2905,
-"keyword": "axioms systems"},
+"keyword": "fold build rule"},
{"id": 2906,
-"keyword": "visualizing class models"},
+"keyword": "category equipped"},
{"id": 2907,
-"keyword": "linear integer polynomial"},
+"keyword": "universal composability framework"},
{"id": 2908,
-"keyword": "set mapping"},
+"keyword": "decidability result"},
{"id": 2909,
-"keyword": "formal semantics"},
+"keyword": "closely related"},
{"id": 2910,
-"keyword": "partly recursive functions found"},
+"keyword": "optimisations suggested"},
{"id": 2911,
-"keyword": "execution involving integer matrices"},
+"keyword": "completely verified model checker"},
{"id": 2912,
-"keyword": "csp noninterference security"},
+"keyword": "subsystems"},
{"id": 2913,
-"keyword": "generate executable imperative programs"},
+"keyword": "international system"},
{"id": 2914,
-"keyword": "language-based non-interference property"},
+"keyword": "stuttering equivalent runs"},
{"id": 2915,
-"keyword": "formalisation underlying"},
-||||||| common ancestor
-{"id": 2878,
-"keyword": "imperative loop constructs"},
-{"id": 2879,
-"keyword": "book consistency"},
-{"id": 2880,
-"keyword": "cpp-2015 paper"},
-{"id": 2881,
-"keyword": "obtain executable code"},
-{"id": 2882,
-"keyword": "basic theory"},
-{"id": 2883,
-"keyword": "formalisation hold"},
-{"id": 2884,
-"keyword": "probabilistic functional language"},
-{"id": 2885,
-"keyword": "elements belong"},
-{"id": 2886,
-"keyword": "system describes"},
-{"id": 2887,
-"keyword": "static fields"},
-{"id": 2888,
-"keyword": "general formal proof techniques"},
-{"id": 2889,
-"keyword": "np-complete optimization problems"},
-{"id": 2890,
-"keyword": "probabilistic arguments"},
-{"id": 2891,
-"keyword": "byzantine clock synchronization"},
-{"id": 2892,
-"keyword": "original proof"},
-{"id": 2893,
-"keyword": "cauchy completion"},
-{"id": 2894,
-"keyword": "abstract bnfccs similar"},
-{"id": 2895,
-"keyword": "abstract completeness theories"},
-{"id": 2896,
-"keyword": "brian huffman"},
-{"id": 2897,
-"keyword": "eponymous itp 2012 paper"},
-{"id": 2898,
-"keyword": "prime number theorem"},
-{"id": 2899,
-"keyword": "efficient deterministic parsing"},
-{"id": 2900,
-"keyword": "data structure invented"},
-{"id": 2901,
-"keyword": "refinement proof"},
-{"id": 2902,
-"keyword": "general definition"},
-{"id": 2903,
-"keyword": "theorem prover based"},
-{"id": 2904,
-"keyword": "angles requires solving"},
-{"id": 2905,
-"keyword": "inductive method"},
-{"id": 2906,
-"keyword": "approximation algorithm"},
-{"id": 2907,
-"keyword": "possibilistic information-flow properties"},
-{"id": 2908,
-"keyword": "larger arrangements due"},
-{"id": 2909,
-"keyword": "axioms systems"},
-{"id": 2910,
-"keyword": "visualizing class models"},
-{"id": 2911,
-"keyword": "linear integer polynomial"},
-{"id": 2912,
-"keyword": "set mapping"},
-{"id": 2913,
-"keyword": "formal semantics"},
-{"id": 2914,
-"keyword": "partly recursive functions found"},
-{"id": 2915,
-"keyword": "execution involving integer matrices"},
-=======
-{"id": 2907,
-"keyword": "imperative loop constructs"},
-{"id": 2908,
-"keyword": "book consistency"},
-{"id": 2909,
-"keyword": "cpp-2015 paper"},
-{"id": 2910,
-"keyword": "obtain executable code"},
-{"id": 2911,
-"keyword": "basic theory"},
-{"id": 2912,
-"keyword": "formalisation hold"},
-{"id": 2913,
-"keyword": "probabilistic functional language"},
-{"id": 2914,
-"keyword": "elements belong"},
-{"id": 2915,
-"keyword": "system describes"},
->>>>>>> merge rev
+"keyword": "edge weights"},
{"id": 2916,
-<<<<<<< working copy
-"keyword": "jeroen ketema"},
-||||||| common ancestor
-"keyword": "csp noninterference security"},
-=======
-"keyword": "static fields"},
->>>>>>> merge rev
+"keyword": "widely studied topic"},
{"id": 2917,
-<<<<<<< working copy
-"keyword": "type theory presented"},
-||||||| common ancestor
-"keyword": "generate executable imperative programs"},
-=======
-"keyword": "general formal proof techniques"},
->>>>>>> merge rev
+"keyword": "machine-checked version"},
{"id": 2918,
-<<<<<<< working copy
-"keyword": "deterministic monad"},
-||||||| common ancestor
-"keyword": "language-based non-interference property"},
-=======
-"keyword": "np-complete optimization problems"},
->>>>>>> merge rev
+"keyword": "planning domain definition language"},
{"id": 2919,
-<<<<<<< working copy
-"keyword": "explicit metric"},
-||||||| common ancestor
-"keyword": "formalisation underlying"},
-=======
-"keyword": "probabilistic arguments"},
->>>>>>> merge rev
+"keyword": "high edge probability"},
{"id": 2920,
-<<<<<<< working copy
-"keyword": "first-order real arithmetic"},
-||||||| common ancestor
-"keyword": "jeroen ketema"},
-=======
-"keyword": "byzantine clock synchronization"},
->>>>>>> merge rev
+"keyword": "refinement based verification"},
{"id": 2921,
-<<<<<<< working copy
-"keyword": "main order fully coincides"},
-||||||| common ancestor
-"keyword": "type theory presented"},
-=======
-"keyword": "original proof"},
->>>>>>> merge rev
+"keyword": "recursive functions heavily inspired"},
{"id": 2922,
-<<<<<<< working copy
-"keyword": "safe approximation"},
-||||||| common ancestor
-"keyword": "found"},
-=======
-"keyword": "cauchy completion"},
->>>>>>> merge rev
+"keyword": "pide sub-system"},
{"id": 2923,
-<<<<<<< working copy
-"keyword": "general case"},
-||||||| common ancestor
-"keyword": "deterministic monad"},
-=======
-"keyword": "abstract bnfccs similar"},
->>>>>>> merge rev
+"keyword": "lagrange interpolation"},
{"id": 2924,
-<<<<<<< working copy
-"keyword": "propositional clauses"},
-||||||| common ancestor
-"keyword": "explicit metric"},
-=======
-"keyword": "abstract completeness theories"},
->>>>>>> merge rev
+"keyword": "integrated pide document model"},
{"id": 2925,
-<<<<<<< working copy
-"keyword": "subtypes inherit"},
-||||||| common ancestor
-"keyword": "first-order real arithmetic"},
-=======
-"keyword": "brian huffman"},
->>>>>>> merge rev
+"keyword": "finite learning"},
{"id": 2926,
-<<<<<<< working copy
-"keyword": "jordan normal form"},
+"keyword": "applied relativization"},
{"id": 2927,
-"keyword": "refinement theory"},
+"keyword": "imperative loop constructs"},
{"id": 2928,
-"keyword": "generate theorem prover code"},
+"keyword": "book consistency"},
{"id": 2929,
-"keyword": "resuting proofs"},
+"keyword": "cpp-2015 paper"},
{"id": 2930,
-"keyword": "matrix rank"},
+"keyword": "obtain executable code"},
{"id": 2931,
-"keyword": "integer polynomial belongs"},
+"keyword": "basic theory"},
{"id": 2932,
-"keyword": "well-typed programs"},
+"keyword": "formalisation hold"},
{"id": 2933,
-"keyword": "binary decision trees"},
-{"id": 2934,
-"keyword": "decreasing diagrams showing"},
-||||||| common ancestor
-"keyword": "main order fully coincides"},
-{"id": 2927,
-"keyword": "safe approximation"},
-{"id": 2928,
-"keyword": "general case"},
-{"id": 2929,
-"keyword": "propositional clauses"},
-{"id": 2930,
-"keyword": "subtypes inherit"},
-{"id": 2931,
-"keyword": "jordan normal form"},
-{"id": 2932,
-"keyword": "refinement theory"},
-{"id": 2933,
-"keyword": "generate theorem prover code"},
+"keyword": "probabilistic functional language"},
{"id": 2934,
-"keyword": "resuting proofs"},
-=======
-"keyword": "eponymous itp 2012 paper"},
-{"id": 2927,
-"keyword": "prime number theorem"},
-{"id": 2928,
-"keyword": "efficient deterministic parsing"},
-{"id": 2929,
-"keyword": "data structure invented"},
-{"id": 2930,
-"keyword": "refinement proof"},
-{"id": 2931,
-"keyword": "general definition"},
-{"id": 2932,
-"keyword": "theorem prover based"},
-{"id": 2933,
-"keyword": "angles requires solving"},
-{"id": 2934,
-"keyword": "inductive method"},
->>>>>>> merge rev
+"keyword": "elements belong"},
{"id": 2935,
-<<<<<<< working copy
-"keyword": "data spaces"},
-||||||| common ancestor
-"keyword": "matrix rank"},
-=======
-"keyword": "approximation algorithm"},
->>>>>>> merge rev
+"keyword": "system describes"},
{"id": 2936,
-<<<<<<< working copy
-"keyword": "chapman formula"},
-||||||| common ancestor
-"keyword": "integer polynomial belongs"},
-=======
-"keyword": "possibilistic information-flow properties"},
->>>>>>> merge rev
+"keyword": "static fields"},
{"id": 2937,
-<<<<<<< working copy
-"keyword": "sufficient condition"},
-||||||| common ancestor
-"keyword": "well-typed programs"},
-=======
-"keyword": "larger arrangements due"},
->>>>>>> merge rev
+"keyword": "approximation ratio"},
{"id": 2938,
-<<<<<<< working copy
-"keyword": "intricate cyclic program"},
-||||||| common ancestor
-"keyword": "binary decision trees"},
-=======
-"keyword": "axioms systems"},
->>>>>>> merge rev
+"keyword": "general formal proof techniques"},
{"id": 2939,
-<<<<<<< working copy
-"keyword": "recursively expressed"},
-||||||| common ancestor
-"keyword": "decreasing diagrams showing"},
-=======
-"keyword": "visualizing class models"},
->>>>>>> merge rev
+"keyword": "np-complete optimization problems"},
{"id": 2940,
-<<<<<<< working copy
-"keyword": "robin smith"},
-||||||| common ancestor
-"keyword": "data spaces"},
-=======
-"keyword": "linear integer polynomial"},
->>>>>>> merge rev
+"keyword": "probabilistic arguments"},
{"id": 2941,
-<<<<<<< working copy
-"keyword": "talking explicitly"},
-||||||| common ancestor
-"keyword": "chapman formula"},
-=======
-"keyword": "set mapping"},
->>>>>>> merge rev
+"keyword": "byzantine clock synchronization"},
{"id": 2942,
-<<<<<<< working copy
-"keyword": "model partial correctness"},
-||||||| common ancestor
-"keyword": "sufficient condition"},
-=======
-"keyword": "formal semantics"},
->>>>>>> merge rev
+"keyword": "original proof"},
{"id": 2943,
-<<<<<<< working copy
-"keyword": "general-purpose coinductive data types"},
-||||||| common ancestor
-"keyword": "intricate cyclic program"},
-=======
-"keyword": "partly recursive functions found"},
->>>>>>> merge rev
+"keyword": "cauchy completion"},
{"id": 2944,
-<<<<<<< working copy
-"keyword": "directly follow"},
-||||||| common ancestor
-"keyword": "recursively expressed"},
-=======
-"keyword": "execution involving integer matrices"},
->>>>>>> merge rev
+"keyword": "abstract bnfccs similar"},
{"id": 2945,
-<<<<<<< working copy
-"keyword": "indefinitely large set"},
-||||||| common ancestor
-"keyword": "robin smith"},
-=======
-"keyword": "csp noninterference security"},
->>>>>>> merge rev
+"keyword": "abstract completeness theories"},
{"id": 2946,
-<<<<<<< working copy
-"keyword": "computing enclosures"},
-||||||| common ancestor
-"keyword": "talking explicitly"},
-=======
-"keyword": "generate executable imperative programs"},
->>>>>>> merge rev
+"keyword": "brian huffman"},
{"id": 2947,
-<<<<<<< working copy
-"keyword": "quantum teleportation"},
-||||||| common ancestor
-"keyword": "model partial correctness"},
-=======
-"keyword": "language-based non-interference property"},
->>>>>>> merge rev
+"keyword": "eponymous itp 2012 paper"},
{"id": 2948,
-<<<<<<< working copy
-"keyword": "intricate part"},
-||||||| common ancestor
-"keyword": "general-purpose coinductive data types"},
-=======
-"keyword": "formalisation underlying"},
->>>>>>> merge rev
+"keyword": "prime number theorem"},
{"id": 2949,
-<<<<<<< working copy
-"keyword": "external functions"},
-||||||| common ancestor
-"keyword": "directly follow"},
-=======
-"keyword": "jeroen ketema"},
->>>>>>> merge rev
+"keyword": "efficient deterministic parsing"},
{"id": 2950,
-<<<<<<< working copy
-"keyword": "resulting recursion induction rules"},
-||||||| common ancestor
-"keyword": "indefinitely large set"},
-=======
-"keyword": "type theory presented"},
->>>>>>> merge rev
+"keyword": "data structure invented"},
{"id": 2951,
-<<<<<<< working copy
-"keyword": "specific tactic support"},
-||||||| common ancestor
-"keyword": "computing enclosures"},
-=======
-"keyword": "found"},
->>>>>>> merge rev
+"keyword": "refinement proof"},
{"id": 2952,
-<<<<<<< working copy
-"keyword": "promotes proof reuse"},
-||||||| common ancestor
-"keyword": "quantum teleportation"},
-=======
-"keyword": "deterministic monad"},
->>>>>>> merge rev
+"keyword": "general definition"},
{"id": 2953,
-<<<<<<< working copy
-"keyword": "infinite graphs"},
-||||||| common ancestor
-"keyword": "intricate part"},
-=======
-"keyword": "explicit metric"},
->>>>>>> merge rev
+"keyword": "theorem prover based"},
{"id": 2954,
-<<<<<<< working copy
-"keyword": "planar dynamical systems"},
-||||||| common ancestor
-"keyword": "external functions"},
-=======
-"keyword": "first-order real arithmetic"},
->>>>>>> merge rev
+"keyword": "angles requires solving"},
{"id": 2955,
-<<<<<<< working copy
-"keyword": "non-obvious closed form"},
+"keyword": "inductive method"},
{"id": 2956,
-"keyword": "verified programs"},
+"keyword": "approximation algorithm"},
{"id": 2957,
-"keyword": "purely functional"},
+"keyword": "possibilistic information-flow properties"},
{"id": 2958,
-"keyword": "conducting completely formal proofs"},
+"keyword": "larger arrangements due"},
{"id": 2959,
-"keyword": "product spaces"},
+"keyword": "axioms systems"},
{"id": 2960,
-"keyword": "cauchy sequence"},
-{"id": 2961,
-"keyword": "entry adapts stream fusion"},
-{"id": 2962,
-"keyword": "parallel composition"},
-{"id": 2963,
-"keyword": "verified construction"},
-||||||| common ancestor
-"keyword": "resulting recursion induction rules"},
-{"id": 2956,
-"keyword": "specific tactic support"},
-{"id": 2957,
-"keyword": "promotes proof reuse"},
-{"id": 2958,
-"keyword": "infinite graphs"},
-{"id": 2959,
-"keyword": "planar dynamical systems"},
-{"id": 2960,
-"keyword": "non-obvious closed form"},
+"keyword": "visualizing class models"},
{"id": 2961,
-"keyword": "verified programs"},
+"keyword": "linear integer polynomial"},
{"id": 2962,
-"keyword": "purely functional"},
+"keyword": "set mapping"},
{"id": 2963,
-"keyword": "conducting completely formal proofs"},
-=======
-"keyword": "main order fully coincides"},
-{"id": 2956,
-"keyword": "safe approximation"},
-{"id": 2957,
-"keyword": "general case"},
-{"id": 2958,
-"keyword": "propositional clauses"},
-{"id": 2959,
-"keyword": "subtypes inherit"},
-{"id": 2960,
-"keyword": "jordan normal form"},
-{"id": 2961,
-"keyword": "refinement theory"},
-{"id": 2962,
-"keyword": "generate theorem prover code"},
-{"id": 2963,
-"keyword": "resuting proofs"},
->>>>>>> merge rev
+"keyword": "formal semantics"},
{"id": 2964,
-<<<<<<< working copy
-"keyword": "relational parametricity"},
-||||||| common ancestor
-"keyword": "product spaces"},
-=======
-"keyword": "matrix rank"},
->>>>>>> merge rev
+"keyword": "partly recursive functions found"},
{"id": 2965,
-<<<<<<< working copy
-"keyword": "called residuation"},
-||||||| common ancestor
-"keyword": "cauchy sequence"},
-=======
-"keyword": "integer polynomial belongs"},
->>>>>>> merge rev
+"keyword": "execution involving integer matrices"},
{"id": 2966,
-<<<<<<< working copy
-"keyword": "export code"},
-||||||| common ancestor
-"keyword": "entry adapts stream fusion"},
-=======
-"keyword": "well-typed programs"},
->>>>>>> merge rev
+"keyword": "csp noninterference security"},
{"id": 2967,
-<<<<<<< working copy
-"keyword": "propositional abstract separation logic"},
-||||||| common ancestor
-"keyword": "parallel composition"},
-=======
-"keyword": "binary decision trees"},
->>>>>>> merge rev
+"keyword": "generate executable imperative programs"},
{"id": 2968,
-<<<<<<< working copy
-"keyword": "knowledge compilation"},
-||||||| common ancestor
-"keyword": "verified construction"},
-=======
-"keyword": "decreasing diagrams showing"},
->>>>>>> merge rev
+"keyword": "language-based non-interference property"},
{"id": 2969,
-<<<<<<< working copy
-"keyword": "heap sort"},
-||||||| common ancestor
-"keyword": "relational parametricity"},
-=======
-"keyword": "data spaces"},
->>>>>>> merge rev
+"keyword": "formalisation underlying"},
{"id": 2970,
-<<<<<<< working copy
-"keyword": "hol types"},
-||||||| common ancestor
-"keyword": "called residuation"},
-=======
-"keyword": "chapman formula"},
->>>>>>> merge rev
+"keyword": "jeroen ketema"},
{"id": 2971,
-<<<<<<< working copy
-"keyword": "slightly stronger hypothesis"},
-||||||| common ancestor
-"keyword": "export code"},
-=======
-"keyword": "sufficient condition"},
->>>>>>> merge rev
+"keyword": "free category"},
{"id": 2972,
-<<<<<<< working copy
-"keyword": "encoding based"},
-||||||| common ancestor
-"keyword": "propositional abstract separation logic"},
-=======
-"keyword": "intricate cyclic program"},
->>>>>>> merge rev
+"keyword": "type theory presented"},
{"id": 2973,
-<<<<<<< working copy
-"keyword": "lexicographic extensions"},
-||||||| common ancestor
-"keyword": "knowledge compilation"},
-=======
-"keyword": "recursively expressed"},
->>>>>>> merge rev
+"keyword": "deterministic monad"},
{"id": 2974,
-<<<<<<< working copy
-"keyword": "security proof"},
-{"id": 2975,
-"keyword": "uniquely determined product"},
-{"id": 2976,
-"keyword": "input parameter"},
-{"id": 2977,
-"keyword": "model checker spin"},
-{"id": 2978,
-"keyword": "stochastic matrices"},
-{"id": 2979,
-"keyword": "original paper"},
-{"id": 2980,
-"keyword": "formalization techniques presented"},
-{"id": 2981,
-"keyword": "forward algorithm"},
-{"id": 2982,
-"keyword": "dynamic thread creation"},
-{"id": 2983,
-"keyword": "sequent calculus"},
-{"id": 2984,
-"keyword": "machine-checked tree automata library"},
-{"id": 2985,
-"keyword": "shared environments"},
-{"id": 2986,
-"keyword": "composed protocol"},
-{"id": 2987,
-||||||| common ancestor
-"keyword": "heap sort"},
+"keyword": "explicit metric"},
{"id": 2975,
-"keyword": "hol types"},
-{"id": 2976,
-"keyword": "slightly stronger hypothesis"},
-{"id": 2977,
-"keyword": "encoding based"},
-{"id": 2978,
-"keyword": "lexicographic extensions"},
-{"id": 2979,
-"keyword": "security proof"},
-{"id": 2980,
-"keyword": "uniquely determined product"},
-{"id": 2981,
-"keyword": "input parameter"},
-{"id": 2982,
-"keyword": "model checker spin"},
-{"id": 2983,
-"keyword": "stochastic matrices"},
-{"id": 2984,
-"keyword": "original paper"},
-{"id": 2985,
-"keyword": "formalization techniques presented"},
-{"id": 2986,
-"keyword": "forward algorithm"},
-{"id": 2987,
-"keyword": "dynamic thread creation"},
-{"id": 2988,
-"keyword": "sequent calculus"},
-{"id": 2989,
-"keyword": "machine-checked tree automata library"},
-{"id": 2990,
-"keyword": "shared environments"},
-{"id": 2991,
-"keyword": "composed protocol"},
-{"id": 2992,
-=======
-"keyword": "robin smith"},
-{"id": 2975,
-"keyword": "talking explicitly"},
+"keyword": "first-order real arithmetic"},
{"id": 2976,
-"keyword": "model partial correctness"},
+"keyword": "main order fully coincides"},
{"id": 2977,
-"keyword": "general-purpose coinductive data types"},
+"keyword": "safe approximation"},
{"id": 2978,
-"keyword": "directly follow"},
+"keyword": "general case"},
{"id": 2979,
-"keyword": "indefinitely large set"},
+"keyword": "propositional clauses"},
{"id": 2980,
-"keyword": "computing enclosures"},
+"keyword": "subtypes inherit"},
{"id": 2981,
-"keyword": "quantum teleportation"},
+"keyword": "jordan normal form"},
{"id": 2982,
-"keyword": "intricate part"},
+"keyword": "refinement theory"},
{"id": 2983,
-"keyword": "external functions"},
+"keyword": "generate theorem prover code"},
{"id": 2984,
-"keyword": "resulting recursion induction rules"},
+"keyword": "resuting proofs"},
{"id": 2985,
-"keyword": "specific tactic support"},
+"keyword": "matrix rank"},
{"id": 2986,
-"keyword": "promotes proof reuse"},
+"keyword": "integer polynomial belongs"},
{"id": 2987,
-"keyword": "infinite graphs"},
+"keyword": "well-typed programs"},
{"id": 2988,
-"keyword": "planar dynamical systems"},
+"keyword": "binary decision trees"},
{"id": 2989,
-"keyword": "non-obvious closed form"},
+"keyword": "decreasing diagrams showing"},
{"id": 2990,
-"keyword": "verified programs"},
+"keyword": "data spaces"},
{"id": 2991,
-"keyword": "purely functional"},
+"keyword": "chapman formula"},
{"id": 2992,
-"keyword": "conducting completely formal proofs"},
+"keyword": "sufficient condition"},
{"id": 2993,
-"keyword": "product spaces"},
+"keyword": "intricate cyclic program"},
{"id": 2994,
-"keyword": "cauchy sequence"},
+"keyword": "recursively expressed"},
{"id": 2995,
-"keyword": "entry adapts stream fusion"},
+"keyword": "robin smith"},
{"id": 2996,
-"keyword": "parallel composition"},
+"keyword": "talking explicitly"},
{"id": 2997,
-"keyword": "verified construction"},
+"keyword": "model partial correctness"},
{"id": 2998,
-"keyword": "relational parametricity"},
+"keyword": "general-purpose coinductive data types"},
{"id": 2999,
-"keyword": "called residuation"},
+"keyword": "directly follow"},
{"id": 3000,
-"keyword": "export code"},
+"keyword": "indefinitely large set"},
{"id": 3001,
-"keyword": "propositional abstract separation logic"},
+"keyword": "computing enclosures"},
{"id": 3002,
-"keyword": "knowledge compilation"},
+"keyword": "quantum teleportation"},
{"id": 3003,
-"keyword": "heap sort"},
+"keyword": "intricate part"},
{"id": 3004,
-"keyword": "hol types"},
+"keyword": "external functions"},
{"id": 3005,
-"keyword": "slightly stronger hypothesis"},
+"keyword": "resulting recursion induction rules"},
{"id": 3006,
-"keyword": "encoding based"},
+"keyword": "specific tactic support"},
{"id": 3007,
-"keyword": "lexicographic extensions"},
+"keyword": "promotes proof reuse"},
{"id": 3008,
-"keyword": "security proof"},
+"keyword": "infinite graphs"},
{"id": 3009,
-"keyword": "uniquely determined product"},
+"keyword": "planar dynamical systems"},
{"id": 3010,
-"keyword": "input parameter"},
+"keyword": "non-obvious closed form"},
{"id": 3011,
-"keyword": "model checker spin"},
+"keyword": "verified programs"},
{"id": 3012,
-"keyword": "stochastic matrices"},
+"keyword": "purely functional"},
{"id": 3013,
-"keyword": "original paper"},
+"keyword": "conducting completely formal proofs"},
{"id": 3014,
-"keyword": "formalization techniques presented"},
+"keyword": "product spaces"},
{"id": 3015,
-"keyword": "forward algorithm"},
+"keyword": "cauchy sequence"},
{"id": 3016,
-"keyword": "dynamic thread creation"},
+"keyword": "entry adapts stream fusion"},
{"id": 3017,
-"keyword": "sequent calculus"},
+"keyword": "parallel composition"},
{"id": 3018,
-"keyword": "machine-checked tree automata library"},
+"keyword": "verified construction"},
{"id": 3019,
-"keyword": "shared environments"},
+"keyword": "relational parametricity"},
{"id": 3020,
+"keyword": "called residuation"},
+{"id": 3021,
+"keyword": "export code"},
+{"id": 3022,
+"keyword": "propositional abstract separation logic"},
+{"id": 3023,
+"keyword": "knowledge compilation"},
+{"id": 3024,
+"keyword": "heap sort"},
+{"id": 3025,
+"keyword": "hol types"},
+{"id": 3026,
+"keyword": "slightly stronger hypothesis"},
+{"id": 3027,
+"keyword": "encoding based"},
+{"id": 3028,
+"keyword": "lexicographic extensions"},
+{"id": 3029,
+"keyword": "security proof"},
+{"id": 3030,
+"keyword": "uniquely determined product"},
+{"id": 3031,
+"keyword": "input parameter"},
+{"id": 3032,
+"keyword": "model checker spin"},
+{"id": 3033,
+"keyword": "stochastic matrices"},
+{"id": 3034,
+"keyword": "original paper"},
+{"id": 3035,
+"keyword": "formalization techniques presented"},
+{"id": 3036,
+"keyword": "forward algorithm"},
+{"id": 3037,
+"keyword": "dynamic thread creation"},
+{"id": 3038,
+"keyword": "sequent calculus"},
+{"id": 3039,
+"keyword": "machine-checked tree automata library"},
+{"id": 3040,
+"keyword": "shared environments"},
+{"id": 3041,
"keyword": "composed protocol"},
-{"id": 3021,
->>>>>>> merge rev
+{"id": 3042,
"keyword": "experimental utilities"},
-<<<<<<< working copy
-{"id": 2988,
+{"id": 3043,
"keyword": "open publishing association"},
-{"id": 2989,
+{"id": 3044,
"keyword": "mit press 1995"},
-{"id": 2990,
+{"id": 3045,
"keyword": "design isomorphisms"},
-{"id": 2991,
+{"id": 3046,
"keyword": "existing approaches"},
-{"id": 2992,
+{"id": 3047,
"keyword": "trustworthy procedure"},
-{"id": 2993,
-"keyword": "varying numbers"},
-{"id": 2994,
-"keyword": "reduced echelon form"},
-{"id": 2995,
-"keyword": "elementary symmetric polynomials sk"},
-{"id": 2996,
-"keyword": "related recurrence relations"},
-{"id": 2997,
-"keyword": "del numbers"},
-{"id": 2998,
-"keyword": "prime iff"},
-{"id": 2999,
-"keyword": "compositional statement"},
-{"id": 3000,
-"keyword": "complete proof method"},
-{"id": 3001,
-"keyword": "conversion version"},
-{"id": 3002,
-"keyword": "supporting automatic refinement"},
-{"id": 3003,
-||||||| common ancestor
-{"id": 2993,
-"keyword": "open publishing association"},
-{"id": 2994,
-"keyword": "mit press 1995"},
-{"id": 2995,
-"keyword": "design isomorphisms"},
-{"id": 2996,
-"keyword": "existing approaches"},
-{"id": 2997,
-"keyword": "trustworthy procedure"},
-{"id": 2998,
+{"id": 3048,
"keyword": "varying numbers"},
-{"id": 2999,
-"keyword": "reduced echelon form"},
-{"id": 3000,
-"keyword": "elementary symmetric polynomials sk"},
-{"id": 3001,
-"keyword": "related recurrence relations"},
-{"id": 3002,
-"keyword": "del numbers"},
-{"id": 3003,
-"keyword": "prime iff"},
-{"id": 3004,
-"keyword": "compositional statement"},
-{"id": 3005,
-"keyword": "complete proof method"},
-{"id": 3006,
-"keyword": "conversion version"},
-{"id": 3007,
-"keyword": "supporting automatic refinement"},
-{"id": 3008,
-=======
-{"id": 3022,
-"keyword": "open publishing association"},
-{"id": 3023,
-"keyword": "mit press 1995"},
-{"id": 3024,
-"keyword": "design isomorphisms"},
-{"id": 3025,
-"keyword": "existing approaches"},
-{"id": 3026,
-"keyword": "trustworthy procedure"},
-{"id": 3027,
-"keyword": "varying numbers"},
-{"id": 3028,
+{"id": 3049,
"keyword": "reduced echelon form"},
-{"id": 3029,
+{"id": 3050,
"keyword": "elementary symmetric polynomials sk"},
-{"id": 3030,
+{"id": 3051,
"keyword": "related recurrence relations"},
-{"id": 3031,
+{"id": 3052,
"keyword": "del numbers"},
-{"id": 3032,
+{"id": 3053,
"keyword": "prime iff"},
-{"id": 3033,
+{"id": 3054,
"keyword": "compositional statement"},
-{"id": 3034,
+{"id": 3055,
"keyword": "complete proof method"},
-{"id": 3035,
+{"id": 3056,
"keyword": "conversion version"},
-{"id": 3036,
+{"id": 3057,
"keyword": "supporting automatic refinement"},
-{"id": 3037,
->>>>>>> merge rev
+{"id": 3058,
"keyword": "datatype package"},
-<<<<<<< working copy
-{"id": 3004,
-||||||| common ancestor
-{"id": 3009,
-=======
-{"id": 3038,
->>>>>>> merge rev
+{"id": 3059,
"keyword": "transition function relation"},
-<<<<<<< working copy
-{"id": 3005,
-||||||| common ancestor
-{"id": 3010,
-=======
-{"id": 3039,
->>>>>>> merge rev
+{"id": 3060,
"keyword": "general version"},
-<<<<<<< working copy
-{"id": 3006,
-||||||| common ancestor
-{"id": 3011,
-=======
-{"id": 3040,
->>>>>>> merge rev
+{"id": 3061,
"keyword": "prime ndash"},
-<<<<<<< working copy
-{"id": 3007,
+{"id": 3062,
"keyword": "horn- renamable"},
-{"id": 3008,
+{"id": 3063,
"keyword": "shadow dom"},
-{"id": 3009,
+{"id": 3064,
"keyword": "labour intensive"},
-{"id": 3010,
-"keyword": "fully structured"},
-{"id": 3011,
-"keyword": "numerous misunderstandings"},
-{"id": 3012,
-"keyword": "basic linear algebra"},
-{"id": 3013,
-"keyword": "tree theorem"},
-{"id": 3014,
-"keyword": "undergraduate dissertation"},
-{"id": 3015,
-"keyword": "inversions"},
-{"id": 3016,
-"keyword": "nathan chong"},
-{"id": 3017,
-"keyword": "greibach normal form"},
-{"id": 3018,
-"keyword": "subseteq alpha order-isomorphic"},
-{"id": 3019,
-"keyword": "cnf based sat algorithms"},
-{"id": 3020,
-"keyword": "interactive automated relativization"},
-{"id": 3021,
-"keyword": "significantly reduce"},
-{"id": 3022,
-"keyword": "practically usable verification environment"},
-{"id": 3023,
-"keyword": "test decides primality"},
-{"id": 3024,
-"keyword": "high annotation overhead"},
-{"id": 3025,
-"keyword": "law"},
-{"id": 3026,
-"keyword": "itp 2011 paper"},
-{"id": 3027,
-"keyword": "write operations"},
-{"id": 3028,
-"keyword": "upper semicontinuous"},
-{"id": 3029,
-"keyword": "labour cost"},
-{"id": 3030,
-"keyword": "context relation"},
-{"id": 3031,
-"keyword": "bounded-length strings"},
-{"id": 3032,
-||||||| common ancestor
-{"id": 3012,
-"keyword": "horn- renamable"},
-{"id": 3013,
-"keyword": "shadow dom"},
-{"id": 3014,
-"keyword": "labour intensive"},
-{"id": 3015,
+{"id": 3065,
"keyword": "fully structured"},
-{"id": 3016,
+{"id": 3066,
"keyword": "numerous misunderstandings"},
-{"id": 3017,
+{"id": 3067,
"keyword": "basic linear algebra"},
-{"id": 3018,
+{"id": 3068,
"keyword": "tree theorem"},
-{"id": 3019,
+{"id": 3069,
"keyword": "undergraduate dissertation"},
-{"id": 3020,
+{"id": 3070,
"keyword": "inversions"},
-{"id": 3021,
+{"id": 3071,
"keyword": "nathan chong"},
-{"id": 3022,
+{"id": 3072,
"keyword": "greibach normal form"},
-{"id": 3023,
+{"id": 3073,
"keyword": "subseteq alpha order-isomorphic"},
-{"id": 3024,
+{"id": 3074,
"keyword": "cnf based sat algorithms"},
-{"id": 3025,
-"keyword": "interactive automated relativization"},
-{"id": 3026,
-"keyword": "significantly reduce"},
-{"id": 3027,
-"keyword": "practically usable verification environment"},
-{"id": 3028,
-"keyword": "test decides primality"},
-{"id": 3029,
-"keyword": "high annotation overhead"},
-{"id": 3030,
-"keyword": "law"},
-{"id": 3031,
-"keyword": "itp 2011 paper"},
-{"id": 3032,
-"keyword": "write operations"},
-{"id": 3033,
-"keyword": "upper semicontinuous"},
-{"id": 3034,
-"keyword": "labour cost"},
-{"id": 3035,
-"keyword": "context relation"},
-{"id": 3036,
-"keyword": "bounded-length strings"},
-{"id": 3037,
-=======
-{"id": 3041,
-"keyword": "horn- renamable"},
-{"id": 3042,
-"keyword": "shadow dom"},
-{"id": 3043,
-"keyword": "labour intensive"},
-{"id": 3044,
-"keyword": "fully structured"},
-{"id": 3045,
-"keyword": "numerous misunderstandings"},
-{"id": 3046,
-"keyword": "basic linear algebra"},
-{"id": 3047,
-"keyword": "tree theorem"},
-{"id": 3048,
-"keyword": "undergraduate dissertation"},
-{"id": 3049,
-"keyword": "inversions"},
-{"id": 3050,
-"keyword": "nathan chong"},
-{"id": 3051,
-"keyword": "greibach normal form"},
-{"id": 3052,
-"keyword": "subseteq alpha order-isomorphic"},
-{"id": 3053,
-"keyword": "cnf based sat algorithms"},
-{"id": 3054,
+{"id": 3075,
"keyword": "interactive automated relativization"},
-{"id": 3055,
+{"id": 3076,
"keyword": "significantly reduce"},
-{"id": 3056,
+{"id": 3077,
"keyword": "practically usable verification environment"},
-{"id": 3057,
-"keyword": "test decides primality"},
-{"id": 3058,
-"keyword": "high annotation overhead"},
-{"id": 3059,
-"keyword": "law"},
-{"id": 3060,
-"keyword": "itp 2011 paper"},
-{"id": 3061,
-"keyword": "write operations"},
-{"id": 3062,
-"keyword": "upper semicontinuous"},
-{"id": 3063,
-"keyword": "labour cost"},
-{"id": 3064,
-"keyword": "context relation"},
-{"id": 3065,
-"keyword": "bounded-length strings"},
-{"id": 3066,
->>>>>>> merge rev
-"keyword": "verification techniques"},
-<<<<<<< working copy
-{"id": 3033,
-||||||| common ancestor
-{"id": 3038,
-=======
-{"id": 3067,
->>>>>>> merge rev
-"keyword": "constant-time findmin"},
-<<<<<<< working copy
-{"id": 3034,
-||||||| common ancestor
-{"id": 3039,
-=======
-{"id": 3068,
->>>>>>> merge rev
-"keyword": "thick chamber complexes endowed"},
-<<<<<<< working copy
-{"id": 3035,
-||||||| common ancestor
-{"id": 3040,
-=======
-{"id": 3069,
->>>>>>> merge rev
-"keyword": "lifts resolution derivation steps"},
-<<<<<<< working copy
-{"id": 3036,
-"keyword": "data structures depending"},
-{"id": 3037,
-"keyword": "richard char-tung lee"},
-{"id": 3038,
-"keyword": "supports mutual recursion"},
-{"id": 3039,
-"keyword": "evaluation homomorphisms"},
-{"id": 3040,
-"keyword": "surjective function"},
-{"id": 3041,
-"keyword": "code generator"},
-{"id": 3042,
-"keyword": "ten lemmas"},
-{"id": 3043,
-"keyword": "degree bounds"},
-{"id": 3044,
-"keyword": "countable ordinals"},
-{"id": 3045,
-"keyword": "hybrid game"},
-{"id": 3046,
-"keyword": "propositional linear-time temporal logic"},
-{"id": 3047,
-"keyword": "code compilation"},
-{"id": 3048,
-"keyword": "security concepts"},
-{"id": 3049,
-"keyword": "negated subquery"},
-{"id": 3050,
-"keyword": "partial equivalence relations"},
-{"id": 3051,
-"keyword": "type class real_algebra_1"},
-{"id": 3052,
-"keyword": "gauss-jordan algorithm states"},
-{"id": 3053,
-"keyword": "hol4 formalization"},
-{"id": 3054,
-"keyword": "stein"},
-{"id": 3055,
-"keyword": "password authenticated connection establishment"},
-{"id": 3056,
-"keyword": "over-approximate relational logics"},
-{"id": 3057,
-"keyword": "difficulty arises"},
-{"id": 3058,
-"keyword": "paulson"},
-{"id": 3059,
-"keyword": "difficult"},
-{"id": 3060,
-"keyword": "ip address ranges"},
-{"id": 3061,
-"keyword": "basic toolbox"},
-{"id": 3062,
-"keyword": "pseudo-wajsberg algebras"},
-{"id": 3063,
-"keyword": "suitable invariants"},
-{"id": 3064,
-"keyword": "basic topological facts"},
-{"id": 3065,
-"keyword": "integer components"},
-{"id": 3066,
-"keyword": "sigma function"},
-{"id": 3067,
-"keyword": "global security guarantee"},
-{"id": 3068,
-"keyword": "symmetric polynomial"},
-{"id": 3069,
-"keyword": "interactive theorem proving sch16"},
-{"id": 3070,
-"keyword": "dirk pfl ger"},
-{"id": 3071,
-"keyword": "local lexing"},
-{"id": 3072,
-"keyword": "lower semicontinuous"},
-{"id": 3073,
-"keyword": "single unit"},
-{"id": 3074,
-"keyword": "mechanizing gauss"},
-{"id": 3075,
-"keyword": "multi-stage compiler verifications"},
-{"id": 3076,
-"keyword": "theorem"},
-{"id": 3077,
-"keyword": "formalising baker"},
{"id": 3078,
-"keyword": "formal guarantees"},
-||||||| common ancestor
-{"id": 3041,
-"keyword": "data structures depending"},
-{"id": 3042,
-"keyword": "richard char-tung lee"},
-{"id": 3043,
-"keyword": "supports mutual recursion"},
-{"id": 3044,
-"keyword": "evaluation homomorphisms"},
-{"id": 3045,
-"keyword": "surjective function"},
-{"id": 3046,
-"keyword": "code generator"},
-{"id": 3047,
-"keyword": "ten lemmas"},
-{"id": 3048,
-"keyword": "degree bounds"},
-{"id": 3049,
-"keyword": "countable ordinals"},
-{"id": 3050,
-"keyword": "hybrid game"},
-{"id": 3051,
-"keyword": "propositional linear-time temporal logic"},
-{"id": 3052,
-"keyword": "code compilation"},
-{"id": 3053,
-"keyword": "security concepts"},
-{"id": 3054,
-"keyword": "negated subquery"},
-{"id": 3055,
-"keyword": "partial equivalence relations"},
-{"id": 3056,
-"keyword": "type class real_algebra_1"},
-{"id": 3057,
-"keyword": "gauss-jordan algorithm states"},
-{"id": 3058,
-"keyword": "hol4 formalization"},
-{"id": 3059,
-"keyword": "stein"},
-{"id": 3060,
-"keyword": "password authenticated connection establishment"},
-{"id": 3061,
-"keyword": "over-approximate relational logics"},
-{"id": 3062,
-"keyword": "difficulty arises"},
-{"id": 3063,
-"keyword": "paulson"},
-{"id": 3064,
-"keyword": "difficult"},
-{"id": 3065,
-"keyword": "ip address ranges"},
-{"id": 3066,
-"keyword": "basic toolbox"},
-{"id": 3067,
-"keyword": "pseudo-wajsberg algebras"},
-{"id": 3068,
-"keyword": "suitable invariants"},
-{"id": 3069,
-"keyword": "basic topological facts"},
-{"id": 3070,
-"keyword": "integer components"},
-{"id": 3071,
-"keyword": "sigma function"},
-{"id": 3072,
-"keyword": "global security guarantee"},
-{"id": 3073,
-"keyword": "symmetric polynomial"},
-{"id": 3074,
-"keyword": "interactive theorem proving sch16"},
-{"id": 3075,
-"keyword": "dirk pfl ger"},
-{"id": 3076,
-"keyword": "local lexing"},
-{"id": 3077,
-"keyword": "lower semicontinuous"},
-{"id": 3078,
-"keyword": "single unit"},
-=======
-{"id": 3070,
-"keyword": "data structures depending"},
-{"id": 3071,
-"keyword": "richard char-tung lee"},
-{"id": 3072,
-"keyword": "supports mutual recursion"},
-{"id": 3073,
-"keyword": "evaluation homomorphisms"},
-{"id": 3074,
-"keyword": "surjective function"},
-{"id": 3075,
-"keyword": "code generator"},
-{"id": 3076,
-"keyword": "ten lemmas"},
-{"id": 3077,
-"keyword": "degree bounds"},
-{"id": 3078,
-"keyword": "countable ordinals"},
->>>>>>> merge rev
+"keyword": "test decides primality"},
{"id": 3079,
-<<<<<<< working copy
-"keyword": "classical registers"},
-||||||| common ancestor
-"keyword": "mechanizing gauss"},
-=======
-"keyword": "hybrid game"},
->>>>>>> merge rev
+"keyword": "high annotation overhead"},
{"id": 3080,
-<<<<<<< working copy
-"keyword": "results"},
-||||||| common ancestor
-"keyword": "multi-stage compiler verifications"},
-=======
-"keyword": "propositional linear-time temporal logic"},
->>>>>>> merge rev
+"keyword": "law"},
{"id": 3081,
-<<<<<<< working copy
-"keyword": "usual monad laws"},
-||||||| common ancestor
-"keyword": "theorem"},
-=======
-"keyword": "code compilation"},
->>>>>>> merge rev
+"keyword": "itp 2011 paper"},
{"id": 3082,
-<<<<<<< working copy
-"keyword": "implement probabilistic algorithms"},
-||||||| common ancestor
-"keyword": "formalising baker"},
-=======
-"keyword": "security concepts"},
->>>>>>> merge rev
+"keyword": "write operations"},
{"id": 3083,
-<<<<<<< working copy
-"keyword": "daniel schoepe"},
-||||||| common ancestor
-"keyword": "formal guarantees"},
-=======
-"keyword": "negated subquery"},
->>>>>>> merge rev
+"keyword": "upper semicontinuous"},
{"id": 3084,
-<<<<<<< working copy
-"keyword": "isar conversion"},
-||||||| common ancestor
-"keyword": "classical registers"},
-=======
-"keyword": "partial equivalence relations"},
->>>>>>> merge rev
+"keyword": "labour cost"},
{"id": 3085,
-<<<<<<< working copy
-"keyword": "standard compliant formalization"},
-||||||| common ancestor
-"keyword": "results"},
-=======
-"keyword": "type class real_algebra_1"},
->>>>>>> merge rev
+"keyword": "context relation"},
{"id": 3086,
-<<<<<<< working copy
-"keyword": "finite group"},
-||||||| common ancestor
-"keyword": "usual monad laws"},
-=======
-"keyword": "gauss-jordan algorithm states"},
->>>>>>> merge rev
+"keyword": "bounded-length strings"},
{"id": 3087,
-<<<<<<< working copy
-"keyword": "frobenius endomorphism"},
-||||||| common ancestor
-"keyword": "implement probabilistic algorithms"},
-=======
-"keyword": "hol4 formalization"},
->>>>>>> merge rev
+"keyword": "verification techniques"},
{"id": 3088,
-<<<<<<< working copy
-"keyword": "nominal logic"},
-||||||| common ancestor
-"keyword": "daniel schoepe"},
-=======
-"keyword": "stein"},
->>>>>>> merge rev
+"keyword": "constant-time findmin"},
{"id": 3089,
-<<<<<<< working copy
-"keyword": "separation-logic based correctness proofs"},
+"keyword": "thick chamber complexes endowed"},
{"id": 3090,
-"keyword": "distinct algebraic numbers alpha_i"},
+"keyword": "lifts resolution derivation steps"},
{"id": 3091,
-"keyword": "macaulay matrix constructed"},
+"keyword": "problem reduction"},
{"id": 3092,
-"keyword": "refinement orders"},
+"keyword": "data structures depending"},
{"id": 3093,
-"keyword": "biggest part"},
+"keyword": "richard char-tung lee"},
{"id": 3094,
-"keyword": "continuation semantics"},
+"keyword": "supports mutual recursion"},
{"id": 3095,
-"keyword": "riemann integral"},
+"keyword": "evaluation homomorphisms"},
{"id": 3096,
-"keyword": "automated theorem proving"},
+"keyword": "surjective function"},
{"id": 3097,
-"keyword": "functional arrays"},
+"keyword": "code generator"},
{"id": 3098,
-"keyword": "previous unifiers"},
+"keyword": "ten lemmas"},
{"id": 3099,
-"keyword": "crowds protocol"},
+"keyword": "degree bounds"},
{"id": 3100,
-"keyword": "spark certify"},
+"keyword": "countable ordinals"},
{"id": 3101,
-"keyword": "classic non-randomised quicksort"},
+"keyword": "hybrid game"},
{"id": 3102,
-"keyword": "verifying techniques"},
+"keyword": "propositional linear-time temporal logic"},
{"id": 3103,
-"keyword": "automated reasoning tools"},
+"keyword": "code compilation"},
{"id": 3104,
-"keyword": "official standard"},
+"keyword": "security concepts"},
{"id": 3105,
-"keyword": "vital part"},
+"keyword": "negated subquery"},
{"id": 3106,
-"keyword": "integer polynomials"},
+"keyword": "partial equivalence relations"},
{"id": 3107,
-"keyword": "borrow terminology"},
-||||||| common ancestor
-"keyword": "isar conversion"},
-{"id": 3090,
-"keyword": "standard compliant formalization"},
-{"id": 3091,
-"keyword": "finite group"},
-{"id": 3092,
-"keyword": "frobenius endomorphism"},
-{"id": 3093,
-"keyword": "nominal logic"},
-{"id": 3094,
-"keyword": "separation-logic based correctness proofs"},
-{"id": 3095,
-"keyword": "distinct algebraic numbers alpha_i"},
-{"id": 3096,
-"keyword": "macaulay matrix constructed"},
-{"id": 3097,
-"keyword": "refinement orders"},
-{"id": 3098,
-"keyword": "biggest part"},
-{"id": 3099,
-"keyword": "continuation semantics"},
-{"id": 3100,
-"keyword": "riemann integral"},
-{"id": 3101,
-"keyword": "automated theorem proving"},
-{"id": 3102,
-"keyword": "functional arrays"},
-{"id": 3103,
-"keyword": "previous unifiers"},
-{"id": 3104,
-"keyword": "crowds protocol"},
-{"id": 3105,
-"keyword": "spark certify"},
-{"id": 3106,
-"keyword": "classic non-randomised quicksort"},
-{"id": 3107,
-"keyword": "verifying techniques"},
-=======
+"keyword": "type class real_algebra_1"},
+{"id": 3108,
+"keyword": "gauss-jordan algorithm states"},
+{"id": 3109,
+"keyword": "hol4 formalization"},
+{"id": 3110,
+"keyword": "stein"},
+{"id": 3111,
"keyword": "password authenticated connection establishment"},
-{"id": 3090,
+{"id": 3112,
"keyword": "over-approximate relational logics"},
-{"id": 3091,
+{"id": 3113,
"keyword": "difficulty arises"},
-{"id": 3092,
+{"id": 3114,
"keyword": "paulson"},
-{"id": 3093,
+{"id": 3115,
"keyword": "difficult"},
-{"id": 3094,
+{"id": 3116,
"keyword": "ip address ranges"},
-{"id": 3095,
+{"id": 3117,
"keyword": "basic toolbox"},
-{"id": 3096,
+{"id": 3118,
"keyword": "pseudo-wajsberg algebras"},
-{"id": 3097,
+{"id": 3119,
"keyword": "suitable invariants"},
-{"id": 3098,
+{"id": 3120,
"keyword": "basic topological facts"},
-{"id": 3099,
+{"id": 3121,
"keyword": "integer components"},
-{"id": 3100,
+{"id": 3122,
"keyword": "sigma function"},
-{"id": 3101,
+{"id": 3123,
"keyword": "global security guarantee"},
-{"id": 3102,
+{"id": 3124,
"keyword": "symmetric polynomial"},
-{"id": 3103,
+{"id": 3125,
"keyword": "interactive theorem proving sch16"},
-{"id": 3104,
+{"id": 3126,
"keyword": "dirk pfl ger"},
-{"id": 3105,
+{"id": 3127,
"keyword": "local lexing"},
-{"id": 3106,
+{"id": 3128,
"keyword": "lower semicontinuous"},
-{"id": 3107,
+{"id": 3129,
"keyword": "single unit"},
->>>>>>> merge rev
-{"id": 3108,
-<<<<<<< working copy
-"keyword": "projective plane geometry"},
-||||||| common ancestor
-"keyword": "automated reasoning tools"},
-=======
+{"id": 3130,
"keyword": "mechanizing gauss"},
->>>>>>> merge rev
-{"id": 3109,
-<<<<<<< working copy
-"keyword": "programs checking certificates"},
-||||||| common ancestor
-"keyword": "official standard"},
-=======
+{"id": 3131,
"keyword": "multi-stage compiler verifications"},
->>>>>>> merge rev
-{"id": 3110,
-<<<<<<< working copy
-"keyword": "conjunctive normal forms"},
-||||||| common ancestor
-"keyword": "vital part"},
-=======
+{"id": 3132,
"keyword": "theorem"},
->>>>>>> merge rev
-{"id": 3111,
-<<<<<<< working copy
-"keyword": "chapters 7-9"},
-||||||| common ancestor
-"keyword": "integer polynomials"},
-=======
+{"id": 3133,
"keyword": "formalising baker"},
->>>>>>> merge rev
-{"id": 3112,
-<<<<<<< working copy
-"keyword": "floor divided"},
-||||||| common ancestor
-"keyword": "borrow terminology"},
-=======
+{"id": 3134,
"keyword": "formal guarantees"},
->>>>>>> merge rev
-{"id": 3113,
-<<<<<<< working copy
-"keyword": "ringed spaces"},
-||||||| common ancestor
-"keyword": "projective plane geometry"},
-=======
+{"id": 3135,
"keyword": "classical registers"},
->>>>>>> merge rev
-{"id": 3114,
-<<<<<<< working copy
-"keyword": "draft paper"},
-||||||| common ancestor
-"keyword": "programs checking certificates"},
-=======
+{"id": 3136,
"keyword": "results"},
->>>>>>> merge rev
-{"id": 3115,
-<<<<<<< working copy
-"keyword": "employ code equations"},
-||||||| common ancestor
-"keyword": "conjunctive normal forms"},
-=======
+{"id": 3137,
"keyword": "usual monad laws"},
->>>>>>> merge rev
-{"id": 3116,
-<<<<<<< working copy
-"keyword": "transformations"},
-||||||| common ancestor
-"keyword": "chapters 7-9"},
-=======
+{"id": 3138,
"keyword": "implement probabilistic algorithms"},
->>>>>>> merge rev
-{"id": 3117,
-<<<<<<< working copy
-"keyword": "negative solution"},
-||||||| common ancestor
-"keyword": "floor divided"},
-=======
+{"id": 3139,
"keyword": "daniel schoepe"},
->>>>>>> merge rev
-{"id": 3118,
-<<<<<<< working copy
-"keyword": "lifting algebraic laws point-wise"},
-{"id": 3119,
-"keyword": "observed sequence"},
-{"id": 3120,
-"keyword": "dogged previous mechanised proofs"},
-{"id": 3121,
-"keyword": "hol overhead"},
-{"id": 3122,
-"keyword": "open problem"},
-{"id": 3123,
-"keyword": "girth-chromatic number theorem"},
-{"id": 3124,
-"keyword": "scheduling activity"},
-{"id": 3125,
-"keyword": "simplicial complex"},
-{"id": 3126,
-"keyword": "formalisation continues"},
-||||||| common ancestor
-"keyword": "ringed spaces"},
-{"id": 3119,
-"keyword": "draft paper"},
-{"id": 3120,
-"keyword": "employ code equations"},
-{"id": 3121,
-"keyword": "transformations"},
-{"id": 3122,
-"keyword": "negative solution"},
-{"id": 3123,
-"keyword": "lifting algebraic laws point-wise"},
-{"id": 3124,
-"keyword": "observed sequence"},
-{"id": 3125,
-"keyword": "dogged previous mechanised proofs"},
-{"id": 3126,
-"keyword": "hol overhead"},
-=======
+{"id": 3140,
"keyword": "isar conversion"},
-{"id": 3119,
+{"id": 3141,
"keyword": "standard compliant formalization"},
-{"id": 3120,
+{"id": 3142,
"keyword": "finite group"},
-{"id": 3121,
+{"id": 3143,
"keyword": "frobenius endomorphism"},
-{"id": 3122,
+{"id": 3144,
"keyword": "nominal logic"},
-{"id": 3123,
+{"id": 3145,
"keyword": "separation-logic based correctness proofs"},
-{"id": 3124,
+{"id": 3146,
"keyword": "distinct algebraic numbers alpha_i"},
-{"id": 3125,
+{"id": 3147,
"keyword": "macaulay matrix constructed"},
-{"id": 3126,
+{"id": 3148,
"keyword": "refinement orders"},
->>>>>>> merge rev
-{"id": 3127,
-<<<<<<< working copy
-"keyword": "monotonic functions"},
-||||||| common ancestor
-"keyword": "open problem"},
-=======
+{"id": 3149,
"keyword": "biggest part"},
->>>>>>> merge rev
-{"id": 3128,
-<<<<<<< working copy
-"keyword": "alphabet letters"},
-||||||| common ancestor
-"keyword": "girth-chromatic number theorem"},
-=======
+{"id": 3150,
"keyword": "continuation semantics"},
->>>>>>> merge rev
-{"id": 3129,
-<<<<<<< working copy
-"keyword": "executable proof checker"},
-||||||| common ancestor
-"keyword": "scheduling activity"},
-=======
+{"id": 3151,
"keyword": "riemann integral"},
->>>>>>> merge rev
-{"id": 3130,
-<<<<<<< working copy
-"keyword": "failures-divergences pair"},
-||||||| common ancestor
-"keyword": "simplicial complex"},
-=======
+{"id": 3152,
"keyword": "automated theorem proving"},
->>>>>>> merge rev
-{"id": 3131,
-<<<<<<< working copy
-"keyword": "synthesize imperative programs"},
-||||||| common ancestor
-"keyword": "formalisation continues"},
-=======
+{"id": 3153,
"keyword": "functional arrays"},
->>>>>>> merge rev
-{"id": 3132,
-<<<<<<< working copy
-"keyword": "communicating products"},
-||||||| common ancestor
-"keyword": "monotonic functions"},
-=======
+{"id": 3154,
"keyword": "previous unifiers"},
->>>>>>> merge rev
-{"id": 3133,
-<<<<<<< working copy
-"keyword": "geodesic spaces"},
-||||||| common ancestor
-"keyword": "alphabet letters"},
-=======
+{"id": 3155,
"keyword": "crowds protocol"},
->>>>>>> merge rev
-{"id": 3134,
-<<<<<<< working copy
-"keyword": "branches guarded"},
-||||||| common ancestor
-"keyword": "executable proof checker"},
-=======
+{"id": 3156,
"keyword": "spark certify"},
->>>>>>> merge rev
-{"id": 3135,
-<<<<<<< working copy
-"keyword": "deg"},
-||||||| common ancestor
-"keyword": "failures-divergences pair"},
-=======
+{"id": 3157,
"keyword": "classic non-randomised quicksort"},
->>>>>>> merge rev
-{"id": 3136,
-<<<<<<< working copy
-"keyword": "restricted definition"},
-||||||| common ancestor
-"keyword": "synthesize imperative programs"},
-=======
+{"id": 3158,
"keyword": "verifying techniques"},
->>>>>>> merge rev
-{"id": 3137,
-<<<<<<< working copy
-"keyword": "first-order functional language"},
-{"id": 3138,
-"keyword": "diagrammatic modeling language"},
-{"id": 3139,
-"keyword": "system types"},
-{"id": 3140,
-"keyword": "formalization builds"},
-{"id": 3141,
-"keyword": "analyze sufficient conditions"},
-{"id": 3142,
-"keyword": "implementation"},
-{"id": 3143,
-"keyword": "reading heads asynchronously"},
-{"id": 3144,
-"keyword": "experimental general-purpose proof methods"},
-{"id": 3145,
-"keyword": "game theory"},
-||||||| common ancestor
-"keyword": "communicating products"},
-{"id": 3138,
-"keyword": "geodesic spaces"},
-{"id": 3139,
-"keyword": "branches guarded"},
-{"id": 3140,
-"keyword": "deg"},
-{"id": 3141,
-"keyword": "restricted definition"},
-{"id": 3142,
-"keyword": "first-order functional language"},
-{"id": 3143,
-"keyword": "diagrammatic modeling language"},
-{"id": 3144,
-"keyword": "system types"},
-{"id": 3145,
-"keyword": "formalization builds"},
-=======
+{"id": 3159,
"keyword": "automated reasoning tools"},
-{"id": 3138,
+{"id": 3160,
"keyword": "official standard"},
-{"id": 3139,
+{"id": 3161,
"keyword": "vital part"},
-{"id": 3140,
+{"id": 3162,
"keyword": "integer polynomials"},
-{"id": 3141,
+{"id": 3163,
"keyword": "borrow terminology"},
-{"id": 3142,
+{"id": 3164,
"keyword": "supported unicode characters"},
-{"id": 3143,
+{"id": 3165,
"keyword": "projective plane geometry"},
-{"id": 3144,
+{"id": 3166,
"keyword": "programs checking certificates"},
-{"id": 3145,
+{"id": 3167,
"keyword": "conjunctive normal forms"},
->>>>>>> merge rev
-{"id": 3146,
-<<<<<<< working copy
-"keyword": "verifying dynamic"},
-||||||| common ancestor
-"keyword": "analyze sufficient conditions"},
-=======
+{"id": 3168,
"keyword": "chapters 7-9"},
->>>>>>> merge rev
-{"id": 3147,
-<<<<<<< working copy
-"keyword": "hol code generator"},
-||||||| common ancestor
-"keyword": "implementation"},
-=======
+{"id": 3169,
"keyword": "floor divided"},
->>>>>>> merge rev
-{"id": 3148,
-<<<<<<< working copy
-"keyword": "additional iteration laws"},
-||||||| common ancestor
-"keyword": "reading heads asynchronously"},
-=======
+{"id": 3170,
"keyword": "ringed spaces"},
->>>>>>> merge rev
-{"id": 3149,
-<<<<<<< working copy
-"keyword": "steam boiler system"},
-||||||| common ancestor
-"keyword": "experimental general-purpose proof methods"},
-=======
+{"id": 3171,
"keyword": "draft paper"},
->>>>>>> merge rev
-{"id": 3150,
-<<<<<<< working copy
-"keyword": "reflection formula"},
-||||||| common ancestor
-"keyword": "game theory"},
-=======
+{"id": 3172,
"keyword": "employ code equations"},
->>>>>>> merge rev
-{"id": 3151,
-<<<<<<< working copy
-"keyword": "nested multiset order"},
-||||||| common ancestor
-"keyword": "verifying dynamic"},
-=======
-"keyword": "transformations"},
->>>>>>> merge rev
-{"id": 3152,
-<<<<<<< working copy
-"keyword": "algebraic semantics"},
-||||||| common ancestor
-"keyword": "hol code generator"},
-=======
-"keyword": "negative solution"},
->>>>>>> merge rev
-{"id": 3153,
-<<<<<<< working copy
-"keyword": "underlying algorithmic mechanisms"},
-||||||| common ancestor
-"keyword": "additional iteration laws"},
-=======
-"keyword": "lifting algebraic laws point-wise"},
->>>>>>> merge rev
-{"id": 3154,
-<<<<<<< working copy
-"keyword": "concurrent composition"},
-||||||| common ancestor
-"keyword": "steam boiler system"},
-=======
-"keyword": "observed sequence"},
->>>>>>> merge rev
-{"id": 3155,
-<<<<<<< working copy
-"keyword": "elementary theory"},
-{"id": 3156,
-||||||| common ancestor
-"keyword": "reflection formula"},
-{"id": 3156,
-"keyword": "nested multiset order"},
-{"id": 3157,
-"keyword": "algebraic semantics"},
-{"id": 3158,
-"keyword": "underlying algorithmic mechanisms"},
-{"id": 3159,
-"keyword": "concurrent composition"},
-{"id": 3160,
-"keyword": "elementary theory"},
-{"id": 3161,
-=======
-"keyword": "dogged previous mechanised proofs"},
-{"id": 3156,
-"keyword": "hol overhead"},
-{"id": 3157,
-"keyword": "open problem"},
-{"id": 3158,
-"keyword": "girth-chromatic number theorem"},
-{"id": 3159,
-"keyword": "scheduling activity"},
-{"id": 3160,
-"keyword": "simplicial complex"},
-{"id": 3161,
-"keyword": "formalisation continues"},
-{"id": 3162,
-"keyword": "monotonic functions"},
-{"id": 3163,
-"keyword": "alphabet letters"},
-{"id": 3164,
-"keyword": "executable proof checker"},
-{"id": 3165,
-"keyword": "failures-divergences pair"},
-{"id": 3166,
-"keyword": "synthesize imperative programs"},
-{"id": 3167,
-"keyword": "communicating products"},
-{"id": 3168,
-"keyword": "geodesic spaces"},
-{"id": 3169,
-"keyword": "branches guarded"},
-{"id": 3170,
-"keyword": "deg"},
-{"id": 3171,
-"keyword": "restricted definition"},
-{"id": 3172,
-"keyword": "first-order functional language"},
{"id": 3173,
-"keyword": "diagrammatic modeling language"},
+"keyword": "transformations"},
{"id": 3174,
-"keyword": "system types"},
+"keyword": "negative solution"},
{"id": 3175,
-"keyword": "formalization builds"},
-{"id": 3176,
-"keyword": "analyze sufficient conditions"},
-{"id": 3177,
-"keyword": "implementation"},
-{"id": 3178,
-"keyword": "reading heads asynchronously"},
-{"id": 3179,
-"keyword": "experimental general-purpose proof methods"},
-{"id": 3180,
-"keyword": "game theory"},
-{"id": 3181,
-"keyword": "verifying dynamic"},
-{"id": 3182,
-"keyword": "hol code generator"},
-{"id": 3183,
-"keyword": "additional iteration laws"},
-{"id": 3184,
-"keyword": "steam boiler system"},
-{"id": 3185,
-"keyword": "reflection formula"},
-{"id": 3186,
-"keyword": "nested multiset order"},
-{"id": 3187,
-"keyword": "algebraic semantics"},
-{"id": 3188,
-"keyword": "underlying algorithmic mechanisms"},
-{"id": 3189,
-"keyword": "concurrent composition"},
-{"id": 3190,
-"keyword": "elementary theory"},
-{"id": 3191,
->>>>>>> merge rev
-"keyword": "outwards-pointing normal vector"},
-<<<<<<< working copy
-{"id": 3157,
-||||||| common ancestor
-{"id": 3162,
-=======
-{"id": 3192,
->>>>>>> merge rev
-"keyword": "matrices represented"},
-<<<<<<< working copy
-{"id": 3158,
-||||||| common ancestor
-{"id": 3163,
-=======
-{"id": 3193,
->>>>>>> merge rev
-"keyword": "factored representation"},
-<<<<<<< working copy
-{"id": 3159,
-||||||| common ancestor
-{"id": 3164,
-=======
-{"id": 3194,
->>>>>>> merge rev
-"keyword": "leftmost reduction"},
-<<<<<<< working copy
-{"id": 3160,
-"keyword": "specification language statecharts"},
-{"id": 3161,
-"keyword": "larger cardinality"},
-{"id": 3162,
-"keyword": "side conditions"},
-{"id": 3163,
-"keyword": "imperative language constructs"},
-{"id": 3164,
-"keyword": "automatic data refinement"},
-{"id": 3165,
-"keyword": "theory listinf list2"},
-{"id": 3166,
-"keyword": "formal implementation"},
-{"id": 3167,
-"keyword": "presented theory"},
-{"id": 3168,
-"keyword": "stronger safety guarantees"},
-{"id": 3169,
-"keyword": "network protocols"},
-{"id": 3170,
-"keyword": "separation logic connective"},
-{"id": 3171,
-"keyword": "playfair axiom"},
-{"id": 3172,
-"keyword": "local parallel compositions"},
-{"id": 3173,
-"keyword": "cartesian closed"},
-{"id": 3174,
-"keyword": "xml trees"},
-{"id": 3175,
-"keyword": "resulting tree"},
-{"id": 3176,
-"keyword": "natural number"},
-{"id": 3177,
-"keyword": "regular algebras"},
-{"id": 3178,
-"keyword": "type preservation"},
-{"id": 3179,
-"keyword": "field-theoretic nullstellensatz"},
-{"id": 3180,
-"keyword": "document object model"},
-{"id": 3181,
-"keyword": "shortest path"},
-{"id": 3182,
-"keyword": "finite sound extensions"},
-{"id": 3183,
-"keyword": "parametricity infrastructure"},
-{"id": 3184,
-"keyword": "entry builds"},
-{"id": 3185,
-||||||| common ancestor
-{"id": 3165,
-"keyword": "specification language statecharts"},
-{"id": 3166,
-"keyword": "larger cardinality"},
-{"id": 3167,
-"keyword": "side conditions"},
-{"id": 3168,
-"keyword": "imperative language constructs"},
-{"id": 3169,
-"keyword": "automatic data refinement"},
-{"id": 3170,
-"keyword": "theory listinf list2"},
-{"id": 3171,
-"keyword": "formal implementation"},
-{"id": 3172,
-"keyword": "presented theory"},
-{"id": 3173,
-"keyword": "stronger safety guarantees"},
-{"id": 3174,
-"keyword": "network protocols"},
-{"id": 3175,
-"keyword": "separation logic connective"},
+"keyword": "lifting algebraic laws point-wise"},
{"id": 3176,
-"keyword": "playfair axiom"},
+"keyword": "observed sequence"},
{"id": 3177,
-"keyword": "local parallel compositions"},
+"keyword": "dogged previous mechanised proofs"},
{"id": 3178,
-"keyword": "cartesian closed"},
+"keyword": "hol overhead"},
{"id": 3179,
-"keyword": "xml trees"},
+"keyword": "open problem"},
{"id": 3180,
-"keyword": "resulting tree"},
+"keyword": "girth-chromatic number theorem"},
{"id": 3181,
-"keyword": "natural number"},
+"keyword": "scheduling activity"},
{"id": 3182,
-"keyword": "regular algebras"},
+"keyword": "simplicial complex"},
{"id": 3183,
-"keyword": "type preservation"},
+"keyword": "formalisation continues"},
{"id": 3184,
-"keyword": "field-theoretic nullstellensatz"},
+"keyword": "monotonic functions"},
{"id": 3185,
-"keyword": "document object model"},
+"keyword": "alphabet letters"},
{"id": 3186,
-"keyword": "shortest path"},
+"keyword": "executable proof checker"},
{"id": 3187,
-"keyword": "finite sound extensions"},
+"keyword": "failures-divergences pair"},
{"id": 3188,
-"keyword": "parametricity infrastructure"},
+"keyword": "synthesize imperative programs"},
{"id": 3189,
-"keyword": "entry builds"},
+"keyword": "communicating products"},
{"id": 3190,
-=======
-{"id": 3195,
-"keyword": "specification language statecharts"},
-{"id": 3196,
-"keyword": "larger cardinality"},
-{"id": 3197,
-"keyword": "side conditions"},
-{"id": 3198,
-"keyword": "imperative language constructs"},
-{"id": 3199,
-"keyword": "automatic data refinement"},
-{"id": 3200,
-"keyword": "theory listinf list2"},
-{"id": 3201,
-"keyword": "formal implementation"},
-{"id": 3202,
-"keyword": "presented theory"},
-{"id": 3203,
-"keyword": "stronger safety guarantees"},
-{"id": 3204,
-"keyword": "network protocols"},
-{"id": 3205,
-"keyword": "separation logic connective"},
-{"id": 3206,
-"keyword": "playfair axiom"},
-{"id": 3207,
-"keyword": "local parallel compositions"},
-{"id": 3208,
-"keyword": "cartesian closed"},
-{"id": 3209,
-"keyword": "xml trees"},
-{"id": 3210,
-"keyword": "resulting tree"},
-{"id": 3211,
-"keyword": "natural number"},
-{"id": 3212,
-"keyword": "regular algebras"},
-{"id": 3213,
-"keyword": "type preservation"},
-{"id": 3214,
-"keyword": "field-theoretic nullstellensatz"},
-{"id": 3215,
-"keyword": "document object model"},
-{"id": 3216,
-"keyword": "shortest path"},
-{"id": 3217,
-"keyword": "finite sound extensions"},
-{"id": 3218,
-"keyword": "parametricity infrastructure"},
-{"id": 3219,
-"keyword": "entry builds"},
-{"id": 3220,
->>>>>>> merge rev
-"keyword": "finding proofs"},
-<<<<<<< working copy
-{"id": 3186,
-||||||| common ancestor
+"keyword": "geodesic spaces"},
{"id": 3191,
-=======
-{"id": 3221,
->>>>>>> merge rev
-"keyword": "eventual consistency property"},
-<<<<<<< working copy
-{"id": 3187,
-||||||| common ancestor
+"keyword": "branches guarded"},
{"id": 3192,
-=======
-{"id": 3222,
->>>>>>> merge rev
-"keyword": "step-wise refinement based"},
-<<<<<<< working copy
-{"id": 3188,
-||||||| common ancestor
+"keyword": "deg"},
{"id": 3193,
-=======
-{"id": 3223,
->>>>>>> merge rev
-"keyword": "average number"},
-<<<<<<< working copy
-{"id": 3189,
-"keyword": "subject reduction property"},
-{"id": 3190,
-"keyword": "refinement kleene algebra"},
-{"id": 3191,
-"keyword": "coinductive formalisations"},
-{"id": 3192,
-"keyword": "exponential functions"},
-{"id": 3193,
-"keyword": "constructions based"},
-{"id": 3194,
-"keyword": "simple procedure call mechanism"},
-{"id": 3195,
-"keyword": "find operation"},
-{"id": 3196,
-"keyword": "entry strong security"},
-{"id": 3197,
-"keyword": "0-1-2-principle"},
-{"id": 3198,
-"keyword": "associative lists"},
-{"id": 3199,
-"keyword": "state-based semantics based"},
-{"id": 3200,
-"keyword": "hol theory listextras"},
-{"id": 3201,
-"keyword": "code generator setup"},
-{"id": 3202,
-"keyword": "algorithm"},
-{"id": 3203,
-"keyword": "static analysis"},
-{"id": 3204,
-||||||| common ancestor
+"keyword": "restricted definition"},
{"id": 3194,
-"keyword": "subject reduction property"},
+"keyword": "first-order functional language"},
{"id": 3195,
-"keyword": "refinement kleene algebra"},
+"keyword": "diagrammatic modeling language"},
{"id": 3196,
-"keyword": "coinductive formalisations"},
+"keyword": "system types"},
{"id": 3197,
-"keyword": "exponential functions"},
+"keyword": "formalization builds"},
{"id": 3198,
-"keyword": "constructions based"},
+"keyword": "analyze sufficient conditions"},
{"id": 3199,
-"keyword": "simple procedure call mechanism"},
+"keyword": "implementation"},
{"id": 3200,
-"keyword": "find operation"},
+"keyword": "reading heads asynchronously"},
{"id": 3201,
-"keyword": "entry strong security"},
+"keyword": "experimental general-purpose proof methods"},
{"id": 3202,
-"keyword": "0-1-2-principle"},
+"keyword": "game theory"},
{"id": 3203,
-"keyword": "associative lists"},
+"keyword": "verifying dynamic"},
{"id": 3204,
-"keyword": "state-based semantics based"},
+"keyword": "hol code generator"},
{"id": 3205,
-"keyword": "hol theory listextras"},
+"keyword": "additional iteration laws"},
{"id": 3206,
-"keyword": "code generator setup"},
+"keyword": "steam boiler system"},
{"id": 3207,
-"keyword": "algorithm"},
+"keyword": "reflection formula"},
{"id": 3208,
-"keyword": "static analysis"},
+"keyword": "nested multiset order"},
{"id": 3209,
-=======
+"keyword": "algebraic semantics"},
+{"id": 3210,
+"keyword": "underlying algorithmic mechanisms"},
+{"id": 3211,
+"keyword": "concurrent composition"},
+{"id": 3212,
+"keyword": "elementary theory"},
+{"id": 3213,
+"keyword": "outwards-pointing normal vector"},
+{"id": 3214,
+"keyword": "matrices represented"},
+{"id": 3215,
+"keyword": "factored representation"},
+{"id": 3216,
+"keyword": "leftmost reduction"},
+{"id": 3217,
+"keyword": "specification language statecharts"},
+{"id": 3218,
+"keyword": "larger cardinality"},
+{"id": 3219,
+"keyword": "side conditions"},
+{"id": 3220,
+"keyword": "imperative language constructs"},
+{"id": 3221,
+"keyword": "automatic data refinement"},
+{"id": 3222,
+"keyword": "theory listinf list2"},
+{"id": 3223,
+"keyword": "formal implementation"},
{"id": 3224,
-"keyword": "subject reduction property"},
+"keyword": "presented theory"},
{"id": 3225,
-"keyword": "exchanging data sets"},
+"keyword": "stronger safety guarantees"},
{"id": 3226,
-"keyword": "refinement kleene algebra"},
+"keyword": "network protocols"},
{"id": 3227,
-"keyword": "coinductive formalisations"},
-{"id": 3228,
-"keyword": "exponential functions"},
-{"id": 3229,
-"keyword": "constructions based"},
-{"id": 3230,
-"keyword": "simple procedure call mechanism"},
-{"id": 3231,
-"keyword": "find operation"},
-{"id": 3232,
-"keyword": "entry strong security"},
-{"id": 3233,
-"keyword": "0-1-2-principle"},
-{"id": 3234,
-"keyword": "associative lists"},
-{"id": 3235,
-"keyword": "state-based semantics based"},
-{"id": 3236,
-"keyword": "hol theory listextras"},
-{"id": 3237,
-"keyword": "code generator setup"},
-{"id": 3238,
-"keyword": "algorithm"},
-{"id": 3239,
-"keyword": "static analysis"},
-{"id": 3240,
->>>>>>> merge rev
-"keyword": "symmetry arguments"},
-<<<<<<< working copy
-{"id": 3205,
-"keyword": "sepref tool"},
-{"id": 3206,
-"keyword": "collection datastructures"},
-{"id": 3207,
-"keyword": "verifying program correctness"},
-{"id": 3208,
-"keyword": "unit propagation"},
-{"id": 3209,
-"keyword": "highly informal"},
-{"id": 3210,
-"keyword": "industrial systems"},
-{"id": 3211,
-"keyword": "work revealed minor"},
-{"id": 3212,
-"keyword": "annotated commands"},
-{"id": 3213,
-"keyword": "randomized approximation algorithms"},
-{"id": 3214,
-"keyword": "check"},
-{"id": 3215,
-"keyword": "extended version"},
-{"id": 3216,
-"keyword": "monotone predicate"},
-{"id": 3217,
-"keyword": "dom respect component boundaries"},
-{"id": 3218,
-"keyword": "eventual consistency"},
-{"id": 3219,
-"keyword": "hyperdual extensions"},
-{"id": 3220,
-"keyword": "static single assignment"},
-{"id": 3221,
-"keyword": "security guarantees"},
-{"id": 3222,
-"keyword": "underlying algebra"},
-{"id": 3223,
-"keyword": "unit resolution"},
-{"id": 3224,
-"keyword": "non-adjacent distinct vertices"},
-{"id": 3225,
-"keyword": "large computations"},
-{"id": 3226,
-"keyword": "detailed calculations"},
-{"id": 3227,
-"keyword": "parametrizable equality functions"},
+"keyword": "separation logic connective"},
{"id": 3228,
-"keyword": "formal proof assistant"},
+"keyword": "playfair axiom"},
{"id": 3229,
-"keyword": "sat solver installs"},
+"keyword": "local parallel compositions"},
{"id": 3230,
-"keyword": "hf set theory"},
+"keyword": "cartesian closed"},
{"id": 3231,
-"keyword": "counting sort"},
+"keyword": "xml trees"},
{"id": 3232,
-"keyword": "mathematical tools"},
+"keyword": "resulting tree"},
{"id": 3233,
-"keyword": "inversion rules"},
+"keyword": "natural number"},
{"id": 3234,
-"keyword": "calculating cauchy indices"},
+"keyword": "regular algebras"},
{"id": 3235,
-"keyword": "price determination"},
+"keyword": "type preservation"},
{"id": 3236,
-"keyword": "x_1 varepsilon"},
+"keyword": "field-theoretic nullstellensatz"},
{"id": 3237,
-"keyword": "univariate polynomial"},
+"keyword": "document object model"},
{"id": 3238,
-"keyword": "executable tool translating ltl"},
+"keyword": "shortest path"},
{"id": 3239,
-"keyword": "previous cc formalization constructive_cryptography"},
+"keyword": "finite sound extensions"},
{"id": 3240,
-"keyword": "container framework"},
-||||||| common ancestor
-{"id": 3210,
-"keyword": "sepref tool"},
-{"id": 3211,
-"keyword": "collection datastructures"},
-{"id": 3212,
-"keyword": "verifying program correctness"},
-{"id": 3213,
-"keyword": "unit propagation"},
-{"id": 3214,
-"keyword": "highly informal"},
-{"id": 3215,
-"keyword": "industrial systems"},
-{"id": 3216,
-"keyword": "work revealed minor"},
-{"id": 3217,
-"keyword": "annotated commands"},
-{"id": 3218,
-"keyword": "randomized approximation algorithms"},
-{"id": 3219,
-"keyword": "check"},
-{"id": 3220,
-"keyword": "extended version"},
-{"id": 3221,
-"keyword": "monotone predicate"},
-{"id": 3222,
-"keyword": "dom respect component boundaries"},
-{"id": 3223,
-"keyword": "eventual consistency"},
-{"id": 3224,
-"keyword": "hyperdual extensions"},
-{"id": 3225,
-"keyword": "static single assignment"},
-{"id": 3226,
-"keyword": "security guarantees"},
-{"id": 3227,
-"keyword": "underlying algebra"},
-{"id": 3228,
-"keyword": "unit resolution"},
-{"id": 3229,
-"keyword": "non-adjacent distinct vertices"},
-{"id": 3230,
-"keyword": "large computations"},
-{"id": 3231,
-"keyword": "detailed calculations"},
-{"id": 3232,
-"keyword": "parametrizable equality functions"},
-{"id": 3233,
-"keyword": "formal proof assistant"},
-{"id": 3234,
-"keyword": "sat solver installs"},
-{"id": 3235,
-"keyword": "hf set theory"},
-{"id": 3236,
-"keyword": "counting sort"},
-{"id": 3237,
-"keyword": "mathematical tools"},
-{"id": 3238,
-"keyword": "inversion rules"},
-{"id": 3239,
-"keyword": "calculating cauchy indices"},
-{"id": 3240,
-"keyword": "price determination"},
-=======
->>>>>>> merge rev
+"keyword": "parametricity infrastructure"},
{"id": 3241,
-<<<<<<< working copy
-"keyword": "order relation"},
-||||||| common ancestor
-"keyword": "x_1 varepsilon"},
-=======
-"keyword": "sepref tool"},
->>>>>>> merge rev
+"keyword": "entry builds"},
{"id": 3242,
-<<<<<<< working copy
-"keyword": "reflective quantifier elimination procedures"},
+"keyword": "finding proofs"},
{"id": 3243,
-"keyword": "concrete version"},
+"keyword": "eventual consistency property"},
{"id": 3244,
-"keyword": "drinks machine"},
+"keyword": "step-wise refinement based"},
{"id": 3245,
-"keyword": "security properties"},
+"keyword": "average number"},
{"id": 3246,
-"keyword": "analytical arguments"},
+"keyword": "subject reduction property"},
{"id": 3247,
-"keyword": "anonymous social choice function"},
+"keyword": "exchanging data sets"},
{"id": 3248,
-"keyword": "crowning achievements"},
+"keyword": "refinement kleene algebra"},
{"id": 3249,
-"keyword": "concurrency primitives"},
+"keyword": "coinductive formalisations"},
{"id": 3250,
-"keyword": "quantum computing"},
+"keyword": "exponential functions"},
{"id": 3251,
-"keyword": "fixed choice"},
+"keyword": "constructions based"},
{"id": 3252,
-"keyword": "graph saturation"},
+"keyword": "simple procedure call mechanism"},
{"id": 3253,
-"keyword": "signed diffie-hellman"},
+"keyword": "find operation"},
{"id": 3254,
-"keyword": "characterization theorem"},
+"keyword": "entry strong security"},
{"id": 3255,
-"keyword": "ground terms induced"},
+"keyword": "0-1-2-principle"},
{"id": 3256,
-"keyword": "universal properties"},
+"keyword": "associative lists"},
{"id": 3257,
-"keyword": "weakest precondition component"},
+"keyword": "state-based semantics based"},
{"id": 3258,
-"keyword": "proof theory"},
+"keyword": "hol theory listextras"},
{"id": 3259,
-"keyword": "hol code generation facilities"},
-{"id": 3260,
-"keyword": "logarithmic time"},
-||||||| common ancestor
-"keyword": "univariate polynomial"},
-{"id": 3243,
-"keyword": "executable tool translating ltl"},
-{"id": 3244,
-"keyword": "previous cc formalization constructive_cryptography"},
-{"id": 3245,
-"keyword": "container framework"},
-{"id": 3246,
-"keyword": "order relation"},
-{"id": 3247,
-"keyword": "reflective quantifier elimination procedures"},
-{"id": 3248,
-"keyword": "concrete version"},
-{"id": 3249,
-"keyword": "drinks machine"},
-{"id": 3250,
-"keyword": "security properties"},
-{"id": 3251,
-"keyword": "analytical arguments"},
-{"id": 3252,
-"keyword": "anonymous social choice function"},
-{"id": 3253,
-"keyword": "crowning achievements"},
-{"id": 3254,
-"keyword": "concurrency primitives"},
-{"id": 3255,
-"keyword": "quantum computing"},
-{"id": 3256,
-"keyword": "fixed choice"},
-{"id": 3257,
-"keyword": "graph saturation"},
-{"id": 3258,
-"keyword": "signed diffie-hellman"},
-{"id": 3259,
-"keyword": "characterization theorem"},
+"keyword": "code generator setup"},
{"id": 3260,
-"keyword": "ground terms induced"},
-=======
-"keyword": "collection datastructures"},
-{"id": 3243,
-"keyword": "verifying program correctness"},
-{"id": 3244,
-"keyword": "unit propagation"},
-{"id": 3245,
-"keyword": "highly informal"},
-{"id": 3246,
-"keyword": "industrial systems"},
-{"id": 3247,
-"keyword": "work revealed minor"},
-{"id": 3248,
-"keyword": "annotated commands"},
-{"id": 3249,
-"keyword": "randomized approximation algorithms"},
-{"id": 3250,
-"keyword": "check"},
-{"id": 3251,
-"keyword": "extended version"},
-{"id": 3252,
-"keyword": "monotone predicate"},
-{"id": 3253,
-"keyword": "dom respect component boundaries"},
-{"id": 3254,
-"keyword": "eventual consistency"},
-{"id": 3255,
-"keyword": "hyperdual extensions"},
-{"id": 3256,
-"keyword": "static single assignment"},
-{"id": 3257,
-"keyword": "security guarantees"},
-{"id": 3258,
-"keyword": "underlying algebra"},
-{"id": 3259,
-"keyword": "unit resolution"},
-{"id": 3260,
-"keyword": "non-adjacent distinct vertices"},
->>>>>>> merge rev
+"keyword": "algorithm"},
{"id": 3261,
-<<<<<<< working copy
-"keyword": "unsolvable system"},
-||||||| common ancestor
-"keyword": "universal properties"},
-=======
-"keyword": "large computations"},
->>>>>>> merge rev
+"keyword": "static analysis"},
{"id": 3262,
-<<<<<<< working copy
-"keyword": "handle equality tests"},
-||||||| common ancestor
-"keyword": "weakest precondition component"},
-=======
-"keyword": "detailed calculations"},
->>>>>>> merge rev
+"keyword": "symmetry arguments"},
{"id": 3263,
-<<<<<<< working copy
-"keyword": "bad sequences"},
-||||||| common ancestor
-"keyword": "proof theory"},
-=======
-"keyword": "parametrizable equality functions"},
->>>>>>> merge rev
+"keyword": "sepref tool"},
{"id": 3264,
-<<<<<<< working copy
-"keyword": "bounded number"},
-||||||| common ancestor
-"keyword": "hol code generation facilities"},
-=======
-"keyword": "formal proof assistant"},
->>>>>>> merge rev
+"keyword": "collection datastructures"},
{"id": 3265,
-<<<<<<< working copy
-"keyword": "model formulas"},
-||||||| common ancestor
-"keyword": "logarithmic time"},
-=======
-"keyword": "sat solver installs"},
->>>>>>> merge rev
+"keyword": "verifying program correctness"},
{"id": 3266,
-<<<<<<< working copy
-"keyword": "minor technical issue"},
-||||||| common ancestor
-"keyword": "unsolvable system"},
-=======
-"keyword": "hf set theory"},
->>>>>>> merge rev
+"keyword": "unit propagation"},
{"id": 3267,
-<<<<<<< working copy
-"keyword": "thomas jech"},
-||||||| common ancestor
-"keyword": "handle equality tests"},
-=======
-"keyword": "counting sort"},
->>>>>>> merge rev
+"keyword": "highly informal"},
{"id": 3268,
-<<<<<<< working copy
-"keyword": "expected utility function"},
-||||||| common ancestor
-"keyword": "bad sequences"},
-=======
-"keyword": "mathematical tools"},
->>>>>>> merge rev
+"keyword": "industrial systems"},
{"id": 3269,
-<<<<<<< working copy
-"keyword": "gram-schmidt process"},
-||||||| common ancestor
-"keyword": "bounded number"},
-=======
-"keyword": "inversion rules"},
->>>>>>> merge rev
+"keyword": "work revealed minor"},
{"id": 3270,
-<<<<<<< working copy
-"keyword": "logically equivalent"},
-||||||| common ancestor
-"keyword": "model formulas"},
-=======
-"keyword": "calculating cauchy indices"},
->>>>>>> merge rev
+"keyword": "inverse transform intt"},
{"id": 3271,
-<<<<<<< working copy
-"keyword": "decision problem"},
+"keyword": "annotated commands"},
{"id": 3272,
-"keyword": "create executable scala code"},
-{"id": 3273,
-"keyword": "specifies compilation"},
-{"id": 3274,
-"keyword": "unbounded sequences"},
-{"id": 3275,
-"keyword": "implies confluence"},
-{"id": 3276,
-"keyword": "unifying theories"},
-{"id": 3277,
-"keyword": "linearly ordered commutative semigroups"},
-{"id": 3278,
-"keyword": "assembly-to-machine step"},
-{"id": 3279,
-"keyword": "called galois fields"},
-||||||| common ancestor
-"keyword": "minor technical issue"},
-{"id": 3272,
-"keyword": "thomas jech"},
+"keyword": "randomized approximation algorithms"},
{"id": 3273,
-"keyword": "expected utility function"},
+"keyword": "check"},
{"id": 3274,
-"keyword": "gram-schmidt process"},
+"keyword": "extended version"},
{"id": 3275,
-"keyword": "logically equivalent"},
+"keyword": "monotone predicate"},
{"id": 3276,
-"keyword": "decision problem"},
+"keyword": "dom respect component boundaries"},
{"id": 3277,
-"keyword": "create executable scala code"},
+"keyword": "eventual consistency"},
{"id": 3278,
-"keyword": "specifies compilation"},
+"keyword": "hyperdual extensions"},
{"id": 3279,
-"keyword": "unbounded sequences"},
-=======
-"keyword": "price determination"},
-{"id": 3272,
-"keyword": "x_1 varepsilon"},
-{"id": 3273,
-"keyword": "univariate polynomial"},
-{"id": 3274,
-"keyword": "executable tool translating ltl"},
-{"id": 3275,
-"keyword": "previous cc formalization constructive_cryptography"},
-{"id": 3276,
-"keyword": "container framework"},
-{"id": 3277,
-"keyword": "order relation"},
-{"id": 3278,
-"keyword": "reflective quantifier elimination procedures"},
-{"id": 3279,
-"keyword": "concrete version"},
->>>>>>> merge rev
+"keyword": "adding definitions"},
{"id": 3280,
-<<<<<<< working copy
-"keyword": "module development"},
-||||||| common ancestor
-"keyword": "implies confluence"},
-=======
-"keyword": "drinks machine"},
->>>>>>> merge rev
+"keyword": "static single assignment"},
{"id": 3281,
-<<<<<<< working copy
-"keyword": "geometric proof"},
-||||||| common ancestor
-"keyword": "unifying theories"},
-=======
-"keyword": "security properties"},
->>>>>>> merge rev
+"keyword": "security guarantees"},
{"id": 3282,
-<<<<<<< working copy
-"keyword": "mirroring beringer"},
-||||||| common ancestor
-"keyword": "linearly ordered commutative semigroups"},
-=======
-"keyword": "analytical arguments"},
->>>>>>> merge rev
+"keyword": "underlying algebra"},
{"id": 3283,
-<<<<<<< working copy
-"keyword": "autonomous vehicle"},
-||||||| common ancestor
-"keyword": "assembly-to-machine step"},
-=======
-"keyword": "anonymous social choice function"},
->>>>>>> merge rev
+"keyword": "unit resolution"},
{"id": 3284,
-<<<<<<< working copy
-"keyword": "routing table"},
-||||||| common ancestor
-"keyword": "called galois fields"},
-=======
-"keyword": "crowning achievements"},
->>>>>>> merge rev
+"keyword": "non-adjacent distinct vertices"},
{"id": 3285,
-<<<<<<< working copy
-"keyword": "standard prelude"},
-||||||| common ancestor
-"keyword": "module development"},
-=======
-"keyword": "concurrency primitives"},
->>>>>>> merge rev
+"keyword": "large computations"},
{"id": 3286,
-<<<<<<< working copy
-"keyword": "formal correctness proofs"},
-||||||| common ancestor
-"keyword": "geometric proof"},
-=======
-"keyword": "quantum computing"},
->>>>>>> merge rev
+"keyword": "detailed calculations"},
{"id": 3287,
-<<<<<<< working copy
-"keyword": "schneider"},
-||||||| common ancestor
-"keyword": "mirroring beringer"},
-=======
-"keyword": "fixed choice"},
->>>>>>> merge rev
+"keyword": "parametrizable equality functions"},
{"id": 3288,
-<<<<<<< working copy
-"keyword": "probabilistic timed automata"},
-||||||| common ancestor
-"keyword": "autonomous vehicle"},
-=======
-"keyword": "graph saturation"},
->>>>>>> merge rev
+"keyword": "formal proof assistant"},
{"id": 3289,
-<<<<<<< working copy
-"keyword": "finite functions"},
-||||||| common ancestor
-"keyword": "routing table"},
-=======
-"keyword": "signed diffie-hellman"},
->>>>>>> merge rev
+"keyword": "sat solver installs"},
{"id": 3290,
-<<<<<<< working copy
-"keyword": "reflexive transitive closure operation"},
-||||||| common ancestor
-"keyword": "standard prelude"},
-=======
-"keyword": "characterization theorem"},
->>>>>>> merge rev
+"keyword": "hf set theory"},
{"id": 3291,
-<<<<<<< working copy
-"keyword": "sequential semantics"},
-||||||| common ancestor
-"keyword": "formal correctness proofs"},
-=======
-"keyword": "ground terms induced"},
->>>>>>> merge rev
+"keyword": "counting sort"},
{"id": 3292,
-<<<<<<< working copy
-"keyword": "countable transitive model"},
-||||||| common ancestor
-"keyword": "schneider"},
-=======
-"keyword": "universal properties"},
->>>>>>> merge rev
+"keyword": "mathematical tools"},
{"id": 3293,
-<<<<<<< working copy
-"keyword": "allowed nominals"},
-||||||| common ancestor
-"keyword": "probabilistic timed automata"},
-=======
-"keyword": "weakest precondition component"},
->>>>>>> merge rev
+"keyword": "inversion rules"},
{"id": 3294,
-<<<<<<< working copy
-"keyword": "1 javier esparza"},
-||||||| common ancestor
-"keyword": "finite functions"},
-=======
-"keyword": "proof theory"},
->>>>>>> merge rev
+"keyword": "calculating cauchy indices"},
{"id": 3295,
-<<<<<<< working copy
-"keyword": "afp entry abstract completeness"},
-||||||| common ancestor
-"keyword": "reflexive transitive closure operation"},
-=======
-"keyword": "hol code generation facilities"},
->>>>>>> merge rev
+"keyword": "price determination"},
{"id": 3296,
-<<<<<<< working copy
-"keyword": "lll algorithm"},
-||||||| common ancestor
-"keyword": "sequential semantics"},
-=======
-"keyword": "logarithmic time"},
->>>>>>> merge rev
+"keyword": "x_1 varepsilon"},
{"id": 3297,
-<<<<<<< working copy
-"keyword": "proof search procedure"},
-||||||| common ancestor
-"keyword": "countable transitive model"},
-=======
-"keyword": "unsolvable system"},
->>>>>>> merge rev
+"keyword": "univariate polynomial"},
{"id": 3298,
-<<<<<<< working copy
-"keyword": "dynamic class initialization"},
-||||||| common ancestor
-"keyword": "allowed nominals"},
-=======
-"keyword": "handle equality tests"},
->>>>>>> merge rev
+"keyword": "executable tool translating ltl"},
{"id": 3299,
-<<<<<<< working copy
-"keyword": "colon-separated notation"},
-||||||| common ancestor
-"keyword": "1 javier esparza"},
-=======
-"keyword": "bad sequences"},
->>>>>>> merge rev
+"keyword": "previous cc formalization constructive_cryptography"},
{"id": 3300,
-<<<<<<< working copy
-"keyword": "factoring polynomials"},
+"keyword": "container framework"},
{"id": 3301,
-"keyword": "machine-checked proofs"},
+"keyword": "order relation"},
{"id": 3302,
-"keyword": "strong eventual consistency"},
+"keyword": "reflective quantifier elimination procedures"},
{"id": 3303,
-"keyword": "wilf theorem"},
+"keyword": "concrete version"},
{"id": 3304,
-"keyword": "information managed"},
+"keyword": "drinks machine"},
{"id": 3305,
-"keyword": "skew product"},
+"keyword": "security properties"},
{"id": 3306,
-"keyword": "modern sat solvers"},
+"keyword": "analytical arguments"},
{"id": 3307,
-"keyword": "sqrt sin"},
-{"id": 3308,
-"keyword": "protocol abstracts"},
-||||||| common ancestor
-"keyword": "afp entry abstract completeness"},
-{"id": 3301,
-"keyword": "lll algorithm"},
-{"id": 3302,
-"keyword": "proof search procedure"},
-{"id": 3303,
-"keyword": "dynamic class initialization"},
-{"id": 3304,
-"keyword": "colon-separated notation"},
-{"id": 3305,
-"keyword": "factoring polynomials"},
-{"id": 3306,
-"keyword": "machine-checked proofs"},
-{"id": 3307,
-"keyword": "strong eventual consistency"},
+"keyword": "anonymous social choice function"},
{"id": 3308,
-"keyword": "wilf theorem"},
-=======
-"keyword": "bounded number"},
-{"id": 3301,
-"keyword": "model formulas"},
-{"id": 3302,
-"keyword": "minor technical issue"},
-{"id": 3303,
-"keyword": "thomas jech"},
-{"id": 3304,
-"keyword": "expected utility function"},
-{"id": 3305,
-"keyword": "gram-schmidt process"},
-{"id": 3306,
-"keyword": "logically equivalent"},
-{"id": 3307,
-"keyword": "decision problem"},
-{"id": 3308,
-"keyword": "create executable scala code"},
->>>>>>> merge rev
+"keyword": "crowning achievements"},
{"id": 3309,
-<<<<<<< working copy
-"keyword": "inefficient variant"},
-||||||| common ancestor
-"keyword": "information managed"},
-=======
-"keyword": "specifies compilation"},
->>>>>>> merge rev
+"keyword": "concurrency primitives"},
{"id": 3310,
-<<<<<<< working copy
-"keyword": "ordinary functions"},
-||||||| common ancestor
-"keyword": "skew product"},
-=======
-"keyword": "unbounded sequences"},
->>>>>>> merge rev
+"keyword": "quantum computing"},
{"id": 3311,
-<<<<<<< working copy
-"keyword": "accompanying algebraic laws"},
-||||||| common ancestor
-"keyword": "modern sat solvers"},
-=======
-"keyword": "implies confluence"},
->>>>>>> merge rev
+"keyword": "fixed choice"},
{"id": 3312,
-<<<<<<< working copy
-"keyword": "equivalent characterisations"},
-||||||| common ancestor
-"keyword": "sqrt sin"},
-=======
-"keyword": "unifying theories"},
->>>>>>> merge rev
+"keyword": "graph saturation"},
{"id": 3313,
-<<<<<<< working copy
-"keyword": "semantic back-ends"},
-||||||| common ancestor
-"keyword": "protocol abstracts"},
-=======
-"keyword": "linearly ordered commutative semigroups"},
->>>>>>> merge rev
+"keyword": "signed diffie-hellman"},
{"id": 3314,
-<<<<<<< working copy
-"keyword": "algebraic structures based"},
-||||||| common ancestor
-"keyword": "inefficient variant"},
-=======
-"keyword": "assembly-to-machine step"},
->>>>>>> merge rev
+"keyword": "characterization theorem"},
{"id": 3315,
-<<<<<<< working copy
-"keyword": "pairing heaps"},
-||||||| common ancestor
-"keyword": "ordinary functions"},
-=======
-"keyword": "called galois fields"},
->>>>>>> merge rev
+"keyword": "ground terms induced"},
{"id": 3316,
-<<<<<<< working copy
-"keyword": "elementary symmetric polynomials e1"},
-||||||| common ancestor
-"keyword": "accompanying algebraic laws"},
-=======
-"keyword": "module development"},
->>>>>>> merge rev
+"keyword": "universal properties"},
{"id": 3317,
-<<<<<<< working copy
-"keyword": "called separating implication"},
-||||||| common ancestor
-"keyword": "equivalent characterisations"},
-=======
-"keyword": "geometric proof"},
->>>>>>> merge rev
+"keyword": "weakest precondition component"},
{"id": 3318,
-<<<<<<< working copy
-"keyword": "removes exception handler entries"},
+"keyword": "proof theory"},
{"id": 3319,
-||||||| common ancestor
-"keyword": "semantic back-ends"},
-{"id": 3319,
-"keyword": "algebraic structures based"},
+"keyword": "hol code generation facilities"},
{"id": 3320,
-"keyword": "pairing heaps"},
+"keyword": "logarithmic time"},
{"id": 3321,
-"keyword": "elementary symmetric polynomials e1"},
+"keyword": "unsolvable system"},
{"id": 3322,
-"keyword": "called separating implication"},
+"keyword": "handle equality tests"},
{"id": 3323,
-"keyword": "removes exception handler entries"},
+"keyword": "bad sequences"},
{"id": 3324,
-=======
-"keyword": "mirroring beringer"},
-{"id": 3319,
-"keyword": "autonomous vehicle"},
-{"id": 3320,
-"keyword": "routing table"},
-{"id": 3321,
-"keyword": "standard prelude"},
-{"id": 3322,
-"keyword": "formal correctness proofs"},
-{"id": 3323,
-"keyword": "schneider"},
-{"id": 3324,
-"keyword": "probabilistic timed automata"},
+"keyword": "bounded number"},
{"id": 3325,
-"keyword": "finite functions"},
+"keyword": "model formulas"},
{"id": 3326,
-"keyword": "reflexive transitive closure operation"},
+"keyword": "minor technical issue"},
{"id": 3327,
-"keyword": "sequential semantics"},
+"keyword": "thomas jech"},
{"id": 3328,
-"keyword": "countable transitive model"},
+"keyword": "expected utility function"},
{"id": 3329,
-"keyword": "allowed nominals"},
+"keyword": "gram-schmidt process"},
{"id": 3330,
-"keyword": "1 javier esparza"},
-{"id": 3331,
-"keyword": "afp entry abstract completeness"},
-{"id": 3332,
-"keyword": "lll algorithm"},
-{"id": 3333,
-"keyword": "proof search procedure"},
-{"id": 3334,
-"keyword": "dynamic class initialization"},
-{"id": 3335,
-"keyword": "colon-separated notation"},
-{"id": 3336,
-"keyword": "factoring polynomials"},
-{"id": 3337,
-"keyword": "machine-checked proofs"},
-{"id": 3338,
-"keyword": "strong eventual consistency"},
-{"id": 3339,
-"keyword": "wilf theorem"},
-{"id": 3340,
-"keyword": "information managed"},
-{"id": 3341,
-"keyword": "skew product"},
-{"id": 3342,
-"keyword": "modern sat solvers"},
-{"id": 3343,
-"keyword": "sqrt sin"},
-{"id": 3344,
-"keyword": "protocol abstracts"},
-{"id": 3345,
-"keyword": "inefficient variant"},
-{"id": 3346,
-"keyword": "ordinary functions"},
-{"id": 3347,
-"keyword": "accompanying algebraic laws"},
-{"id": 3348,
-"keyword": "equivalent characterisations"},
-{"id": 3349,
-"keyword": "semantic back-ends"},
-{"id": 3350,
-"keyword": "algebraic structures based"},
-{"id": 3351,
-"keyword": "pairing heaps"},
-{"id": 3352,
-"keyword": "elementary symmetric polynomials e1"},
-{"id": 3353,
-"keyword": "called separating implication"},
-{"id": 3354,
-"keyword": "removes exception handler entries"},
-{"id": 3355,
->>>>>>> merge rev
-"keyword": "column space"},
-<<<<<<< working copy
-{"id": 3320,
-||||||| common ancestor
-{"id": 3325,
-=======
-{"id": 3356,
->>>>>>> merge rev
-"keyword": "applied call-by-"},
-<<<<<<< working copy
-{"id": 3321,
-||||||| common ancestor
-{"id": 3326,
-=======
-{"id": 3357,
->>>>>>> merge rev
-"keyword": "free logic"},
-<<<<<<< working copy
-{"id": 3322,
-||||||| common ancestor
-{"id": 3327,
-=======
-{"id": 3358,
->>>>>>> merge rev
-"keyword": "hadjicostas ndash"},
-<<<<<<< working copy
-{"id": 3323,
-||||||| common ancestor
-{"id": 3328,
-=======
-{"id": 3359,
->>>>>>> merge rev
-"keyword": "formal text lines"},
-<<<<<<< working copy
-{"id": 3324,
-||||||| common ancestor
-{"id": 3329,
-=======
-{"id": 3360,
->>>>>>> merge rev
-"keyword": "predicate transformers"},
-<<<<<<< working copy
-{"id": 3325,
-||||||| common ancestor
-{"id": 3330,
-=======
-{"id": 3361,
->>>>>>> merge rev
-"keyword": "perfect logicians"},
-<<<<<<< working copy
-{"id": 3326,
-||||||| common ancestor
-{"id": 3331,
-=======
-{"id": 3362,
->>>>>>> merge rev
-"keyword": "removes syntactic sugar"},
-<<<<<<< working copy
-{"id": 3327,
-||||||| common ancestor
-{"id": 3332,
-=======
-{"id": 3363,
->>>>>>> merge rev
-"keyword": "salomon sickert"},
-<<<<<<< working copy
-{"id": 3328,
-||||||| common ancestor
-{"id": 3333,
-=======
-{"id": 3364,
->>>>>>> merge rev
-"keyword": "axioms constructed"},
-<<<<<<< working copy
-{"id": 3329,
-||||||| common ancestor
-{"id": 3334,
-=======
-{"id": 3365,
->>>>>>> merge rev
-"keyword": "state space"},
-<<<<<<< working copy
-{"id": 3330,
-||||||| common ancestor
-{"id": 3335,
-=======
-{"id": 3366,
->>>>>>> merge rev
-"keyword": "akra-bazzi theorem"},
-<<<<<<< working copy
+"keyword": "logically equivalent"},
{"id": 3331,
-||||||| common ancestor
+"keyword": "decision problem"},
+{"id": 3332,
+"keyword": "create executable scala code"},
+{"id": 3333,
+"keyword": "specifies compilation"},
+{"id": 3334,
+"keyword": "unbounded sequences"},
+{"id": 3335,
+"keyword": "implies confluence"},
{"id": 3336,
-=======
-{"id": 3367,
->>>>>>> merge rev
-"keyword": "fall back"},
-<<<<<<< working copy
-{"id": 3332,
-||||||| common ancestor
+"keyword": "unifying theories"},
{"id": 3337,
-=======
-{"id": 3368,
->>>>>>> merge rev
-"keyword": "lyndon-sch tzenberger theorem"},
-<<<<<<< working copy
-{"id": 3333,
-"keyword": "binary decision diagram"},
-{"id": 3334,
-"keyword": "extended real numbers"},
-{"id": 3335,
-"keyword": "programming applications"},
-{"id": 3336,
-"keyword": "harmonic numbers"},
-{"id": 3337,
-"keyword": "independent publication"},
+"keyword": "linearly ordered commutative semigroups"},
{"id": 3338,
-"keyword": "deep learning"},
+"keyword": "assembly-to-machine step"},
{"id": 3339,
-"keyword": "arbitrary infinite proofs"},
+"keyword": "called galois fields"},
{"id": 3340,
-"keyword": "objects based"},
+"keyword": "module development"},
{"id": 3341,
-"keyword": "syntactic rewrite rules"},
-{"id": 3342,
-"keyword": "shortest vector problem"},
-{"id": 3343,
-"keyword": "pen-and-paper proof"},
-{"id": 3344,
-"keyword": "controller constraints"},
-{"id": 3345,
-"keyword": "verified compilation toolchain"},
-{"id": 3346,
-"keyword": "search algorithms"},
-{"id": 3347,
-"keyword": "tableau systems"},
-{"id": 3348,
-||||||| common ancestor
-{"id": 3338,
-"keyword": "binary decision diagram"},
-{"id": 3339,
-"keyword": "extended real numbers"},
-{"id": 3340,
-"keyword": "programming applications"},
-{"id": 3341,
-"keyword": "harmonic numbers"},
+"keyword": "geometric proof"},
{"id": 3342,
-"keyword": "independent publication"},
+"keyword": "mirroring beringer"},
{"id": 3343,
-"keyword": "deep learning"},
+"keyword": "autonomous vehicle"},
{"id": 3344,
-"keyword": "arbitrary infinite proofs"},
+"keyword": "routing table"},
{"id": 3345,
-"keyword": "objects based"},
+"keyword": "standard prelude"},
{"id": 3346,
-"keyword": "syntactic rewrite rules"},
+"keyword": "formal correctness proofs"},
{"id": 3347,
-"keyword": "shortest vector problem"},
+"keyword": "schneider"},
{"id": 3348,
-"keyword": "pen-and-paper proof"},
-{"id": 3349,
-"keyword": "controller constraints"},
-{"id": 3350,
-"keyword": "verified compilation toolchain"},
-{"id": 3351,
-"keyword": "search algorithms"},
-{"id": 3352,
-"keyword": "tableau systems"},
-{"id": 3353,
-=======
-{"id": 3369,
-"keyword": "binary decision diagram"},
-{"id": 3370,
-"keyword": "extended real numbers"},
-{"id": 3371,
-"keyword": "programming applications"},
-{"id": 3372,
-"keyword": "harmonic numbers"},
-{"id": 3373,
-"keyword": "independent publication"},
-{"id": 3374,
-"keyword": "deep learning"},
-{"id": 3375,
-"keyword": "arbitrary infinite proofs"},
-{"id": 3376,
-"keyword": "objects based"},
-{"id": 3377,
-"keyword": "syntactic rewrite rules"},
-{"id": 3378,
-"keyword": "shortest vector problem"},
-{"id": 3379,
-"keyword": "pen-and-paper proof"},
-{"id": 3380,
-"keyword": "controller constraints"},
-{"id": 3381,
-"keyword": "verified compilation toolchain"},
-{"id": 3382,
-"keyword": "search algorithms"},
-{"id": 3383,
-"keyword": "tableau systems"},
-{"id": 3384,
->>>>>>> merge rev
-"keyword": "constant time queue"},
-<<<<<<< working copy
+"keyword": "probabilistic timed automata"},
{"id": 3349,
-||||||| common ancestor
-{"id": 3354,
-=======
-{"id": 3385,
->>>>>>> merge rev
-"keyword": "performs comparable"},
-<<<<<<< working copy
+"keyword": "finite functions"},
{"id": 3350,
-||||||| common ancestor
-{"id": 3355,
-=======
-{"id": 3386,
->>>>>>> merge rev
-"keyword": "arbitrary length"},
-<<<<<<< working copy
+"keyword": "reflexive transitive closure operation"},
{"id": 3351,
-||||||| common ancestor
-{"id": 3356,
-=======
-{"id": 3387,
->>>>>>> merge rev
-"keyword": "lim"},
-<<<<<<< working copy
+"keyword": "sequential semantics"},
{"id": 3352,
-"keyword": "unique factorization domain"},
+"keyword": "countable transitive model"},
{"id": 3353,
-"keyword": "divisor function sigma"},
+"keyword": "allowed nominals"},
{"id": 3354,
-"keyword": "resolvable designs"},
+"keyword": "1 javier esparza"},
{"id": 3355,
-"keyword": "verified refinement step"},
+"keyword": "afp entry abstract completeness"},
{"id": 3356,
-"keyword": "duggan-schwartz theorems"},
+"keyword": "lll algorithm"},
{"id": 3357,
-"keyword": "greedy algorithms"},
-{"id": 3358,
-"keyword": "irreducible cfgs"},
-{"id": 3359,
-"keyword": "computational models complicates comparisons"},
-{"id": 3360,
-"keyword": "linear"},
-{"id": 3361,
-"keyword": "interval traversing results"},
-{"id": 3362,
-"keyword": "key composition property"},
-{"id": 3363,
-"keyword": "human readable style"},
-{"id": 3364,
-"keyword": "small step program refinement"},
-{"id": 3365,
-"keyword": "foundations established"},
-{"id": 3366,
-"keyword": "pythagorean triples"},
-{"id": 3367,
-||||||| common ancestor
-{"id": 3357,
-"keyword": "unique factorization domain"},
+"keyword": "proof search procedure"},
{"id": 3358,
-"keyword": "divisor function sigma"},
+"keyword": "dynamic class initialization"},
{"id": 3359,
-"keyword": "resolvable designs"},
+"keyword": "colon-separated notation"},
{"id": 3360,
-"keyword": "verified refinement step"},
+"keyword": "factoring polynomials"},
{"id": 3361,
-"keyword": "duggan-schwartz theorems"},
+"keyword": "machine-checked proofs"},
{"id": 3362,
-"keyword": "greedy algorithms"},
+"keyword": "strong eventual consistency"},
{"id": 3363,
-"keyword": "irreducible cfgs"},
+"keyword": "wilf theorem"},
{"id": 3364,
-"keyword": "computational models complicates comparisons"},
+"keyword": "information managed"},
{"id": 3365,
-"keyword": "linear"},
+"keyword": "skew product"},
{"id": 3366,
-"keyword": "interval traversing results"},
+"keyword": "modern sat solvers"},
{"id": 3367,
-"keyword": "key composition property"},
+"keyword": "sqrt sin"},
{"id": 3368,
-"keyword": "human readable style"},
+"keyword": "protocol abstracts"},
{"id": 3369,
-"keyword": "small step program refinement"},
+"keyword": "inefficient variant"},
{"id": 3370,
-"keyword": "foundations established"},
+"keyword": "ordinary functions"},
{"id": 3371,
-"keyword": "pythagorean triples"},
+"keyword": "accompanying algebraic laws"},
{"id": 3372,
-=======
+"keyword": "equivalent characterisations"},
+{"id": 3373,
+"keyword": "algebraic structures based"},
+{"id": 3374,
+"keyword": "pairing heaps"},
+{"id": 3375,
+"keyword": "elementary symmetric polynomials e1"},
+{"id": 3376,
+"keyword": "called separating implication"},
+{"id": 3377,
+"keyword": "removes exception handler entries"},
+{"id": 3378,
+"keyword": "column space"},
+{"id": 3379,
+"keyword": "semantic back-ends"},
+{"id": 3380,
+"keyword": "full parametric solution"},
+{"id": 3381,
+"keyword": "applied call-by-"},
+{"id": 3382,
+"keyword": "free logic"},
+{"id": 3383,
+"keyword": "hadjicostas ndash"},
+{"id": 3384,
+"keyword": "formal text lines"},
+{"id": 3385,
+"keyword": "predicate transformers"},
+{"id": 3386,
+"keyword": "perfect logicians"},
+{"id": 3387,
+"keyword": "removes syntactic sugar"},
{"id": 3388,
-"keyword": "unique factorization domain"},
+"keyword": "salomon sickert"},
{"id": 3389,
-"keyword": "divisor function sigma"},
+"keyword": "axioms constructed"},
{"id": 3390,
-"keyword": "resolvable designs"},
+"keyword": "state space"},
{"id": 3391,
-"keyword": "verified refinement step"},
+"keyword": "akra-bazzi theorem"},
{"id": 3392,
-"keyword": "duggan-schwartz theorems"},
+"keyword": "fall back"},
{"id": 3393,
-"keyword": "greedy algorithms"},
+"keyword": "lyndon-sch tzenberger theorem"},
{"id": 3394,
-"keyword": "irreducible cfgs"},
+"keyword": "binary decision diagram"},
{"id": 3395,
-"keyword": "computational models complicates comparisons"},
+"keyword": "extended real numbers"},
{"id": 3396,
-"keyword": "linear"},
+"keyword": "programming applications"},
{"id": 3397,
-"keyword": "interval traversing results"},
+"keyword": "harmonic numbers"},
{"id": 3398,
-"keyword": "key composition property"},
+"keyword": "independent publication"},
{"id": 3399,
-"keyword": "human readable style"},
+"keyword": "deep learning"},
{"id": 3400,
-"keyword": "small step program refinement"},
+"keyword": "arbitrary infinite proofs"},
{"id": 3401,
-"keyword": "foundations established"},
+"keyword": "objects based"},
{"id": 3402,
-"keyword": "pythagorean triples"},
+"keyword": "syntactic rewrite rules"},
{"id": 3403,
->>>>>>> merge rev
-"keyword": "linear map"},
-<<<<<<< working copy
-{"id": 3368,
-"keyword": "mathematical book written"},
-{"id": 3369,
-"keyword": "binary multirelations associate elements"},
-{"id": 3370,
-"keyword": "large-scale shared mutable content"},
-{"id": 3371,
-"keyword": "infinite games"},
-{"id": 3372,
-"keyword": "lower-level language based"},
-{"id": 3373,
-"keyword": "appearing numbers"},
-{"id": 3374,
-"keyword": "real matrix"},
-{"id": 3375,
-"keyword": "non-deterministic finite state machine"},
-{"id": 3376,
-"keyword": "infinitary nominal data type"},
-{"id": 3377,
-"keyword": "main result"},
-{"id": 3378,
-"keyword": "positive rationals"},
-{"id": 3379,
-"keyword": "state sigma_a"},
-{"id": 3380,
-"keyword": "security policy"},
-{"id": 3381,
-"keyword": "secure multiple case studies"},
-{"id": 3382,
-"keyword": "cayley-hamilton afp entries"},
-{"id": 3383,
-"keyword": "hoc network"},
-{"id": 3384,
-"keyword": "type classes"},
-{"id": 3385,
-"keyword": "afp entry amortized complexity"},
-{"id": 3386,
-"keyword": "star-free regular expressions"},
-{"id": 3387,
-"keyword": "regular language identity"},
-{"id": 3388,
-"keyword": "cardinality formula assuming"},
-{"id": 3389,
-"keyword": "nodes"},
-{"id": 3390,
-"keyword": "standard semirings"},
-{"id": 3391,
-"keyword": "data state manipulations"},
-{"id": 3392,
-"keyword": "single exponential blow-"},
-{"id": 3393,
-"keyword": "involved path"},
-{"id": 3394,
-"keyword": "executable data structures"},
-{"id": 3395,
-"keyword": "partition theorem states"},
-{"id": 3396,
-"keyword": "riemann zeta"},
-{"id": 3397,
-"keyword": "doctoral thesis"},
-{"id": 3398,
-"keyword": "driving application"},
-{"id": 3399,
-"keyword": "largest power"},
-{"id": 3400,
-"keyword": "verified algorithms"},
-{"id": 3401,
-"keyword": "infer interleaves statements"},
-{"id": 3402,
-"keyword": "reversed morphisms"},
-{"id": 3403,
-"keyword": "algebraic framework"},
-||||||| common ancestor
-{"id": 3373,
-"keyword": "mathematical book written"},
-{"id": 3374,
-"keyword": "binary multirelations associate elements"},
-{"id": 3375,
-"keyword": "large-scale shared mutable content"},
-{"id": 3376,
-"keyword": "infinite games"},
-{"id": 3377,
-"keyword": "lower-level language based"},
-{"id": 3378,
-"keyword": "appearing numbers"},
-{"id": 3379,
-"keyword": "real matrix"},
-{"id": 3380,
-"keyword": "non-deterministic finite state machine"},
-{"id": 3381,
-"keyword": "infinitary nominal data type"},
-{"id": 3382,
-"keyword": "main result"},
-{"id": 3383,
-"keyword": "positive rationals"},
-{"id": 3384,
-"keyword": "state sigma_a"},
-{"id": 3385,
-"keyword": "security policy"},
-{"id": 3386,
-"keyword": "secure multiple case studies"},
-{"id": 3387,
-"keyword": "cayley-hamilton afp entries"},
-{"id": 3388,
-"keyword": "hoc network"},
-{"id": 3389,
-"keyword": "type classes"},
-{"id": 3390,
-"keyword": "afp entry amortized complexity"},
-{"id": 3391,
-"keyword": "star-free regular expressions"},
-{"id": 3392,
-"keyword": "regular language identity"},
-{"id": 3393,
-"keyword": "cardinality formula assuming"},
-{"id": 3394,
-"keyword": "nodes"},
-{"id": 3395,
-"keyword": "standard semirings"},
-{"id": 3396,
-"keyword": "data state manipulations"},
-{"id": 3397,
-"keyword": "single exponential blow-"},
-{"id": 3398,
-"keyword": "involved path"},
-{"id": 3399,
-"keyword": "executable data structures"},
-{"id": 3400,
-"keyword": "partition theorem states"},
-{"id": 3401,
-"keyword": "riemann zeta"},
-{"id": 3402,
-"keyword": "doctoral thesis"},
-{"id": 3403,
-"keyword": "driving application"},
-=======
->>>>>>> merge rev
+"keyword": "shortest vector problem"},
{"id": 3404,
-<<<<<<< working copy
-"keyword": "model systems"},
-||||||| common ancestor
-"keyword": "largest power"},
-=======
-"keyword": "mathematical book written"},
->>>>>>> merge rev
+"keyword": "pen-and-paper proof"},
{"id": 3405,
-<<<<<<< working copy
-"keyword": "submission"},
-||||||| common ancestor
-"keyword": "verified algorithms"},
-=======
-"keyword": "javascript world"},
->>>>>>> merge rev
+"keyword": "controller constraints"},
{"id": 3406,
-<<<<<<< working copy
-"keyword": "structured proof techniques"},
-||||||| common ancestor
-"keyword": "infer interleaves statements"},
-=======
-"keyword": "binary multirelations associate elements"},
->>>>>>> merge rev
+"keyword": "verified compilation toolchain"},
{"id": 3407,
-<<<<<<< working copy
-"keyword": "exponential golomb codes"},
-||||||| common ancestor
-"keyword": "reversed morphisms"},
-=======
-"keyword": "large-scale shared mutable content"},
->>>>>>> merge rev
+"keyword": "search algorithms"},
{"id": 3408,
-<<<<<<< working copy
-"keyword": "document class"},
-||||||| common ancestor
-"keyword": "algebraic framework"},
-=======
-"keyword": "infinite games"},
->>>>>>> merge rev
+"keyword": "tableau systems"},
{"id": 3409,
-<<<<<<< working copy
-"keyword": "infinite sequence"},
-||||||| common ancestor
-"keyword": "model systems"},
-=======
-"keyword": "lower-level language based"},
->>>>>>> merge rev
+"keyword": "constant time queue"},
{"id": 3410,
-<<<<<<< working copy
-"keyword": "multivariate taylor models"},
-||||||| common ancestor
-"keyword": "submission"},
-=======
-"keyword": "appearing numbers"},
->>>>>>> merge rev
+"keyword": "performs comparable"},
{"id": 3411,
-<<<<<<< working copy
-"keyword": "conference interactive theorem proving"},
-||||||| common ancestor
-"keyword": "structured proof techniques"},
-=======
-"keyword": "real matrix"},
->>>>>>> merge rev
+"keyword": "arbitrary length"},
{"id": 3412,
-<<<<<<< working copy
-"keyword": "approach produced"},
-||||||| common ancestor
-"keyword": "exponential golomb codes"},
-=======
-"keyword": "non-deterministic finite state machine"},
->>>>>>> merge rev
+"keyword": "lim"},
{"id": 3413,
-<<<<<<< working copy
-"keyword": "financial market"},
-||||||| common ancestor
-"keyword": "document class"},
-=======
-"keyword": "infinitary nominal data type"},
->>>>>>> merge rev
+"keyword": "unique factorization domain"},
{"id": 3414,
-<<<<<<< working copy
-"keyword": "infinite horizon mdps"},
-||||||| common ancestor
-"keyword": "infinite sequence"},
-=======
-"keyword": "main result"},
->>>>>>> merge rev
+"keyword": "divisor function sigma"},
{"id": 3415,
-<<<<<<< working copy
-"keyword": "system verification"},
+"keyword": "resolvable designs"},
{"id": 3416,
-"keyword": "arithmetic progression"},
+"keyword": "verified refinement step"},
{"id": 3417,
-"keyword": "external communication clocking"},
+"keyword": "duggan-schwartz theorems"},
{"id": 3418,
-"keyword": "transport theorems"},
+"keyword": "greedy algorithms"},
{"id": 3419,
-"keyword": "simply-typed lambda terms"},
+"keyword": "irreducible cfgs"},
{"id": 3420,
-"keyword": "slightly mars"},
-{"id": 3421,
-"keyword": "bisimulation equivalence"},
-{"id": 3422,
-"keyword": "simplify protocol verification"},
-{"id": 3423,
-"keyword": "unverified checkers"},
-||||||| common ancestor
-"keyword": "multivariate taylor models"},
-{"id": 3416,
-"keyword": "conference interactive theorem proving"},
-{"id": 3417,
-"keyword": "approach produced"},
-{"id": 3418,
-"keyword": "financial market"},
-{"id": 3419,
-"keyword": "infinite horizon mdps"},
-{"id": 3420,
-"keyword": "system verification"},
+"keyword": "computational models complicates comparisons"},
{"id": 3421,
-"keyword": "arithmetic progression"},
+"keyword": "linear"},
{"id": 3422,
-"keyword": "external communication clocking"},
+"keyword": "interval traversing results"},
{"id": 3423,
-"keyword": "transport theorems"},
-=======
-"keyword": "positive rationals"},
-{"id": 3416,
-"keyword": "state sigma_a"},
-{"id": 3417,
-"keyword": "security policy"},
-{"id": 3418,
-"keyword": "secure multiple case studies"},
-{"id": 3419,
-"keyword": "cayley-hamilton afp entries"},
-{"id": 3420,
-"keyword": "hoc network"},
-{"id": 3421,
-"keyword": "type classes"},
-{"id": 3422,
-"keyword": "afp entry amortized complexity"},
-{"id": 3423,
-"keyword": "star-free regular expressions"},
->>>>>>> merge rev
+"keyword": "key composition property"},
{"id": 3424,
-<<<<<<< working copy
-"keyword": "ijcar 2014 publication"},
-||||||| common ancestor
-"keyword": "simply-typed lambda terms"},
-=======
-"keyword": "regular language identity"},
->>>>>>> merge rev
+"keyword": "human readable style"},
{"id": 3425,
-<<<<<<< working copy
-"keyword": "dining philosopher problem"},
-||||||| common ancestor
-"keyword": "slightly mars"},
-=======
-"keyword": "cardinality formula assuming"},
->>>>>>> merge rev
+"keyword": "small step program refinement"},
{"id": 3426,
-<<<<<<< working copy
-"keyword": "linearly independent"},
-||||||| common ancestor
-"keyword": "bisimulation equivalence"},
-=======
-"keyword": "nodes"},
->>>>>>> merge rev
+"keyword": "foundations established"},
{"id": 3427,
-<<<<<<< working copy
-"keyword": "removing intermediate list structures"},
-||||||| common ancestor
-"keyword": "simplify protocol verification"},
-=======
-"keyword": "standard semirings"},
->>>>>>> merge rev
+"keyword": "pythagorean triples"},
{"id": 3428,
-<<<<<<< working copy
-"keyword": "hand canonical notions"},
-||||||| common ancestor
-"keyword": "unverified checkers"},
-=======
-"keyword": "data state manipulations"},
->>>>>>> merge rev
+"keyword": "linear map"},
{"id": 3429,
-<<<<<<< working copy
-"keyword": "general sets"},
-||||||| common ancestor
-"keyword": "ijcar 2014 publication"},
-=======
-"keyword": "single exponential blow-"},
->>>>>>> merge rev
+"keyword": "mathematical book written"},
{"id": 3430,
-<<<<<<< working copy
-"keyword": "afp representation"},
-||||||| common ancestor
-"keyword": "dining philosopher problem"},
-=======
-"keyword": "involved path"},
->>>>>>> merge rev
+"keyword": "javascript world"},
{"id": 3431,
-<<<<<<< working copy
-"keyword": "symmetric multivariate polynomials"},
-||||||| common ancestor
-"keyword": "linearly independent"},
-=======
-"keyword": "executable data structures"},
->>>>>>> merge rev
+"keyword": "binary multirelations associate elements"},
{"id": 3432,
-<<<<<<< working copy
-"keyword": "store buffer forwarding"},
-||||||| common ancestor
-"keyword": "removing intermediate list structures"},
-=======
-"keyword": "partition theorem states"},
->>>>>>> merge rev
+"keyword": "large-scale shared mutable content"},
{"id": 3433,
-<<<<<<< working copy
-"keyword": "key concepts"},
-||||||| common ancestor
-"keyword": "hand canonical notions"},
-=======
-"keyword": "riemann zeta"},
->>>>>>> merge rev
+"keyword": "infinite games"},
{"id": 3434,
-<<<<<<< working copy
-"keyword": "one-time efforts benefit"},
+"keyword": "lower-level language based"},
{"id": 3435,
-"keyword": "polynomial interpretations"},
-{"id": 3436,
-"keyword": "leq alpha"},
-{"id": 3437,
-"keyword": "constructing correct programs"},
-{"id": 3438,
-"keyword": "blackboard pattern"},
-{"id": 3439,
-"keyword": "chagu rand"},
-{"id": 3440,
-"keyword": "version due"},
-{"id": 3441,
-"keyword": "symbolic transitions systems"},
-{"id": 3442,
-"keyword": "differs slightly"},
-{"id": 3443,
-"keyword": "fundamental properties"},
-{"id": 3444,
-"keyword": "powerful mathematical tools"},
-{"id": 3445,
-"keyword": "proof system"},
-{"id": 3446,
-"keyword": "equivalence checker"},
-{"id": 3447,
-"keyword": "deletion preserve weight-balance"},
-{"id": 3448,
-"keyword": "sparse relations"},
-{"id": 3449,
-"keyword": "under-approximate hoare logic"},
-{"id": 3450,
-"keyword": "code generation setup"},
-{"id": 3451,
-"keyword": "underlying disambiguation strategy"},
-{"id": 3452,
-"keyword": "non-negative real-"},
-||||||| common ancestor
-"keyword": "general sets"},
-{"id": 3435,
-"keyword": "afp representation"},
+"keyword": "appearing numbers"},
{"id": 3436,
-"keyword": "symmetric multivariate polynomials"},
+"keyword": "real matrix"},
{"id": 3437,
-"keyword": "store buffer forwarding"},
+"keyword": "non-deterministic finite state machine"},
{"id": 3438,
-"keyword": "key concepts"},
+"keyword": "infinitary nominal data type"},
{"id": 3439,
-"keyword": "one-time efforts benefit"},
+"keyword": "main result"},
{"id": 3440,
-"keyword": "polynomial interpretations"},
+"keyword": "positive rationals"},
{"id": 3441,
-"keyword": "leq alpha"},
+"keyword": "state sigma_a"},
{"id": 3442,
-"keyword": "constructing correct programs"},
+"keyword": "security policy"},
{"id": 3443,
-"keyword": "blackboard pattern"},
+"keyword": "secure multiple case studies"},
{"id": 3444,
-"keyword": "chagu rand"},
+"keyword": "cayley-hamilton afp entries"},
{"id": 3445,
-"keyword": "version due"},
+"keyword": "hoc network"},
{"id": 3446,
-"keyword": "symbolic transitions systems"},
+"keyword": "type classes"},
{"id": 3447,
-"keyword": "differs slightly"},
-{"id": 3448,
-"keyword": "fundamental properties"},
-{"id": 3449,
-"keyword": "powerful mathematical tools"},
-{"id": 3450,
-"keyword": "proof system"},
-{"id": 3451,
-"keyword": "equivalence checker"},
-{"id": 3452,
-"keyword": "deletion preserve weight-balance"},
-=======
-"keyword": "doctoral thesis"},
-{"id": 3435,
-"keyword": "driving application"},
-{"id": 3436,
-"keyword": "largest power"},
-{"id": 3437,
-"keyword": "verified algorithms"},
-{"id": 3438,
-"keyword": "infer interleaves statements"},
-{"id": 3439,
-"keyword": "reversed morphisms"},
-{"id": 3440,
-"keyword": "algebraic framework"},
-{"id": 3441,
-"keyword": "model systems"},
-{"id": 3442,
-"keyword": "submission"},
-{"id": 3443,
-"keyword": "structured proof techniques"},
-{"id": 3444,
-"keyword": "exponential golomb codes"},
-{"id": 3445,
-"keyword": "document class"},
-{"id": 3446,
-"keyword": "infinite sequence"},
-{"id": 3447,
-"keyword": "multivariate taylor models"},
+"keyword": "afp entry amortized complexity"},
{"id": 3448,
-"keyword": "conference interactive theorem proving"},
+"keyword": "star-free regular expressions"},
{"id": 3449,
-"keyword": "approach produced"},
+"keyword": "regular language identity"},
{"id": 3450,
-"keyword": "financial market"},
+"keyword": "cardinality formula assuming"},
{"id": 3451,
-"keyword": "infinite horizon mdps"},
+"keyword": "nodes"},
{"id": 3452,
-"keyword": "system verification"},
->>>>>>> merge rev
+"keyword": "standard semirings"},
{"id": 3453,
-<<<<<<< working copy
-"keyword": "opinion"},
-||||||| common ancestor
-"keyword": "sparse relations"},
-=======
-"keyword": "arithmetic progression"},
->>>>>>> merge rev
+"keyword": "data state manipulations"},
{"id": 3454,
-<<<<<<< working copy
-"keyword": "efficient root isolation"},
-||||||| common ancestor
-"keyword": "under-approximate hoare logic"},
-=======
-"keyword": "external communication clocking"},
->>>>>>> merge rev
+"keyword": "single exponential blow-"},
{"id": 3455,
-<<<<<<< working copy
-"keyword": "machine words"},
-||||||| common ancestor
-"keyword": "code generation setup"},
-=======
-"keyword": "transport theorems"},
->>>>>>> merge rev
+"keyword": "involved path"},
{"id": 3456,
-<<<<<<< working copy
-"keyword": "class type constructors"},
-||||||| common ancestor
-"keyword": "underlying disambiguation strategy"},
-=======
-"keyword": "simply-typed lambda terms"},
->>>>>>> merge rev
+"keyword": "executable data structures"},
{"id": 3457,
-<<<<<<< working copy
-"keyword": "large real-world firewall"},
-||||||| common ancestor
-"keyword": "non-negative real-"},
-=======
-"keyword": "slightly mars"},
->>>>>>> merge rev
+"keyword": "partition theorem states"},
{"id": 3458,
-<<<<<<< working copy
-"keyword": "equational axiomatisation"},
-||||||| common ancestor
-"keyword": "opinion"},
-=======
-"keyword": "bisimulation equivalence"},
->>>>>>> merge rev
+"keyword": "riemann zeta"},
{"id": 3459,
-<<<<<<< working copy
-"keyword": "solution obtained"},
-||||||| common ancestor
-"keyword": "efficient root isolation"},
-=======
-"keyword": "simplify protocol verification"},
->>>>>>> merge rev
+"keyword": "doctoral thesis"},
{"id": 3460,
-<<<<<<< working copy
-"keyword": "document presents"},
-||||||| common ancestor
-"keyword": "machine words"},
-=======
-"keyword": "unverified checkers"},
->>>>>>> merge rev
+"keyword": "driving application"},
{"id": 3461,
-<<<<<<< working copy
-"keyword": "convert ltl formulas"},
-||||||| common ancestor
-"keyword": "class type constructors"},
-=======
-"keyword": "ijcar 2014 publication"},
->>>>>>> merge rev
+"keyword": "largest power"},
{"id": 3462,
-<<<<<<< working copy
-"keyword": "naive union operation"},
-||||||| common ancestor
-"keyword": "large real-world firewall"},
-=======
-"keyword": "dining philosopher problem"},
->>>>>>> merge rev
+"keyword": "verified algorithms"},
{"id": 3463,
-<<<<<<< working copy
-"keyword": "saturation-based heuristic prover"},
-||||||| common ancestor
-"keyword": "equational axiomatisation"},
-=======
-"keyword": "linearly independent"},
->>>>>>> merge rev
+"keyword": "infer interleaves statements"},
{"id": 3464,
-<<<<<<< working copy
-"keyword": "multiple relational databases"},
+"keyword": "reversed morphisms"},
{"id": 3465,
-"keyword": "distinct prime factors"},
+"keyword": "algebraic framework"},
{"id": 3466,
-"keyword": "first-order logic completeness theorem"},
+"keyword": "model systems"},
{"id": 3467,
-"keyword": "imp commands"},
+"keyword": "submission"},
{"id": 3468,
-"keyword": "periodic function"},
+"keyword": "structured proof techniques"},
{"id": 3469,
-"keyword": "design pattern"},
+"keyword": "exponential golomb codes"},
{"id": 3470,
-"keyword": "obtain efficient code"},
+"keyword": "document class"},
{"id": 3471,
-"keyword": "chi automata"},
-||||||| common ancestor
-"keyword": "solution obtained"},
-{"id": 3465,
-"keyword": "convert ltl formulas"},
-{"id": 3466,
-"keyword": "naive union operation"},
-{"id": 3467,
-"keyword": "saturation-based heuristic prover"},
-{"id": 3468,
-"keyword": "multiple relational databases"},
-{"id": 3469,
-"keyword": "distinct prime factors"},
-{"id": 3470,
-"keyword": "first-order logic completeness theorem"},
-{"id": 3471,
-"keyword": "imp commands"},
-=======
-"keyword": "removing intermediate list structures"},
-{"id": 3465,
-"keyword": "hand canonical notions"},
-{"id": 3466,
-"keyword": "general sets"},
-{"id": 3467,
-"keyword": "afp representation"},
-{"id": 3468,
-"keyword": "symmetric multivariate polynomials"},
-{"id": 3469,
-"keyword": "store buffer forwarding"},
-{"id": 3470,
-"keyword": "key concepts"},
-{"id": 3471,
-"keyword": "one-time efforts benefit"},
->>>>>>> merge rev
+"keyword": "infinite sequence"},
{"id": 3472,
-<<<<<<< working copy
-"keyword": "featuring program-level requirements"},
-||||||| common ancestor
-"keyword": "periodic function"},
-=======
-"keyword": "polynomial interpretations"},
->>>>>>> merge rev
+"keyword": "multivariate taylor models"},
{"id": 3473,
-<<<<<<< working copy
-"keyword": "requested computation"},
-||||||| common ancestor
-"keyword": "design pattern"},
-=======
-"keyword": "leq alpha"},
->>>>>>> merge rev
+"keyword": "conference interactive theorem proving"},
{"id": 3474,
-<<<<<<< working copy
-"keyword": "finite maps"},
-||||||| common ancestor
-"keyword": "obtain efficient code"},
-=======
-"keyword": "constructing correct programs"},
->>>>>>> merge rev
+"keyword": "approach produced"},
{"id": 3475,
-<<<<<<< working copy
-"keyword": "symmetric range"},
-||||||| common ancestor
-"keyword": "chi automata"},
-=======
-"keyword": "blackboard pattern"},
->>>>>>> merge rev
+"keyword": "financial market"},
{"id": 3476,
-<<<<<<< working copy
-"keyword": "work implements"},
-||||||| common ancestor
-"keyword": "featuring program-level requirements"},
-=======
-"keyword": "chagu rand"},
->>>>>>> merge rev
+"keyword": "infinite horizon mdps"},
{"id": 3477,
-<<<<<<< working copy
-"keyword": "analytic continuation"},
-||||||| common ancestor
-"keyword": "requested computation"},
-=======
-"keyword": "version due"},
->>>>>>> merge rev
+"keyword": "system verification"},
{"id": 3478,
-<<<<<<< working copy
-"keyword": "demonic refinement algebra"},
-||||||| common ancestor
-"keyword": "finite maps"},
-=======
-"keyword": "symbolic transitions systems"},
->>>>>>> merge rev
+"keyword": "arithmetic progression"},
{"id": 3479,
-<<<<<<< working copy
-"keyword": "list lookup operation"},
-||||||| common ancestor
-"keyword": "symmetric range"},
-=======
-"keyword": "differs slightly"},
->>>>>>> merge rev
+"keyword": "external communication clocking"},
{"id": 3480,
-<<<<<<< working copy
-"keyword": "recursively inseparable"},
-||||||| common ancestor
-"keyword": "work implements"},
-=======
-"keyword": "fundamental properties"},
->>>>>>> merge rev
+"keyword": "transport theorems"},
{"id": 3481,
-<<<<<<< working copy
-"keyword": "efficient factorization algorithm"},
+"keyword": "simply-typed lambda terms"},
{"id": 3482,
-"keyword": "port proofs"},
+"keyword": "slightly mars"},
{"id": 3483,
-"keyword": "present article"},
+"keyword": "bisimulation equivalence"},
{"id": 3484,
-"keyword": "axiom system"},
+"keyword": "simplify protocol verification"},
{"id": 3485,
-"keyword": "partial procedure"},
+"keyword": "unverified checkers"},
{"id": 3486,
-"keyword": "van der waerden number"},
+"keyword": "ijcar 2014 publication"},
{"id": 3487,
-"keyword": "abstract file represented"},
+"keyword": "dining philosopher problem"},
{"id": 3488,
-"keyword": "paper multi-head monitoring"},
-{"id": 3489,
-"keyword": "extract ocaml code"},
-{"id": 3490,
-"keyword": "linear inqualities"},
-{"id": 3491,
-"keyword": "real-time constraints"},
-{"id": 3492,
-"keyword": "equivalence classes"},
-{"id": 3493,
-||||||| common ancestor
-"keyword": "analytic continuation"},
-{"id": 3482,
-"keyword": "demonic refinement algebra"},
-{"id": 3483,
-"keyword": "list lookup operation"},
-{"id": 3484,
-"keyword": "recursively inseparable"},
-{"id": 3485,
-"keyword": "efficient factorization algorithm"},
-{"id": 3486,
-"keyword": "port proofs"},
-{"id": 3487,
-"keyword": "present article"},
-{"id": 3488,
-"keyword": "axiom system"},
+"keyword": "linearly independent"},
{"id": 3489,
-"keyword": "partial procedure"},
+"keyword": "removing intermediate list structures"},
{"id": 3490,
-"keyword": "van der waerden number"},
+"keyword": "hand canonical notions"},
{"id": 3491,
-"keyword": "abstract file represented"},
+"keyword": "general sets"},
{"id": 3492,
-"keyword": "paper multi-head monitoring"},
+"keyword": "afp representation"},
{"id": 3493,
-"keyword": "extract ocaml code"},
+"keyword": "symmetric multivariate polynomials"},
{"id": 3494,
-"keyword": "linear inqualities"},
+"keyword": "store buffer forwarding"},
{"id": 3495,
-"keyword": "real-time constraints"},
+"keyword": "key concepts"},
{"id": 3496,
-"keyword": "equivalence classes"},
+"keyword": "one-time efforts benefit"},
{"id": 3497,
-=======
+"keyword": "polynomial interpretations"},
+{"id": 3498,
+"keyword": "leq alpha"},
+{"id": 3499,
+"keyword": "constructing correct programs"},
+{"id": 3500,
+"keyword": "blackboard pattern"},
+{"id": 3501,
+"keyword": "chagu rand"},
+{"id": 3502,
+"keyword": "version due"},
+{"id": 3503,
+"keyword": "symbolic transitions systems"},
+{"id": 3504,
+"keyword": "differs slightly"},
+{"id": 3505,
+"keyword": "fundamental properties"},
+{"id": 3506,
"keyword": "powerful mathematical tools"},
-{"id": 3482,
+{"id": 3507,
"keyword": "proof system"},
-{"id": 3483,
+{"id": 3508,
"keyword": "equivalence checker"},
-{"id": 3484,
+{"id": 3509,
"keyword": "deletion preserve weight-balance"},
-{"id": 3485,
+{"id": 3510,
"keyword": "sparse relations"},
-{"id": 3486,
+{"id": 3511,
"keyword": "under-approximate hoare logic"},
-{"id": 3487,
+{"id": 3512,
"keyword": "code generation setup"},
-{"id": 3488,
+{"id": 3513,
"keyword": "underlying disambiguation strategy"},
-{"id": 3489,
+{"id": 3514,
"keyword": "non-negative real-"},
-{"id": 3490,
+{"id": 3515,
"keyword": "opinion"},
-{"id": 3491,
+{"id": 3516,
"keyword": "efficient root isolation"},
-{"id": 3492,
-"keyword": "machine words"},
-{"id": 3493,
-"keyword": "class type constructors"},
-{"id": 3494,
-"keyword": "large real-world firewall"},
-{"id": 3495,
-"keyword": "equational axiomatisation"},
-{"id": 3496,
-"keyword": "solution obtained"},
-{"id": 3497,
-"keyword": "convert ltl formulas"},
-{"id": 3498,
-"keyword": "naive union operation"},
-{"id": 3499,
-"keyword": "saturation-based heuristic prover"},
-{"id": 3500,
-"keyword": "multiple relational databases"},
-{"id": 3501,
-"keyword": "distinct prime factors"},
-{"id": 3502,
-"keyword": "first-order logic completeness theorem"},
-{"id": 3503,
-"keyword": "imp commands"},
-{"id": 3504,
-"keyword": "periodic function"},
-{"id": 3505,
-"keyword": "design pattern"},
-{"id": 3506,
-"keyword": "obtain efficient code"},
-{"id": 3507,
-"keyword": "chi automata"},
-{"id": 3508,
-"keyword": "featuring program-level requirements"},
-{"id": 3509,
-"keyword": "requested computation"},
-{"id": 3510,
-"keyword": "finite maps"},
-{"id": 3511,
-"keyword": "symmetric range"},
-{"id": 3512,
-"keyword": "work implements"},
-{"id": 3513,
-"keyword": "analytic continuation"},
-{"id": 3514,
-"keyword": "demonic refinement algebra"},
-{"id": 3515,
-"keyword": "list lookup operation"},
-{"id": 3516,
-"keyword": "recursively inseparable"},
{"id": 3517,
-"keyword": "efficient factorization algorithm"},
+"keyword": "machine words"},
{"id": 3518,
-"keyword": "port proofs"},
+"keyword": "class type constructors"},
{"id": 3519,
-"keyword": "present article"},
+"keyword": "large real-world firewall"},
{"id": 3520,
-"keyword": "axiom system"},
+"keyword": "equational axiomatisation"},
{"id": 3521,
-"keyword": "partial procedure"},
+"keyword": "solution obtained"},
{"id": 3522,
-"keyword": "van der waerden number"},
+"keyword": "document presents"},
{"id": 3523,
-"keyword": "abstract file represented"},
+"keyword": "convert ltl formulas"},
{"id": 3524,
-"keyword": "paper multi-head monitoring"},
+"keyword": "naive union operation"},
{"id": 3525,
-"keyword": "extract ocaml code"},
+"keyword": "saturation-based heuristic prover"},
{"id": 3526,
-"keyword": "linear inqualities"},
+"keyword": "multiple relational databases"},
{"id": 3527,
-"keyword": "real-time constraints"},
+"keyword": "distinct prime factors"},
{"id": 3528,
-"keyword": "equivalence classes"},
+"keyword": "first-order logic completeness theorem"},
{"id": 3529,
->>>>>>> merge rev
+"keyword": "imp commands"},
+{"id": 3530,
+"keyword": "periodic function"},
+{"id": 3531,
+"keyword": "design pattern"},
+{"id": 3532,
+"keyword": "obtain efficient code"},
+{"id": 3533,
+"keyword": "chi automata"},
+{"id": 3534,
+"keyword": "featuring program-level requirements"},
+{"id": 3535,
+"keyword": "requested computation"},
+{"id": 3536,
+"keyword": "finite maps"},
+{"id": 3537,
+"keyword": "symmetric range"},
+{"id": 3538,
+"keyword": "work implements"},
+{"id": 3539,
+"keyword": "analytic continuation"},
+{"id": 3540,
+"keyword": "demonic refinement algebra"},
+{"id": 3541,
+"keyword": "list lookup operation"},
+{"id": 3542,
+"keyword": "recursively inseparable"},
+{"id": 3543,
+"keyword": "efficient factorization algorithm"},
+{"id": 3544,
+"keyword": "port proofs"},
+{"id": 3545,
+"keyword": "present article"},
+{"id": 3546,
+"keyword": "axiom system"},
+{"id": 3547,
+"keyword": "partial procedure"},
+{"id": 3548,
+"keyword": "van der waerden number"},
+{"id": 3549,
+"keyword": "abstract file represented"},
+{"id": 3550,
+"keyword": "paper multi-head monitoring"},
+{"id": 3551,
+"keyword": "extract ocaml code"},
+{"id": 3552,
+"keyword": "linear inqualities"},
+{"id": 3553,
+"keyword": "real-time constraints"},
+{"id": 3554,
+"keyword": "equivalence classes"},
+{"id": 3555,
"keyword": "probabilistic loop termination"},
-<<<<<<< working copy
-{"id": 3494,
-||||||| common ancestor
-{"id": 3498,
-=======
-{"id": 3530,
->>>>>>> merge rev
+{"id": 3556,
"keyword": "validate termination"},
-<<<<<<< working copy
-{"id": 3495,
-||||||| common ancestor
-{"id": 3499,
-=======
-{"id": 3531,
->>>>>>> merge rev
+{"id": 3557,
"keyword": "large-scale stream processing systems"},
-<<<<<<< working copy
-{"id": 3496,
-||||||| common ancestor
-{"id": 3500,
-=======
-{"id": 3532,
->>>>>>> merge rev
+{"id": 3558,
"keyword": "functional implementation based"},
-<<<<<<< working copy
-{"id": 3497,
-"keyword": "abstract cfg"},
-{"id": 3498,
-"keyword": "polymorphic edge type"},
-{"id": 3499,
-"keyword": "theories presents"},
-{"id": 3500,
-"keyword": "rank-nullity theorem generalises"},
-{"id": 3501,
-"keyword": "major case study"},
-{"id": 3502,
-"keyword": "obtain efficient certified algorithms"},
-{"id": 3503,
-"keyword": "complex case"},
-{"id": 3504,
-"keyword": "lei97 alexander leitsch"},
-{"id": 3505,
-"keyword": "existing libraries"},
-{"id": 3506,
-"keyword": "type information"},
-{"id": 3507,
-"keyword": "dprm theorem"},
-{"id": 3508,
-"keyword": "quickstart guide"},
-{"id": 3509,
-"keyword": "simple"},
-{"id": 3510,
-"keyword": "gaussian integer formalisation"},
-{"id": 3511,
-"keyword": "shannon decomposition"},
-{"id": 3512,
-||||||| common ancestor
-{"id": 3501,
-"keyword": "abstract cfg"},
-{"id": 3502,
-"keyword": "polymorphic edge type"},
-{"id": 3503,
-"keyword": "theories presents"},
-{"id": 3504,
-"keyword": "rank-nullity theorem generalises"},
-{"id": 3505,
-"keyword": "major case study"},
-{"id": 3506,
-"keyword": "obtain efficient certified algorithms"},
-{"id": 3507,
-"keyword": "complex case"},
-{"id": 3508,
-"keyword": "lei97 alexander leitsch"},
-{"id": 3509,
-"keyword": "existing libraries"},
-{"id": 3510,
-"keyword": "type information"},
-{"id": 3511,
-"keyword": "dprm theorem"},
-{"id": 3512,
-"keyword": "quickstart guide"},
-{"id": 3513,
-"keyword": "simple"},
-{"id": 3514,
-"keyword": "gaussian integer formalisation"},
-{"id": 3515,
-"keyword": "shannon decomposition"},
-{"id": 3516,
-=======
-{"id": 3533,
+{"id": 3559,
"keyword": "abstract cfg"},
-{"id": 3534,
+{"id": 3560,
"keyword": "polymorphic edge type"},
-{"id": 3535,
+{"id": 3561,
"keyword": "theories presents"},
-{"id": 3536,
+{"id": 3562,
"keyword": "rank-nullity theorem generalises"},
-{"id": 3537,
+{"id": 3563,
"keyword": "major case study"},
-{"id": 3538,
+{"id": 3564,
"keyword": "obtain efficient certified algorithms"},
-{"id": 3539,
+{"id": 3565,
"keyword": "complex case"},
-{"id": 3540,
+{"id": 3566,
"keyword": "lei97 alexander leitsch"},
-{"id": 3541,
+{"id": 3567,
"keyword": "existing libraries"},
-{"id": 3542,
+{"id": 3568,
"keyword": "type information"},
-{"id": 3543,
+{"id": 3569,
"keyword": "dprm theorem"},
-{"id": 3544,
+{"id": 3570,
"keyword": "quickstart guide"},
-{"id": 3545,
+{"id": 3571,
"keyword": "simple"},
-{"id": 3546,
+{"id": 3572,
"keyword": "gaussian integer formalisation"},
-{"id": 3547,
+{"id": 3573,
"keyword": "shannon decomposition"},
-{"id": 3548,
->>>>>>> merge rev
+{"id": 3574,
"keyword": "axiom"},
-<<<<<<< working copy
-{"id": 3513,
-||||||| common ancestor
-{"id": 3517,
-=======
-{"id": 3549,
->>>>>>> merge rev
+{"id": 3575,
"keyword": "abstract specification"},
-<<<<<<< working copy
-{"id": 3514,
-||||||| common ancestor
-{"id": 3518,
-=======
-{"id": 3550,
->>>>>>> merge rev
+{"id": 3576,
"keyword": "cidr notation"},
-<<<<<<< working copy
-{"id": 3515,
-||||||| common ancestor
-{"id": 3519,
-=======
-{"id": 3551,
->>>>>>> merge rev
+{"id": 3577,
"keyword": "path lengths"},
-<<<<<<< working copy
-{"id": 3516,
+{"id": 3578,
"keyword": "discounted infinite horizon mdps"},
-{"id": 3517,
+{"id": 3579,
"keyword": "stricter safety guarantess"},
-{"id": 3518,
+{"id": 3580,
"keyword": "similar cegar-"},
-{"id": 3519,
+{"id": 3581,
"keyword": "floyd-warshall algorithm flo62"},
-{"id": 3520,
-"keyword": "underlying category"},
-{"id": 3521,
+{"id": 3582,
"keyword": "infinite form"},
-{"id": 3522,
+{"id": 3583,
+"keyword": "inverse transform ifntt"},
+{"id": 3584,
+"keyword": "underlying category"},
+{"id": 3585,
"keyword": "integers modulo"},
-{"id": 3523,
+{"id": 3586,
"keyword": "isomorphism classes"},
-{"id": 3524,
+{"id": 3587,
"keyword": "laplace transform"},
-{"id": 3525,
+{"id": 3588,
"keyword": "stepwise inductive definition"},
-{"id": 3526,
+{"id": 3589,
"keyword": "hol multivariate analysis"},
-{"id": 3527,
+{"id": 3590,
"keyword": "spectral radius theory"},
-{"id": 3528,
+{"id": 3591,
"keyword": "viterbi algorithm"},
-{"id": 3529,
+{"id": 3592,
"keyword": "directed graph"},
-{"id": 3530,
+{"id": 3593,
"keyword": "correct construction"},
-{"id": 3531,
+{"id": 3594,
"keyword": "yoneda lemma"},
-{"id": 3532,
+{"id": 3595,
"keyword": "kleene algebras endowed"},
-{"id": 3533,
+{"id": 3596,
"keyword": "autoref tool"},
-{"id": 3534,
+{"id": 3597,
"keyword": "simple while-language"},
-{"id": 3535,
+{"id": 3598,
"keyword": "pace authentication key"},
-{"id": 3536,
+{"id": 3599,
"keyword": "herglotz"},
-{"id": 3537,
+{"id": 3600,
"keyword": "relation-algebraic concepts"},
-{"id": 3538,
+{"id": 3601,
"keyword": "periodically adjusting"},
-{"id": 3539,
+{"id": 3602,
"keyword": "hol-multivariate analysis library"},
-{"id": 3540,
+{"id": 3603,
"keyword": "reproduce faithfully"},
-{"id": 3541,
+{"id": 3604,
"keyword": "generic fixed-width words"},
-{"id": 3542,
+{"id": 3605,
"keyword": "counting partial equivalence relations"},
-{"id": 3543,
+{"id": 3606,
"keyword": "additional indeterminate"},
-{"id": 3544,
+{"id": 3607,
"keyword": "message confidentiality"},
-{"id": 3545,
+{"id": 3608,
"keyword": "work comprises proofs"},
-{"id": 3546,
+{"id": 3609,
"keyword": "vandermonde matrices"},
-{"id": 3547,
+{"id": 3610,
"keyword": "original language"},
-{"id": 3548,
+{"id": 3611,
"keyword": "verifies infinite families"},
-{"id": 3549,
+{"id": 3612,
"keyword": "afp entry saturation_framework"},
-{"id": 3550,
+{"id": 3613,
"keyword": "detailed presentation"},
-{"id": 3551,
+{"id": 3614,
"keyword": "executable algorithms based"},
-{"id": 3552,
-"keyword": "art formal verification methods"},
-{"id": 3553,
-"keyword": "verified monitor implements"},
-{"id": 3554,
-"keyword": "security expressed"},
-{"id": 3555,
-"keyword": "subsystems involves causality"},
-{"id": 3556,
-"keyword": "byte-level little-endian memory model"},
-{"id": 3557,
-"keyword": "tail-recursive generalization"},
-{"id": 3558,
-"keyword": "automatic differentiation"},
-{"id": 3559,
-"keyword": "paper compositional verification"},
-{"id": 3560,
-"keyword": "set monad notation"},
-{"id": 3561,
-"keyword": "georgia notes"},
-{"id": 3562,
-"keyword": "plas 2009 paper"},
-{"id": 3563,
-"keyword": "intransitive noninterference policy"},
-{"id": 3564,
-"keyword": "interactive convergence algorithm"},
-{"id": 3565,
-"keyword": "provably demonstrate"},
-{"id": 3566,
-"keyword": "forward differentiation"},
-{"id": 3567,
-"keyword": "automatic methods"},
-||||||| common ancestor
-{"id": 3520,
-"keyword": "discounted infinite horizon mdps"},
-{"id": 3521,
-"keyword": "stricter safety guarantess"},
-{"id": 3522,
-"keyword": "similar cegar-"},
-{"id": 3523,
-"keyword": "floyd-warshall algorithm flo62"},
-{"id": 3524,
-"keyword": "underlying category"},
-{"id": 3525,
-"keyword": "infinite form"},
-{"id": 3526,
-"keyword": "integers modulo"},
-{"id": 3527,
-"keyword": "isomorphism classes"},
-{"id": 3528,
-"keyword": "laplace transform"},
-{"id": 3529,
-"keyword": "stepwise inductive definition"},
-{"id": 3530,
-"keyword": "hol multivariate analysis"},
-{"id": 3531,
-"keyword": "spectral radius theory"},
-{"id": 3532,
-"keyword": "viterbi algorithm"},
-{"id": 3533,
-"keyword": "directed graph"},
-{"id": 3534,
-"keyword": "correct construction"},
-{"id": 3535,
-"keyword": "yoneda lemma"},
-{"id": 3536,
-"keyword": "kleene algebras endowed"},
-{"id": 3537,
-"keyword": "autoref tool"},
-{"id": 3538,
-"keyword": "simple while-language"},
-{"id": 3539,
-"keyword": "pace authentication key"},
-{"id": 3540,
-"keyword": "herglotz"},
-{"id": 3541,
-"keyword": "relation-algebraic concepts"},
-{"id": 3542,
-"keyword": "periodically adjusting"},
-{"id": 3543,
-"keyword": "hol-multivariate analysis library"},
-{"id": 3544,
-"keyword": "reproduce faithfully"},
-{"id": 3545,
-"keyword": "generic fixed-width words"},
-{"id": 3546,
-"keyword": "counting partial equivalence relations"},
-{"id": 3547,
-"keyword": "additional indeterminate"},
-{"id": 3548,
-"keyword": "message confidentiality"},
-{"id": 3549,
-"keyword": "work comprises proofs"},
-{"id": 3550,
-"keyword": "vandermonde matrices"},
-{"id": 3551,
-"keyword": "original language"},
-{"id": 3552,
-"keyword": "verifies infinite families"},
-{"id": 3553,
-"keyword": "afp entry saturation_framework"},
-{"id": 3554,
-"keyword": "detailed presentation"},
-{"id": 3555,
-"keyword": "executable algorithms based"},
-{"id": 3556,
+{"id": 3615,
"keyword": "art formal verification methods"},
-{"id": 3557,
+{"id": 3616,
+"keyword": "automatically executed programs"},
+{"id": 3617,
"keyword": "verified monitor implements"},
-{"id": 3558,
-"keyword": "security expressed"},
-{"id": 3559,
-"keyword": "subsystems involves causality"},
-{"id": 3560,
-"keyword": "byte-level little-endian memory model"},
-{"id": 3561,
-"keyword": "tail-recursive generalization"},
-{"id": 3562,
-"keyword": "automatic differentiation"},
-{"id": 3563,
-"keyword": "paper compositional verification"},
-{"id": 3564,
-"keyword": "set monad notation"},
-{"id": 3565,
-"keyword": "georgia notes"},
-{"id": 3566,
-"keyword": "plas 2009 paper"},
-{"id": 3567,
-"keyword": "intransitive noninterference policy"},
-=======
-{"id": 3552,
-"keyword": "discounted infinite horizon mdps"},
-{"id": 3553,
-"keyword": "stricter safety guarantess"},
-{"id": 3554,
-"keyword": "similar cegar-"},
-{"id": 3555,
-"keyword": "floyd-warshall algorithm flo62"},
-{"id": 3556,
-"keyword": "underlying category"},
-{"id": 3557,
-"keyword": "infinite form"},
-{"id": 3558,
-"keyword": "integers modulo"},
-{"id": 3559,
-"keyword": "isomorphism classes"},
-{"id": 3560,
-"keyword": "laplace transform"},
-{"id": 3561,
-"keyword": "stepwise inductive definition"},
-{"id": 3562,
-"keyword": "hol multivariate analysis"},
-{"id": 3563,
-"keyword": "spectral radius theory"},
-{"id": 3564,
-"keyword": "viterbi algorithm"},
-{"id": 3565,
-"keyword": "directed graph"},
-{"id": 3566,
-"keyword": "correct construction"},
-{"id": 3567,
-"keyword": "yoneda lemma"},
->>>>>>> merge rev
-{"id": 3568,
-<<<<<<< working copy
-"keyword": "classical dpll procedure"},
-||||||| common ancestor
-"keyword": "interactive convergence algorithm"},
-=======
-"keyword": "kleene algebras endowed"},
->>>>>>> merge rev
-{"id": 3569,
-<<<<<<< working copy
-"keyword": "lifting"},
-||||||| common ancestor
-"keyword": "provably demonstrate"},
-=======
-"keyword": "autoref tool"},
->>>>>>> merge rev
-{"id": 3570,
-<<<<<<< working copy
-"keyword": "lehmer"},
-||||||| common ancestor
-"keyword": "center selection"},
-=======
-"keyword": "simple while-language"},
->>>>>>> merge rev
-{"id": 3571,
-<<<<<<< working copy
-"keyword": "electronic proceedings"},
-||||||| common ancestor
-"keyword": "forward differentiation"},
-=======
-"keyword": "pace authentication key"},
->>>>>>> merge rev
-{"id": 3572,
-<<<<<<< working copy
-"keyword": "inventors vickrey"},
-||||||| common ancestor
-"keyword": "automatic methods"},
-=======
-"keyword": "herglotz"},
->>>>>>> merge rev
-{"id": 3573,
-<<<<<<< working copy
-"keyword": "one-complete computably enumerable set"},
-||||||| common ancestor
-"keyword": "classical dpll procedure"},
-=======
-"keyword": "relation-algebraic concepts"},
->>>>>>> merge rev
-{"id": 3574,
-<<<<<<< working copy
-"keyword": "conway semirings extended"},
-||||||| common ancestor
-"keyword": "lifting"},
-=======
-"keyword": "periodically adjusting"},
->>>>>>> merge rev
-{"id": 3575,
-<<<<<<< working copy
-"keyword": "pseudonymous identifiers output"},
-||||||| common ancestor
-"keyword": "lehmer"},
-=======
-"keyword": "hol-multivariate analysis library"},
->>>>>>> merge rev
-{"id": 3576,
-<<<<<<< working copy
-"keyword": "unverified translation"},
-||||||| common ancestor
-"keyword": "electronic proceedings"},
-=======
-"keyword": "reproduce faithfully"},
->>>>>>> merge rev
-{"id": 3577,
-<<<<<<< working copy
-"keyword": "recently proposed framework"},
-||||||| common ancestor
-"keyword": "inventors vickrey"},
-=======
-"keyword": "generic fixed-width words"},
->>>>>>> merge rev
-{"id": 3578,
-<<<<<<< working copy
-"keyword": "marriage theorem"},
-{"id": 3579,
-"keyword": "modern day politics"},
-{"id": 3580,
-"keyword": "abstract reasoning"},
-{"id": 3581,
-"keyword": "adjunctions"},
-{"id": 3582,
-"keyword": "solomon feferman"},
-{"id": 3583,
-"keyword": "babylonian method"},
-{"id": 3584,
-"keyword": "phd thesis"},
-{"id": 3585,
-"keyword": "formal analysis"},
-{"id": 3586,
-"keyword": "implemented multi-"},
-||||||| common ancestor
-"keyword": "one-complete computably enumerable set"},
-{"id": 3579,
-"keyword": "conway semirings extended"},
-{"id": 3580,
-"keyword": "pseudonymous identifiers output"},
-{"id": 3581,
-"keyword": "unverified translation"},
-{"id": 3582,
-"keyword": "recently proposed framework"},
-{"id": 3583,
-"keyword": "marriage theorem"},
-{"id": 3584,
-"keyword": "modern day politics"},
-{"id": 3585,
-"keyword": "abstract reasoning"},
-{"id": 3586,
-"keyword": "adjunctions"},
-=======
-"keyword": "counting partial equivalence relations"},
-{"id": 3579,
-"keyword": "additional indeterminate"},
-{"id": 3580,
-"keyword": "message confidentiality"},
-{"id": 3581,
-"keyword": "work comprises proofs"},
-{"id": 3582,
-"keyword": "vandermonde matrices"},
-{"id": 3583,
-"keyword": "original language"},
-{"id": 3584,
-"keyword": "verifies infinite families"},
-{"id": 3585,
-"keyword": "afp entry saturation_framework"},
-{"id": 3586,
-"keyword": "detailed presentation"},
->>>>>>> merge rev
-{"id": 3587,
-<<<<<<< working copy
-"keyword": "proposes axiom systems"},
-||||||| common ancestor
-"keyword": "solomon feferman"},
-=======
-"keyword": "executable algorithms based"},
->>>>>>> merge rev
-{"id": 3588,
-<<<<<<< working copy
-"keyword": "called hol-csp 1"},
-||||||| common ancestor
-"keyword": "babylonian method"},
-=======
-"keyword": "art formal verification methods"},
->>>>>>> merge rev
-{"id": 3589,
-<<<<<<< working copy
-"keyword": "explicit bottom element"},
-||||||| common ancestor
-"keyword": "phd thesis"},
-=======
-"keyword": "automatically executed programs"},
->>>>>>> merge rev
-{"id": 3590,
-<<<<<<< working copy
-"keyword": "vandermonde identity"},
-||||||| common ancestor
-"keyword": "formal analysis"},
-=======
-"keyword": "verified monitor implements"},
->>>>>>> merge rev
-{"id": 3591,
-<<<<<<< working copy
-"keyword": "infinite type"},
-||||||| common ancestor
-"keyword": "implemented multi-"},
-=======
+{"id": 3618,
"keyword": "security expressed"},
->>>>>>> merge rev
-{"id": 3592,
-<<<<<<< working copy
-"keyword": "ergodic theory"},
-||||||| common ancestor
-"keyword": "proposes axiom systems"},
-=======
+{"id": 3619,
"keyword": "subsystems involves causality"},
->>>>>>> merge rev
-{"id": 3593,
-<<<<<<< working copy
-"keyword": "establishing strong eventual consistency"},
-||||||| common ancestor
-"keyword": "called hol-csp 1"},
-=======
+{"id": 3620,
"keyword": "byte-level little-endian memory model"},
->>>>>>> merge rev
-{"id": 3594,
-<<<<<<< working copy
-"keyword": "two-element security lattice"},
-||||||| common ancestor
-"keyword": "explicit bottom element"},
-=======
+{"id": 3621,
"keyword": "tail-recursive generalization"},
->>>>>>> merge rev
-{"id": 3595,
-<<<<<<< working copy
-"keyword": "abstract proof"},
-||||||| common ancestor
-"keyword": "vandermonde identity"},
-=======
+{"id": 3622,
"keyword": "automatic differentiation"},
->>>>>>> merge rev
-{"id": 3596,
-<<<<<<< working copy
-"keyword": "standard real cartesian model"},
-||||||| common ancestor
-"keyword": "infinite type"},
-=======
+{"id": 3623,
"keyword": "paper compositional verification"},
->>>>>>> merge rev
-{"id": 3597,
-<<<<<<< working copy
-"keyword": "holcf extension"},
-||||||| common ancestor
-"keyword": "ergodic theory"},
-=======
-"keyword": "set monad notation"},
->>>>>>> merge rev
-{"id": 3598,
-<<<<<<< working copy
-"keyword": "development relies"},
-||||||| common ancestor
-"keyword": "establishing strong eventual consistency"},
-=======
-"keyword": "georgia notes"},
->>>>>>> merge rev
-{"id": 3599,
-<<<<<<< working copy
-"keyword": "basic identities"},
-||||||| common ancestor
-"keyword": "two-element security lattice"},
-=======
-"keyword": "plas 2009 paper"},
->>>>>>> merge rev
-{"id": 3600,
-<<<<<<< working copy
-"keyword": "periodic bernoulli polynomials"},
-||||||| common ancestor
-"keyword": "document presents"},
-=======
-"keyword": "intransitive noninterference policy"},
->>>>>>> merge rev
-{"id": 3601,
-<<<<<<< working copy
-"keyword": "protocols sharing common structure"},
-||||||| common ancestor
-"keyword": "model checker"},
-=======
-"keyword": "interactive convergence algorithm"},
->>>>>>> merge rev
-{"id": 3602,
-<<<<<<< working copy
-"keyword": "attack tree validity"},
-||||||| common ancestor
-"keyword": "abstract proof"},
-=======
-"keyword": "provably demonstrate"},
->>>>>>> merge rev
-{"id": 3603,
-<<<<<<< working copy
-"keyword": "generic dfs algorithm framework"},
-||||||| common ancestor
-"keyword": "standard real cartesian model"},
-=======
-"keyword": "center selection"},
->>>>>>> merge rev
-{"id": 3604,
-<<<<<<< working copy
-"keyword": "many-sorted problem"},
-||||||| common ancestor
-"keyword": "holcf extension"},
-=======
-"keyword": "forward differentiation"},
->>>>>>> merge rev
-{"id": 3605,
-<<<<<<< working copy
-"keyword": "smallest number n_"},
-{"id": 3606,
-"keyword": "laurent expansion"},
-{"id": 3607,
-"keyword": "supports low-effort security proofs"},
-{"id": 3608,
-"keyword": "natural homomorphism"},
-{"id": 3609,
-"keyword": "potential applications"},
-{"id": 3610,
-"keyword": "entire polynomial ring"},
-{"id": 3611,
-"keyword": "differential dynamic logic"},
-{"id": 3612,
-"keyword": "wpo subsumes kbo"},
-{"id": 3613,
-"keyword": "top 100 mathematical theorems"},
-{"id": 3614,
-"keyword": "beukers"},
-{"id": 3615,
-"keyword": "first-order logic"},
-||||||| common ancestor
-"keyword": "development relies"},
-{"id": 3606,
-"keyword": "basic identities"},
-{"id": 3607,
-"keyword": "periodic bernoulli polynomials"},
-{"id": 3608,
-"keyword": "protocols sharing common structure"},
-{"id": 3609,
-"keyword": "attack tree validity"},
-{"id": 3610,
-"keyword": "generic dfs algorithm framework"},
-{"id": 3611,
-"keyword": "many-sorted problem"},
-{"id": 3612,
-"keyword": "smallest number n_"},
-{"id": 3613,
-"keyword": "laurent expansion"},
-{"id": 3614,
-"keyword": "supports low-effort security proofs"},
-{"id": 3615,
-"keyword": "natural homomorphism"},
-=======
-"keyword": "automatic methods"},
-{"id": 3606,
-"keyword": "classical dpll procedure"},
-{"id": 3607,
-"keyword": "lifting"},
-{"id": 3608,
-"keyword": "lehmer"},
-{"id": 3609,
-"keyword": "electronic proceedings"},
-{"id": 3610,
-"keyword": "inventors vickrey"},
-{"id": 3611,
-"keyword": "one-complete computably enumerable set"},
-{"id": 3612,
-"keyword": "conway semirings extended"},
-{"id": 3613,
-"keyword": "pseudonymous identifiers output"},
-{"id": 3614,
-"keyword": "unverified translation"},
-{"id": 3615,
-"keyword": "recently proposed framework"},
->>>>>>> merge rev
-{"id": 3616,
-<<<<<<< working copy
-"keyword": "canton protocol"},
-||||||| common ancestor
-"keyword": "potential applications"},
-=======
-"keyword": "marriage theorem"},
->>>>>>> merge rev
-{"id": 3617,
-<<<<<<< working copy
-"keyword": "linear temporal logic"},
-||||||| common ancestor
-"keyword": "entire polynomial ring"},
-=======
-"keyword": "modern day politics"},
->>>>>>> merge rev
-{"id": 3618,
-<<<<<<< working copy
-"keyword": "newton puiseux theorem"},
-||||||| common ancestor
-"keyword": "differential dynamic logic"},
-=======
-"keyword": "abstract reasoning"},
->>>>>>> merge rev
-{"id": 3619,
-<<<<<<< working copy
-"keyword": "safely composable web components"},
-||||||| common ancestor
-"keyword": "wpo subsumes kbo"},
-=======
-"keyword": "adjunctions"},
->>>>>>> merge rev
-{"id": 3620,
-<<<<<<< working copy
-"keyword": "function"},
-||||||| common ancestor
-"keyword": "top 100 mathematical theorems"},
-=======
-"keyword": "solomon feferman"},
->>>>>>> merge rev
-{"id": 3621,
-<<<<<<< working copy
-"keyword": "canonical isomorphism"},
-||||||| common ancestor
-"keyword": "beukers"},
-=======
-"keyword": "babylonian method"},
->>>>>>> merge rev
-{"id": 3622,
-<<<<<<< working copy
-"keyword": "grounding sets"},
-||||||| common ancestor
-"keyword": "first-order logic"},
-=======
-"keyword": "phd thesis"},
->>>>>>> merge rev
-{"id": 3623,
-<<<<<<< working copy
-"keyword": "characteristic polynomials"},
-||||||| common ancestor
-"keyword": "canton protocol"},
-=======
-"keyword": "formal analysis"},
->>>>>>> merge rev
{"id": 3624,
-<<<<<<< working copy
-"keyword": "fibonacci numbers"},
+"keyword": "set monad notation"},
{"id": 3625,
-"keyword": "control-flow graphs"},
+"keyword": "georgia notes"},
{"id": 3626,
-"keyword": "public key cryptography"},
+"keyword": "plas 2009 paper"},
{"id": 3627,
-"keyword": "leading coefficient"},
+"keyword": "intransitive noninterference policy"},
{"id": 3628,
-"keyword": "denotational semantics"},
+"keyword": "interactive convergence algorithm"},
{"id": 3629,
-"keyword": "utilizing modern proof assistants"},
+"keyword": "provably demonstrate"},
{"id": 3630,
-"keyword": "integral domains"},
+"keyword": "forward differentiation"},
{"id": 3631,
-"keyword": "generalized sylvester matrices"},
+"keyword": "automatic methods"},
{"id": 3632,
-"keyword": "case statements"},
+"keyword": "classical dpll procedure"},
{"id": 3633,
-"keyword": "arbitrary size"},
+"keyword": "lifting"},
{"id": 3634,
-"keyword": "concurrent systems"},
+"keyword": "lehmer"},
{"id": 3635,
-"keyword": "greatly reducing"},
+"keyword": "electronic proceedings"},
{"id": 3636,
-"keyword": "matching"},
+"keyword": "inventors vickrey"},
{"id": 3637,
-||||||| common ancestor
-"keyword": "linear temporal logic"},
-{"id": 3625,
-"keyword": "newton puiseux theorem"},
-{"id": 3626,
-"keyword": "safely composable web components"},
-{"id": 3627,
-"keyword": "function"},
-{"id": 3628,
-"keyword": "canonical isomorphism"},
-{"id": 3629,
-"keyword": "grounding sets"},
-{"id": 3630,
-"keyword": "characteristic polynomials"},
-{"id": 3631,
-"keyword": "fibonacci numbers"},
-{"id": 3632,
-"keyword": "control-flow graphs"},
-{"id": 3633,
-"keyword": "public key cryptography"},
-{"id": 3634,
-"keyword": "leading coefficient"},
-{"id": 3635,
-"keyword": "denotational semantics"},
-{"id": 3636,
-"keyword": "utilizing modern proof assistants"},
-{"id": 3637,
-"keyword": "integral domains"},
+"keyword": "one-complete computably enumerable set"},
{"id": 3638,
-"keyword": "generalized sylvester matrices"},
+"keyword": "conway semirings extended"},
{"id": 3639,
-"keyword": "case statements"},
+"keyword": "pseudonymous identifiers output"},
{"id": 3640,
-"keyword": "arbitrary size"},
+"keyword": "unverified translation"},
{"id": 3641,
-"keyword": "concurrent systems"},
+"keyword": "recently proposed framework"},
{"id": 3642,
-"keyword": "greatly reducing"},
+"keyword": "marriage theorem"},
{"id": 3643,
-"keyword": "matching"},
+"keyword": "modern day politics"},
{"id": 3644,
-=======
-"keyword": "implemented multi-"},
-{"id": 3625,
-"keyword": "proposes axiom systems"},
-{"id": 3626,
-"keyword": "called hol-csp 1"},
-{"id": 3627,
-"keyword": "explicit bottom element"},
-{"id": 3628,
-"keyword": "vandermonde identity"},
-{"id": 3629,
-"keyword": "infinite type"},
-{"id": 3630,
-"keyword": "ergodic theory"},
-{"id": 3631,
-"keyword": "establishing strong eventual consistency"},
-{"id": 3632,
-"keyword": "two-element security lattice"},
-{"id": 3633,
-"keyword": "document presents"},
-{"id": 3634,
-"keyword": "model checker"},
-{"id": 3635,
-"keyword": "abstract proof"},
-{"id": 3636,
-"keyword": "standard real cartesian model"},
-{"id": 3637,
-"keyword": "holcf extension"},
-{"id": 3638,
-"keyword": "development relies"},
-{"id": 3639,
-"keyword": "basic identities"},
-{"id": 3640,
-"keyword": "periodic bernoulli polynomials"},
-{"id": 3641,
-"keyword": "protocols sharing common structure"},
-{"id": 3642,
-"keyword": "attack tree validity"},
-{"id": 3643,
-"keyword": "generic dfs algorithm framework"},
-{"id": 3644,
-"keyword": "many-sorted problem"},
+"keyword": "abstract reasoning"},
{"id": 3645,
-"keyword": "smallest number n_"},
+"keyword": "adjunctions"},
{"id": 3646,
-"keyword": "laurent expansion"},
+"keyword": "solomon feferman"},
{"id": 3647,
-"keyword": "supports low-effort security proofs"},
+"keyword": "babylonian method"},
{"id": 3648,
-"keyword": "natural homomorphism"},
+"keyword": "phd thesis"},
{"id": 3649,
-"keyword": "potential applications"},
+"keyword": "formal analysis"},
{"id": 3650,
-"keyword": "entire polynomial ring"},
+"keyword": "implemented multi-"},
{"id": 3651,
-"keyword": "differential dynamic logic"},
+"keyword": "proposes axiom systems"},
{"id": 3652,
-"keyword": "wpo subsumes kbo"},
+"keyword": "called hol-csp 1"},
{"id": 3653,
-"keyword": "top 100 mathematical theorems"},
+"keyword": "explicit bottom element"},
{"id": 3654,
-"keyword": "beukers"},
-{"id": 3655,
-"keyword": "first-order logic"},
-{"id": 3656,
-"keyword": "canton protocol"},
-{"id": 3657,
-"keyword": "linear temporal logic"},
-{"id": 3658,
-"keyword": "newton puiseux theorem"},
-{"id": 3659,
-"keyword": "safely composable web components"},
-{"id": 3660,
-"keyword": "function"},
-{"id": 3661,
-"keyword": "canonical isomorphism"},
-{"id": 3662,
-"keyword": "grounding sets"},
-{"id": 3663,
-"keyword": "characteristic polynomials"},
-{"id": 3664,
-"keyword": "fibonacci numbers"},
-{"id": 3665,
-"keyword": "control-flow graphs"},
-{"id": 3666,
-"keyword": "public key cryptography"},
-{"id": 3667,
-"keyword": "leading coefficient"},
-{"id": 3668,
-"keyword": "denotational semantics"},
-{"id": 3669,
-"keyword": "utilizing modern proof assistants"},
-{"id": 3670,
-"keyword": "integral domains"},
-{"id": 3671,
-"keyword": "generalized sylvester matrices"},
-{"id": 3672,
-"keyword": "case statements"},
-{"id": 3673,
-"keyword": "arbitrary size"},
-{"id": 3674,
-"keyword": "concurrent systems"},
-{"id": 3675,
-"keyword": "greatly reducing"},
-{"id": 3676,
-"keyword": "matching"},
-{"id": 3677,
->>>>>>> merge rev
-"keyword": "event shared"},
-<<<<<<< working copy
-{"id": 3638,
-"keyword": "distributed ledgers"},
-{"id": 3639,
-"keyword": "john bruntse larsen"},
-{"id": 3640,
-"keyword": "gauss-jordan algorithm"},
-{"id": 3641,
-"keyword": "existing tools"},
-{"id": 3642,
-"keyword": "accompanying paper"},
-{"id": 3643,
-"keyword": "developing methods"},
-{"id": 3644,
-"keyword": "edmonds theorem"},
-{"id": 3645,
-"keyword": "basic result"},
-{"id": 3646,
-"keyword": "program dependence graphs"},
-{"id": 3647,
-"keyword": "reference point"},
-{"id": 3648,
-"keyword": "unwinding theorem"},
-{"id": 3649,
-"keyword": "class-preserving learning"},
-{"id": 3650,
-"keyword": "natural deduction proof calculus"},
-{"id": 3651,
-"keyword": "latest version"},
-{"id": 3652,
-"keyword": "compiler technology"},
-{"id": 3653,
-"keyword": "monoidal functor"},
-{"id": 3654,
-||||||| common ancestor
-{"id": 3645,
-"keyword": "distributed ledgers"},
-{"id": 3646,
-"keyword": "john bruntse larsen"},
-{"id": 3647,
-"keyword": "gauss-jordan algorithm"},
-{"id": 3648,
-"keyword": "existing tools"},
-{"id": 3649,
-"keyword": "accompanying paper"},
-{"id": 3650,
-"keyword": "developing methods"},
-{"id": 3651,
-"keyword": "edmonds theorem"},
-{"id": 3652,
-"keyword": "basic result"},
-{"id": 3653,
-"keyword": "program dependence graphs"},
-{"id": 3654,
-"keyword": "reference point"},
+"keyword": "vandermonde identity"},
{"id": 3655,
-"keyword": "unwinding theorem"},
+"keyword": "infinite type"},
{"id": 3656,
-"keyword": "class-preserving learning"},
+"keyword": "ergodic theory"},
{"id": 3657,
-"keyword": "natural deduction proof calculus"},
+"keyword": "change history"},
{"id": 3658,
-"keyword": "compiler technology"},
+"keyword": "establishing strong eventual consistency"},
{"id": 3659,
-"keyword": "monoidal functor"},
+"keyword": "two-element security lattice"},
{"id": 3660,
-=======
+"keyword": "abstract proof"},
+{"id": 3661,
+"keyword": "standard real cartesian model"},
+{"id": 3662,
+"keyword": "holcf extension"},
+{"id": 3663,
+"keyword": "development relies"},
+{"id": 3664,
+"keyword": "basic identities"},
+{"id": 3665,
+"keyword": "periodic bernoulli polynomials"},
+{"id": 3666,
+"keyword": "protocols sharing common structure"},
+{"id": 3667,
+"keyword": "attack tree validity"},
+{"id": 3668,
+"keyword": "generic dfs algorithm framework"},
+{"id": 3669,
+"keyword": "many-sorted problem"},
+{"id": 3670,
+"keyword": "smallest number n_"},
+{"id": 3671,
+"keyword": "laurent expansion"},
+{"id": 3672,
+"keyword": "supports low-effort security proofs"},
+{"id": 3673,
+"keyword": "natural homomorphism"},
+{"id": 3674,
+"keyword": "potential applications"},
+{"id": 3675,
+"keyword": "entire polynomial ring"},
+{"id": 3676,
+"keyword": "differential dynamic logic"},
+{"id": 3677,
+"keyword": "wpo subsumes kbo"},
{"id": 3678,
-"keyword": "distributed ledgers"},
+"keyword": "top 100 mathematical theorems"},
{"id": 3679,
-"keyword": "john bruntse larsen"},
+"keyword": "beukers"},
{"id": 3680,
-"keyword": "gauss-jordan algorithm"},
+"keyword": "first-order logic"},
{"id": 3681,
-"keyword": "existing tools"},
+"keyword": "canton protocol"},
{"id": 3682,
-"keyword": "accompanying paper"},
+"keyword": "linear temporal logic"},
{"id": 3683,
-"keyword": "developing methods"},
+"keyword": "newton puiseux theorem"},
{"id": 3684,
-"keyword": "edmonds theorem"},
+"keyword": "safely composable web components"},
{"id": 3685,
-"keyword": "basic result"},
+"keyword": "function"},
{"id": 3686,
-"keyword": "program dependence graphs"},
+"keyword": "canonical isomorphism"},
{"id": 3687,
-"keyword": "reference point"},
+"keyword": "grounding sets"},
{"id": 3688,
-"keyword": "unwinding theorem"},
+"keyword": "characteristic polynomials"},
{"id": 3689,
-"keyword": "class-preserving learning"},
+"keyword": "fibonacci numbers"},
{"id": 3690,
-"keyword": "natural deduction proof calculus"},
+"keyword": "control-flow graphs"},
{"id": 3691,
-"keyword": "compiler technology"},
+"keyword": "public key cryptography"},
{"id": 3692,
-"keyword": "monoidal functor"},
+"keyword": "leading coefficient"},
{"id": 3693,
->>>>>>> merge rev
-"keyword": "bst"},
-<<<<<<< working copy
-{"id": 3655,
-||||||| common ancestor
-{"id": 3661,
-=======
+"keyword": "denotational semantics"},
{"id": 3694,
->>>>>>> merge rev
-"keyword": "greatest fixpoints"},
-<<<<<<< working copy
-{"id": 3656,
-||||||| common ancestor
-{"id": 3662,
-=======
+"keyword": "utilizing modern proof assistants"},
{"id": 3695,
->>>>>>> merge rev
+"keyword": "integral domains"},
+{"id": 3696,
+"keyword": "generalized sylvester matrices"},
+{"id": 3697,
+"keyword": "case statements"},
+{"id": 3698,
+"keyword": "arbitrary size"},
+{"id": 3699,
+"keyword": "concurrent systems"},
+{"id": 3700,
+"keyword": "greatly reducing"},
+{"id": 3701,
+"keyword": "matching"},
+{"id": 3702,
+"keyword": "event shared"},
+{"id": 3703,
+"keyword": "distributed ledgers"},
+{"id": 3704,
+"keyword": "john bruntse larsen"},
+{"id": 3705,
+"keyword": "gauss-jordan algorithm"},
+{"id": 3706,
+"keyword": "existing tools"},
+{"id": 3707,
+"keyword": "accompanying paper"},
+{"id": 3708,
+"keyword": "developing methods"},
+{"id": 3709,
+"keyword": "edmonds theorem"},
+{"id": 3710,
+"keyword": "basic result"},
+{"id": 3711,
+"keyword": "program dependence graphs"},
+{"id": 3712,
+"keyword": "reference point"},
+{"id": 3713,
+"keyword": "unwinding theorem"},
+{"id": 3714,
+"keyword": "class-preserving learning"},
+{"id": 3715,
+"keyword": "natural deduction proof calculus"},
+{"id": 3716,
+"keyword": "latest version"},
+{"id": 3717,
+"keyword": "compiler technology"},
+{"id": 3718,
+"keyword": "monoidal functor"},
+{"id": 3719,
+"keyword": "bst"},
+{"id": 3720,
+"keyword": "greatest fixpoints"},
+{"id": 3721,
"keyword": "cover records"},
-<<<<<<< working copy
-{"id": 3657,
-||||||| common ancestor
-{"id": 3663,
-=======
-{"id": 3696,
->>>>>>> merge rev
+{"id": 3722,
"keyword": "entire prover"},
-<<<<<<< working copy
-{"id": 3658,
+{"id": 3723,
"keyword": "quantum registers"},
-{"id": 3659,
+{"id": 3724,
"keyword": "security properties turn"},
-{"id": 3660,
+{"id": 3725,
"keyword": "locale assumptions correspond"},
-{"id": 3661,
+{"id": 3726,
"keyword": "monotonic predicate transformers"},
-{"id": 3662,
+{"id": 3727,
"keyword": "exponential reconstruction phase"},
-{"id": 3663,
+{"id": 3728,
"keyword": "monad transformers"},
-{"id": 3664,
+{"id": 3729,
"keyword": "process invariant"},
-{"id": 3665,
-"keyword": "original algorithm presented"},
-{"id": 3666,
-"keyword": "count distinct real roots"},
-{"id": 3667,
-"keyword": "standard verification technology"},
-{"id": 3668,
-"keyword": "frobenius reciprocity"},
-{"id": 3669,
-"keyword": "static intraprocedural slicing"},
-{"id": 3670,
-"keyword": "de bruijn indices"},
-{"id": 3671,
-"keyword": "real closed field"},
-{"id": 3672,
-"keyword": "compare encodability criteria"},
-{"id": 3673,
-||||||| common ancestor
-{"id": 3664,
-"keyword": "quantum registers"},
-{"id": 3665,
-"keyword": "security properties turn"},
-{"id": 3666,
-"keyword": "locale assumptions correspond"},
-{"id": 3667,
-"keyword": "monotonic predicate transformers"},
-{"id": 3668,
-"keyword": "exponential reconstruction phase"},
-{"id": 3669,
-"keyword": "monad transformers"},
-{"id": 3670,
-"keyword": "process invariant"},
-{"id": 3671,
+{"id": 3730,
"keyword": "original algorithm presented"},
-{"id": 3672,
+{"id": 3731,
"keyword": "count distinct real roots"},
-{"id": 3673,
+{"id": 3732,
"keyword": "standard verification technology"},
-{"id": 3674,
+{"id": 3733,
"keyword": "frobenius reciprocity"},
-{"id": 3675,
+{"id": 3734,
"keyword": "static intraprocedural slicing"},
-{"id": 3676,
+{"id": 3735,
"keyword": "de bruijn indices"},
-{"id": 3677,
+{"id": 3736,
"keyword": "real closed field"},
-{"id": 3678,
+{"id": 3737,
"keyword": "compare encodability criteria"},
-{"id": 3679,
-=======
-{"id": 3697,
-"keyword": "quantum registers"},
-{"id": 3698,
-"keyword": "security properties turn"},
-{"id": 3699,
-"keyword": "locale assumptions correspond"},
-{"id": 3700,
-"keyword": "monotonic predicate transformers"},
-{"id": 3701,
-"keyword": "exponential reconstruction phase"},
-{"id": 3702,
-"keyword": "monad transformers"},
-{"id": 3703,
-"keyword": "process invariant"},
-{"id": 3704,
-"keyword": "original algorithm presented"},
-{"id": 3705,
-"keyword": "count distinct real roots"},
-{"id": 3706,
-"keyword": "standard verification technology"},
-{"id": 3707,
-"keyword": "frobenius reciprocity"},
-{"id": 3708,
-"keyword": "static intraprocedural slicing"},
-{"id": 3709,
-"keyword": "de bruijn indices"},
-{"id": 3710,
-"keyword": "real closed field"},
-{"id": 3711,
-"keyword": "compare encodability criteria"},
-{"id": 3712,
->>>>>>> merge rev
+{"id": 3738,
"keyword": "final theorem statement"},
-<<<<<<< working copy
-{"id": 3674,
-||||||| common ancestor
-{"id": 3680,
-=======
-{"id": 3713,
->>>>>>> merge rev
+{"id": 3739,
"keyword": "timing information"},
-<<<<<<< working copy
-{"id": 3675,
-||||||| common ancestor
-{"id": 3681,
-=======
-{"id": 3714,
->>>>>>> merge rev
+{"id": 3740,
"keyword": "high-level security goals"},
-<<<<<<< working copy
-{"id": 3676,
-||||||| common ancestor
-{"id": 3682,
-=======
-{"id": 3715,
->>>>>>> merge rev
+{"id": 3741,
"keyword": "pop-refinement enables"},
-<<<<<<< working copy
-{"id": 3677,
+{"id": 3742,
"keyword": "sylow theorem"},
-{"id": 3678,
+{"id": 3743,
"keyword": "abstract type"},
-{"id": 3679,
+{"id": 3744,
"keyword": "ipv6 address space"},
-{"id": 3680,
+{"id": 3745,
"keyword": "solver based"},
-{"id": 3681,
+{"id": 3746,
"keyword": "resulting set"},
-{"id": 3682,
+{"id": 3747,
"keyword": "sheldon axler"},
-{"id": 3683,
+{"id": 3748,
"keyword": "nominal datatype package"},
-{"id": 3684,
+{"id": 3749,
"keyword": "gaussian integers"},
-{"id": 3685,
+{"id": 3750,
"keyword": "paper"},
-{"id": 3686,
+{"id": 3751,
"keyword": "information observed"},
-{"id": 3687,
+{"id": 3752,
"keyword": "tim gowers"},
-{"id": 3688,
+{"id": 3753,
"keyword": "radical coordinates"},
-{"id": 3689,
+{"id": 3754,
"keyword": "existing proof"},
-{"id": 3690,
+{"id": 3755,
"keyword": "landmark information flow property"},
-{"id": 3691,
+{"id": 3756,
"keyword": "afp entry category theory"},
-{"id": 3692,
+{"id": 3757,
"keyword": "cambridge university press"},
-{"id": 3693,
+{"id": 3758,
"keyword": "classical noninterference security"},
-{"id": 3694,
+{"id": 3759,
"keyword": "advanced set-theoretic concepts"},
-{"id": 3695,
+{"id": 3760,
"keyword": "concurrent kleene algebra"},
-{"id": 3696,
+{"id": 3761,
"keyword": "nigsberg bridge problem"},
-{"id": 3697,
+{"id": 3762,
"keyword": "algebraic numbers"},
-{"id": 3698,
+{"id": 3763,
"keyword": "formal semantics designed"},
-{"id": 3699,
+{"id": 3764,
"keyword": "planetmath article"},
-{"id": 3700,
-"keyword": "call-by-"},
-{"id": 3701,
-"keyword": "linearised looplessly"},
-{"id": 3702,
-"keyword": "dependency graph approximations"},
-{"id": 3703,
-"keyword": "adam smith"},
-{"id": 3704,
-"keyword": "basic geometric facts"},
-{"id": 3705,
-"keyword": "processor maintains"},
-{"id": 3706,
-"keyword": "yufei zhao"},
-{"id": 3707,
-"keyword": "abstract functions modelled directly"},
-{"id": 3708,
-"keyword": "compiled code execution"},
-{"id": 3709,
-"keyword": "derive proof rules"},
-{"id": 3710,
-"keyword": "ordinary transition systems"},
-{"id": 3711,
-"keyword": "generating function proof"},
-{"id": 3712,
-"keyword": "equational axioms"},
-{"id": 3713,
-"keyword": "entry lies"},
-{"id": 3714,
-"keyword": "basic setting"},
-{"id": 3715,
-"keyword": "systematic development"},
-{"id": 3716,
-"keyword": "primitive recursive function"},
-{"id": 3717,
-"keyword": "continuous linear operators"},
-{"id": 3718,
-"keyword": "linux-based firewall"},
-{"id": 3719,
-"keyword": "clock synchronization"},
-{"id": 3720,
-"keyword": "ocl standard targeting"},
-{"id": 3721,
-"keyword": "coprime polynomials"},
-{"id": 3722,
-"keyword": "high-level view"},
-{"id": 3723,
-"keyword": "architectural design patterns"},
-{"id": 3724,
-"keyword": "computing dominators due"},
-{"id": 3725,
-"keyword": "generalised binomial coefficients"},
-{"id": 3726,
-"keyword": "beth hintikka-style completeness proofs"},
-{"id": 3727,
-"keyword": "transfinite induction"},
-{"id": 3728,
-"keyword": "linear independence"},
-{"id": 3729,
-"keyword": "work presents"},
-{"id": 3730,
-"keyword": "simple relation-algebraic semantics"},
-||||||| common ancestor
-{"id": 3683,
-"keyword": "sylow theorem"},
-{"id": 3684,
-"keyword": "abstract type"},
-{"id": 3685,
-"keyword": "ipv6 address space"},
-{"id": 3686,
-"keyword": "solver based"},
-{"id": 3687,
-"keyword": "resulting set"},
-{"id": 3688,
-"keyword": "sheldon axler"},
-{"id": 3689,
-"keyword": "nominal datatype package"},
-{"id": 3690,
-"keyword": "gaussian integers"},
-{"id": 3691,
-"keyword": "paper"},
-{"id": 3692,
-"keyword": "information observed"},
-{"id": 3693,
-"keyword": "tim gowers"},
-{"id": 3694,
-"keyword": "radical coordinates"},
-{"id": 3695,
-"keyword": "existing proof"},
-{"id": 3696,
-"keyword": "landmark information flow property"},
-{"id": 3697,
-"keyword": "afp entry category theory"},
-{"id": 3698,
-"keyword": "cambridge university press"},
-{"id": 3699,
-"keyword": "classical noninterference security"},
-{"id": 3700,
-"keyword": "advanced set-theoretic concepts"},
-{"id": 3701,
-"keyword": "concurrent kleene algebra"},
-{"id": 3702,
-"keyword": "nigsberg bridge problem"},
-{"id": 3703,
-"keyword": "algebraic numbers"},
-{"id": 3704,
-"keyword": "formal semantics designed"},
-{"id": 3705,
-"keyword": "planetmath article"},
-{"id": 3706,
+{"id": 3765,
"keyword": "call-by-"},
-{"id": 3707,
+{"id": 3766,
"keyword": "linearised looplessly"},
-{"id": 3708,
+{"id": 3767,
"keyword": "dependency graph approximations"},
-{"id": 3709,
+{"id": 3768,
"keyword": "adam smith"},
-{"id": 3710,
+{"id": 3769,
"keyword": "basic geometric facts"},
-{"id": 3711,
+{"id": 3770,
"keyword": "processor maintains"},
-{"id": 3712,
+{"id": 3771,
"keyword": "yufei zhao"},
-{"id": 3713,
+{"id": 3772,
"keyword": "abstract functions modelled directly"},
-{"id": 3714,
+{"id": 3773,
"keyword": "compiled code execution"},
-{"id": 3715,
+{"id": 3774,
"keyword": "derive proof rules"},
-{"id": 3716,
+{"id": 3775,
"keyword": "ordinary transition systems"},
-{"id": 3717,
+{"id": 3776,
"keyword": "generating function proof"},
-{"id": 3718,
+{"id": 3777,
"keyword": "equational axioms"},
-{"id": 3719,
+{"id": 3778,
"keyword": "entry lies"},
-{"id": 3720,
+{"id": 3779,
"keyword": "basic setting"},
-{"id": 3721,
+{"id": 3780,
"keyword": "systematic development"},
-{"id": 3722,
+{"id": 3781,
"keyword": "primitive recursive function"},
-{"id": 3723,
+{"id": 3782,
"keyword": "continuous linear operators"},
-{"id": 3724,
+{"id": 3783,
"keyword": "linux-based firewall"},
-{"id": 3725,
+{"id": 3784,
"keyword": "clock synchronization"},
-{"id": 3726,
+{"id": 3785,
"keyword": "ocl standard targeting"},
-{"id": 3727,
+{"id": 3786,
"keyword": "coprime polynomials"},
-{"id": 3728,
+{"id": 3787,
"keyword": "high-level view"},
-{"id": 3729,
+{"id": 3788,
"keyword": "architectural design patterns"},
-{"id": 3730,
+{"id": 3789,
"keyword": "computing dominators due"},
-=======
-{"id": 3716,
-"keyword": "sylow theorem"},
-{"id": 3717,
-"keyword": "abstract type"},
-{"id": 3718,
-"keyword": "ipv6 address space"},
-{"id": 3719,
-"keyword": "solver based"},
-{"id": 3720,
-"keyword": "resulting set"},
-{"id": 3721,
-"keyword": "sheldon axler"},
-{"id": 3722,
-"keyword": "nominal datatype package"},
-{"id": 3723,
-"keyword": "gaussian integers"},
-{"id": 3724,
-"keyword": "paper"},
-{"id": 3725,
-"keyword": "information observed"},
-{"id": 3726,
-"keyword": "tim gowers"},
-{"id": 3727,
-"keyword": "radical coordinates"},
-{"id": 3728,
-"keyword": "existing proof"},
-{"id": 3729,
-"keyword": "landmark information flow property"},
-{"id": 3730,
-"keyword": "afp entry category theory"},
->>>>>>> merge rev
-{"id": 3731,
-<<<<<<< working copy
-"keyword": "real-word firewall errors"},
-||||||| common ancestor
+{"id": 3790,
"keyword": "generalised binomial coefficients"},
-=======
-"keyword": "cambridge university press"},
->>>>>>> merge rev
-{"id": 3732,
-<<<<<<< working copy
-"keyword": "static intraprocedural slicing based"},
-||||||| common ancestor
+{"id": 3791,
"keyword": "beth hintikka-style completeness proofs"},
-=======
-"keyword": "classical noninterference security"},
->>>>>>> merge rev
-{"id": 3733,
-<<<<<<< working copy
-"keyword": "circus language"},
-||||||| common ancestor
+{"id": 3792,
"keyword": "transfinite induction"},
-=======
-"keyword": "advanced set-theoretic concepts"},
->>>>>>> merge rev
-{"id": 3734,
-<<<<<<< working copy
-"keyword": "book proof theory"},
-||||||| common ancestor
+{"id": 3793,
"keyword": "linear independence"},
-=======
-"keyword": "concurrent kleene algebra"},
->>>>>>> merge rev
-{"id": 3735,
-<<<<<<< working copy
-"keyword": "main results verified"},
-||||||| common ancestor
+{"id": 3794,
"keyword": "work presents"},
-=======
-"keyword": "nigsberg bridge problem"},
->>>>>>> merge rev
-{"id": 3736,
-<<<<<<< working copy
-"keyword": "volume greater"},
-||||||| common ancestor
+{"id": 3795,
"keyword": "simple relation-algebraic semantics"},
-=======
-"keyword": "algebraic numbers"},
->>>>>>> merge rev
-{"id": 3737,
-<<<<<<< working copy
-"keyword": "finite limits"},
-||||||| common ancestor
+{"id": 3796,
"keyword": "real-word firewall errors"},
-=======
-"keyword": "formal semantics designed"},
->>>>>>> merge rev
-{"id": 3738,
-<<<<<<< working copy
-"keyword": "axiomatic definition"},
-||||||| common ancestor
+{"id": 3797,
"keyword": "static intraprocedural slicing based"},
-=======
-"keyword": "planetmath article"},
->>>>>>> merge rev
-{"id": 3739,
-<<<<<<< working copy
+{"id": 3798,
+"keyword": "circus language"},
+{"id": 3799,
+"keyword": "book proof theory"},
+{"id": 3800,
+"keyword": "main results verified"},
+{"id": 3801,
+"keyword": "volume greater"},
+{"id": 3802,
+"keyword": "finite limits"},
+{"id": 3803,
+"keyword": "axiomatic definition"},
+{"id": 3804,
"keyword": "comparison-based sorting algorithm"},
-||||||| common ancestor
-"keyword": "circus language"},
-=======
-"keyword": "call-by-"},
->>>>>>> merge rev
-{"id": 3740,
-<<<<<<< working copy
+{"id": 3805,
+"keyword": "extensions written"},
+{"id": 3806,
"keyword": "arbitrary linear order"},
-{"id": 3741,
+{"id": 3807,
"keyword": "axiomatic framework"},
-{"id": 3742,
+{"id": 3808,
"keyword": "minimal complete sets"},
-{"id": 3743,
+{"id": 3809,
"keyword": "abstract syntax tree generated"},
-{"id": 3744,
+{"id": 3810,
"keyword": "formulas"},
-{"id": 3745,
+{"id": 3811,
"keyword": "classes simply"},
-{"id": 3746,
+{"id": 3812,
"keyword": "introductory sections"},
-{"id": 3747,
+{"id": 3813,
"keyword": "logging-dependent message anonymity"},
-{"id": 3748,
+{"id": 3814,
"keyword": "traversing sets"},
-{"id": 3749,
+{"id": 3815,
"keyword": "high-school student"},
-{"id": 3750,
+{"id": 3816,
"keyword": "factoring square-free integer polynomials"},
-{"id": 3751,
+{"id": 3817,
"keyword": "linear bound argument"},
-{"id": 3752,
+{"id": 3818,
"keyword": "extreme simplicity"},
-{"id": 3753,
-"keyword": "frobenius theorem based"},
-{"id": 3754,
-"keyword": "mentioned logics"},
-{"id": 3755,
-"keyword": "single variable ranging"},
-{"id": 3756,
-"keyword": "optimal binary search trees"},
-{"id": 3757,
-"keyword": "incremental verification"},
-{"id": 3758,
-"keyword": "articles ai-communications aic764"},
-{"id": 3759,
-"keyword": "1 infty"},
-||||||| common ancestor
-"keyword": "book proof theory"},
-{"id": 3741,
-"keyword": "main results verified"},
-{"id": 3742,
-"keyword": "volume greater"},
-{"id": 3743,
-"keyword": "finite limits"},
-{"id": 3744,
-"keyword": "axiomatic definition"},
-{"id": 3745,
-"keyword": "comparison-based sorting algorithm"},
-{"id": 3746,
-"keyword": "arbitrary linear order"},
-{"id": 3747,
-"keyword": "axiomatic framework"},
-{"id": 3748,
-"keyword": "minimal complete sets"},
-{"id": 3749,
-"keyword": "abstract syntax tree generated"},
-{"id": 3750,
-"keyword": "formulas"},
-{"id": 3751,
-"keyword": "classes simply"},
-{"id": 3752,
-"keyword": "introductory sections"},
-{"id": 3753,
-"keyword": "logging-dependent message anonymity"},
-{"id": 3754,
-"keyword": "traversing sets"},
-{"id": 3755,
-"keyword": "high-school student"},
-{"id": 3756,
-"keyword": "factoring square-free integer polynomials"},
-{"id": 3757,
-"keyword": "linear bound argument"},
-{"id": 3758,
-"keyword": "extreme simplicity"},
-{"id": 3759,
+{"id": 3819,
"keyword": "frobenius theorem based"},
-=======
-"keyword": "linearised looplessly"},
-{"id": 3741,
-"keyword": "dependency graph approximations"},
-{"id": 3742,
-"keyword": "adam smith"},
-{"id": 3743,
-"keyword": "basic geometric facts"},
-{"id": 3744,
-"keyword": "processor maintains"},
-{"id": 3745,
-"keyword": "yufei zhao"},
-{"id": 3746,
-"keyword": "abstract functions modelled directly"},
-{"id": 3747,
-"keyword": "compiled code execution"},
-{"id": 3748,
-"keyword": "derive proof rules"},
-{"id": 3749,
-"keyword": "ordinary transition systems"},
-{"id": 3750,
-"keyword": "generating function proof"},
-{"id": 3751,
-"keyword": "equational axioms"},
-{"id": 3752,
-"keyword": "entry lies"},
-{"id": 3753,
-"keyword": "basic setting"},
-{"id": 3754,
-"keyword": "systematic development"},
-{"id": 3755,
-"keyword": "primitive recursive function"},
-{"id": 3756,
-"keyword": "continuous linear operators"},
-{"id": 3757,
-"keyword": "linux-based firewall"},
-{"id": 3758,
-"keyword": "clock synchronization"},
-{"id": 3759,
-"keyword": "ocl standard targeting"},
->>>>>>> merge rev
-{"id": 3760,
-<<<<<<< working copy
+{"id": 3820,
+"keyword": "mentioned logics"},
+{"id": 3821,
+"keyword": "single variable ranging"},
+{"id": 3822,
+"keyword": "optimal binary search trees"},
+{"id": 3823,
+"keyword": "incremental verification"},
+{"id": 3824,
+"keyword": "articles ai-communications aic764"},
+{"id": 3825,
+"keyword": "1 infty"},
+{"id": 3826,
"keyword": "infinite key range"},
-||||||| common ancestor
-"keyword": "mentioned logics"},
-=======
-"keyword": "coprime polynomials"},
->>>>>>> merge rev
-{"id": 3761,
-<<<<<<< working copy
+{"id": 3827,
"keyword": "elementary methods"},
-||||||| common ancestor
-"keyword": "single variable ranging"},
-=======
-"keyword": "high-level view"},
->>>>>>> merge rev
-{"id": 3762,
-<<<<<<< working copy
+{"id": 3828,
"keyword": "larger rings"},
-||||||| common ancestor
-"keyword": "optimal binary search trees"},
-=======
-"keyword": "architectural design patterns"},
->>>>>>> merge rev
-{"id": 3763,
-<<<<<<< working copy
+{"id": 3829,
"keyword": "infinite paths"},
-||||||| common ancestor
-"keyword": "incremental verification"},
-=======
-"keyword": "computing dominators due"},
->>>>>>> merge rev
-{"id": 3764,
-<<<<<<< working copy
+{"id": 3830,
"keyword": "virtual methods"},
-||||||| common ancestor
-"keyword": "articles ai-communications aic764"},
-=======
-"keyword": "generalised binomial coefficients"},
->>>>>>> merge rev
-{"id": 3765,
-<<<<<<< working copy
+{"id": 3831,
"keyword": "tail-recursive function definitions"},
-||||||| common ancestor
-"keyword": "1 infty"},
-=======
-"keyword": "beth hintikka-style completeness proofs"},
->>>>>>> merge rev
-{"id": 3766,
-<<<<<<< working copy
+{"id": 3832,
"keyword": "hierarchical automaton"},
-||||||| common ancestor
-"keyword": "infinite key range"},
-=======
-"keyword": "transfinite induction"},
->>>>>>> merge rev
-{"id": 3767,
-<<<<<<< working copy
+{"id": 3833,
"keyword": "cantor normal form"},
-||||||| common ancestor
-"keyword": "elementary methods"},
-=======
-"keyword": "linear independence"},
->>>>>>> merge rev
-{"id": 3768,
-<<<<<<< working copy
+{"id": 3834,
"keyword": "modeling real-time systems"},
-||||||| common ancestor
-"keyword": "larger rings"},
-=======
-"keyword": "work presents"},
->>>>>>> merge rev
-{"id": 3769,
-<<<<<<< working copy
+{"id": 3835,
+"keyword": "hol users"},
+{"id": 3836,
"keyword": "distinct layers"},
-{"id": 3770,
+{"id": 3837,
"keyword": "knuth ndash"},
-{"id": 3771,
+{"id": 3838,
"keyword": "recursion theory --- definitions"},
-{"id": 3772,
+{"id": 3839,
"keyword": "general framework"},
-{"id": 3773,
+{"id": 3840,
"keyword": "modern web browser"},
-{"id": 3774,
+{"id": 3841,
"keyword": "hol light formalisation"},
-{"id": 3775,
+{"id": 3842,
"keyword": "complete lattices"},
-{"id": 3776,
+{"id": 3843,
"keyword": "original theorem statement"},
-{"id": 3777,
+{"id": 3844,
"keyword": "requirements"},
-{"id": 3778,
+{"id": 3845,
+"keyword": "turing reducibility"},
+{"id": 3846,
"keyword": "randomly generated inputs"},
-||||||| common ancestor
-"keyword": "infinite paths"},
-{"id": 3770,
-"keyword": "virtual methods"},
-{"id": 3771,
-"keyword": "tail-recursive function definitions"},
-{"id": 3772,
-"keyword": "hierarchical automaton"},
-{"id": 3773,
-"keyword": "cantor normal form"},
-{"id": 3774,
-"keyword": "modeling real-time systems"},
-{"id": 3775,
-"keyword": "distinct layers"},
-{"id": 3776,
-"keyword": "knuth ndash"},
-{"id": 3777,
-"keyword": "recursion theory --- definitions"},
-{"id": 3778,
-"keyword": "general framework"},
-=======
-"keyword": "simple relation-algebraic semantics"},
-{"id": 3770,
-"keyword": "real-word firewall errors"},
-{"id": 3771,
-"keyword": "static intraprocedural slicing based"},
-{"id": 3772,
-"keyword": "circus language"},
-{"id": 3773,
-"keyword": "book proof theory"},
-{"id": 3774,
-"keyword": "main results verified"},
-{"id": 3775,
-"keyword": "volume greater"},
-{"id": 3776,
-"keyword": "finite limits"},
-{"id": 3777,
-"keyword": "axiomatic definition"},
-{"id": 3778,
-"keyword": "comparison-based sorting algorithm"},
->>>>>>> merge rev
-{"id": 3779,
-<<<<<<< working copy
+{"id": 3847,
+"keyword": "convolution theorem thereon"},
+{"id": 3848,
"keyword": "topological boolean algebras"},
-||||||| common ancestor
-"keyword": "modern web browser"},
-=======
-"keyword": "extensions written"},
->>>>>>> merge rev
-{"id": 3780,
-<<<<<<< working copy
-"keyword": "coinductive entry"},
-||||||| common ancestor
-"keyword": "hol light formalisation"},
-=======
-"keyword": "arbitrary linear order"},
->>>>>>> merge rev
-{"id": 3781,
-<<<<<<< working copy
-"keyword": "range search algorithm"},
-||||||| common ancestor
-"keyword": "complete lattices"},
-=======
-"keyword": "axiomatic framework"},
->>>>>>> merge rev
-{"id": 3782,
-<<<<<<< working copy
-"keyword": "code generator maps"},
-||||||| common ancestor
-"keyword": "original theorem statement"},
-=======
-"keyword": "minimal complete sets"},
->>>>>>> merge rev
-{"id": 3783,
-<<<<<<< working copy
-"keyword": "circus environment supports"},
-||||||| common ancestor
-"keyword": "requirements"},
-=======
-"keyword": "abstract syntax tree generated"},
->>>>>>> merge rev
-{"id": 3784,
-<<<<<<< working copy
-"keyword": "additional notions"},
-||||||| common ancestor
-"keyword": "randomly generated inputs"},
-=======
-"keyword": "formulas"},
->>>>>>> merge rev
-{"id": 3785,
-<<<<<<< working copy
-"keyword": "graph regularity"},
-||||||| common ancestor
-"keyword": "topological boolean algebras"},
-=======
-"keyword": "classes simply"},
->>>>>>> merge rev
-{"id": 3786,
-<<<<<<< working copy
-"keyword": "problem arithmetic progressions"},
-||||||| common ancestor
+{"id": 3849,
"keyword": "coinductive entry"},
-=======
-"keyword": "introductory sections"},
->>>>>>> merge rev
-{"id": 3787,
-<<<<<<< working copy
-"keyword": "security requirements expressed"},
-||||||| common ancestor
+{"id": 3850,
"keyword": "range search algorithm"},
-=======
-"keyword": "logging-dependent message anonymity"},
->>>>>>> merge rev
-{"id": 3788,
-<<<<<<< working copy
-"keyword": "many-sorted first-order logic"},
-||||||| common ancestor
+{"id": 3851,
"keyword": "code generator maps"},
-=======
-"keyword": "traversing sets"},
->>>>>>> merge rev
-{"id": 3789,
-<<<<<<< working copy
-"keyword": "formal cryptographic protocol verification"},
-||||||| common ancestor
+{"id": 3852,
"keyword": "circus environment supports"},
-=======
-"keyword": "high-school student"},
->>>>>>> merge rev
-{"id": 3790,
-<<<<<<< working copy
-"keyword": "easily justified"},
-||||||| common ancestor
+{"id": 3853,
"keyword": "additional notions"},
-=======
-"keyword": "factoring square-free integer polynomials"},
->>>>>>> merge rev
-{"id": 3791,
-<<<<<<< working copy
-"keyword": "parallel postulates"},
-||||||| common ancestor
+{"id": 3854,
"keyword": "graph regularity"},
-=======
-"keyword": "linear bound argument"},
->>>>>>> merge rev
-{"id": 3792,
-<<<<<<< working copy
-"keyword": "spanning basic algorithms"},
-||||||| common ancestor
+{"id": 3855,
"keyword": "problem arithmetic progressions"},
-=======
-"keyword": "extreme simplicity"},
->>>>>>> merge rev
-{"id": 3793,
-<<<<<<< working copy
-"keyword": "compilation target"},
-||||||| common ancestor
+{"id": 3856,
"keyword": "security requirements expressed"},
-=======
-"keyword": "frobenius theorem based"},
->>>>>>> merge rev
-{"id": 3794,
-<<<<<<< working copy
+{"id": 3857,
+"keyword": "many-sorted first-order logic"},
+{"id": 3858,
+"keyword": "formal cryptographic protocol verification"},
+{"id": 3859,
+"keyword": "easily justified"},
+{"id": 3860,
+"keyword": "parallel postulates"},
+{"id": 3861,
+"keyword": "spanning basic algorithms"},
+{"id": 3862,
+"keyword": "compilation target"},
+{"id": 3863,
"keyword": "authenticated data structures"},
-||||||| common ancestor
-"keyword": "many-sorted first-order logic"},
-=======
-"keyword": "mentioned logics"},
->>>>>>> merge rev
-{"id": 3795,
-<<<<<<< working copy
+{"id": 3864,
"keyword": "features exceptions"},
-||||||| common ancestor
-"keyword": "formal cryptographic protocol verification"},
-=======
-"keyword": "single variable ranging"},
->>>>>>> merge rev
-{"id": 3796,
-<<<<<<< working copy
+{"id": 3865,
"keyword": "ordinal alpha"},
-||||||| common ancestor
-"keyword": "easily justified"},
-=======
-"keyword": "optimal binary search trees"},
->>>>>>> merge rev
-{"id": 3797,
-<<<<<<< working copy
+{"id": 3866,
"keyword": "ltl properties"},
-||||||| common ancestor
-"keyword": "parallel postulates"},
-=======
-"keyword": "incremental verification"},
->>>>>>> merge rev
-{"id": 3798,
-<<<<<<< working copy
+{"id": 3867,
"keyword": "theory change"},
-{"id": 3799,
+{"id": 3868,
"keyword": "exhibit awkward interleaving"},
-{"id": 3800,
-"keyword": "mentioned algorithms"},
-{"id": 3801,
-||||||| common ancestor
-"keyword": "spanning basic algorithms"},
-{"id": 3799,
-"keyword": "compilation target"},
-{"id": 3800,
-"keyword": "authenticated data structures"},
-{"id": 3801,
-"keyword": "features exceptions"},
-{"id": 3802,
-"keyword": "ordinal alpha"},
-{"id": 3803,
-"keyword": "ltl properties"},
-{"id": 3804,
-"keyword": "theory change"},
-{"id": 3805,
-"keyword": "exhibit awkward interleaving"},
-{"id": 3806,
+{"id": 3869,
"keyword": "mentioned algorithms"},
-{"id": 3807,
-=======
-"keyword": "articles ai-communications aic764"},
-{"id": 3799,
-"keyword": "1 infty"},
-{"id": 3800,
-"keyword": "infinite key range"},
-{"id": 3801,
-"keyword": "elementary methods"},
-{"id": 3802,
-"keyword": "larger rings"},
-{"id": 3803,
-"keyword": "infinite paths"},
-{"id": 3804,
-"keyword": "virtual methods"},
-{"id": 3805,
-"keyword": "tail-recursive function definitions"},
-{"id": 3806,
-"keyword": "hierarchical automaton"},
-{"id": 3807,
-"keyword": "cantor normal form"},
-{"id": 3808,
-"keyword": "modeling real-time systems"},
-{"id": 3809,
-"keyword": "hol users"},
-{"id": 3810,
-"keyword": "distinct layers"},
-{"id": 3811,
-"keyword": "knuth ndash"},
-{"id": 3812,
-"keyword": "recursion theory --- definitions"},
-{"id": 3813,
-"keyword": "general framework"},
-{"id": 3814,
-"keyword": "modern web browser"},
-{"id": 3815,
-"keyword": "hol light formalisation"},
-{"id": 3816,
-"keyword": "complete lattices"},
-{"id": 3817,
-"keyword": "original theorem statement"},
-{"id": 3818,
-"keyword": "requirements"},
-{"id": 3819,
-"keyword": "randomly generated inputs"},
-{"id": 3820,
-"keyword": "topological boolean algebras"},
-{"id": 3821,
-"keyword": "coinductive entry"},
-{"id": 3822,
-"keyword": "range search algorithm"},
-{"id": 3823,
-"keyword": "code generator maps"},
-{"id": 3824,
-"keyword": "circus environment supports"},
-{"id": 3825,
-"keyword": "additional notions"},
-{"id": 3826,
-"keyword": "graph regularity"},
-{"id": 3827,
-"keyword": "problem arithmetic progressions"},
-{"id": 3828,
-"keyword": "security requirements expressed"},
-{"id": 3829,
-"keyword": "many-sorted first-order logic"},
-{"id": 3830,
-"keyword": "formal cryptographic protocol verification"},
-{"id": 3831,
-"keyword": "easily justified"},
-{"id": 3832,
-"keyword": "parallel postulates"},
-{"id": 3833,
-"keyword": "spanning basic algorithms"},
-{"id": 3834,
-"keyword": "compilation target"},
-{"id": 3835,
-"keyword": "authenticated data structures"},
-{"id": 3836,
-"keyword": "features exceptions"},
-{"id": 3837,
-"keyword": "ordinal alpha"},
-{"id": 3838,
-"keyword": "ltl properties"},
-{"id": 3839,
-"keyword": "theory change"},
-{"id": 3840,
-"keyword": "exhibit awkward interleaving"},
-{"id": 3841,
-"keyword": "mentioned algorithms"},
-{"id": 3842,
->>>>>>> merge rev
+{"id": 3870,
"keyword": "knight visits"},
-<<<<<<< working copy
-{"id": 3802,
+{"id": 3871,
"keyword": "splay heaps"},
-{"id": 3803,
+{"id": 3872,
"keyword": "disconnected graph"},
-{"id": 3804,
+{"id": 3873,
"keyword": "important models"},
-{"id": 3805,
+{"id": 3874,
"keyword": "proving progress"},
-{"id": 3806,
+{"id": 3875,
"keyword": "elementary divisor rings"},
-{"id": 3807,
+{"id": 3876,
"keyword": "unchanged results"},
-{"id": 3808,
+{"id": 3877,
"keyword": "non-negative reals a_1"},
-{"id": 3809,
+{"id": 3878,
"keyword": "weighted arithmetic geometric"},
-{"id": 3810,
+{"id": 3879,
"keyword": "languages generated"},
-{"id": 3811,
+{"id": 3880,
"keyword": "perfect square"},
-{"id": 3812,
+{"id": 3881,
"keyword": "random experiment"},
-{"id": 3813,
+{"id": 3882,
"keyword": "hol logic system"},
-{"id": 3814,
+{"id": 3883,
"keyword": "default setup"},
-{"id": 3815,
+{"id": 3884,
"keyword": "complex random system"},
-{"id": 3816,
-"keyword": "imperative hol"},
-{"id": 3817,
-||||||| common ancestor
-{"id": 3808,
-"keyword": "splay heaps"},
-{"id": 3809,
-"keyword": "disconnected graph"},
-{"id": 3810,
-"keyword": "important models"},
-{"id": 3811,
-"keyword": "proving progress"},
-{"id": 3812,
-"keyword": "elementary divisor rings"},
-{"id": 3813,
-"keyword": "unchanged results"},
-{"id": 3814,
-"keyword": "non-negative reals a_1"},
-{"id": 3815,
-"keyword": "weighted arithmetic geometric"},
-{"id": 3816,
-"keyword": "languages generated"},
-{"id": 3817,
-"keyword": "perfect square"},
-{"id": 3818,
-"keyword": "random experiment"},
-{"id": 3819,
-"keyword": "hol logic system"},
-{"id": 3820,
-"keyword": "default setup"},
-{"id": 3821,
-"keyword": "complex random system"},
-{"id": 3822,
+{"id": 3885,
"keyword": "imperative hol"},
-{"id": 3823,
-=======
-{"id": 3843,
-"keyword": "splay heaps"},
-{"id": 3844,
-"keyword": "disconnected graph"},
-{"id": 3845,
-"keyword": "important models"},
-{"id": 3846,
-"keyword": "proving progress"},
-{"id": 3847,
-"keyword": "elementary divisor rings"},
-{"id": 3848,
-"keyword": "unchanged results"},
-{"id": 3849,
-"keyword": "non-negative reals a_1"},
-{"id": 3850,
-"keyword": "weighted arithmetic geometric"},
-{"id": 3851,
-"keyword": "languages generated"},
-{"id": 3852,
-"keyword": "perfect square"},
-{"id": 3853,
-"keyword": "random experiment"},
-{"id": 3854,
-"keyword": "hol logic system"},
-{"id": 3855,
-"keyword": "default setup"},
-{"id": 3856,
-"keyword": "complex random system"},
-{"id": 3857,
-"keyword": "imperative hol"},
-{"id": 3858,
->>>>>>> merge rev
+{"id": 3886,
"keyword": "nearest neighbor algorithm"},
-<<<<<<< working copy
-{"id": 3818,
-||||||| common ancestor
-{"id": 3824,
-=======
-{"id": 3859,
->>>>>>> merge rev
+{"id": 3887,
"keyword": "edge labels"},
-<<<<<<< working copy
-{"id": 3819,
-||||||| common ancestor
-{"id": 3825,
-=======
-{"id": 3860,
->>>>>>> merge rev
+{"id": 3888,
"keyword": "verification condition generator"},
-<<<<<<< working copy
-{"id": 3820,
-||||||| common ancestor
-{"id": 3826,
-=======
-{"id": 3861,
->>>>>>> merge rev
+{"id": 3889,
"keyword": "joachim breitner"},
-<<<<<<< working copy
-{"id": 3821,
+{"id": 3890,
"keyword": "inline caching optimization"},
-{"id": 3822,
+{"id": 3891,
"keyword": "algebraic"},
-{"id": 3823,
+{"id": 3892,
"keyword": "unique factorization domain form"},
-{"id": 3824,
+{"id": 3893,
"keyword": "bracket polynomial"},
-{"id": 3825,
+{"id": 3894,
"keyword": "constructive proof"},
-{"id": 3826,
+{"id": 3895,
"keyword": "object-oriented programming"},
-{"id": 3827,
+{"id": 3896,
"keyword": "conditional transfer rules"},
-{"id": 3828,
+{"id": 3897,
"keyword": "functional type theory"},
-{"id": 3829,
+{"id": 3898,
"keyword": "interesting data structure"},
-{"id": 3830,
+{"id": 3899,
"keyword": "arbitrary banach space"},
-{"id": 3831,
+{"id": 3900,
"keyword": "zfc set theory"},
-{"id": 3832,
+{"id": 3901,
"keyword": "quality criteria"},
-{"id": 3833,
+{"id": 3902,
"keyword": "deeply integrated"},
-{"id": 3834,
+{"id": 3903,
"keyword": "stream processing components"},
-{"id": 3835,
-"keyword": "strong security"},
-{"id": 3836,
-||||||| common ancestor
-{"id": 3827,
-"keyword": "inline caching optimization"},
-{"id": 3828,
-"keyword": "algebraic"},
-{"id": 3829,
-"keyword": "unique factorization domain form"},
-{"id": 3830,
-"keyword": "bracket polynomial"},
-{"id": 3831,
-"keyword": "constructive proof"},
-{"id": 3832,
-"keyword": "object-oriented programming"},
-{"id": 3833,
-"keyword": "conditional transfer rules"},
-{"id": 3834,
-"keyword": "functional type theory"},
-{"id": 3835,
-"keyword": "interesting data structure"},
-{"id": 3836,
-"keyword": "arbitrary banach space"},
-{"id": 3837,
-"keyword": "zfc set theory"},
-{"id": 3838,
-"keyword": "quality criteria"},
-{"id": 3839,
-"keyword": "deeply integrated"},
-{"id": 3840,
-"keyword": "stream processing components"},
-{"id": 3841,
+{"id": 3904,
"keyword": "strong security"},
-{"id": 3842,
-=======
-{"id": 3862,
-"keyword": "inline caching optimization"},
-{"id": 3863,
-"keyword": "algebraic"},
-{"id": 3864,
-"keyword": "unique factorization domain form"},
-{"id": 3865,
-"keyword": "bracket polynomial"},
-{"id": 3866,
-"keyword": "constructive proof"},
-{"id": 3867,
-"keyword": "object-oriented programming"},
-{"id": 3868,
-"keyword": "conditional transfer rules"},
-{"id": 3869,
-"keyword": "functional type theory"},
-{"id": 3870,
-"keyword": "interesting data structure"},
-{"id": 3871,
-"keyword": "arbitrary banach space"},
-{"id": 3872,
-"keyword": "zfc set theory"},
-{"id": 3873,
-"keyword": "quality criteria"},
-{"id": 3874,
-"keyword": "deeply integrated"},
-{"id": 3875,
-"keyword": "stream processing components"},
-{"id": 3876,
-"keyword": "strong security"},
-{"id": 3877,
->>>>>>> merge rev
+{"id": 3905,
"keyword": "competitive analysis"},
-<<<<<<< working copy
-{"id": 3837,
-||||||| common ancestor
-{"id": 3843,
-=======
-{"id": 3878,
->>>>>>> merge rev
+{"id": 3906,
"keyword": "correct verification tools"},
-<<<<<<< working copy
-{"id": 3838,
-||||||| common ancestor
-{"id": 3844,
-=======
-{"id": 3879,
->>>>>>> merge rev
+{"id": 3907,
"keyword": "sample authentication protocol"},
-<<<<<<< working copy
-{"id": 3839,
-||||||| common ancestor
-{"id": 3845,
-=======
-{"id": 3880,
->>>>>>> merge rev
+{"id": 3908,
"keyword": "finite lists"},
-<<<<<<< working copy
-{"id": 3840,
+{"id": 3909,
"keyword": "axioms proposed"},
-{"id": 3841,
-"keyword": "ltl model checker"},
-{"id": 3842,
-"keyword": "shared resources"},
-{"id": 3843,
-"keyword": "accompanying induction invariant rules"},
-{"id": 3844,
-"keyword": "program logic"},
-{"id": 3845,
-"keyword": "certified programs"},
-{"id": 3846,
-"keyword": "itp 2015 publication"},
-{"id": 3847,
-"keyword": "set category locale"},
-{"id": 3848,
-"keyword": "code generation support"},
-{"id": 3849,
-"keyword": "subset relation"},
-{"id": 3850,
-"keyword": "quantalic structure"},
-{"id": 3851,
-"keyword": "completeness conditions"},
-{"id": 3852,
-"keyword": "security invariant theory"},
-{"id": 3853,
-"keyword": "polynomial-time basis reduction algorithm"},
-{"id": 3854,
-"keyword": "search path"},
-{"id": 3855,
-"keyword": "main topics"},
-{"id": 3856,
-"keyword": "direct subsumption relation"},
-{"id": 3857,
-"keyword": "minkowski inequalities"},
-{"id": 3858,
-"keyword": "generic join algorithm"},
-{"id": 3859,
-"keyword": "generalised binary modalities"},
-{"id": 3860,
-"keyword": "efficient imperative implementations"},
-{"id": 3861,
-"keyword": "sequent calculus prover"},
-{"id": 3862,
-"keyword": "relativized general knowledge"},
-{"id": 3863,
-"keyword": "framed links closely linked"},
-{"id": 3864,
-"keyword": "high-level proofs"},
-{"id": 3865,
-"keyword": "universally quantified uninterpreted terms"},
-{"id": 3866,
-"keyword": "morse lemma asserting"},
-{"id": 3867,
-"keyword": "test-generation techniques"},
-{"id": 3868,
-"keyword": "approach decomposes ltl formulas"},
-{"id": 3869,
-"keyword": "data refinement"},
-{"id": 3870,
-"keyword": "data plane"},
-{"id": 3871,
-"keyword": "collaborative text editing"},
-{"id": 3872,
-"keyword": "main advantage"},
-{"id": 3873,
-"keyword": "proof"},
-{"id": 3874,
-"keyword": "functions thetasym"},
-{"id": 3875,
-"keyword": "equivalence relation"},
-{"id": 3876,
-"keyword": "flexray communication protocol"},
-{"id": 3877,
-"keyword": "algebraic proof"},
-{"id": 3878,
-"keyword": "alternative definition"},
-{"id": 3879,
-"keyword": "similar proof"},
-{"id": 3880,
-"keyword": "protocols supported"},
-{"id": 3881,
-"keyword": "efficient union-find data structure"},
-{"id": 3882,
-"keyword": "dom api"},
-{"id": 3883,
-"keyword": "adding knuth"},
-{"id": 3884,
-"keyword": "concrete monad"},
-{"id": 3885,
-"keyword": "identify bugs"},
-{"id": 3886,
-"keyword": "user command"},
-{"id": 3887,
-"keyword": "program analysis"},
-{"id": 3888,
-"keyword": "logic due"},
-{"id": 3889,
-"keyword": "comparisons performed"},
-{"id": 3890,
-"keyword": "inverse squares"},
-{"id": 3891,
-"keyword": "correct optimized versions"},
-{"id": 3892,
-"keyword": "popular introduction"},
-{"id": 3893,
-"keyword": "general theory"},
-||||||| common ancestor
-{"id": 3846,
-"keyword": "axioms proposed"},
-{"id": 3847,
+{"id": 3910,
"keyword": "ltl model checker"},
-{"id": 3848,
-"keyword": "shared resources"},
-{"id": 3849,
-"keyword": "accompanying induction invariant rules"},
-{"id": 3850,
-"keyword": "program logic"},
-{"id": 3851,
-"keyword": "certified programs"},
-{"id": 3852,
-"keyword": "itp 2015 publication"},
-{"id": 3853,
-"keyword": "set category locale"},
-{"id": 3854,
-"keyword": "code generation support"},
-{"id": 3855,
-"keyword": "subset relation"},
-{"id": 3856,
-"keyword": "quantalic structure"},
-{"id": 3857,
-"keyword": "completeness conditions"},
-{"id": 3858,
-"keyword": "security invariant theory"},
-{"id": 3859,
-"keyword": "polynomial-time basis reduction algorithm"},
-{"id": 3860,
-"keyword": "search path"},
-{"id": 3861,
-"keyword": "main topics"},
-{"id": 3862,
-"keyword": "direct subsumption relation"},
-{"id": 3863,
-"keyword": "minkowski inequalities"},
-{"id": 3864,
-"keyword": "generic join algorithm"},
-{"id": 3865,
-"keyword": "generalised binary modalities"},
-{"id": 3866,
-"keyword": "efficient imperative implementations"},
-{"id": 3867,
-"keyword": "sequent calculus prover"},
-{"id": 3868,
-"keyword": "relativized general knowledge"},
-{"id": 3869,
-"keyword": "framed links closely linked"},
-{"id": 3870,
-"keyword": "high-level proofs"},
-{"id": 3871,
-"keyword": "universally quantified uninterpreted terms"},
-{"id": 3872,
-"keyword": "morse lemma asserting"},
-{"id": 3873,
-"keyword": "test-generation techniques"},
-{"id": 3874,
-"keyword": "interactive theorem proving 2014"},
-{"id": 3875,
-"keyword": "approach decomposes ltl formulas"},
-{"id": 3876,
-"keyword": "data refinement"},
-{"id": 3877,
-"keyword": "data plane"},
-{"id": 3878,
-"keyword": "collaborative text editing"},
-{"id": 3879,
-"keyword": "main advantage"},
-{"id": 3880,
-"keyword": "proof"},
-{"id": 3881,
-"keyword": "functions thetasym"},
-{"id": 3882,
-"keyword": "equivalence relation"},
-{"id": 3883,
-"keyword": "flexray communication protocol"},
-{"id": 3884,
-"keyword": "algebraic proof"},
-{"id": 3885,
-"keyword": "alternative definition"},
-{"id": 3886,
-"keyword": "similar proof"},
-{"id": 3887,
-"keyword": "protocols supported"},
-{"id": 3888,
-"keyword": "efficient union-find data structure"},
-{"id": 3889,
-"keyword": "dom api"},
-{"id": 3890,
-"keyword": "adding knuth"},
-{"id": 3891,
-"keyword": "concrete monad"},
-{"id": 3892,
-"keyword": "identify bugs"},
-{"id": 3893,
-"keyword": "user command"},
-=======
-{"id": 3881,
-"keyword": "axioms proposed"},
-{"id": 3882,
-"keyword": "ltl model checker"},
-{"id": 3883,
-"keyword": "shared resources"},
-{"id": 3884,
-"keyword": "accompanying induction invariant rules"},
-{"id": 3885,
-"keyword": "program logic"},
-{"id": 3886,
-"keyword": "certified programs"},
-{"id": 3887,
-"keyword": "itp 2015 publication"},
-{"id": 3888,
-"keyword": "set category locale"},
-{"id": 3889,
-"keyword": "code generation support"},
-{"id": 3890,
-"keyword": "subset relation"},
-{"id": 3891,
-"keyword": "quantalic structure"},
-{"id": 3892,
-"keyword": "completeness conditions"},
-{"id": 3893,
-"keyword": "security invariant theory"},
->>>>>>> merge rev
-{"id": 3894,
-<<<<<<< working copy
-"keyword": "large library"},
-||||||| common ancestor
-"keyword": "program analysis"},
-=======
-"keyword": "polynomial-time basis reduction algorithm"},
->>>>>>> merge rev
-{"id": 3895,
-<<<<<<< working copy
-"keyword": "finite iteration"},
-||||||| common ancestor
-"keyword": "logic due"},
-=======
-"keyword": "search path"},
->>>>>>> merge rev
-{"id": 3896,
-<<<<<<< working copy
-"keyword": "monitor supports aggregation operations"},
-||||||| common ancestor
-"keyword": "comparisons performed"},
-=======
-"keyword": "main topics"},
->>>>>>> merge rev
-{"id": 3897,
-<<<<<<< working copy
-"keyword": "key range"},
-||||||| common ancestor
-"keyword": "inverse squares"},
-=======
-"keyword": "direct subsumption relation"},
->>>>>>> merge rev
-{"id": 3898,
-<<<<<<< working copy
-"keyword": "social welfare"},
-||||||| common ancestor
-"keyword": "correct optimized versions"},
-=======
-"keyword": "minkowski inequalities"},
->>>>>>> merge rev
-{"id": 3899,
-<<<<<<< working copy
-"keyword": "proof obligations automatically"},
-||||||| common ancestor
-"keyword": "popular introduction"},
-=======
-"keyword": "generic join algorithm"},
->>>>>>> merge rev
-{"id": 3900,
-<<<<<<< working copy
-"keyword": "require intermediate operational semantics"},
-||||||| common ancestor
-"keyword": "general theory"},
-=======
-"keyword": "generalised binary modalities"},
->>>>>>> merge rev
-{"id": 3901,
-<<<<<<< working copy
-"keyword": "shallow semantical embeddings approach"},
-||||||| common ancestor
-"keyword": "large library"},
-=======
-"keyword": "efficient imperative implementations"},
->>>>>>> merge rev
-{"id": 3902,
-<<<<<<< working copy
-"keyword": "collect information"},
-||||||| common ancestor
-"keyword": "finite iteration"},
-=======
-"keyword": "sequent calculus prover"},
->>>>>>> merge rev
-{"id": 3903,
-<<<<<<< working copy
-"keyword": "backward simulations"},
-||||||| common ancestor
-"keyword": "monitor supports aggregation operations"},
-=======
-"keyword": "relativized general knowledge"},
->>>>>>> merge rev
-{"id": 3904,
-<<<<<<< working copy
-"keyword": "protocols secure"},
-||||||| common ancestor
-"keyword": "key range"},
-=======
-"keyword": "framed links closely linked"},
->>>>>>> merge rev
-{"id": 3905,
-<<<<<<< working copy
-"keyword": "formal power series"},
-||||||| common ancestor
-"keyword": "social welfare"},
-=======
-"keyword": "high-level proofs"},
->>>>>>> merge rev
-{"id": 3906,
-<<<<<<< working copy
-"keyword": "increasingly important"},
-||||||| common ancestor
-"keyword": "proof obligations automatically"},
-=======
-"keyword": "universally quantified uninterpreted terms"},
->>>>>>> merge rev
-{"id": 3907,
-<<<<<<< working copy
-"keyword": "type inference algorithm"},
-||||||| common ancestor
-"keyword": "require intermediate operational semantics"},
-=======
-"keyword": "morse lemma asserting"},
->>>>>>> merge rev
-{"id": 3908,
-<<<<<<< working copy
-"keyword": "engineering safety"},
-||||||| common ancestor
-"keyword": "shallow semantical embeddings approach"},
-=======
-"keyword": "test-generation techniques"},
->>>>>>> merge rev
-{"id": 3909,
-<<<<<<< working copy
-"keyword": "fixed finite instance"},
-||||||| common ancestor
-"keyword": "collect information"},
-=======
-"keyword": "interactive theorem proving 2014"},
->>>>>>> merge rev
-{"id": 3910,
-<<<<<<< working copy
-"keyword": "closed set"},
-||||||| common ancestor
-"keyword": "backward simulations"},
-=======
-"keyword": "approach decomposes ltl formulas"},
->>>>>>> merge rev
{"id": 3911,
-<<<<<<< working copy
-"keyword": "query evaluation"},
-||||||| common ancestor
-"keyword": "protocols secure"},
-=======
-"keyword": "data refinement"},
->>>>>>> merge rev
+"keyword": "shared resources"},
{"id": 3912,
-<<<<<<< working copy
-"keyword": "generalized recurrence relation"},
+"keyword": "accompanying induction invariant rules"},
{"id": 3913,
-"keyword": "information-flow security aims"},
-{"id": 3914,
-"keyword": "infinite length"},
-{"id": 3915,
-"keyword": "geometric probability"},
-{"id": 3916,
-"keyword": "term focus"},
-{"id": 3917,
-"keyword": "alternative proof"},
-{"id": 3918,
-"keyword": "commitment schemes"},
-{"id": 3919,
-"keyword": "multiplicative group"},
-{"id": 3920,
-"keyword": "classical definition"},
-{"id": 3921,
-"keyword": "compositionally reasoning"},
-{"id": 3922,
-"keyword": "mathematical formulation"},
-||||||| common ancestor
-"keyword": "formal power series"},
-{"id": 3913,
-"keyword": "increasingly important"},
-{"id": 3914,
-"keyword": "type inference algorithm"},
-{"id": 3915,
-"keyword": "engineering safety"},
-{"id": 3916,
-"keyword": "fixed finite instance"},
-{"id": 3917,
-"keyword": "closed set"},
-{"id": 3918,
-"keyword": "query evaluation"},
-{"id": 3919,
-"keyword": "generalized recurrence relation"},
-{"id": 3920,
-"keyword": "information-flow security aims"},
-{"id": 3921,
-"keyword": "infinite length"},
-{"id": 3922,
-"keyword": "geometric probability"},
-=======
-"keyword": "data plane"},
-{"id": 3913,
-"keyword": "collaborative text editing"},
+"keyword": "program logic"},
{"id": 3914,
-"keyword": "main advantage"},
+"keyword": "certified programs"},
{"id": 3915,
-"keyword": "proof"},
+"keyword": "itp 2015 publication"},
{"id": 3916,
-"keyword": "functions thetasym"},
+"keyword": "set category locale"},
{"id": 3917,
-"keyword": "equivalence relation"},
+"keyword": "code generation support"},
{"id": 3918,
-"keyword": "flexray communication protocol"},
+"keyword": "subset relation"},
{"id": 3919,
-"keyword": "algebraic proof"},
+"keyword": "quantalic structure"},
{"id": 3920,
-"keyword": "alternative definition"},
+"keyword": "completeness conditions"},
{"id": 3921,
-"keyword": "similar proof"},
+"keyword": "security invariant theory"},
{"id": 3922,
-"keyword": "protocols supported"},
->>>>>>> merge rev
+"keyword": "polynomial-time basis reduction algorithm"},
{"id": 3923,
-<<<<<<< working copy
-"keyword": "arbitrary higher-order contexts"},
-||||||| common ancestor
-"keyword": "term focus"},
-=======
-"keyword": "efficient union-find data structure"},
->>>>>>> merge rev
+"keyword": "search path"},
{"id": 3924,
-<<<<<<< working copy
-"keyword": "constant time"},
-||||||| common ancestor
-"keyword": "alternative proof"},
-=======
-"keyword": "pairwise commuting hermitian matrices"},
->>>>>>> merge rev
+"keyword": "main topics"},
{"id": 3925,
-<<<<<<< working copy
-"keyword": "dirichlet characters"},
-||||||| common ancestor
-"keyword": "commitment schemes"},
-=======
-"keyword": "dom api"},
->>>>>>> merge rev
+"keyword": "direct subsumption relation"},
{"id": 3926,
-<<<<<<< working copy
-"keyword": "fully formal"},
-||||||| common ancestor
-"keyword": "multiplicative group"},
-=======
-"keyword": "adding knuth"},
->>>>>>> merge rev
+"keyword": "minkowski inequalities"},
{"id": 3927,
-<<<<<<< working copy
-"keyword": "assorted fixed-point theorems"},
-||||||| common ancestor
-"keyword": "classical definition"},
-=======
-"keyword": "concrete monad"},
->>>>>>> merge rev
+"keyword": "generic join algorithm"},
{"id": 3928,
-<<<<<<< working copy
-"keyword": "finite relations"},
-||||||| common ancestor
-"keyword": "compositionally reasoning"},
-=======
-"keyword": "identify bugs"},
->>>>>>> merge rev
+"keyword": "generalised binary modalities"},
{"id": 3929,
-<<<<<<< working copy
-"keyword": "selection sort"},
-||||||| common ancestor
-"keyword": "mathematical formulation"},
-=======
-"keyword": "user command"},
->>>>>>> merge rev
+"keyword": "efficient imperative implementations"},
{"id": 3930,
-<<<<<<< working copy
-"keyword": "semantic side conditions"},
-||||||| common ancestor
-"keyword": "arbitrary higher-order contexts"},
-=======
-"keyword": "program analysis"},
->>>>>>> merge rev
+"keyword": "sequent calculus prover"},
{"id": 3931,
-<<<<<<< working copy
-"keyword": "formal programming language semantics"},
+"keyword": "relativized general knowledge"},
{"id": 3932,
-"keyword": "unified modeling language"},
+"keyword": "framed links closely linked"},
{"id": 3933,
-"keyword": "complx language"},
+"keyword": "high-level proofs"},
{"id": 3934,
-"keyword": "simpler versions"},
+"keyword": "universally quantified uninterpreted terms"},
{"id": 3935,
-"keyword": "experimentally tested"},
+"keyword": "morse lemma asserting"},
{"id": 3936,
-"keyword": "algebraic laws"},
+"keyword": "test-generation techniques"},
{"id": 3937,
-"keyword": "abstract simplicial complexes"},
+"keyword": "approach decomposes ltl formulas"},
{"id": 3938,
-"keyword": "nullable types"},
+"keyword": "data refinement"},
{"id": 3939,
-"keyword": "1 n-1 frac b_"},
+"keyword": "data plane"},
{"id": 3940,
-"keyword": "fixed-point theorem"},
+"keyword": "collaborative text editing"},
{"id": 3941,
-"keyword": "file read"},
+"keyword": "main advantage"},
{"id": 3942,
-"keyword": "found cryptic"},
+"keyword": "proof"},
{"id": 3943,
-"keyword": "partial recursive function"},
+"keyword": "functions thetasym"},
{"id": 3944,
-"keyword": "cl73 chin-liang chang"},
+"keyword": "equivalence relation"},
{"id": 3945,
-"keyword": "call- return behavior"},
+"keyword": "flexray communication protocol"},
{"id": 3946,
-"keyword": "inductive invariant proofs"},
+"keyword": "algebraic proof"},
{"id": 3947,
-"keyword": "omega 1 alpha"},
+"keyword": "alternative definition"},
{"id": 3948,
-"keyword": "human-readable fast-to-replay proof scripts"},
+"keyword": "similar proof"},
{"id": 3949,
-"keyword": "monadic functions"},
+"keyword": "protocols supported"},
{"id": 3950,
-"keyword": "nested multiset datatype"},
+"keyword": "efficient union-find data structure"},
{"id": 3951,
-"keyword": "successor function"},
-||||||| common ancestor
-"keyword": "constant time"},
-{"id": 3932,
-"keyword": "dirichlet characters"},
-{"id": 3933,
-"keyword": "fully formal"},
-{"id": 3934,
-"keyword": "assorted fixed-point theorems"},
-{"id": 3935,
-"keyword": "finite relations"},
-{"id": 3936,
-"keyword": "selection sort"},
-{"id": 3937,
-"keyword": "semantic side conditions"},
-{"id": 3938,
-"keyword": "formal programming language semantics"},
-{"id": 3939,
-"keyword": "unified modeling language"},
-{"id": 3940,
-"keyword": "complx language"},
-{"id": 3941,
-"keyword": "simpler versions"},
-{"id": 3942,
-"keyword": "experimentally tested"},
-{"id": 3943,
-"keyword": "algebraic laws"},
-{"id": 3944,
-"keyword": "abstract simplicial complexes"},
-{"id": 3945,
-"keyword": "nullable types"},
-{"id": 3946,
-"keyword": "1 n-1 frac b_"},
-{"id": 3947,
-"keyword": "fixed-point theorem"},
-{"id": 3948,
-"keyword": "file read"},
-{"id": 3949,
-"keyword": "found cryptic"},
-{"id": 3950,
-"keyword": "partial recursive function"},
-{"id": 3951,
-"keyword": "cl73 chin-liang chang"},
-=======
+"keyword": "pairwise commuting hermitian matrices"},
+{"id": 3952,
+"keyword": "dom api"},
+{"id": 3953,
+"keyword": "adding knuth"},
+{"id": 3954,
+"keyword": "concrete monad"},
+{"id": 3955,
+"keyword": "identify bugs"},
+{"id": 3956,
+"keyword": "user command"},
+{"id": 3957,
+"keyword": "program analysis"},
+{"id": 3958,
"keyword": "logic due"},
-{"id": 3932,
+{"id": 3959,
"keyword": "comparisons performed"},
-{"id": 3933,
+{"id": 3960,
"keyword": "inverse squares"},
-{"id": 3934,
+{"id": 3961,
"keyword": "correct optimized versions"},
-{"id": 3935,
+{"id": 3962,
"keyword": "popular introduction"},
-{"id": 3936,
+{"id": 3963,
"keyword": "general theory"},
-{"id": 3937,
+{"id": 3964,
"keyword": "large library"},
-{"id": 3938,
-"keyword": "finite iteration"},
-{"id": 3939,
-"keyword": "monitor supports aggregation operations"},
-{"id": 3940,
-"keyword": "key range"},
-{"id": 3941,
-"keyword": "social welfare"},
-{"id": 3942,
-"keyword": "proof obligations automatically"},
-{"id": 3943,
-"keyword": "require intermediate operational semantics"},
-{"id": 3944,
-"keyword": "shallow semantical embeddings approach"},
-{"id": 3945,
-"keyword": "collect information"},
-{"id": 3946,
-"keyword": "backward simulations"},
-{"id": 3947,
-"keyword": "protocols secure"},
-{"id": 3948,
-"keyword": "formal power series"},
-{"id": 3949,
-"keyword": "increasingly important"},
-{"id": 3950,
-"keyword": "type inference algorithm"},
-{"id": 3951,
-"keyword": "engineering safety"},
->>>>>>> merge rev
-{"id": 3952,
-<<<<<<< working copy
-"keyword": "16th international symposium"},
-||||||| common ancestor
-"keyword": "call- return behavior"},
-=======
-"keyword": "fixed finite instance"},
->>>>>>> merge rev
-{"id": 3953,
-<<<<<<< working copy
-"keyword": "behaviorally correct learning"},
-||||||| common ancestor
-"keyword": "inductive invariant proofs"},
-=======
-"keyword": "closed set"},
->>>>>>> merge rev
-{"id": 3954,
-<<<<<<< working copy
-"keyword": "cpp-2015 peter lammich"},
-||||||| common ancestor
-"keyword": "omega 1 alpha"},
-=======
-"keyword": "query evaluation"},
->>>>>>> merge rev
-{"id": 3955,
-<<<<<<< working copy
-"keyword": "nieto verification"},
-||||||| common ancestor
-"keyword": "human-readable fast-to-replay proof scripts"},
-=======
-"keyword": "generalized recurrence relation"},
->>>>>>> merge rev
-{"id": 3956,
-<<<<<<< working copy
-"keyword": "hare cycle-finding algorithm ascribed"},
-||||||| common ancestor
-"keyword": "monadic functions"},
-=======
-"keyword": "information-flow security aims"},
->>>>>>> merge rev
-{"id": 3957,
-<<<<<<< working copy
-"keyword": "safe distance rule"},
-||||||| common ancestor
-"keyword": "nested multiset datatype"},
-=======
-"keyword": "infinite length"},
->>>>>>> merge rev
-{"id": 3958,
-<<<<<<< working copy
-"keyword": "original problem"},
-||||||| common ancestor
-"keyword": "successor function"},
-=======
-"keyword": "geometric probability"},
->>>>>>> merge rev
-{"id": 3959,
-<<<<<<< working copy
-"keyword": "analytic combinatorics"},
-||||||| common ancestor
-"keyword": "16th international symposium"},
-=======
-"keyword": "term focus"},
->>>>>>> merge rev
-{"id": 3960,
-<<<<<<< working copy
-"keyword": "normal strategy"},
-{"id": 3961,
-"keyword": "single component"},
-{"id": 3962,
-"keyword": "order relativity theory"},
-{"id": 3963,
-||||||| common ancestor
-"keyword": "behaviorally correct learning"},
-{"id": 3961,
-"keyword": "cpp-2015 peter lammich"},
-{"id": 3962,
-"keyword": "nieto verification"},
-{"id": 3963,
-"keyword": "hare cycle-finding algorithm ascribed"},
-{"id": 3964,
-"keyword": "safe distance rule"},
{"id": 3965,
-"keyword": "original problem"},
+"keyword": "finite iteration"},
{"id": 3966,
-"keyword": "analytic combinatorics"},
+"keyword": "monitor supports aggregation operations"},
{"id": 3967,
-"keyword": "normal strategy"},
+"keyword": "key range"},
{"id": 3968,
-"keyword": "single component"},
-{"id": 3969,
-"keyword": "order relativity theory"},
-{"id": 3970,
-=======
-"keyword": "alternative proof"},
-{"id": 3961,
-"keyword": "commitment schemes"},
-{"id": 3962,
-"keyword": "multiplicative group"},
-{"id": 3963,
-"keyword": "classical definition"},
-{"id": 3964,
-"keyword": "compositionally reasoning"},
-{"id": 3965,
-"keyword": "mathematical formulation"},
-{"id": 3966,
-"keyword": "arbitrary higher-order contexts"},
-{"id": 3967,
-"keyword": "constant time"},
-{"id": 3968,
-"keyword": "dirichlet characters"},
+"keyword": "social welfare"},
{"id": 3969,
-"keyword": "fully formal"},
-{"id": 3970,
-"keyword": "assorted fixed-point theorems"},
-{"id": 3971,
-"keyword": "finite relations"},
-{"id": 3972,
-"keyword": "selection sort"},
-{"id": 3973,
-"keyword": "semantic side conditions"},
-{"id": 3974,
-"keyword": "formal programming language semantics"},
-{"id": 3975,
-"keyword": "unified modeling language"},
-{"id": 3976,
-"keyword": "complx language"},
-{"id": 3977,
-"keyword": "simpler versions"},
-{"id": 3978,
-"keyword": "experimentally tested"},
-{"id": 3979,
-"keyword": "algebraic laws"},
-{"id": 3980,
-"keyword": "abstract simplicial complexes"},
-{"id": 3981,
-"keyword": "nullable types"},
-{"id": 3982,
-"keyword": "1 n-1 frac b_"},
-{"id": 3983,
-"keyword": "fixed-point theorem"},
-{"id": 3984,
-"keyword": "file read"},
-{"id": 3985,
-"keyword": "found cryptic"},
-{"id": 3986,
-"keyword": "partial recursive function"},
-{"id": 3987,
-"keyword": "cl73 chin-liang chang"},
-{"id": 3988,
-"keyword": "call- return behavior"},
-{"id": 3989,
-"keyword": "inductive invariant proofs"},
-{"id": 3990,
-"keyword": "omega 1 alpha"},
-{"id": 3991,
-"keyword": "human-readable fast-to-replay proof scripts"},
-{"id": 3992,
-"keyword": "monadic functions"},
-{"id": 3993,
-"keyword": "nested multiset datatype"},
-{"id": 3994,
-"keyword": "successor function"},
-{"id": 3995,
-"keyword": "16th international symposium"},
-{"id": 3996,
-"keyword": "behaviorally correct learning"},
-{"id": 3997,
-"keyword": "cpp-2015 peter lammich"},
-{"id": 3998,
-"keyword": "nieto verification"},
-{"id": 3999,
-"keyword": "hare cycle-finding algorithm ascribed"},
-{"id": 4000,
-"keyword": "safe distance rule"},
-{"id": 4001,
-"keyword": "original problem"},
-{"id": 4002,
-"keyword": "analytic combinatorics"},
-{"id": 4003,
-"keyword": "normal strategy"},
-{"id": 4004,
-"keyword": "single component"},
-{"id": 4005,
-"keyword": "order relativity theory"},
-{"id": 4006,
->>>>>>> merge rev
-"keyword": "sturm-tarksi theorem forms"},
-<<<<<<< working copy
-{"id": 3964,
-"keyword": "signed measure"},
-{"id": 3965,
-"keyword": "good lower bound"},
-{"id": 3966,
-"keyword": "type classes connected"},
-{"id": 3967,
-"keyword": "modeling languages"},
-{"id": 3968,
-"keyword": "relative soundness results"},
-{"id": 3969,
-"keyword": "arbitrary security lattices"},
+"keyword": "proof obligations automatically"},
{"id": 3970,
-"keyword": "construct complicated trees"},
+"keyword": "require intermediate operational semantics"},
{"id": 3971,
-"keyword": "large graphs"},
-{"id": 3972,
-"keyword": "partition function"},
-{"id": 3973,
-"keyword": "bounded natural functors"},
-{"id": 3974,
-"keyword": "afp entry ordered_resultion_prover"},
-{"id": 3975,
-"keyword": "automated tactic support"},
-{"id": 3976,
-"keyword": "infinite message streams represented"},
-{"id": 3977,
-"keyword": "polynomial-time algorithm"},
-{"id": 3978,
-"keyword": "complexity proof certificates"},
-{"id": 3979,
-||||||| common ancestor
-{"id": 3971,
-"keyword": "signed measure"},
+"keyword": "shallow semantical embeddings approach"},
{"id": 3972,
-"keyword": "good lower bound"},
+"keyword": "collect information"},
{"id": 3973,
-"keyword": "type classes connected"},
+"keyword": "backward simulations"},
{"id": 3974,
-"keyword": "modeling languages"},
+"keyword": "protocols secure"},
{"id": 3975,
-"keyword": "relative soundness results"},
+"keyword": "formal power series"},
{"id": 3976,
-"keyword": "arbitrary security lattices"},
+"keyword": "increasingly important"},
{"id": 3977,
-"keyword": "construct complicated trees"},
+"keyword": "type inference algorithm"},
{"id": 3978,
-"keyword": "large graphs"},
+"keyword": "engineering safety"},
{"id": 3979,
-"keyword": "partition function"},
+"keyword": "fixed finite instance"},
{"id": 3980,
-"keyword": "bounded natural functors"},
+"keyword": "closed set"},
{"id": 3981,
-"keyword": "afp entry ordered_resultion_prover"},
+"keyword": "query evaluation"},
{"id": 3982,
-"keyword": "automated tactic support"},
+"keyword": "generalized recurrence relation"},
{"id": 3983,
-"keyword": "infinite message streams represented"},
+"keyword": "information-flow security aims"},
{"id": 3984,
-"keyword": "polynomial-time algorithm"},
+"keyword": "infinite length"},
{"id": 3985,
-"keyword": "complexity proof certificates"},
-{"id": 3986,
-=======
-{"id": 4007,
-"keyword": "signed measure"},
-{"id": 4008,
-"keyword": "good lower bound"},
-{"id": 4009,
-"keyword": "type classes connected"},
-{"id": 4010,
-"keyword": "modeling languages"},
-{"id": 4011,
-"keyword": "relative soundness results"},
-{"id": 4012,
-"keyword": "arbitrary security lattices"},
-{"id": 4013,
-"keyword": "construct complicated trees"},
-{"id": 4014,
-"keyword": "large graphs"},
-{"id": 4015,
-"keyword": "partition function"},
-{"id": 4016,
-"keyword": "bounded natural functors"},
-{"id": 4017,
-"keyword": "afp entry ordered_resultion_prover"},
-{"id": 4018,
-"keyword": "automated tactic support"},
-{"id": 4019,
-"keyword": "infinite message streams represented"},
-{"id": 4020,
-"keyword": "polynomial-time algorithm"},
-{"id": 4021,
-"keyword": "complexity proof certificates"},
-{"id": 4022,
->>>>>>> merge rev
-"keyword": "standard operators"},
-<<<<<<< working copy
-{"id": 3980,
-||||||| common ancestor
-{"id": 3987,
-=======
-{"id": 4023,
->>>>>>> merge rev
-"keyword": "int_0 1"},
-<<<<<<< working copy
-{"id": 3981,
-||||||| common ancestor
-{"id": 3988,
-=======
-{"id": 4024,
->>>>>>> merge rev
-"keyword": "present development"},
-<<<<<<< working copy
-{"id": 3982,
-||||||| common ancestor
-{"id": 3989,
-=======
-{"id": 4025,
->>>>>>> merge rev
-"keyword": "directly relating agents"},
-<<<<<<< working copy
-{"id": 3983,
-"keyword": "path authorization"},
-{"id": 3984,
-"keyword": "simply hermite-lindemann"},
-{"id": 3985,
-"keyword": "generic framework semantics"},
+"keyword": "geometric probability"},
{"id": 3986,
-"keyword": "counts roots"},
+"keyword": "term focus"},
{"id": 3987,
-"keyword": "generic properties"},
+"keyword": "alternative proof"},
{"id": 3988,
-"keyword": "integer ring modulo"},
+"keyword": "commitment schemes"},
{"id": 3989,
-"keyword": "domain elements"},
+"keyword": "multiplicative group"},
{"id": 3990,
-"keyword": "codomain nat option"},
+"keyword": "classical definition"},
{"id": 3991,
-"keyword": "exponential nnf-based algorithms"},
+"keyword": "compositionally reasoning"},
{"id": 3992,
-"keyword": "basis executable code"},
+"keyword": "mathematical formulation"},
{"id": 3993,
-"keyword": "orders"},
+"keyword": "arbitrary higher-order contexts"},
{"id": 3994,
-"keyword": "functional programming language"},
+"keyword": "constant time"},
{"id": 3995,
-"keyword": "extended regular expressions"},
+"keyword": "dirichlet characters"},
{"id": 3996,
-"keyword": "longest lyndon suffix"},
+"keyword": "fully formal"},
{"id": 3997,
-"keyword": "main concern"},
+"keyword": "assorted fixed-point theorems"},
{"id": 3998,
-||||||| common ancestor
-{"id": 3990,
-"keyword": "path authorization"},
-{"id": 3991,
-"keyword": "simply hermite-lindemann"},
-{"id": 3992,
-"keyword": "generic framework semantics"},
-{"id": 3993,
-"keyword": "counts roots"},
-{"id": 3994,
-"keyword": "generic properties"},
-{"id": 3995,
-"keyword": "integer ring modulo"},
-{"id": 3996,
-"keyword": "domain elements"},
-{"id": 3997,
-"keyword": "codomain nat option"},
-{"id": 3998,
-"keyword": "exponential nnf-based algorithms"},
+"keyword": "finite relations"},
{"id": 3999,
-"keyword": "basis executable code"},
+"keyword": "selection sort"},
{"id": 4000,
-"keyword": "orders"},
+"keyword": "semantic side conditions"},
{"id": 4001,
-"keyword": "functional programming language"},
-{"id": 4002,
-"keyword": "extended regular expressions"},
-{"id": 4003,
-"keyword": "longest lyndon suffix"},
-{"id": 4004,
-"keyword": "main concern"},
-{"id": 4005,
-=======
-{"id": 4026,
-"keyword": "path authorization"},
-{"id": 4027,
-"keyword": "simply hermite-lindemann"},
-{"id": 4028,
-"keyword": "generic framework semantics"},
-{"id": 4029,
-"keyword": "counts roots"},
-{"id": 4030,
-"keyword": "generic properties"},
-{"id": 4031,
-"keyword": "integer ring modulo"},
-{"id": 4032,
-"keyword": "domain elements"},
-{"id": 4033,
-"keyword": "codomain nat option"},
-{"id": 4034,
-"keyword": "exponential nnf-based algorithms"},
-{"id": 4035,
-"keyword": "basis executable code"},
-{"id": 4036,
-"keyword": "orders"},
-{"id": 4037,
-"keyword": "functional programming language"},
-{"id": 4038,
-"keyword": "extended regular expressions"},
-{"id": 4039,
-"keyword": "longest lyndon suffix"},
-{"id": 4040,
-"keyword": "main concern"},
-{"id": 4041,
-"keyword": "squares theorem"},
-{"id": 4042,
->>>>>>> merge rev
-"keyword": "generic object model independent"},
-<<<<<<< working copy
-{"id": 3999,
-||||||| common ancestor
-{"id": 4006,
-=======
-{"id": 4043,
->>>>>>> merge rev
-"keyword": "uniform substitutions substitute"},
-<<<<<<< working copy
-{"id": 4000,
-||||||| common ancestor
-{"id": 4007,
-=======
-{"id": 4044,
->>>>>>> merge rev
-"keyword": "release ownership"},
-<<<<<<< working copy
-{"id": 4001,
-||||||| common ancestor
-{"id": 4008,
-=======
-{"id": 4045,
->>>>>>> merge rev
-"keyword": "key construction"},
-<<<<<<< working copy
+"keyword": "formal programming language semantics"},
{"id": 4002,
-"keyword": "aforesaid task"},
+"keyword": "unified modeling language"},
{"id": 4003,
-"keyword": "complex data structure"},
+"keyword": "complx language"},
{"id": 4004,
-"keyword": "paul thomson"},
+"keyword": "simpler versions"},
{"id": 4005,
-"keyword": "trivially unsatisfiable inequality"},
+"keyword": "experimentally tested"},
{"id": 4006,
-"keyword": "probabilistic variant"},
+"keyword": "algebraic laws"},
{"id": 4007,
-"keyword": "unique normal forms"},
+"keyword": "abstract simplicial complexes"},
{"id": 4008,
-"keyword": "permitting multiset comparisons"},
+"keyword": "nullable types"},
{"id": 4009,
-"keyword": "lipschitz maps"},
+"keyword": "1 n-1 frac b_"},
{"id": 4010,
-"keyword": "formal language"},
+"keyword": "general problem"},
{"id": 4011,
-"keyword": "small abstract subsystems"},
+"keyword": "fixed-point theorem"},
{"id": 4012,
-"keyword": "asymptotically matches"},
+"keyword": "file read"},
{"id": 4013,
-"keyword": "infinite measure"},
+"keyword": "found cryptic"},
{"id": 4014,
-"keyword": "proof calculus"},
+"keyword": "partial recursive function"},
{"id": 4015,
-"keyword": "temporal logic"},
+"keyword": "cl73 chin-liang chang"},
{"id": 4016,
-"keyword": "link tangle equivalence"},
+"keyword": "call- return behavior"},
{"id": 4017,
-"keyword": "instantiation reuses"},
+"keyword": "inductive invariant proofs"},
{"id": 4018,
-"keyword": "representation executable"},
+"keyword": "omega 1 alpha"},
{"id": 4019,
-"keyword": "hol standard library"},
+"keyword": "human-readable fast-to-replay proof scripts"},
{"id": 4020,
-"keyword": "article set-theoretical foundations"},
+"keyword": "monadic functions"},
{"id": 4021,
-"keyword": "underlying boolean algebra structure"},
+"keyword": "nested multiset datatype"},
{"id": 4022,
-"keyword": "aircraft cabin data network"},
+"keyword": "successor function"},
{"id": 4023,
-"keyword": "liouville numbers"},
+"keyword": "16th international symposium"},
{"id": 4024,
-"keyword": "basic model"},
+"keyword": "behaviorally correct learning"},
{"id": 4025,
-"keyword": "verified translation"},
+"keyword": "cpp-2015 peter lammich"},
{"id": 4026,
-"keyword": "devise notions"},
+"keyword": "nieto verification"},
{"id": 4027,
-"keyword": "platonic forms"},
+"keyword": "hare cycle-finding algorithm ascribed"},
{"id": 4028,
-"keyword": "np-complete problem"},
+"keyword": "safe distance rule"},
{"id": 4029,
-"keyword": "updown scheme"},
+"keyword": "original problem"},
{"id": 4030,
-"keyword": "yacc style grammars"},
+"keyword": "analytic combinatorics"},
{"id": 4031,
-"keyword": "rapid prototyping"},
+"keyword": "normal strategy"},
{"id": 4032,
-"keyword": "combinatorial design theory"},
+"keyword": "single component"},
{"id": 4033,
-"keyword": "fourteen lemmas"},
+"keyword": "order relativity theory"},
{"id": 4034,
-"keyword": "utility functions form"},
+"keyword": "sturm-tarksi theorem forms"},
{"id": 4035,
-"keyword": "theories presented"},
+"keyword": "signed measure"},
{"id": 4036,
-"keyword": "quantitative analysis"},
+"keyword": "good lower bound"},
{"id": 4037,
-"keyword": "atomic operations race"},
+"keyword": "type classes connected"},
{"id": 4038,
-"keyword": "word iff"},
+"keyword": "modeling languages"},
{"id": 4039,
-"keyword": "knowledge"},
+"keyword": "relative soundness results"},
{"id": 4040,
-"keyword": "msc thesis"},
+"keyword": "arbitrary security lattices"},
{"id": 4041,
-"keyword": "nondeterministic branching"},
+"keyword": "construct complicated trees"},
{"id": 4042,
-"keyword": "randomized list update algorithm"},
+"keyword": "large graphs"},
{"id": 4043,
-"keyword": "document describes"},
+"keyword": "partition function"},
{"id": 4044,
-"keyword": "significant generalization"},
+"keyword": "bounded natural functors"},
{"id": 4045,
-"keyword": "short sketch"},
+"keyword": "afp entry ordered_resultion_prover"},
{"id": 4046,
-"keyword": "state-normalisation allowing"},
+"keyword": "automated tactic support"},
{"id": 4047,
-"keyword": "next-free ltl formula"},
+"keyword": "infinite message streams represented"},
{"id": 4048,
-"keyword": "devising correct speculative algorithms"},
+"keyword": "polynomial-time algorithm"},
{"id": 4049,
-"keyword": "process trace"},
+"keyword": "complexity proof certificates"},
{"id": 4050,
-"keyword": "interactive theorem proving"},
+"keyword": "standard operators"},
{"id": 4051,
-"keyword": "individual accepted"},
+"keyword": "int_0 1"},
{"id": 4052,
-"keyword": "target terms"},
+"keyword": "present development"},
{"id": 4053,
-"keyword": "quickly verified"},
+"keyword": "directly relating agents"},
{"id": 4054,
-"keyword": "completeness result"},
+"keyword": "path authorization"},
{"id": 4055,
-"keyword": "implement saturation calculi"},
+"keyword": "simply hermite-lindemann"},
{"id": 4056,
-"keyword": "general predication"},
+"keyword": "generic framework semantics"},
{"id": 4057,
-"keyword": "formal definitions"},
+"keyword": "counts roots"},
{"id": 4058,
-"keyword": "theory"},
+"keyword": "generic properties"},
{"id": 4059,
-"keyword": "ternary relation"},
+"keyword": "integer ring modulo"},
{"id": 4060,
-"keyword": "posix matching"},
+"keyword": "domain elements"},
{"id": 4061,
-"keyword": "normalisation algorithm"},
+"keyword": "codomain nat option"},
{"id": 4062,
-"keyword": "full proof"},
+"keyword": "exponential nnf-based algorithms"},
{"id": 4063,
-"keyword": "short applications"},
+"keyword": "basis executable code"},
{"id": 4064,
-"keyword": "dependent types"},
+"keyword": "orders"},
{"id": 4065,
-"keyword": "division modulo"},
+"keyword": "functional programming language"},
{"id": 4066,
-"keyword": "sample computations"},
-||||||| common ancestor
-{"id": 4009,
+"keyword": "extended regular expressions"},
+{"id": 4067,
+"keyword": "longest lyndon suffix"},
+{"id": 4068,
+"keyword": "main concern"},
+{"id": 4069,
+"keyword": "squares theorem"},
+{"id": 4070,
+"keyword": "generic object model independent"},
+{"id": 4071,
+"keyword": "uniform substitutions substitute"},
+{"id": 4072,
+"keyword": "release ownership"},
+{"id": 4073,
+"keyword": "key construction"},
+{"id": 4074,
"keyword": "aforesaid task"},
-{"id": 4010,
+{"id": 4075,
"keyword": "complex data structure"},
-{"id": 4011,
+{"id": 4076,
"keyword": "paul thomson"},
-{"id": 4012,
+{"id": 4077,
"keyword": "trivially unsatisfiable inequality"},
-{"id": 4013,
+{"id": 4078,
"keyword": "probabilistic variant"},
-{"id": 4014,
+{"id": 4079,
"keyword": "unique normal forms"},
-{"id": 4015,
+{"id": 4080,
+"keyword": "supports range queries"},
+{"id": 4081,
"keyword": "permitting multiset comparisons"},
-{"id": 4016,
+{"id": 4082,
"keyword": "lipschitz maps"},
-{"id": 4017,
+{"id": 4083,
"keyword": "formal language"},
-{"id": 4018,
+{"id": 4084,
"keyword": "small abstract subsystems"},
-{"id": 4019,
+{"id": 4085,
"keyword": "asymptotically matches"},
-{"id": 4020,
+{"id": 4086,
"keyword": "infinite measure"},
-{"id": 4021,
+{"id": 4087,
"keyword": "proof calculus"},
-{"id": 4022,
+{"id": 4088,
"keyword": "temporal logic"},
-{"id": 4023,
+{"id": 4089,
"keyword": "link tangle equivalence"},
-{"id": 4024,
+{"id": 4090,
"keyword": "instantiation reuses"},
-{"id": 4025,
+{"id": 4091,
"keyword": "representation executable"},
-{"id": 4026,
+{"id": 4092,
"keyword": "hol standard library"},
-{"id": 4027,
+{"id": 4093,
"keyword": "article set-theoretical foundations"},
-{"id": 4028,
+{"id": 4094,
"keyword": "underlying boolean algebra structure"},
-{"id": 4029,
+{"id": 4095,
"keyword": "aircraft cabin data network"},
-{"id": 4030,
+{"id": 4096,
"keyword": "liouville numbers"},
-{"id": 4031,
+{"id": 4097,
"keyword": "basic model"},
-{"id": 4032,
+{"id": 4098,
"keyword": "verified translation"},
-{"id": 4033,
+{"id": 4099,
"keyword": "devise notions"},
-{"id": 4034,
+{"id": 4100,
"keyword": "platonic forms"},
-{"id": 4035,
+{"id": 4101,
"keyword": "np-complete problem"},
-{"id": 4036,
+{"id": 4102,
"keyword": "updown scheme"},
-{"id": 4037,
+{"id": 4103,
"keyword": "yacc style grammars"},
-{"id": 4038,
+{"id": 4104,
"keyword": "rapid prototyping"},
-{"id": 4039,
+{"id": 4105,
"keyword": "combinatorial design theory"},
-{"id": 4040,
+{"id": 4106,
"keyword": "fourteen lemmas"},
-{"id": 4041,
+{"id": 4107,
"keyword": "utility functions form"},
-{"id": 4042,
+{"id": 4108,
"keyword": "theories presented"},
-{"id": 4043,
+{"id": 4109,
"keyword": "quantitative analysis"},
-{"id": 4044,
+{"id": 4110,
"keyword": "atomic operations race"},
-{"id": 4045,
+{"id": 4111,
"keyword": "word iff"},
-{"id": 4046,
+{"id": 4112,
"keyword": "knowledge"},
-{"id": 4047,
+{"id": 4113,
"keyword": "msc thesis"},
-{"id": 4048,
+{"id": 4114,
"keyword": "nondeterministic branching"},
-{"id": 4049,
+{"id": 4115,
"keyword": "randomized list update algorithm"},
-{"id": 4050,
+{"id": 4116,
"keyword": "document describes"},
-{"id": 4051,
+{"id": 4117,
"keyword": "significant generalization"},
-{"id": 4052,
+{"id": 4118,
"keyword": "short sketch"},
-{"id": 4053,
+{"id": 4119,
"keyword": "state-normalisation allowing"},
-{"id": 4054,
+{"id": 4120,
"keyword": "next-free ltl formula"},
-{"id": 4055,
+{"id": 4121,
"keyword": "devising correct speculative algorithms"},
-{"id": 4056,
+{"id": 4122,
"keyword": "process trace"},
-{"id": 4057,
+{"id": 4123,
"keyword": "interactive theorem proving"},
-{"id": 4058,
+{"id": 4124,
"keyword": "individual accepted"},
-{"id": 4059,
+{"id": 4125,
"keyword": "target terms"},
-{"id": 4060,
+{"id": 4126,
"keyword": "quickly verified"},
-{"id": 4061,
+{"id": 4127,
"keyword": "completeness result"},
-{"id": 4062,
+{"id": 4128,
"keyword": "implement saturation calculi"},
-{"id": 4063,
+{"id": 4129,
"keyword": "general predication"},
-{"id": 4064,
+{"id": 4130,
"keyword": "formal definitions"},
-{"id": 4065,
+{"id": 4131,
"keyword": "theory"},
-{"id": 4066,
+{"id": 4132,
"keyword": "ternary relation"},
-=======
-{"id": 4046,
-"keyword": "aforesaid task"},
-{"id": 4047,
-"keyword": "complex data structure"},
-{"id": 4048,
-"keyword": "paul thomson"},
-{"id": 4049,
-"keyword": "trivially unsatisfiable inequality"},
-{"id": 4050,
-"keyword": "probabilistic variant"},
-{"id": 4051,
-"keyword": "unique normal forms"},
-{"id": 4052,
-"keyword": "permitting multiset comparisons"},
-{"id": 4053,
-"keyword": "lipschitz maps"},
-{"id": 4054,
-"keyword": "formal language"},
-{"id": 4055,
-"keyword": "small abstract subsystems"},
-{"id": 4056,
-"keyword": "asymptotically matches"},
-{"id": 4057,
-"keyword": "infinite measure"},
-{"id": 4058,
-"keyword": "proof calculus"},
-{"id": 4059,
-"keyword": "temporal logic"},
-{"id": 4060,
-"keyword": "link tangle equivalence"},
-{"id": 4061,
-"keyword": "instantiation reuses"},
-{"id": 4062,
-"keyword": "representation executable"},
-{"id": 4063,
-"keyword": "hol standard library"},
-{"id": 4064,
-"keyword": "article set-theoretical foundations"},
-{"id": 4065,
-"keyword": "underlying boolean algebra structure"},
-{"id": 4066,
-"keyword": "aircraft cabin data network"},
->>>>>>> merge rev
-{"id": 4067,
-<<<<<<< working copy
-"keyword": "output type"},
-||||||| common ancestor
+{"id": 4133,
"keyword": "posix matching"},
-=======
-"keyword": "liouville numbers"},
->>>>>>> merge rev
-{"id": 4068,
-<<<<<<< working copy
-"keyword": "sorted monadic equational logic"},
-||||||| common ancestor
+{"id": 4134,
"keyword": "normalisation algorithm"},
-=======
-"keyword": "basic model"},
->>>>>>> merge rev
-{"id": 4069,
-<<<<<<< working copy
-"keyword": "refinement calculus literature"},
-||||||| common ancestor
+{"id": 4135,
"keyword": "full proof"},
-=======
-"keyword": "verified translation"},
->>>>>>> merge rev
-{"id": 4070,
-<<<<<<< working copy
-"keyword": "early failure detection"},
-||||||| common ancestor
+{"id": 4136,
"keyword": "short applications"},
-=======
-"keyword": "devise notions"},
->>>>>>> merge rev
-{"id": 4071,
-<<<<<<< working copy
-"keyword": "hereditarily finite set theory"},
-||||||| common ancestor
+{"id": 4137,
"keyword": "dependent types"},
-=======
-"keyword": "platonic forms"},
->>>>>>> merge rev
-{"id": 4072,
-<<<<<<< working copy
-"keyword": "main operation"},
-||||||| common ancestor
+{"id": 4138,
"keyword": "division modulo"},
-=======
-"keyword": "np-complete problem"},
->>>>>>> merge rev
-{"id": 4073,
-<<<<<<< working copy
-"keyword": "constructive cryptography"},
-||||||| common ancestor
+{"id": 4139,
"keyword": "sample computations"},
-=======
-"keyword": "updown scheme"},
->>>>>>> merge rev
-{"id": 4074,
-<<<<<<< working copy
-"keyword": "data structures required"},
-||||||| common ancestor
+{"id": 4140,
"keyword": "output type"},
-=======
-"keyword": "yacc style grammars"},
->>>>>>> merge rev
-{"id": 4075,
-<<<<<<< working copy
+{"id": 4141,
+"keyword": "sorted monadic equational logic"},
+{"id": 4142,
+"keyword": "refinement calculus literature"},
+{"id": 4143,
+"keyword": "early failure detection"},
+{"id": 4144,
+"keyword": "hereditarily finite set theory"},
+{"id": 4145,
+"keyword": "main operation"},
+{"id": 4146,
+"keyword": "constructive cryptography"},
+{"id": 4147,
+"keyword": "data structures required"},
+{"id": 4148,
"keyword": "probability monad"},
-{"id": 4076,
+{"id": 4149,
"keyword": "key proofs"},
-{"id": 4077,
+{"id": 4150,
"keyword": "clock synchronization algorithm"},
-{"id": 4078,
-"keyword": "julien narboux"},
-{"id": 4079,
-"keyword": "sliding window algorithm"},
-{"id": 4080,
-"keyword": "predicate transformer semantics"},
-{"id": 4081,
-"keyword": "data plane protocols"},
-{"id": 4082,
-"keyword": "bner bases"},
-{"id": 4083,
-"keyword": "existing formalization"},
-{"id": 4084,
-"keyword": "divide-and-conquer algorithm"},
-{"id": 4085,
-"keyword": "prime harmonic series"},
-||||||| common ancestor
-"keyword": "sorted monadic equational logic"},
-{"id": 4076,
-"keyword": "refinement calculus literature"},
-{"id": 4077,
-"keyword": "early failure detection"},
-{"id": 4078,
-"keyword": "hereditarily finite set theory"},
-{"id": 4079,
-"keyword": "main operation"},
-{"id": 4080,
-"keyword": "constructive cryptography"},
-{"id": 4081,
-"keyword": "data structures required"},
-{"id": 4082,
-"keyword": "probability monad"},
-{"id": 4083,
-"keyword": "key proofs"},
-{"id": 4084,
-"keyword": "clock synchronization algorithm"},
-{"id": 4085,
+{"id": 4151,
"keyword": "julien narboux"},
-=======
-"keyword": "rapid prototyping"},
-{"id": 4076,
-"keyword": "combinatorial design theory"},
-{"id": 4077,
-"keyword": "fourteen lemmas"},
-{"id": 4078,
-"keyword": "utility functions form"},
-{"id": 4079,
-"keyword": "theories presented"},
-{"id": 4080,
-"keyword": "quantitative analysis"},
-{"id": 4081,
-"keyword": "atomic operations race"},
-{"id": 4082,
-"keyword": "word iff"},
-{"id": 4083,
-"keyword": "knowledge"},
-{"id": 4084,
-"keyword": "msc thesis"},
-{"id": 4085,
-"keyword": "nondeterministic branching"},
->>>>>>> merge rev
-{"id": 4086,
-<<<<<<< working copy
-"keyword": "classical theorem"},
-||||||| common ancestor
+{"id": 4152,
"keyword": "sliding window algorithm"},
-=======
-"keyword": "randomized list update algorithm"},
->>>>>>> merge rev
-{"id": 4087,
-<<<<<<< working copy
-"keyword": "complement automaton"},
-||||||| common ancestor
+{"id": 4153,
"keyword": "predicate transformer semantics"},
-=======
-"keyword": "document describes"},
->>>>>>> merge rev
-{"id": 4088,
-<<<<<<< working copy
-"keyword": "actual sets"},
-||||||| common ancestor
+{"id": 4154,
"keyword": "data plane protocols"},
-=======
-"keyword": "significant generalization"},
->>>>>>> merge rev
-{"id": 4089,
-<<<<<<< working copy
-"keyword": "arbitrary intervals"},
-||||||| common ancestor
+{"id": 4155,
"keyword": "bner bases"},
-=======
-"keyword": "short sketch"},
->>>>>>> merge rev
-{"id": 4090,
-<<<<<<< working copy
-"keyword": "immediately offer"},
-||||||| common ancestor
+{"id": 4156,
"keyword": "existing formalization"},
-=======
-"keyword": "state-normalisation allowing"},
->>>>>>> merge rev
-{"id": 4091,
-<<<<<<< working copy
-"keyword": "locale-centric approach"},
-||||||| common ancestor
+{"id": 4157,
"keyword": "divide-and-conquer algorithm"},
-=======
-"keyword": "next-free ltl formula"},
->>>>>>> merge rev
-{"id": 4092,
-<<<<<<< working copy
-"keyword": "partial semigroups"},
-||||||| common ancestor
+{"id": 4158,
"keyword": "prime harmonic series"},
-=======
-"keyword": "devising correct speculative algorithms"},
->>>>>>> merge rev
-{"id": 4093,
-<<<<<<< working copy
-"keyword": "specification decomposition principles"},
-||||||| common ancestor
+{"id": 4159,
"keyword": "classical theorem"},
-=======
-"keyword": "process trace"},
->>>>>>> merge rev
-{"id": 4094,
-<<<<<<< working copy
-"keyword": "classic proof"},
-||||||| common ancestor
+{"id": 4160,
"keyword": "complement automaton"},
-=======
-"keyword": "interactive theorem proving"},
->>>>>>> merge rev
-{"id": 4095,
-<<<<<<< working copy
-"keyword": "underlying routing protocol"},
-||||||| common ancestor
+{"id": 4161,
"keyword": "actual sets"},
-=======
-"keyword": "individual accepted"},
->>>>>>> merge rev
-{"id": 4096,
-<<<<<<< working copy
-"keyword": "irreducible representation"},
-||||||| common ancestor
+{"id": 4162,
"keyword": "arbitrary intervals"},
-=======
-"keyword": "target terms"},
->>>>>>> merge rev
-{"id": 4097,
-<<<<<<< working copy
-"keyword": "completeness proof builds"},
-||||||| common ancestor
+{"id": 4163,
"keyword": "immediately offer"},
-=======
-"keyword": "quickly verified"},
->>>>>>> merge rev
-{"id": 4098,
-<<<<<<< working copy
-"keyword": "imperative executable code"},
-||||||| common ancestor
+{"id": 4164,
"keyword": "locale-centric approach"},
-=======
-"keyword": "completeness result"},
->>>>>>> merge rev
-{"id": 4099,
-<<<<<<< working copy
-"keyword": "executable implementation"},
-||||||| common ancestor
+{"id": 4165,
"keyword": "partial semigroups"},
-=======
-"keyword": "implement saturation calculi"},
->>>>>>> merge rev
-{"id": 4100,
-<<<<<<< working copy
-"keyword": "uml class diagrams"},
-||||||| common ancestor
+{"id": 4166,
"keyword": "specification decomposition principles"},
-=======
-"keyword": "general predication"},
->>>>>>> merge rev
-{"id": 4101,
-<<<<<<< working copy
-"keyword": "simple summation conversion"},
-||||||| common ancestor
+{"id": 4167,
"keyword": "classic proof"},
-=======
-"keyword": "formal definitions"},
->>>>>>> merge rev
-{"id": 4102,
-<<<<<<< working copy
-"keyword": "single setting"},
-||||||| common ancestor
+{"id": 4168,
"keyword": "underlying routing protocol"},
-=======
-"keyword": "theory"},
->>>>>>> merge rev
-{"id": 4103,
-<<<<<<< working copy
-"keyword": "closed-form formulae"},
-||||||| common ancestor
+{"id": 4169,
"keyword": "irreducible representation"},
-=======
-"keyword": "ternary relation"},
->>>>>>> merge rev
-{"id": 4104,
-<<<<<<< working copy
+{"id": 4170,
+"keyword": "completeness proof builds"},
+{"id": 4171,
+"keyword": "imperative executable code"},
+{"id": 4172,
+"keyword": "executable implementation"},
+{"id": 4173,
+"keyword": "uml class diagrams"},
+{"id": 4174,
+"keyword": "simple summation conversion"},
+{"id": 4175,
+"keyword": "single setting"},
+{"id": 4176,
+"keyword": "closed-form formulae"},
+{"id": 4177,
"keyword": "sat solver descriptions"},
-{"id": 4105,
+{"id": 4178,
"keyword": "correctness properties"},
-{"id": 4106,
+{"id": 4179,
"keyword": "efficient verified implementation"},
-{"id": 4107,
+{"id": 4180,
"keyword": "category"},
-{"id": 4108,
+{"id": 4181,
"keyword": "generic rules resulting"},
-{"id": 4109,
+{"id": 4182,
"keyword": "approach"},
-{"id": 4110,
+{"id": 4183,
"keyword": "independent axioms"},
-{"id": 4111,
+{"id": 4184,
"keyword": "veblen hierarchies"},
-{"id": 4112,
+{"id": 4185,
"keyword": "semi-honest security setting"},
-{"id": 4113,
+{"id": 4186,
"keyword": "triangle counting lemma"},
-{"id": 4114,
+{"id": 4187,
"keyword": "existing proof format"},
-||||||| common ancestor
-"keyword": "completeness proof builds"},
-{"id": 4105,
-"keyword": "imperative executable code"},
-{"id": 4106,
-"keyword": "executable implementation"},
-{"id": 4107,
-"keyword": "uml class diagrams"},
-{"id": 4108,
-"keyword": "simple summation conversion"},
-{"id": 4109,
-"keyword": "single setting"},
-{"id": 4110,
-"keyword": "closed-form formulae"},
-{"id": 4111,
-"keyword": "sat solver descriptions"},
-{"id": 4112,
-"keyword": "correctness properties"},
-{"id": 4113,
-"keyword": "efficient verified implementation"},
-{"id": 4114,
-"keyword": "category"},
-=======
-"keyword": "posix matching"},
-{"id": 4105,
-"keyword": "normalisation algorithm"},
-{"id": 4106,
-"keyword": "full proof"},
-{"id": 4107,
-"keyword": "short applications"},
-{"id": 4108,
-"keyword": "dependent types"},
-{"id": 4109,
-"keyword": "division modulo"},
-{"id": 4110,
-"keyword": "sample computations"},
-{"id": 4111,
-"keyword": "output type"},
-{"id": 4112,
-"keyword": "sorted monadic equational logic"},
-{"id": 4113,
-"keyword": "refinement calculus literature"},
-{"id": 4114,
-"keyword": "early failure detection"},
->>>>>>> merge rev
-{"id": 4115,
-<<<<<<< working copy
+{"id": 4188,
"keyword": "aforementioned mathematical structures"},
-||||||| common ancestor
-"keyword": "generic rules resulting"},
-=======
-"keyword": "hereditarily finite set theory"},
->>>>>>> merge rev
-{"id": 4116,
-<<<<<<< working copy
+{"id": 4189,
"keyword": "executable formalisation"},
-||||||| common ancestor
-"keyword": "approach"},
-=======
-"keyword": "main operation"},
->>>>>>> merge rev
-{"id": 4117,
-<<<<<<< working copy
+{"id": 4190,
"keyword": "executable variant"},
-||||||| common ancestor
-"keyword": "independent axioms"},
-=======
-"keyword": "constructive cryptography"},
->>>>>>> merge rev
-{"id": 4118,
-<<<<<<< working copy
+{"id": 4191,
"keyword": "impossibility theorem due"},
-||||||| common ancestor
-"keyword": "veblen hierarchies"},
-=======
-"keyword": "data structures required"},
->>>>>>> merge rev
-{"id": 4119,
-<<<<<<< working copy
+{"id": 4192,
"keyword": "finite consistent extensions"},
-||||||| common ancestor
-"keyword": "semi-honest security setting"},
-=======
-"keyword": "probability monad"},
->>>>>>> merge rev
-{"id": 4120,
-<<<<<<< working copy
+{"id": 4193,
"keyword": "x1n hellip"},
-||||||| common ancestor
-"keyword": "triangle counting lemma"},
-=======
-"keyword": "key proofs"},
->>>>>>> merge rev
-{"id": 4121,
-<<<<<<< working copy
+{"id": 4194,
"keyword": "calculus ls_ pasl"},
-||||||| common ancestor
-"keyword": "existing proof format"},
-=======
-"keyword": "clock synchronization algorithm"},
->>>>>>> merge rev
-{"id": 4122,
-<<<<<<< working copy
+{"id": 4195,
"keyword": "diffie-hellman password-based authentication protocol"},
-||||||| common ancestor
-"keyword": "aforementioned mathematical structures"},
-=======
-"keyword": "julien narboux"},
->>>>>>> merge rev
-{"id": 4123,
-<<<<<<< working copy
+{"id": 4196,
"keyword": "average case"},
-{"id": 4124,
+{"id": 4197,
"keyword": "study filters based"},
-{"id": 4125,
-"keyword": "sorted linked lists"},
-{"id": 4126,
-||||||| common ancestor
-"keyword": "executable formalisation"},
-{"id": 4124,
-"keyword": "executable variant"},
-{"id": 4125,
-"keyword": "impossibility theorem due"},
-{"id": 4126,
-"keyword": "finite consistent extensions"},
-{"id": 4127,
-"keyword": "x1n hellip"},
-{"id": 4128,
-"keyword": "calculus ls_ pasl"},
-{"id": 4129,
-"keyword": "diffie-hellman password-based authentication protocol"},
-{"id": 4130,
-"keyword": "average case"},
-{"id": 4131,
-"keyword": "study filters based"},
-{"id": 4132,
+{"id": 4198,
"keyword": "sorted linked lists"},
-{"id": 4133,
-=======
-"keyword": "sliding window algorithm"},
-{"id": 4124,
-"keyword": "predicate transformer semantics"},
-{"id": 4125,
-"keyword": "data plane protocols"},
-{"id": 4126,
-"keyword": "bner bases"},
-{"id": 4127,
-"keyword": "existing formalization"},
-{"id": 4128,
-"keyword": "divide-and-conquer algorithm"},
-{"id": 4129,
-"keyword": "prime harmonic series"},
-{"id": 4130,
-"keyword": "classical theorem"},
-{"id": 4131,
-"keyword": "complement automaton"},
-{"id": 4132,
-"keyword": "actual sets"},
-{"id": 4133,
-"keyword": "arbitrary intervals"},
-{"id": 4134,
-"keyword": "immediately offer"},
-{"id": 4135,
-"keyword": "locale-centric approach"},
-{"id": 4136,
-"keyword": "partial semigroups"},
-{"id": 4137,
-"keyword": "specification decomposition principles"},
-{"id": 4138,
-"keyword": "classic proof"},
-{"id": 4139,
-"keyword": "underlying routing protocol"},
-{"id": 4140,
-"keyword": "irreducible representation"},
-{"id": 4141,
-"keyword": "completeness proof builds"},
-{"id": 4142,
-"keyword": "imperative executable code"},
-{"id": 4143,
-"keyword": "executable implementation"},
-{"id": 4144,
-"keyword": "uml class diagrams"},
-{"id": 4145,
-"keyword": "simple summation conversion"},
-{"id": 4146,
-"keyword": "single setting"},
-{"id": 4147,
-"keyword": "closed-form formulae"},
-{"id": 4148,
-"keyword": "sat solver descriptions"},
-{"id": 4149,
-"keyword": "correctness properties"},
-{"id": 4150,
-"keyword": "efficient verified implementation"},
-{"id": 4151,
-"keyword": "category"},
-{"id": 4152,
-"keyword": "generic rules resulting"},
-{"id": 4153,
-"keyword": "approach"},
-{"id": 4154,
-"keyword": "independent axioms"},
-{"id": 4155,
-"keyword": "veblen hierarchies"},
-{"id": 4156,
-"keyword": "semi-honest security setting"},
-{"id": 4157,
-"keyword": "triangle counting lemma"},
-{"id": 4158,
-"keyword": "existing proof format"},
-{"id": 4159,
-"keyword": "aforementioned mathematical structures"},
-{"id": 4160,
-"keyword": "executable formalisation"},
-{"id": 4161,
-"keyword": "executable variant"},
-{"id": 4162,
-"keyword": "impossibility theorem due"},
-{"id": 4163,
-"keyword": "finite consistent extensions"},
-{"id": 4164,
-"keyword": "x1n hellip"},
-{"id": 4165,
-"keyword": "calculus ls_ pasl"},
-{"id": 4166,
-"keyword": "diffie-hellman password-based authentication protocol"},
-{"id": 4167,
-"keyword": "average case"},
-{"id": 4168,
-"keyword": "study filters based"},
-{"id": 4169,
-"keyword": "sorted linked lists"},
-{"id": 4170,
->>>>>>> merge rev
+{"id": 4199,
"keyword": "integer hull"},
-<<<<<<< working copy
-{"id": 4127,
+{"id": 4200,
"keyword": "binary masking"},
-{"id": 4128,
+{"id": 4201,
"keyword": "output consistency"},
-{"id": 4129,
+{"id": 4202,
"keyword": "important problem"},
-{"id": 4130,
+{"id": 4203,
"keyword": "strictly dominated"},
-{"id": 4131,
+{"id": 4204,
"keyword": "text introduction"},
-{"id": 4132,
+{"id": 4205,
"keyword": "distributed computing"},
-{"id": 4133,
+{"id": 4206,
"keyword": "combinatory logic"},
-{"id": 4134,
+{"id": 4207,
"keyword": "input generators"},
-{"id": 4135,
+{"id": 4208,
"keyword": "related splay heaps"},
-{"id": 4136,
-"keyword": "treat binding sequences"},
-{"id": 4137,
-"keyword": "bnf case"},
-{"id": 4138,
-"keyword": "path-aware internet architectures"},
-{"id": 4139,
-"keyword": "von neumann hierarchy"},
-{"id": 4140,
-"keyword": "multi-head monitoring algorithm"},
-{"id": 4141,
-"keyword": "object oriented design"},
-{"id": 4142,
-||||||| common ancestor
-{"id": 4134,
-"keyword": "binary masking"},
-{"id": 4135,
-"keyword": "output consistency"},
-{"id": 4136,
-"keyword": "important problem"},
-{"id": 4137,
-"keyword": "strictly dominated"},
-{"id": 4138,
-"keyword": "text introduction"},
-{"id": 4139,
-"keyword": "distributed computing"},
-{"id": 4140,
-"keyword": "combinatory logic"},
-{"id": 4141,
-"keyword": "input generators"},
-{"id": 4142,
-"keyword": "related splay heaps"},
-{"id": 4143,
+{"id": 4209,
"keyword": "treat binding sequences"},
-{"id": 4144,
+{"id": 4210,
"keyword": "bnf case"},
-{"id": 4145,
+{"id": 4211,
"keyword": "path-aware internet architectures"},
-{"id": 4146,
+{"id": 4212,
"keyword": "von neumann hierarchy"},
-{"id": 4147,
+{"id": 4213,
"keyword": "multi-head monitoring algorithm"},
-{"id": 4148,
+{"id": 4214,
"keyword": "object oriented design"},
-{"id": 4149,
-=======
-{"id": 4171,
-"keyword": "binary masking"},
-{"id": 4172,
-"keyword": "output consistency"},
-{"id": 4173,
-"keyword": "important problem"},
-{"id": 4174,
-"keyword": "strictly dominated"},
-{"id": 4175,
-"keyword": "text introduction"},
-{"id": 4176,
-"keyword": "distributed computing"},
-{"id": 4177,
-"keyword": "combinatory logic"},
-{"id": 4178,
-"keyword": "input generators"},
-{"id": 4179,
-"keyword": "related splay heaps"},
-{"id": 4180,
-"keyword": "treat binding sequences"},
-{"id": 4181,
-"keyword": "bnf case"},
-{"id": 4182,
-"keyword": "path-aware internet architectures"},
-{"id": 4183,
-"keyword": "von neumann hierarchy"},
-{"id": 4184,
-"keyword": "multi-head monitoring algorithm"},
-{"id": 4185,
-"keyword": "object oriented design"},
-{"id": 4186,
->>>>>>> merge rev
+{"id": 4215,
"keyword": "significant contribution"},
-<<<<<<< working copy
-{"id": 4143,
-||||||| common ancestor
-{"id": 4150,
-=======
-{"id": 4187,
->>>>>>> merge rev
+{"id": 4216,
"keyword": "total learning"},
-<<<<<<< working copy
-{"id": 4144,
-||||||| common ancestor
-{"id": 4151,
-=======
-{"id": 4188,
->>>>>>> merge rev
+{"id": 4217,
"keyword": "compositional analysis methods"},
-<<<<<<< working copy
-{"id": 4145,
-||||||| common ancestor
-{"id": 4152,
-=======
-{"id": 4189,
->>>>>>> merge rev
+{"id": 4218,
"keyword": "communicating sequential processes requires"},
-<<<<<<< working copy
-{"id": 4146,
+{"id": 4219,
"keyword": "abstract transition system context"},
-{"id": 4147,
+{"id": 4220,
"keyword": "consensus algorithms"},
-{"id": 4148,
-"keyword": "weighted path order"},
-{"id": 4149,
-"keyword": "birkhoff theorem"},
-{"id": 4150,
-"keyword": "strong versions"},
-{"id": 4151,
-"keyword": "theories listinf"},
-{"id": 4152,
-"keyword": "higher-order probabilistic programs"},
-{"id": 4153,
-"keyword": "share common algorithmic ideas"},
-{"id": 4154,
-"keyword": "protecting authorized paths"},
-{"id": 4155,
-"keyword": "chip authentication mapping"},
-{"id": 4156,
-"keyword": "support arbitrary nesting"},
-{"id": 4157,
-"keyword": "elementary row operations"},
-{"id": 4158,
-"keyword": "normal form --"},
-{"id": 4159,
-"keyword": "minimization algorithm"},
-{"id": 4160,
-"keyword": "upper bound"},
-{"id": 4161,
-||||||| common ancestor
-{"id": 4153,
-"keyword": "abstract transition system context"},
-{"id": 4154,
-"keyword": "consensus algorithms"},
-{"id": 4155,
+{"id": 4221,
"keyword": "weighted path order"},
-{"id": 4156,
+{"id": 4222,
"keyword": "birkhoff theorem"},
-{"id": 4157,
+{"id": 4223,
"keyword": "strong versions"},
-{"id": 4158,
+{"id": 4224,
"keyword": "theories listinf"},
-{"id": 4159,
+{"id": 4225,
"keyword": "higher-order probabilistic programs"},
-{"id": 4160,
+{"id": 4226,
"keyword": "share common algorithmic ideas"},
-{"id": 4161,
+{"id": 4227,
"keyword": "protecting authorized paths"},
-{"id": 4162,
+{"id": 4228,
"keyword": "chip authentication mapping"},
-{"id": 4163,
+{"id": 4229,
"keyword": "support arbitrary nesting"},
-{"id": 4164,
+{"id": 4230,
"keyword": "elementary row operations"},
-{"id": 4165,
+{"id": 4231,
"keyword": "normal form --"},
-{"id": 4166,
+{"id": 4232,
"keyword": "minimization algorithm"},
-{"id": 4167,
+{"id": 4233,
"keyword": "upper bound"},
-{"id": 4168,
-=======
-{"id": 4190,
-"keyword": "abstract transition system context"},
-{"id": 4191,
-"keyword": "consensus algorithms"},
-{"id": 4192,
-"keyword": "weighted path order"},
-{"id": 4193,
-"keyword": "birkhoff theorem"},
-{"id": 4194,
-"keyword": "strong versions"},
-{"id": 4195,
-"keyword": "theories listinf"},
-{"id": 4196,
-"keyword": "higher-order probabilistic programs"},
-{"id": 4197,
-"keyword": "share common algorithmic ideas"},
-{"id": 4198,
-"keyword": "protecting authorized paths"},
-{"id": 4199,
-"keyword": "chip authentication mapping"},
-{"id": 4200,
-"keyword": "support arbitrary nesting"},
-{"id": 4201,
-"keyword": "elementary row operations"},
-{"id": 4202,
-"keyword": "normal form --"},
-{"id": 4203,
-"keyword": "minimization algorithm"},
-{"id": 4204,
-"keyword": "upper bound"},
-{"id": 4205,
->>>>>>> merge rev
+{"id": 4234,
"keyword": "10th problem"},
-<<<<<<< working copy
-{"id": 4162,
-||||||| common ancestor
-{"id": 4169,
-=======
-{"id": 4206,
->>>>>>> merge rev
+{"id": 4235,
"keyword": "dual problem"},
-<<<<<<< working copy
-{"id": 4163,
-||||||| common ancestor
-{"id": 4170,
-=======
-{"id": 4207,
->>>>>>> merge rev
+{"id": 4236,
"keyword": "arbitrary sets"},
-<<<<<<< working copy
-{"id": 4164,
-||||||| common ancestor
-{"id": 4171,
-=======
-{"id": 4208,
->>>>>>> merge rev
+{"id": 4237,
"keyword": "log-gamma function"},
-<<<<<<< working copy
-{"id": 4165,
-||||||| common ancestor
-{"id": 4172,
-=======
-{"id": 4209,
->>>>>>> merge rev
+{"id": 4238,
"keyword": "random order"},
-<<<<<<< working copy
-{"id": 4166,
-||||||| common ancestor
-{"id": 4173,
-=======
-{"id": 4210,
->>>>>>> merge rev
+{"id": 4239,
"keyword": "unique solutions"},
-<<<<<<< working copy
-{"id": 4167,
-||||||| common ancestor
-{"id": 4174,
-=======
-{"id": 4211,
->>>>>>> merge rev
+{"id": 4240,
"keyword": "reifies property patterns"},
-<<<<<<< working copy
-{"id": 4168,
-||||||| common ancestor
-{"id": 4175,
-=======
-{"id": 4212,
->>>>>>> merge rev
+{"id": 4241,
"keyword": "directly derive executable"},
-<<<<<<< working copy
-{"id": 4169,
-||||||| common ancestor
-{"id": 4176,
-=======
-{"id": 4213,
->>>>>>> merge rev
+{"id": 4242,
"keyword": "ultimately culminating"},
-<<<<<<< working copy
-{"id": 4170,
-||||||| common ancestor
-{"id": 4177,
-=======
-{"id": 4214,
->>>>>>> merge rev
+{"id": 4243,
"keyword": "direct arguments"},
-<<<<<<< working copy
-{"id": 4171,
-||||||| common ancestor
-{"id": 4178,
-=======
-{"id": 4215,
+{"id": 4244,
"keyword": "external tools"},
-{"id": 4216,
->>>>>>> merge rev
+{"id": 4245,
"keyword": "object-free style"},
-<<<<<<< working copy
-{"id": 4172,
-||||||| common ancestor
-{"id": 4179,
-=======
-{"id": 4217,
->>>>>>> merge rev
+{"id": 4246,
"keyword": "finite set"},
-<<<<<<< working copy
-{"id": 4173,
-||||||| common ancestor
-{"id": 4180,
-=======
-{"id": 4218,
->>>>>>> merge rev
+{"id": 4247,
"keyword": "studying system-level properties"},
-<<<<<<< working copy
-{"id": 4174,
+{"id": 4248,
"keyword": "insurance contracts"},
-{"id": 4175,
+{"id": 4249,
"keyword": "abstract datatypes"},
-{"id": 4176,
+{"id": 4250,
+"keyword": "hales jewett theorem presented"},
+{"id": 4251,
"keyword": "disregard unrealizable behavior"},
-{"id": 4177,
+{"id": 4252,
"keyword": "bounded model checking"},
-{"id": 4178,
+{"id": 4253,
"keyword": "floor randomly"},
-{"id": 4179,
+{"id": 4254,
"keyword": "maximum cardinality matching"},
-{"id": 4180,
+{"id": 4255,
"keyword": "expressive extension"},
-{"id": 4181,
+{"id": 4256,
"keyword": "stream fusion transformation"},
-{"id": 4182,
+{"id": 4257,
"keyword": "univariate monic polynomial"},
-{"id": 4183,
+{"id": 4258,
"keyword": "concrete manifolds"},
-{"id": 4184,
+{"id": 4259,
"keyword": "consistency problem"},
-{"id": 4185,
+{"id": 4260,
"keyword": "executable simplifier"},
-{"id": 4186,
+{"id": 4261,
"keyword": "folklore results related"},
-{"id": 4187,
+{"id": 4262,
"keyword": "basic category theory set"},
-{"id": 4188,
+{"id": 4263,
"keyword": "mathematically precise theory"},
-{"id": 4189,
+{"id": 4264,
"keyword": "finite field"},
-{"id": 4190,
+{"id": 4265,
"keyword": "additive combinatorics"},
-{"id": 4191,
+{"id": 4266,
"keyword": "type-class based structures"},
-{"id": 4192,
+{"id": 4267,
"keyword": "unify computation models"},
-{"id": 4193,
-"keyword": "distinguishing feature"},
-{"id": 4194,
-"keyword": "potentials due"},
-{"id": 4195,
-"keyword": "randomized algorithms"},
-{"id": 4196,
-"keyword": "strict standard compliance formalization"},
-{"id": 4197,
-"keyword": "formal methods"},
-{"id": 4198,
-"keyword": "syntactic bisimulation"},
-{"id": 4199,
-"keyword": "extended previous"},
-{"id": 4200,
-"keyword": "self-referential implementation"},
-{"id": 4201,
-"keyword": "afp entry discrete summation"},
-{"id": 4202,
-"keyword": "channel protocols communicating"},
-{"id": 4203,
-"keyword": "griffin observed"},
-{"id": 4204,
-"keyword": "afp entries"},
-{"id": 4205,
-"keyword": "typed model"},
-{"id": 4206,
-"keyword": "elementary properties"},
-{"id": 4207,
-"keyword": "simple hybrid programs"},
-{"id": 4208,
-"keyword": "foundational shared-variable concurrency method"},
-{"id": 4209,
-"keyword": "safety properties"},
-{"id": 4210,
-"keyword": "uniform substitutions"},
-{"id": 4211,
-"keyword": "finite carrier set"},
-{"id": 4212,
-"keyword": "guided tour"},
-{"id": 4213,
-"keyword": "axiomatic system"},
-{"id": 4214,
-"keyword": "real exponents"},
-{"id": 4215,
-"keyword": "3-term arithmetic progressions"},
-{"id": 4216,
-"keyword": "hermite--lindemann--weierstra transcendence theorem"},
-{"id": 4217,
-"keyword": "liberal paradox"},
-{"id": 4218,
-"keyword": "word inside"},
-||||||| common ancestor
-{"id": 4181,
-"keyword": "insurance contracts"},
-{"id": 4182,
-"keyword": "abstract datatypes"},
-{"id": 4183,
-"keyword": "disregard unrealizable behavior"},
-{"id": 4184,
-"keyword": "bounded model checking"},
-{"id": 4185,
-"keyword": "floor randomly"},
-{"id": 4186,
-"keyword": "maximum cardinality matching"},
-{"id": 4187,
-"keyword": "expressive extension"},
-{"id": 4188,
-"keyword": "stream fusion transformation"},
-{"id": 4189,
-"keyword": "univariate monic polynomial"},
-{"id": 4190,
-"keyword": "concrete manifolds"},
-{"id": 4191,
-"keyword": "consistency problem"},
-{"id": 4192,
-"keyword": "executable simplifier"},
-{"id": 4193,
-"keyword": "folklore results related"},
-{"id": 4194,
-"keyword": "basic category theory set"},
-{"id": 4195,
-"keyword": "mathematically precise theory"},
-{"id": 4196,
-"keyword": "finite field"},
-{"id": 4197,
-"keyword": "additive combinatorics"},
-{"id": 4198,
-"keyword": "type-class based structures"},
-{"id": 4199,
-"keyword": "unify computation models"},
-{"id": 4200,
+{"id": 4268,
"keyword": "distinguishing feature"},
-{"id": 4201,
-"keyword": "potentials due"},
-{"id": 4202,
-"keyword": "randomized algorithms"},
-{"id": 4203,
-"keyword": "strict standard compliance formalization"},
-{"id": 4204,
-"keyword": "formal methods"},
-{"id": 4205,
-"keyword": "syntactic bisimulation"},
-{"id": 4206,
-"keyword": "extended previous"},
-{"id": 4207,
-"keyword": "self-referential implementation"},
-{"id": 4208,
-"keyword": "afp entry discrete summation"},
-{"id": 4209,
-"keyword": "channel protocols communicating"},
-{"id": 4210,
-"keyword": "griffin observed"},
-{"id": 4211,
-"keyword": "afp entries"},
-{"id": 4212,
-"keyword": "typed model"},
-{"id": 4213,
-"keyword": "elementary properties"},
-{"id": 4214,
-"keyword": "simple hybrid programs"},
-{"id": 4215,
-"keyword": "foundational shared-variable concurrency method"},
-{"id": 4216,
-"keyword": "safety properties"},
-{"id": 4217,
-"keyword": "uniform substitutions"},
-{"id": 4218,
-"keyword": "finite carrier set"},
-=======
->>>>>>> merge rev
-{"id": 4219,
-<<<<<<< working copy
-"keyword": "price function"},
-{"id": 4220,
-"keyword": "linear combination"},
-{"id": 4221,
-"keyword": "fair coin flips"},
-{"id": 4222,
-"keyword": "correctness property"},
-{"id": 4223,
-"keyword": "stochastic dominance"},
-{"id": 4224,
-"keyword": "easily transfer theorems"},
-{"id": 4225,
-"keyword": "expected length"},
-{"id": 4226,
-"keyword": "actual executions"},
-{"id": 4227,
-"keyword": "berlekamp-zassenhaus algorithm"},
-{"id": 4228,
-"keyword": "set theoretic formulation"},
-{"id": 4229,
-"keyword": "mixed-integer solutions"},
-||||||| common ancestor
-"keyword": "guided tour"},
-{"id": 4220,
-"keyword": "axiomatic system"},
-{"id": 4221,
-"keyword": "real exponents"},
-{"id": 4222,
-"keyword": "3-term arithmetic progressions"},
-{"id": 4223,
-"keyword": "hermite--lindemann--weierstra transcendence theorem"},
-{"id": 4224,
-"keyword": "liberal paradox"},
-{"id": 4225,
-"keyword": "word inside"},
-{"id": 4226,
-"keyword": "price function"},
-{"id": 4227,
-"keyword": "linear combination"},
-{"id": 4228,
-"keyword": "fair coin flips"},
-{"id": 4229,
-"keyword": "correctness property"},
-=======
-"keyword": "insurance contracts"},
-{"id": 4220,
-"keyword": "abstract datatypes"},
-{"id": 4221,
-"keyword": "disregard unrealizable behavior"},
-{"id": 4222,
-"keyword": "bounded model checking"},
-{"id": 4223,
-"keyword": "floor randomly"},
-{"id": 4224,
-"keyword": "maximum cardinality matching"},
-{"id": 4225,
-"keyword": "expressive extension"},
-{"id": 4226,
-"keyword": "stream fusion transformation"},
-{"id": 4227,
-"keyword": "univariate monic polynomial"},
-{"id": 4228,
-"keyword": "concrete manifolds"},
-{"id": 4229,
-"keyword": "consistency problem"},
->>>>>>> merge rev
-{"id": 4230,
-<<<<<<< working copy
-"keyword": "high-level style"},
-||||||| common ancestor
-"keyword": "stochastic dominance"},
-=======
-"keyword": "executable simplifier"},
->>>>>>> merge rev
-{"id": 4231,
-<<<<<<< working copy
-"keyword": "proof principles"},
-||||||| common ancestor
-"keyword": "easily transfer theorems"},
-=======
-"keyword": "folklore results related"},
->>>>>>> merge rev
-{"id": 4232,
-<<<<<<< working copy
-"keyword": "increasing rational sequence r_n"},
-||||||| common ancestor
-"keyword": "expected length"},
-=======
-"keyword": "basic category theory set"},
->>>>>>> merge rev
-{"id": 4233,
-<<<<<<< working copy
-"keyword": "elimination contexts"},
-||||||| common ancestor
-"keyword": "actual executions"},
-=======
-"keyword": "mathematically precise theory"},
->>>>>>> merge rev
-{"id": 4234,
-<<<<<<< working copy
-"keyword": "dynamic languages"},
-||||||| common ancestor
-"keyword": "berlekamp-zassenhaus algorithm"},
-=======
-"keyword": "finite field"},
->>>>>>> merge rev
-{"id": 4235,
-<<<<<<< working copy
-"keyword": "logics denote regular languages"},
-||||||| common ancestor
-"keyword": "set theoretic formulation"},
-=======
-"keyword": "additive combinatorics"},
->>>>>>> merge rev
-{"id": 4236,
-<<<<<<< working copy
-"keyword": "verify first-order relativity theory"},
-||||||| common ancestor
-"keyword": "mixed-integer solutions"},
-=======
-"keyword": "type-class based structures"},
->>>>>>> merge rev
-{"id": 4237,
-<<<<<<< working copy
-"keyword": "automatically deriving instances"},
-||||||| common ancestor
-"keyword": "high-level style"},
-=======
-"keyword": "unify computation models"},
->>>>>>> merge rev
-{"id": 4238,
-<<<<<<< working copy
-"keyword": "golden ratio"},
-{"id": 4239,
-"keyword": "knuth-morris-pratt algorithm"},
-{"id": 4240,
-"keyword": "ideas borrowed"},
-{"id": 4241,
-"keyword": "higher-order permutative rewrite rule"},
-{"id": 4242,
-"keyword": "variable convention"},
-{"id": 4243,
-"keyword": "loop freedom"},
-{"id": 4244,
-"keyword": "behaviours"},
-{"id": 4245,
-"keyword": "square-free factorization algorithm"},
-{"id": 4246,
-"keyword": "verified functional splay trees"},
-{"id": 4247,
-"keyword": "fwf"},
-{"id": 4248,
-"keyword": "cartesian monoidal category"},
-{"id": 4249,
-"keyword": "property"},
-{"id": 4250,
-"keyword": "generic kind"},
-{"id": 4251,
-"keyword": "influential works"},
-{"id": 4252,
-"keyword": "foreach combinators"},
-{"id": 4253,
-"keyword": "product type"},
-{"id": 4254,
-"keyword": "polynomial analogue"},
-{"id": 4255,
-"keyword": "helper lemmas"},
-{"id": 4256,
-"keyword": "rewriting tactics"},
-{"id": 4257,
-"keyword": "proving open properties"},
-{"id": 4258,
-"keyword": "interval trees"},
-||||||| common ancestor
-"keyword": "proof principles"},
-{"id": 4239,
-"keyword": "increasing rational sequence r_n"},
-{"id": 4240,
-"keyword": "elimination contexts"},
-{"id": 4241,
-"keyword": "dynamic languages"},
-{"id": 4242,
-"keyword": "logics denote regular languages"},
-{"id": 4243,
-"keyword": "verify first-order relativity theory"},
-{"id": 4244,
-"keyword": "automatically deriving instances"},
-{"id": 4245,
-"keyword": "golden ratio"},
-{"id": 4246,
-"keyword": "knuth-morris-pratt algorithm"},
-{"id": 4247,
-"keyword": "ideas borrowed"},
-{"id": 4248,
-"keyword": "higher-order permutative rewrite rule"},
-{"id": 4249,
-"keyword": "variable convention"},
-{"id": 4250,
-"keyword": "loop freedom"},
-{"id": 4251,
-"keyword": "behaviours"},
-{"id": 4252,
-"keyword": "square-free factorization algorithm"},
-{"id": 4253,
-"keyword": "verified functional splay trees"},
-{"id": 4254,
-"keyword": "fwf"},
-{"id": 4255,
-"keyword": "cartesian monoidal category"},
-{"id": 4256,
-"keyword": "property"},
-{"id": 4257,
-"keyword": "generic kind"},
-{"id": 4258,
-"keyword": "influential works"},
-=======
-"keyword": "distinguishing feature"},
-{"id": 4239,
-"keyword": "potentials due"},
-{"id": 4240,
-"keyword": "randomized algorithms"},
-{"id": 4241,
-"keyword": "strict standard compliance formalization"},
-{"id": 4242,
-"keyword": "formal methods"},
-{"id": 4243,
-"keyword": "syntactic bisimulation"},
-{"id": 4244,
-"keyword": "extended previous"},
-{"id": 4245,
-"keyword": "self-referential implementation"},
-{"id": 4246,
-"keyword": "afp entry discrete summation"},
-{"id": 4247,
-"keyword": "channel protocols communicating"},
-{"id": 4248,
-"keyword": "griffin observed"},
-{"id": 4249,
-"keyword": "afp entries"},
-{"id": 4250,
-"keyword": "typed model"},
-{"id": 4251,
-"keyword": "elementary properties"},
-{"id": 4252,
-"keyword": "simple hybrid programs"},
-{"id": 4253,
-"keyword": "foundational shared-variable concurrency method"},
-{"id": 4254,
-"keyword": "safety properties"},
-{"id": 4255,
-"keyword": "uniform substitutions"},
-{"id": 4256,
-"keyword": "finite carrier set"},
-{"id": 4257,
-"keyword": "guided tour"},
-{"id": 4258,
-"keyword": "axiomatic system"},
->>>>>>> merge rev
-{"id": 4259,
-<<<<<<< working copy
-"keyword": "chosen plaintext"},
-||||||| common ancestor
-"keyword": "foreach combinators"},
-=======
-"keyword": "real exponents"},
->>>>>>> merge rev
-{"id": 4260,
-<<<<<<< working copy
-"keyword": "prohibited requests directly"},
-||||||| common ancestor
-"keyword": "product type"},
-=======
-"keyword": "3-term arithmetic progressions"},
->>>>>>> merge rev
-{"id": 4261,
-<<<<<<< working copy
-"keyword": "analysing replication algorithms"},
-||||||| common ancestor
-"keyword": "polynomial analogue"},
-=======
-"keyword": "hermite--lindemann--weierstra transcendence theorem"},
->>>>>>> merge rev
-{"id": 4262,
-<<<<<<< working copy
-"keyword": "so-called sturm sequences"},
-||||||| common ancestor
-"keyword": "helper lemmas"},
-=======
-"keyword": "liberal paradox"},
->>>>>>> merge rev
-{"id": 4263,
-<<<<<<< working copy
-"keyword": "metric dynamic logic"},
-||||||| common ancestor
-"keyword": "rewriting tactics"},
-=======
-"keyword": "word inside"},
->>>>>>> merge rev
-{"id": 4264,
-<<<<<<< working copy
-"keyword": "factor square-free integer polynomials"},
-||||||| common ancestor
-"keyword": "proving open properties"},
-=======
-"keyword": "price function"},
->>>>>>> merge rev
-{"id": 4265,
-<<<<<<< working copy
-"keyword": "quasi-fixed point"},
-||||||| common ancestor
-"keyword": "interval trees"},
-=======
-"keyword": "linear combination"},
->>>>>>> merge rev
-{"id": 4266,
-<<<<<<< working copy
-"keyword": "incidence matrix representation"},
-||||||| common ancestor
-"keyword": "chosen plaintext"},
-=======
-"keyword": "fair coin flips"},
->>>>>>> merge rev
-{"id": 4267,
-<<<<<<< working copy
-"keyword": "fundamental solution"},
-{"id": 4268,
-"keyword": "symbolic execution step"},
{"id": 4269,
-"keyword": "formal linear algebraic techniques"},
+"keyword": "potentials due"},
{"id": 4270,
-"keyword": "edmonds-karp algorithm"},
-{"id": 4271,
-"keyword": "imp language"},
-{"id": 4272,
-"keyword": "code output level"},
-{"id": 4273,
-"keyword": "call arity analysis"},
-{"id": 4274,
-"keyword": "axiomatic constructor classes"},
-{"id": 4275,
-"keyword": "fully"},
-{"id": 4276,
-"keyword": "sch16 anders schlichtkrull"},
-{"id": 4277,
-"keyword": "main theorem"},
-||||||| common ancestor
-"keyword": "prohibited requests directly"},
-{"id": 4268,
-"keyword": "analysing replication algorithms"},
-{"id": 4269,
-"keyword": "so-called sturm sequences"},
-{"id": 4270,
-"keyword": "metric dynamic logic"},
+"keyword": "randomized algorithms"},
{"id": 4271,
-"keyword": "factor square-free integer polynomials"},
+"keyword": "strict standard compliance formalization"},
{"id": 4272,
-"keyword": "quasi-fixed point"},
+"keyword": "formal methods"},
{"id": 4273,
-"keyword": "incidence matrix representation"},
-{"id": 4274,
-"keyword": "fundamental solution"},
-{"id": 4275,
-"keyword": "symbolic execution step"},
-{"id": 4276,
-"keyword": "formal linear algebraic techniques"},
-{"id": 4277,
-"keyword": "edmonds-karp algorithm"},
-=======
-"keyword": "correctness property"},
-{"id": 4268,
-"keyword": "stochastic dominance"},
-{"id": 4269,
-"keyword": "easily transfer theorems"},
-{"id": 4270,
-"keyword": "expected length"},
-{"id": 4271,
-"keyword": "actual executions"},
-{"id": 4272,
-"keyword": "berlekamp-zassenhaus algorithm"},
-{"id": 4273,
-"keyword": "set theoretic formulation"},
+"keyword": "syntactic bisimulation"},
{"id": 4274,
-"keyword": "mixed-integer solutions"},
+"keyword": "extended previous"},
{"id": 4275,
-"keyword": "high-level style"},
+"keyword": "self-referential implementation"},
{"id": 4276,
-"keyword": "proof principles"},
+"keyword": "afp entry discrete summation"},
{"id": 4277,
-"keyword": "quantum mechanics"},
->>>>>>> merge rev
+"keyword": "channel protocols communicating"},
{"id": 4278,
-<<<<<<< working copy
-"keyword": "weak bi-quantales"},
-||||||| common ancestor
-"keyword": "imp language"},
-=======
-"keyword": "increasing rational sequence r_n"},
->>>>>>> merge rev
+"keyword": "griffin observed"},
{"id": 4279,
-<<<<<<< working copy
-"keyword": "hand waving"},
-||||||| common ancestor
-"keyword": "code output level"},
-=======
-"keyword": "elimination contexts"},
->>>>>>> merge rev
+"keyword": "afp entries"},
{"id": 4280,
-<<<<<<< working copy
-"keyword": "basic features"},
-||||||| common ancestor
-"keyword": "call arity analysis"},
-=======
-"keyword": "dynamic languages"},
->>>>>>> merge rev
+"keyword": "typed model"},
{"id": 4281,
-<<<<<<< working copy
-"keyword": "method exploits"},
-||||||| common ancestor
-"keyword": "axiomatic constructor classes"},
-=======
-"keyword": "logics denote regular languages"},
->>>>>>> merge rev
+"keyword": "elementary properties"},
{"id": 4282,
-<<<<<<< working copy
-"keyword": "henkin witnesses"},
-||||||| common ancestor
-"keyword": "fully"},
-=======
-"keyword": "verify first-order relativity theory"},
->>>>>>> merge rev
+"keyword": "simple hybrid programs"},
{"id": 4283,
-<<<<<<< working copy
-"keyword": "arithmetic type class hierarchy"},
-||||||| common ancestor
-"keyword": "sch16 anders schlichtkrull"},
-=======
-"keyword": "automatically deriving instances"},
->>>>>>> merge rev
+"keyword": "foundational shared-variable concurrency method"},
{"id": 4284,
-<<<<<<< working copy
-"keyword": "analytic number theory rdquo"},
-||||||| common ancestor
-"keyword": "main theorem"},
-=======
-"keyword": "golden ratio"},
->>>>>>> merge rev
+"keyword": "safety properties"},
{"id": 4285,
-<<<<<<< working copy
-"keyword": "formal refutational completeness proofs"},
-||||||| common ancestor
-"keyword": "weak bi-quantales"},
-=======
-"keyword": "knuth-morris-pratt algorithm"},
->>>>>>> merge rev
+"keyword": "uniform substitutions"},
{"id": 4286,
-<<<<<<< working copy
-"keyword": "graph theory"},
+"keyword": "finite carrier set"},
{"id": 4287,
-"keyword": "tight upper bound"},
+"keyword": "guided tour"},
{"id": 4288,
-"keyword": "geodesic metric space"},
-{"id": 4289,
-||||||| common ancestor
-"keyword": "hand waving"},
-{"id": 4287,
-"keyword": "basic features"},
-{"id": 4288,
-"keyword": "method exploits"},
+"keyword": "axiomatic system"},
{"id": 4289,
-"keyword": "henkin witnesses"},
+"keyword": "real exponents"},
{"id": 4290,
-"keyword": "arithmetic type class hierarchy"},
+"keyword": "3-term arithmetic progressions"},
{"id": 4291,
-"keyword": "analytic number theory rdquo"},
+"keyword": "hermite--lindemann--weierstra transcendence theorem"},
{"id": 4292,
-"keyword": "formal refutational completeness proofs"},
+"keyword": "liberal paradox"},
{"id": 4293,
-"keyword": "graph theory"},
-{"id": 4294,
-"keyword": "tight upper bound"},
-{"id": 4295,
-"keyword": "geodesic metric space"},
-{"id": 4296,
-=======
-"keyword": "ideas borrowed"},
-{"id": 4287,
-"keyword": "higher-order permutative rewrite rule"},
-{"id": 4288,
-"keyword": "variable convention"},
-{"id": 4289,
-"keyword": "loop freedom"},
-{"id": 4290,
-"keyword": "behaviours"},
-{"id": 4291,
-"keyword": "square-free factorization algorithm"},
-{"id": 4292,
-"keyword": "verified functional splay trees"},
-{"id": 4293,
-"keyword": "fwf"},
+"keyword": "word inside"},
{"id": 4294,
-"keyword": "cartesian monoidal category"},
+"keyword": "price function"},
{"id": 4295,
-"keyword": "property"},
+"keyword": "linear combination"},
{"id": 4296,
-"keyword": "generic kind"},
+"keyword": "fair coin flips"},
{"id": 4297,
-"keyword": "influential works"},
+"keyword": "correctness property"},
{"id": 4298,
-"keyword": "foreach combinators"},
+"keyword": "stochastic dominance"},
{"id": 4299,
-"keyword": "product type"},
+"keyword": "easily transfer theorems"},
{"id": 4300,
-"keyword": "polynomial analogue"},
+"keyword": "expected length"},
{"id": 4301,
-"keyword": "helper lemmas"},
+"keyword": "actual executions"},
{"id": 4302,
-"keyword": "rewriting tactics"},
+"keyword": "berlekamp-zassenhaus algorithm"},
{"id": 4303,
-"keyword": "proving open properties"},
+"keyword": "set theoretic formulation"},
{"id": 4304,
-"keyword": "interval trees"},
+"keyword": "mixed-integer solutions"},
{"id": 4305,
-"keyword": "chosen plaintext"},
+"keyword": "high-level style"},
{"id": 4306,
-"keyword": "prohibited requests directly"},
+"keyword": "proof principles"},
{"id": 4307,
-"keyword": "analysing replication algorithms"},
+"keyword": "quantum mechanics"},
{"id": 4308,
-"keyword": "so-called sturm sequences"},
+"keyword": "increasing rational sequence r_n"},
{"id": 4309,
-"keyword": "metric dynamic logic"},
+"keyword": "elimination contexts"},
{"id": 4310,
-"keyword": "factor square-free integer polynomials"},
+"keyword": "dynamic languages"},
{"id": 4311,
-"keyword": "quasi-fixed point"},
+"keyword": "logics denote regular languages"},
{"id": 4312,
-"keyword": "incidence matrix representation"},
+"keyword": "verify first-order relativity theory"},
{"id": 4313,
-"keyword": "fundamental solution"},
+"keyword": "automatically deriving instances"},
{"id": 4314,
-"keyword": "symbolic execution step"},
+"keyword": "golden ratio"},
{"id": 4315,
-"keyword": "formal linear algebraic techniques"},
+"keyword": "knuth-morris-pratt algorithm"},
{"id": 4316,
-"keyword": "edmonds-karp algorithm"},
+"keyword": "ideas borrowed"},
{"id": 4317,
-"keyword": "imp language"},
+"keyword": "higher-order permutative rewrite rule"},
{"id": 4318,
-"keyword": "code output level"},
+"keyword": "variable convention"},
{"id": 4319,
-"keyword": "call arity analysis"},
+"keyword": "loop freedom"},
{"id": 4320,
-"keyword": "axiomatic constructor classes"},
+"keyword": "behaviours"},
{"id": 4321,
-"keyword": "fully"},
+"keyword": "square-free factorization algorithm"},
{"id": 4322,
-"keyword": "sch16 anders schlichtkrull"},
+"keyword": "verified functional splay trees"},
{"id": 4323,
-"keyword": "main theorem"},
+"keyword": "fwf"},
{"id": 4324,
-"keyword": "weak bi-quantales"},
+"keyword": "cartesian monoidal category"},
{"id": 4325,
-"keyword": "hand waving"},
+"keyword": "property"},
{"id": 4326,
-"keyword": "basic features"},
+"keyword": "generic kind"},
{"id": 4327,
-"keyword": "method exploits"},
+"keyword": "influential works"},
{"id": 4328,
-"keyword": "henkin witnesses"},
+"keyword": "foreach combinators"},
{"id": 4329,
-"keyword": "arithmetic type class hierarchy"},
+"keyword": "product type"},
{"id": 4330,
-"keyword": "analytic number theory rdquo"},
+"keyword": "polynomial analogue"},
{"id": 4331,
-"keyword": "formal refutational completeness proofs"},
+"keyword": "helper lemmas"},
{"id": 4332,
-"keyword": "graph theory"},
+"keyword": "rewriting tactics"},
{"id": 4333,
-"keyword": "tight upper bound"},
+"keyword": "proving open properties"},
{"id": 4334,
-"keyword": "geodesic metric space"},
-{"id": 4335,
->>>>>>> merge rev
-"keyword": "proper generic extension"},
-<<<<<<< working copy
-{"id": 4290,
-"keyword": "general balanced trees"},
-{"id": 4291,
-"keyword": "a_1 ldots a_n"},
-{"id": 4292,
-"keyword": "notes"},
-{"id": 4293,
-"keyword": "kleisli category"},
-{"id": 4294,
-"keyword": "compare process calculi"},
-{"id": 4295,
-"keyword": "high level attacks"},
-{"id": 4296,
-"keyword": "type safety"},
-{"id": 4297,
-"keyword": "proof structure"},
-{"id": 4298,
-"keyword": "infinite element"},
-{"id": 4299,
-"keyword": "second-order properties"},
-{"id": 4300,
-"keyword": "increased demand"},
-{"id": 4301,
-"keyword": "representing algorithms"},
-{"id": 4302,
-"keyword": "unboxing optimization"},
-{"id": 4303,
-"keyword": "list operations"},
-{"id": 4304,
-"keyword": "boolean expressions"},
-{"id": 4305,
-||||||| common ancestor
-{"id": 4297,
-"keyword": "general balanced trees"},
-{"id": 4298,
-"keyword": "a_1 ldots a_n"},
-{"id": 4299,
-"keyword": "notes"},
-{"id": 4300,
-"keyword": "kleisli category"},
-{"id": 4301,
-"keyword": "compare process calculi"},
-{"id": 4302,
-"keyword": "high level attacks"},
-{"id": 4303,
-"keyword": "type safety"},
-{"id": 4304,
-"keyword": "proof structure"},
-{"id": 4305,
-"keyword": "infinite element"},
-{"id": 4306,
-"keyword": "second-order properties"},
-{"id": 4307,
-"keyword": "increased demand"},
-{"id": 4308,
-"keyword": "representing algorithms"},
-{"id": 4309,
-"keyword": "unboxing optimization"},
-{"id": 4310,
-"keyword": "list operations"},
-{"id": 4311,
-"keyword": "boolean expressions"},
-{"id": 4312,
-=======
-{"id": 4336,
-"keyword": "general balanced trees"},
-{"id": 4337,
-"keyword": "a_1 ldots a_n"},
-{"id": 4338,
-"keyword": "notes"},
-{"id": 4339,
-"keyword": "kleisli category"},
-{"id": 4340,
-"keyword": "compare process calculi"},
-{"id": 4341,
-"keyword": "high level attacks"},
-{"id": 4342,
-"keyword": "type safety"},
-{"id": 4343,
-"keyword": "proof structure"},
-{"id": 4344,
-"keyword": "infinite element"},
-{"id": 4345,
-"keyword": "second-order properties"},
-{"id": 4346,
-"keyword": "increased demand"},
-{"id": 4347,
-"keyword": "representing algorithms"},
-{"id": 4348,
-"keyword": "unboxing optimization"},
-{"id": 4349,
-"keyword": "list operations"},
-{"id": 4350,
-"keyword": "boolean expressions"},
-{"id": 4351,
->>>>>>> merge rev
-"keyword": "program refinement techniques"},
-<<<<<<< working copy
-{"id": 4306,
-||||||| common ancestor
-{"id": 4313,
-=======
-{"id": 4352,
->>>>>>> merge rev
-"keyword": "computer science"},
-<<<<<<< working copy
-{"id": 4307,
-||||||| common ancestor
-{"id": 4314,
-=======
-{"id": 4353,
->>>>>>> merge rev
-"keyword": "finite domain consisting"},
-<<<<<<< working copy
-{"id": 4308,
-||||||| common ancestor
-{"id": 4315,
-=======
-{"id": 4354,
->>>>>>> merge rev
-"keyword": "minkowski spacetime"},
-<<<<<<< working copy
-{"id": 4309,
-"keyword": "combinatorial map"},
-{"id": 4310,
-"keyword": "concurrency reasoning framework"},
-{"id": 4311,
-"keyword": "transposition theorem"},
-{"id": 4312,
-"keyword": "solved explicitly"},
-{"id": 4313,
-"keyword": "large numbers states"},
-{"id": 4314,
-"keyword": "balanced incomplete block designs"},
-{"id": 4315,
-"keyword": "structures play"},
-{"id": 4316,
-"keyword": "iteratively solve finite mdps"},
-{"id": 4317,
-"keyword": "commutative replicated data types"},
-{"id": 4318,
-"keyword": "master theorem"},
-{"id": 4319,
-"keyword": "multiplicative monoid"},
-{"id": 4320,
-"keyword": "bit ibn qurra"},
-{"id": 4321,
-"keyword": "maximum cardinality"},
-{"id": 4322,
-"keyword": "syntax-independent logic infrastructure"},
-{"id": 4323,
-"keyword": "success sensitiveness"},
-{"id": 4324,
-"keyword": "functional modeling language hol"},
-{"id": 4325,
-"keyword": "group action"},
-{"id": 4326,
-"keyword": "international mathematical olympiad 2019"},
-{"id": 4327,
-"keyword": "undesired information leak"},
-{"id": 4328,
-"keyword": "temporal intervals"},
-{"id": 4329,
-"keyword": "universal partial recursive function"},
-{"id": 4330,
-"keyword": "hol function definition"},
-{"id": 4331,
-"keyword": "proofs remain manageable"},
-{"id": 4332,
-"keyword": "software framework incorporates"},
-{"id": 4333,
-"keyword": "hol-based afp entry"},
-{"id": 4334,
-||||||| common ancestor
-{"id": 4316,
-"keyword": "combinatorial map"},
-{"id": 4317,
-"keyword": "concurrency reasoning framework"},
-{"id": 4318,
-"keyword": "transposition theorem"},
-{"id": 4319,
-"keyword": "solved explicitly"},
-{"id": 4320,
-"keyword": "large numbers states"},
-{"id": 4321,
-"keyword": "balanced incomplete block designs"},
-{"id": 4322,
-"keyword": "structures play"},
-{"id": 4323,
-"keyword": "iteratively solve finite mdps"},
-{"id": 4324,
-"keyword": "commutative replicated data types"},
-{"id": 4325,
-"keyword": "master theorem"},
-{"id": 4326,
-"keyword": "multiplicative monoid"},
-{"id": 4327,
-"keyword": "bit ibn qurra"},
-{"id": 4328,
-"keyword": "maximum cardinality"},
-{"id": 4329,
-"keyword": "syntax-independent logic infrastructure"},
-{"id": 4330,
-"keyword": "success sensitiveness"},
-{"id": 4331,
-"keyword": "functional modeling language hol"},
-{"id": 4332,
-"keyword": "group action"},
-{"id": 4333,
-"keyword": "international mathematical olympiad 2019"},
-{"id": 4334,
-"keyword": "undesired information leak"},
+"keyword": "interval trees"},
{"id": 4335,
-"keyword": "temporal intervals"},
+"keyword": "chosen plaintext"},
{"id": 4336,
-"keyword": "universal partial recursive function"},
+"keyword": "prohibited requests directly"},
{"id": 4337,
-"keyword": "hol function definition"},
+"keyword": "analysing replication algorithms"},
{"id": 4338,
-"keyword": "proofs remain manageable"},
+"keyword": "so-called sturm sequences"},
{"id": 4339,
-"keyword": "software framework incorporates"},
+"keyword": "metric dynamic logic"},
{"id": 4340,
-"keyword": "hol-based afp entry"},
+"keyword": "factor square-free integer polynomials"},
{"id": 4341,
-=======
-{"id": 4355,
-"keyword": "combinatorial map"},
-{"id": 4356,
-"keyword": "concurrency reasoning framework"},
-{"id": 4357,
-"keyword": "transposition theorem"},
-{"id": 4358,
-"keyword": "solved explicitly"},
-{"id": 4359,
-"keyword": "large numbers states"},
-{"id": 4360,
-"keyword": "balanced incomplete block designs"},
-{"id": 4361,
-"keyword": "structures play"},
-{"id": 4362,
-"keyword": "iteratively solve finite mdps"},
-{"id": 4363,
-"keyword": "commutative replicated data types"},
-{"id": 4364,
-"keyword": "master theorem"},
-{"id": 4365,
-"keyword": "multiplicative monoid"},
-{"id": 4366,
-"keyword": "bit ibn qurra"},
-{"id": 4367,
-"keyword": "maximum cardinality"},
-{"id": 4368,
-"keyword": "syntax-independent logic infrastructure"},
-{"id": 4369,
-"keyword": "success sensitiveness"},
-{"id": 4370,
-"keyword": "functional modeling language hol"},
-{"id": 4371,
-"keyword": "group action"},
-{"id": 4372,
-"keyword": "international mathematical olympiad 2019"},
-{"id": 4373,
-"keyword": "undesired information leak"},
-{"id": 4374,
-"keyword": "temporal intervals"},
-{"id": 4375,
-"keyword": "universal partial recursive function"},
-{"id": 4376,
-"keyword": "hol function definition"},
-{"id": 4377,
-"keyword": "proofs remain manageable"},
-{"id": 4378,
-"keyword": "software framework incorporates"},
-{"id": 4379,
-"keyword": "hol-based afp entry"},
-{"id": 4380,
->>>>>>> merge rev
-"keyword": "technique"},
-<<<<<<< working copy
-{"id": 4335,
-||||||| common ancestor
+"keyword": "quasi-fixed point"},
{"id": 4342,
-=======
-{"id": 4381,
->>>>>>> merge rev
-"keyword": "ideal showcase"},
-<<<<<<< working copy
-{"id": 4336,
-"keyword": "automatically derive restrictions"},
-{"id": 4337,
-"keyword": "functional logic"},
-{"id": 4338,
-"keyword": "verifying functional"},
-{"id": 4339,
-"keyword": "insertion sort algorithm"},
-{"id": 4340,
-"keyword": "solve mdps"},
-{"id": 4341,
-"keyword": "partition relations concerns generalisations"},
-{"id": 4342,
-"keyword": "fixpoint operations lfp"},
+"keyword": "incidence matrix representation"},
{"id": 4343,
-"keyword": "approach demonstrates"},
+"keyword": "fundamental solution"},
{"id": 4344,
-"keyword": "internally vertex-disjoint paths"},
+"keyword": "symbolic execution step"},
{"id": 4345,
-"keyword": "parameterized proofs"},
+"keyword": "formal linear algebraic techniques"},
{"id": 4346,
-"keyword": "software tool authors"},
+"keyword": "edmonds-karp algorithm"},
{"id": 4347,
-"keyword": "verification condition generation"},
+"keyword": "imp language"},
{"id": 4348,
-"keyword": "generic type classes"},
+"keyword": "code output level"},
{"id": 4349,
-"keyword": "programs written"},
+"keyword": "call arity analysis"},
{"id": 4350,
-"keyword": "abstract characterization"},
+"keyword": "axiomatic constructor classes"},
{"id": 4351,
-"keyword": "shapeless library"},
+"keyword": "fully"},
{"id": 4352,
-"keyword": "recursive programs based"},
+"keyword": "sch16 anders schlichtkrull"},
{"id": 4353,
-"keyword": "ltl formula"},
+"keyword": "main theorem"},
{"id": 4354,
-"keyword": "geometric theorems"},
+"keyword": "weak bi-quantales"},
{"id": 4355,
-"keyword": "mathematics stack exchange page"},
+"keyword": "hand waving"},
{"id": 4356,
-"keyword": "manual proofs"},
+"keyword": "basic features"},
{"id": 4357,
-"keyword": "automated reasoning sch18"},
+"keyword": "method exploits"},
{"id": 4358,
-"keyword": "theories list"},
+"keyword": "henkin witnesses"},
{"id": 4359,
-"keyword": "theory dpt_sat_solver"},
+"keyword": "arithmetic type class hierarchy"},
{"id": 4360,
-"keyword": "chromatic number exist"},
+"keyword": "analytic number theory rdquo"},
{"id": 4361,
-"keyword": "interesting proofs"},
+"keyword": "fntt running time"},
{"id": 4362,
-"keyword": "abstract level"},
+"keyword": "formal refutational completeness proofs"},
{"id": 4363,
-"keyword": "accessibility decisions affecting"},
+"keyword": "graph theory"},
{"id": 4364,
-"keyword": "model entire prover architectures"},
+"keyword": "tight upper bound"},
{"id": 4365,
-"keyword": "structure abstractly"},
+"keyword": "geodesic metric space"},
{"id": 4366,
-"keyword": "ordinary differential equations"},
+"keyword": "proper generic extension"},
{"id": 4367,
-"keyword": "basic facts"},
+"keyword": "general balanced trees"},
{"id": 4368,
-"keyword": "traceback properties"},
+"keyword": "a_1 ldots a_n"},
{"id": 4369,
-"keyword": "bohua zhan"},
+"keyword": "notes"},
{"id": 4370,
-"keyword": "path integrals"},
+"keyword": "kleisli category"},
{"id": 4371,
-"keyword": "arbitrarily large girth"},
+"keyword": "compare process calculi"},
{"id": 4372,
-"keyword": "main thrust"},
-{"id": 4373,
-"keyword": "arithmetize register machines"},
-{"id": 4374,
-"keyword": "data refinement relations"},
-{"id": 4375,
-"keyword": "map lists"},
-{"id": 4376,
-"keyword": "extent required"},
-{"id": 4377,
-"keyword": "logical systems"},
-{"id": 4378,
-"keyword": "common automata library"},
-{"id": 4379,
-"keyword": "road traffic"},
-{"id": 4380,
-"keyword": "awn models comprise"},
-{"id": 4381,
-"keyword": "instantiation boils"},
-{"id": 4382,
-"keyword": "interesting formalization exercise"},
-||||||| common ancestor
-{"id": 4343,
-"keyword": "automatically derive restrictions"},
-{"id": 4344,
-"keyword": "functional logic"},
-{"id": 4345,
-"keyword": "verifying functional"},
-{"id": 4346,
-"keyword": "insertion sort algorithm"},
-{"id": 4347,
-"keyword": "solve mdps"},
-{"id": 4348,
-"keyword": "partition relations concerns generalisations"},
-{"id": 4349,
-"keyword": "fixpoint operations lfp"},
-{"id": 4350,
-"keyword": "approach demonstrates"},
-{"id": 4351,
-"keyword": "internally vertex-disjoint paths"},
-{"id": 4352,
-"keyword": "parameterized proofs"},
-{"id": 4353,
-"keyword": "software tool authors"},
-{"id": 4354,
-"keyword": "verification condition generation"},
-{"id": 4355,
-"keyword": "generic type classes"},
-{"id": 4356,
-"keyword": "programs written"},
-{"id": 4357,
-"keyword": "abstract characterization"},
-{"id": 4358,
-"keyword": "shapeless library"},
-{"id": 4359,
-"keyword": "recursive programs based"},
-{"id": 4360,
-"keyword": "ltl formula"},
-{"id": 4361,
-"keyword": "geometric theorems"},
-{"id": 4362,
-"keyword": "mathematics stack exchange page"},
-{"id": 4363,
-"keyword": "manual proofs"},
-{"id": 4364,
-"keyword": "automated reasoning sch18"},
-{"id": 4365,
-"keyword": "theories list"},
-{"id": 4366,
-"keyword": "theory dpt_sat_solver"},
-{"id": 4367,
-"keyword": "chromatic number exist"},
-{"id": 4368,
-"keyword": "interesting proofs"},
-{"id": 4369,
-"keyword": "abstract level"},
-{"id": 4370,
-"keyword": "accessibility decisions affecting"},
-{"id": 4371,
-"keyword": "model entire prover architectures"},
-{"id": 4372,
-"keyword": "structure abstractly"},
+"keyword": "high level attacks"},
{"id": 4373,
-"keyword": "ordinary differential equations"},
+"keyword": "type safety"},
{"id": 4374,
-"keyword": "basic facts"},
+"keyword": "proof structure"},
{"id": 4375,
-"keyword": "traceback properties"},
+"keyword": "infinite element"},
{"id": 4376,
-"keyword": "bohua zhan"},
+"keyword": "second-order properties"},
{"id": 4377,
-"keyword": "path integrals"},
+"keyword": "increased demand"},
{"id": 4378,
-"keyword": "arbitrarily large girth"},
+"keyword": "representing algorithms"},
{"id": 4379,
-"keyword": "main thrust"},
+"keyword": "unboxing optimization"},
{"id": 4380,
-"keyword": "arithmetize register machines"},
+"keyword": "list operations"},
{"id": 4381,
-"keyword": "data refinement relations"},
+"keyword": "boolean expressions"},
{"id": 4382,
-"keyword": "map lists"},
-=======
-{"id": 4382,
-"keyword": "automatically derive restrictions"},
->>>>>>> merge rev
+"keyword": "program refinement techniques"},
{"id": 4383,
-<<<<<<< working copy
-"keyword": "central security property"},
-||||||| common ancestor
-"keyword": "extent required"},
-=======
-"keyword": "functional logic"},
->>>>>>> merge rev
+"keyword": "computer science"},
{"id": 4384,
-<<<<<<< working copy
-"keyword": "natural language processing"},
-||||||| common ancestor
-"keyword": "logical systems"},
-=======
-"keyword": "verifying functional"},
->>>>>>> merge rev
+"keyword": "finite domain consisting"},
{"id": 4385,
-<<<<<<< working copy
-"keyword": "automatically refines algorithms"},
-||||||| common ancestor
-"keyword": "common automata library"},
-=======
-"keyword": "insertion sort algorithm"},
->>>>>>> merge rev
+"keyword": "minkowski spacetime"},
{"id": 4386,
-<<<<<<< working copy
-"keyword": "multivariate polynomial rings"},
-||||||| common ancestor
-"keyword": "road traffic"},
-=======
-"keyword": "solve mdps"},
->>>>>>> merge rev
+"keyword": "combinatorial map"},
{"id": 4387,
-<<<<<<< working copy
-"keyword": "specific series fulfilling"},
-||||||| common ancestor
-"keyword": "awn models comprise"},
-=======
-"keyword": "partition relations concerns generalisations"},
->>>>>>> merge rev
+"keyword": "concurrency reasoning framework"},
{"id": 4388,
-<<<<<<< working copy
-"keyword": "consistent set"},
-||||||| common ancestor
-"keyword": "instantiation boils"},
-=======
-"keyword": "fixpoint operations lfp"},
->>>>>>> merge rev
+"keyword": "transposition theorem"},
{"id": 4389,
-<<<<<<< working copy
-"keyword": "ad-hoc approaches"},
-||||||| common ancestor
-"keyword": "interesting formalization exercise"},
-=======
-"keyword": "approach demonstrates"},
->>>>>>> merge rev
+"keyword": "solved explicitly"},
{"id": 4390,
-<<<<<<< working copy
-"keyword": "residuated lattices"},
-||||||| common ancestor
-"keyword": "central security property"},
-=======
-"keyword": "internally vertex-disjoint paths"},
->>>>>>> merge rev
+"keyword": "large numbers states"},
{"id": 4391,
-<<<<<<< working copy
-"keyword": "additional non-deterministic choice command"},
+"keyword": "balanced incomplete block designs"},
{"id": 4392,
-"keyword": "structurally recursive approach"},
+"keyword": "structures play"},
{"id": 4393,
-"keyword": "constant time findmin"},
+"keyword": "iteratively solve finite mdps"},
{"id": 4394,
-"keyword": "generic operations"},
+"keyword": "commutative replicated data types"},
{"id": 4395,
-"keyword": "security definition"},
+"keyword": "master theorem"},
{"id": 4396,
-"keyword": "adapt ctl"},
+"keyword": "multiplicative monoid"},
{"id": 4397,
-"keyword": "de-bruijn terms"},
+"keyword": "bit ibn qurra"},
{"id": 4398,
-"keyword": "main contribution"},
+"keyword": "maximum cardinality"},
{"id": 4399,
-"keyword": "convenient commands"},
+"keyword": "syntax-independent logic infrastructure"},
{"id": 4400,
-"keyword": "landmark work collective choice"},
+"keyword": "success sensitiveness"},
{"id": 4401,
-"keyword": "combinable iff"},
+"keyword": "functional modeling language hol"},
{"id": 4402,
-"keyword": "minimal polynomial"},
+"keyword": "group action"},
{"id": 4403,
-"keyword": "side effects"},
+"keyword": "international mathematical olympiad 2019"},
{"id": 4404,
-"keyword": "intricate distributed protocol"},
+"keyword": "undesired information leak"},
{"id": 4405,
-"keyword": "domain-theoretical aspects"},
+"keyword": "temporal intervals"},
{"id": 4406,
-"keyword": "express nuances"},
+"keyword": "universal partial recursive function"},
{"id": 4407,
-"keyword": "natural bijections"},
+"keyword": "hol function definition"},
{"id": 4408,
-"keyword": "elementary symmetric polynomials"},
+"keyword": "proofs remain manageable"},
{"id": 4409,
-"keyword": "applications refer"},
+"keyword": "software framework incorporates"},
{"id": 4410,
-"keyword": "practical application"},
-{"id": 4411,
-"keyword": "unwanted subtleties"},
-||||||| common ancestor
-"keyword": "natural language processing"},
-{"id": 4392,
-"keyword": "automatically refines algorithms"},
-{"id": 4393,
-"keyword": "multivariate polynomial rings"},
-{"id": 4394,
-"keyword": "specific series fulfilling"},
-{"id": 4395,
-"keyword": "consistent set"},
-{"id": 4396,
-"keyword": "ad-hoc approaches"},
-{"id": 4397,
-"keyword": "residuated lattices"},
-{"id": 4398,
-"keyword": "additional non-deterministic choice command"},
-{"id": 4399,
-"keyword": "structurally recursive approach"},
-{"id": 4400,
-"keyword": "constant time findmin"},
-{"id": 4401,
-"keyword": "generic operations"},
-{"id": 4402,
-"keyword": "security definition"},
-{"id": 4403,
-"keyword": "adapt ctl"},
-{"id": 4404,
-"keyword": "de-bruijn terms"},
-{"id": 4405,
-"keyword": "main contribution"},
-{"id": 4406,
-"keyword": "convenient commands"},
-{"id": 4407,
-"keyword": "landmark work collective choice"},
-{"id": 4408,
-"keyword": "combinable iff"},
-{"id": 4409,
-"keyword": "minimal polynomial"},
-{"id": 4410,
-"keyword": "side effects"},
+"keyword": "hol-based afp entry"},
{"id": 4411,
-"keyword": "intricate distributed protocol"},
-=======
-"keyword": "parameterized proofs"},
-{"id": 4392,
-"keyword": "software tool authors"},
-{"id": 4393,
-"keyword": "verification condition generation"},
-{"id": 4394,
-"keyword": "generic type classes"},
-{"id": 4395,
-"keyword": "programs written"},
-{"id": 4396,
-"keyword": "abstract characterization"},
-{"id": 4397,
-"keyword": "shapeless library"},
-{"id": 4398,
-"keyword": "recursive programs based"},
-{"id": 4399,
-"keyword": "ltl formula"},
-{"id": 4400,
-"keyword": "geometric theorems"},
-{"id": 4401,
-"keyword": "mathematics stack exchange page"},
-{"id": 4402,
-"keyword": "manual proofs"},
-{"id": 4403,
-"keyword": "automated reasoning sch18"},
-{"id": 4404,
-"keyword": "theories list"},
-{"id": 4405,
-"keyword": "theory dpt_sat_solver"},
-{"id": 4406,
-"keyword": "chromatic number exist"},
-{"id": 4407,
-"keyword": "interesting proofs"},
-{"id": 4408,
-"keyword": "abstract level"},
-{"id": 4409,
-"keyword": "accessibility decisions affecting"},
-{"id": 4410,
-"keyword": "model entire prover architectures"},
-{"id": 4411,
-"keyword": "structure abstractly"},
->>>>>>> merge rev
+"keyword": "technique"},
{"id": 4412,
-<<<<<<< working copy
-"keyword": "cryptographic validation fields"},
-||||||| common ancestor
-"keyword": "domain-theoretical aspects"},
-=======
-"keyword": "ordinary differential equations"},
->>>>>>> merge rev
+"keyword": "ideal showcase"},
{"id": 4413,
-<<<<<<< working copy
-"keyword": "galois connections"},
-||||||| common ancestor
-"keyword": "express nuances"},
-=======
-"keyword": "basic facts"},
->>>>>>> merge rev
+"keyword": "automatically derive restrictions"},
{"id": 4414,
-<<<<<<< working copy
-"keyword": "targeted security property"},
-||||||| common ancestor
-"keyword": "natural bijections"},
-=======
-"keyword": "traceback properties"},
->>>>>>> merge rev
+"keyword": "functional logic"},
{"id": 4415,
-<<<<<<< working copy
-"keyword": "perform stream fusion"},
-||||||| common ancestor
-"keyword": "elementary symmetric polynomials"},
-=======
-"keyword": "bohua zhan"},
->>>>>>> merge rev
+"keyword": "verifying functional"},
{"id": 4416,
-<<<<<<< working copy
-"keyword": "lower bound"},
-||||||| common ancestor
-"keyword": "applications refer"},
-=======
-"keyword": "path integrals"},
->>>>>>> merge rev
+"keyword": "insertion sort algorithm"},
{"id": 4417,
-<<<<<<< working copy
-"keyword": "vertical composite"},
-||||||| common ancestor
-"keyword": "practical application"},
-=======
-"keyword": "arbitrarily large girth"},
->>>>>>> merge rev
+"keyword": "solve mdps"},
{"id": 4418,
-<<<<<<< working copy
-"keyword": "gale-shapley stable matching"},
-||||||| common ancestor
-"keyword": "unwanted subtleties"},
-=======
-"keyword": "main thrust"},
->>>>>>> merge rev
+"keyword": "partition relations concerns generalisations"},
{"id": 4419,
-<<<<<<< working copy
-"keyword": "inductive sets"},
-||||||| common ancestor
-"keyword": "cryptographic validation fields"},
-=======
-"keyword": "arithmetize register machines"},
->>>>>>> merge rev
+"keyword": "fixpoint operations lfp"},
{"id": 4420,
-<<<<<<< working copy
-"keyword": "ghost operations"},
+"keyword": "approach demonstrates"},
{"id": 4421,
-"keyword": "quantum circuits"},
+"keyword": "internally vertex-disjoint paths"},
{"id": 4422,
-"keyword": "regular expression matches"},
+"keyword": "parameterized proofs"},
{"id": 4423,
-"keyword": "direct consequence"},
+"keyword": "software tool authors"},
{"id": 4424,
-"keyword": "conventional single-clocking semantics"},
+"keyword": "verification condition generation"},
{"id": 4425,
-"keyword": "successful model checkers"},
+"keyword": "generic type classes"},
{"id": 4426,
-"keyword": "intuitionistic logic"},
-{"id": 4427,
-"keyword": "multidimensional binary trees"},
-{"id": 4428,
-"keyword": "computing saturated sets"},
-{"id": 4429,
-"keyword": "cover quantitative"},
-{"id": 4430,
-"keyword": "relational tt-lifting"},
-||||||| common ancestor
-"keyword": "galois connections"},
-{"id": 4421,
-"keyword": "targeted security property"},
-{"id": 4422,
-"keyword": "perform stream fusion"},
-{"id": 4423,
-"keyword": "lower bound"},
-{"id": 4424,
-"keyword": "vertical composite"},
-{"id": 4425,
-"keyword": "gale-shapley stable matching"},
-{"id": 4426,
-"keyword": "inductive sets"},
+"keyword": "programs written"},
{"id": 4427,
-"keyword": "ghost operations"},
+"keyword": "abstract characterization"},
{"id": 4428,
-"keyword": "quantum circuits"},
+"keyword": "shapeless library"},
{"id": 4429,
-"keyword": "regular expression matches"},
+"keyword": "recursive programs based"},
{"id": 4430,
-"keyword": "direct consequence"},
-=======
-"keyword": "data refinement relations"},
-{"id": 4421,
-"keyword": "map lists"},
-{"id": 4422,
-"keyword": "extent required"},
-{"id": 4423,
-"keyword": "logical systems"},
-{"id": 4424,
-"keyword": "common automata library"},
-{"id": 4425,
-"keyword": "road traffic"},
-{"id": 4426,
-"keyword": "awn models comprise"},
-{"id": 4427,
-"keyword": "instantiation boils"},
-{"id": 4428,
-"keyword": "interesting formalization exercise"},
-{"id": 4429,
-"keyword": "central security property"},
-{"id": 4430,
-"keyword": "natural language processing"},
->>>>>>> merge rev
+"keyword": "ltl formula"},
{"id": 4431,
-<<<<<<< working copy
-"keyword": "protect paths"},
-||||||| common ancestor
-"keyword": "conventional single-clocking semantics"},
-=======
-"keyword": "automatically refines algorithms"},
->>>>>>> merge rev
+"keyword": "geometric theorems"},
{"id": 4432,
-<<<<<<< working copy
-"keyword": "uniform framework"},
-||||||| common ancestor
-"keyword": "successful model checkers"},
-=======
-"keyword": "multivariate polynomial rings"},
->>>>>>> merge rev
+"keyword": "mathematics stack exchange page"},
{"id": 4433,
-<<<<<<< working copy
-"keyword": "kleene star operation"},
-||||||| common ancestor
-"keyword": "intuitionistic logic"},
-=======
-"keyword": "specific series fulfilling"},
->>>>>>> merge rev
+"keyword": "manual proofs"},
{"id": 4434,
-<<<<<<< working copy
-"keyword": "simple hops"},
-||||||| common ancestor
-"keyword": "multidimensional binary trees"},
-=======
-"keyword": "consistent set"},
->>>>>>> merge rev
+"keyword": "automated reasoning sch18"},
{"id": 4435,
-<<<<<<< working copy
-"keyword": "randomised treaps"},
-||||||| common ancestor
-"keyword": "computing saturated sets"},
-=======
-"keyword": "ad-hoc approaches"},
->>>>>>> merge rev
+"keyword": "theories list"},
{"id": 4436,
-<<<<<<< working copy
-"keyword": "verifying stateful security protocols"},
-||||||| common ancestor
-"keyword": "cover quantitative"},
-=======
-"keyword": "residuated lattices"},
->>>>>>> merge rev
+"keyword": "theory dpt_sat_solver"},
{"id": 4437,
-<<<<<<< working copy
-"keyword": "monoidal category"},
-||||||| common ancestor
-"keyword": "relational tt-lifting"},
-=======
-"keyword": "additional non-deterministic choice command"},
->>>>>>> merge rev
+"keyword": "chromatic number exist"},
{"id": 4438,
-<<<<<<< working copy
-"keyword": "accompanying paper 2"},
-||||||| common ancestor
-"keyword": "protect paths"},
-=======
-"keyword": "structurally recursive approach"},
->>>>>>> merge rev
+"keyword": "interesting proofs"},
{"id": 4439,
-<<<<<<< working copy
-"keyword": "proof approach"},
+"keyword": "abstract level"},
{"id": 4440,
-"keyword": "bisection square root"},
+"keyword": "accessibility decisions affecting"},
{"id": 4441,
-"keyword": "code generator performs"},
+"keyword": "model entire prover architectures"},
{"id": 4442,
-"keyword": "concrete prototypes"},
+"keyword": "structure abstractly"},
{"id": 4443,
-"keyword": "mild condition attractivity"},
-{"id": 4444,
-"keyword": "persisted size"},
-{"id": 4445,
-"keyword": "rational exponents"},
-{"id": 4446,
-"keyword": "definition remarkably simple"},
-{"id": 4447,
-"keyword": "executable characterisation"},
-{"id": 4448,
-"keyword": "clausal form"},
-{"id": 4449,
-"keyword": "order embedding"},
-||||||| common ancestor
-"keyword": "uniform framework"},
-{"id": 4440,
-"keyword": "kleene star operation"},
-{"id": 4441,
-"keyword": "simple hops"},
-{"id": 4442,
-"keyword": "randomised treaps"},
-{"id": 4443,
-"keyword": "verifying stateful security protocols"},
-{"id": 4444,
-"keyword": "monoidal category"},
-{"id": 4445,
-"keyword": "accompanying paper 2"},
-{"id": 4446,
-"keyword": "proof approach"},
-{"id": 4447,
-"keyword": "bisection square root"},
-{"id": 4448,
-"keyword": "code generator performs"},
-{"id": 4449,
-"keyword": "concrete prototypes"},
-=======
-"keyword": "constant time findmin"},
-{"id": 4440,
-"keyword": "generic operations"},
-{"id": 4441,
-"keyword": "security definition"},
-{"id": 4442,
-"keyword": "adapt ctl"},
-{"id": 4443,
-"keyword": "de-bruijn terms"},
+"keyword": "ordinary differential equations"},
{"id": 4444,
-"keyword": "main contribution"},
+"keyword": "basic facts"},
{"id": 4445,
-"keyword": "convenient commands"},
+"keyword": "traceback properties"},
{"id": 4446,
-"keyword": "landmark work collective choice"},
+"keyword": "bohua zhan"},
{"id": 4447,
-"keyword": "combinable iff"},
+"keyword": "path integrals"},
{"id": 4448,
-"keyword": "minimal polynomial"},
+"keyword": "arbitrarily large girth"},
{"id": 4449,
-"keyword": "side effects"},
->>>>>>> merge rev
+"keyword": "main thrust"},
{"id": 4450,
-<<<<<<< working copy
-"keyword": "diatonic sequence"},
-||||||| common ancestor
-"keyword": "mild condition attractivity"},
-=======
-"keyword": "intricate distributed protocol"},
->>>>>>> merge rev
+"keyword": "arithmetize register machines"},
{"id": 4451,
-<<<<<<< working copy
-"keyword": "contraction factors"},
-||||||| common ancestor
-"keyword": "persisted size"},
-=======
-"keyword": "domain-theoretical aspects"},
->>>>>>> merge rev
+"keyword": "data refinement relations"},
{"id": 4452,
-<<<<<<< working copy
-"keyword": "well-typed attacks"},
-||||||| common ancestor
-"keyword": "rational exponents"},
-=======
-"keyword": "express nuances"},
->>>>>>> merge rev
+"keyword": "map lists"},
{"id": 4453,
-<<<<<<< working copy
-"keyword": "jones polynomial"},
-||||||| common ancestor
-"keyword": "definition remarkably simple"},
-=======
-"keyword": "natural bijections"},
->>>>>>> merge rev
+"keyword": "extent required"},
{"id": 4454,
-<<<<<<< working copy
-"keyword": "proof techniques"},
-||||||| common ancestor
-"keyword": "executable characterisation"},
-=======
-"keyword": "elementary symmetric polynomials"},
->>>>>>> merge rev
+"keyword": "logical systems"},
{"id": 4455,
-<<<<<<< working copy
-"keyword": "number theory"},
-||||||| common ancestor
-"keyword": "clausal form"},
-=======
-"keyword": "applications refer"},
->>>>>>> merge rev
+"keyword": "common automata library"},
{"id": 4456,
-<<<<<<< working copy
-"keyword": "noninterference security applying"},
-||||||| common ancestor
-"keyword": "order embedding"},
-=======
-"keyword": "practical application"},
->>>>>>> merge rev
+"keyword": "road traffic"},
{"id": 4457,
-<<<<<<< working copy
-||||||| common ancestor
-"keyword": "revised version"},
+"keyword": "awn models comprise"},
{"id": 4458,
-"keyword": "diatonic sequence"},
+"keyword": "instantiation boils"},
{"id": 4459,
-"keyword": "contraction factors"},
+"keyword": "interesting formalization exercise"},
{"id": 4460,
-"keyword": "well-typed attacks"},
+"keyword": "central security property"},
{"id": 4461,
-"keyword": "jones polynomial"},
+"keyword": "natural language processing"},
{"id": 4462,
-"keyword": "proof techniques"},
+"keyword": "automatically refines algorithms"},
{"id": 4463,
-"keyword": "number theory"},
+"keyword": "multivariate polynomial rings"},
{"id": 4464,
-"keyword": "noninterference security applying"},
+"keyword": "specific series fulfilling"},
{"id": 4465,
-=======
-"keyword": "unwanted subtleties"},
-{"id": 4458,
-"keyword": "cryptographic validation fields"},
-{"id": 4459,
-"keyword": "galois connections"},
-{"id": 4460,
-"keyword": "targeted security property"},
-{"id": 4461,
-"keyword": "perform stream fusion"},
-{"id": 4462,
-"keyword": "lower bound"},
-{"id": 4463,
-"keyword": "vertical composite"},
-{"id": 4464,
-"keyword": "gale-shapley stable matching"},
-{"id": 4465,
-"keyword": "inductive sets"},
+"keyword": "consistent set"},
{"id": 4466,
-"keyword": "ghost operations"},
+"keyword": "ad-hoc approaches"},
{"id": 4467,
-"keyword": "quantum circuits"},
+"keyword": "residuated lattices"},
{"id": 4468,
-"keyword": "regular expression matches"},
+"keyword": "additional non-deterministic choice command"},
{"id": 4469,
-"keyword": "direct consequence"},
+"keyword": "structurally recursive approach"},
{"id": 4470,
-"keyword": "conventional single-clocking semantics"},
+"keyword": "constant time findmin"},
{"id": 4471,
-"keyword": "successful model checkers"},
+"keyword": "generic operations"},
{"id": 4472,
-"keyword": "intuitionistic logic"},
+"keyword": "security definition"},
{"id": 4473,
-"keyword": "multidimensional binary trees"},
-{"id": 4474,
-"keyword": "computing saturated sets"},
-{"id": 4475,
-"keyword": "commuting observables"},
-{"id": 4476,
-"keyword": "cover quantitative"},
-{"id": 4477,
-"keyword": "relational tt-lifting"},
-{"id": 4478,
-"keyword": "protect paths"},
-{"id": 4479,
-"keyword": "uniform framework"},
-{"id": 4480,
-"keyword": "kleene star operation"},
-{"id": 4481,
-"keyword": "simple hops"},
-{"id": 4482,
-"keyword": "randomised treaps"},
-{"id": 4483,
-"keyword": "verifying stateful security protocols"},
-{"id": 4484,
-"keyword": "monoidal category"},
-{"id": 4485,
-"keyword": "accompanying paper 2"},
-{"id": 4486,
-"keyword": "proof approach"},
-{"id": 4487,
-"keyword": "bisection square root"},
-{"id": 4488,
-"keyword": "code generator performs"},
-{"id": 4489,
-"keyword": "concrete prototypes"},
-{"id": 4490,
-"keyword": "mild condition attractivity"},
-{"id": 4491,
-"keyword": "persisted size"},
-{"id": 4492,
-"keyword": "rational exponents"},
-{"id": 4493,
-"keyword": "definition remarkably simple"},
-{"id": 4494,
-"keyword": "executable characterisation"},
-{"id": 4495,
-"keyword": "clausal form"},
-{"id": 4496,
-"keyword": "order embedding"},
-{"id": 4497,
-"keyword": "revised version"},
-{"id": 4498,
-"keyword": "diatonic sequence"},
-{"id": 4499,
-"keyword": "contraction factors"},
-{"id": 4500,
-"keyword": "well-typed attacks"},
-{"id": 4501,
-"keyword": "jones polynomial"},
-{"id": 4502,
-"keyword": "proof techniques"},
-{"id": 4503,
-"keyword": "number theory"},
-{"id": 4504,
-"keyword": "noninterference security applying"},
-{"id": 4505,
->>>>>>> merge rev
-"keyword": "unordered pairs"},
-<<<<<<< working copy
-{"id": 4458,
-||||||| common ancestor
-{"id": 4466,
-=======
-{"id": 4506,
->>>>>>> merge rev
-"keyword": "simple type system"},
-<<<<<<< working copy
-{"id": 4459,
-||||||| common ancestor
-{"id": 4467,
-=======
-{"id": 4507,
->>>>>>> merge rev
-"keyword": "inf-preserving transformers"},
-<<<<<<< working copy
-{"id": 4460,
-||||||| common ancestor
-{"id": 4468,
-=======
-{"id": 4508,
->>>>>>> merge rev
-"keyword": "projection functions"},
-<<<<<<< working copy
-{"id": 4461,
-"keyword": "free monoid"},
-{"id": 4462,
-"keyword": "certify size-change termination proofs"},
-{"id": 4463,
-"keyword": "amortized time complexity"},
-{"id": 4464,
-"keyword": "fundamental closest pair"},
-{"id": 4465,
-"keyword": "computing gr bner bases"},
-{"id": 4466,
-"keyword": "finality predicate"},
-{"id": 4467,
-"keyword": "intuitively secure programs"},
-{"id": 4468,
-"keyword": "continued fraction expansions"},
-{"id": 4469,
-"keyword": "suitable denotational model"},
-{"id": 4470,
-"keyword": "entire development"},
-{"id": 4471,
-"keyword": "complicated proofs"},
-{"id": 4472,
-"keyword": "integer-indexed maps"},
-{"id": 4473,
-"keyword": "large collection"},
+"keyword": "adapt ctl"},
{"id": 4474,
-"keyword": "unique program"},
+"keyword": "de-bruijn terms"},
{"id": 4475,
-"keyword": "time"},
+"keyword": "main contribution"},
{"id": 4476,
-"keyword": "certificate language"},
+"keyword": "convenient commands"},
{"id": 4477,
-"keyword": "fixed probability"},
+"keyword": "landmark work collective choice"},
{"id": 4478,
-"keyword": "array operations seamlessly integrate"},
+"keyword": "combinable iff"},
{"id": 4479,
-"keyword": "angelic nondeterministic choices"},
+"keyword": "minimal polynomial"},
{"id": 4480,
-"keyword": "specification language tla"},
+"keyword": "side effects"},
{"id": 4481,
-"keyword": "undesirable side-effect"},
+"keyword": "intricate distributed protocol"},
{"id": 4482,
-"keyword": "integers hurwitz"},
+"keyword": "domain-theoretical aspects"},
{"id": 4483,
-"keyword": "unprecedented time"},
-{"id": 4484,
-"keyword": "operations indirectly"},
-{"id": 4485,
-"keyword": "ribbon proofs emphasise"},
-{"id": 4486,
-||||||| common ancestor
-{"id": 4469,
-"keyword": "free monoid"},
-{"id": 4470,
-"keyword": "certify size-change termination proofs"},
-{"id": 4471,
-"keyword": "amortized time complexity"},
-{"id": 4472,
-"keyword": "fundamental closest pair"},
-{"id": 4473,
-"keyword": "computing gr bner bases"},
-{"id": 4474,
-"keyword": "finality predicate"},
-{"id": 4475,
-"keyword": "intuitively secure programs"},
-{"id": 4476,
-"keyword": "continued fraction expansions"},
-{"id": 4477,
-"keyword": "suitable denotational model"},
-{"id": 4478,
-"keyword": "entire development"},
-{"id": 4479,
-"keyword": "complicated proofs"},
-{"id": 4480,
-"keyword": "integer-indexed maps"},
-{"id": 4481,
-"keyword": "large collection"},
-{"id": 4482,
-"keyword": "unique program"},
-{"id": 4483,
-"keyword": "time"},
+"keyword": "express nuances"},
{"id": 4484,
-"keyword": "certificate language"},
+"keyword": "natural bijections"},
{"id": 4485,
-"keyword": "fixed probability"},
+"keyword": "elementary symmetric polynomials"},
{"id": 4486,
-"keyword": "array operations seamlessly integrate"},
+"keyword": "applications refer"},
{"id": 4487,
-"keyword": "angelic nondeterministic choices"},
+"keyword": "practical application"},
{"id": 4488,
-"keyword": "specification language tla"},
+"keyword": "unwanted subtleties"},
{"id": 4489,
-"keyword": "undesirable side-effect"},
+"keyword": "cryptographic validation fields"},
{"id": 4490,
-"keyword": "integers hurwitz"},
+"keyword": "galois connections"},
{"id": 4491,
-"keyword": "unprecedented time"},
+"keyword": "targeted security property"},
{"id": 4492,
-"keyword": "operations indirectly"},
+"keyword": "perform stream fusion"},
{"id": 4493,
-"keyword": "ribbon proofs emphasise"},
+"keyword": "lower bound"},
{"id": 4494,
-=======
+"keyword": "vertical composite"},
+{"id": 4495,
+"keyword": "gale-shapley stable matching"},
+{"id": 4496,
+"keyword": "inductive sets"},
+{"id": 4497,
+"keyword": "ghost operations"},
+{"id": 4498,
+"keyword": "quantum circuits"},
+{"id": 4499,
+"keyword": "regular expression matches"},
+{"id": 4500,
+"keyword": "direct consequence"},
+{"id": 4501,
+"keyword": "conventional single-clocking semantics"},
+{"id": 4502,
+"keyword": "successful model checkers"},
+{"id": 4503,
+"keyword": "intuitionistic logic"},
+{"id": 4504,
+"keyword": "multidimensional binary trees"},
+{"id": 4505,
+"keyword": "computing saturated sets"},
+{"id": 4506,
+"keyword": "commuting observables"},
+{"id": 4507,
+"keyword": "cover quantitative"},
+{"id": 4508,
+"keyword": "relational tt-lifting"},
{"id": 4509,
-"keyword": "free monoid"},
+"keyword": "protect paths"},
{"id": 4510,
-"keyword": "certify size-change termination proofs"},
+"keyword": "uniform framework"},
{"id": 4511,
-"keyword": "amortized time complexity"},
+"keyword": "kleene star operation"},
{"id": 4512,
-"keyword": "fundamental closest pair"},
+"keyword": "simple hops"},
{"id": 4513,
-"keyword": "computing gr bner bases"},
+"keyword": "randomised treaps"},
{"id": 4514,
-"keyword": "finality predicate"},
+"keyword": "verifying stateful security protocols"},
{"id": 4515,
-"keyword": "intuitively secure programs"},
+"keyword": "monoidal category"},
{"id": 4516,
-"keyword": "continued fraction expansions"},
+"keyword": "accompanying paper 2"},
{"id": 4517,
-"keyword": "suitable denotational model"},
+"keyword": "proof approach"},
{"id": 4518,
-"keyword": "entire development"},
+"keyword": "bisection square root"},
{"id": 4519,
-"keyword": "complicated proofs"},
+"keyword": "code generator performs"},
{"id": 4520,
-"keyword": "integer-indexed maps"},
+"keyword": "concrete prototypes"},
{"id": 4521,
-"keyword": "large collection"},
+"keyword": "mild condition attractivity"},
{"id": 4522,
-"keyword": "unique program"},
+"keyword": "persisted size"},
{"id": 4523,
-"keyword": "time"},
+"keyword": "rational exponents"},
{"id": 4524,
-"keyword": "certificate language"},
+"keyword": "definition remarkably simple"},
{"id": 4525,
-"keyword": "fixed probability"},
+"keyword": "executable characterisation"},
{"id": 4526,
-"keyword": "array operations seamlessly integrate"},
+"keyword": "clausal form"},
{"id": 4527,
-"keyword": "angelic nondeterministic choices"},
+"keyword": "order embedding"},
{"id": 4528,
-"keyword": "specification language tla"},
+"keyword": "diatonic sequence"},
{"id": 4529,
-"keyword": "undesirable side-effect"},
+"keyword": "contraction factors"},
{"id": 4530,
-"keyword": "integers hurwitz"},
+"keyword": "well-typed attacks"},
{"id": 4531,
-"keyword": "unprecedented time"},
+"keyword": "jones polynomial"},
{"id": 4532,
-"keyword": "operations indirectly"},
+"keyword": "proof techniques"},
{"id": 4533,
-"keyword": "ribbon proofs emphasise"},
+"keyword": "number theory"},
{"id": 4534,
->>>>>>> merge rev
-"keyword": "clause procedures gc"},
-<<<<<<< working copy
-{"id": 4487,
-||||||| common ancestor
-{"id": 4495,
-=======
+"keyword": "noninterference security applying"},
{"id": 4535,
->>>>>>> merge rev
-"keyword": "parser monad built"},
-<<<<<<< working copy
-{"id": 4488,
-||||||| common ancestor
-{"id": 4496,
-=======
+"keyword": "unordered pairs"},
{"id": 4536,
->>>>>>> merge rev
-"keyword": "entry establishes syntax"},
-<<<<<<< working copy
-{"id": 4489,
-||||||| common ancestor
-{"id": 4497,
-=======
+"keyword": "simple type system"},
{"id": 4537,
->>>>>>> merge rev
-"keyword": "decreasing diagrams"},
-<<<<<<< working copy
-{"id": 4490,
-"keyword": "linearly ordered borel-spaces"},
-{"id": 4491,
-"keyword": "imperative data structures"},
-{"id": 4492,
-"keyword": "apply data refinement"},
-{"id": 4493,
-"keyword": "limits exist"},
-{"id": 4494,
-"keyword": "graham jameson"},
-{"id": 4495,
-"keyword": "uniformly coxeter"},
-{"id": 4496,
-"keyword": "simple object calculus"},
-{"id": 4497,
-"keyword": "constraint-system-based program analysis"},
-{"id": 4498,
-"keyword": "economic behavior"},
-{"id": 4499,
-"keyword": "locally finite"},
-{"id": 4500,
-"keyword": "handling variable binding"},
-{"id": 4501,
-"keyword": "general possibility theorem"},
-{"id": 4502,
-"keyword": "collection framework"},
-{"id": 4503,
-"keyword": "feasible paths"},
-{"id": 4504,
-"keyword": "store buffering"},
-{"id": 4505,
-||||||| common ancestor
-{"id": 4498,
-"keyword": "linearly ordered borel-spaces"},
-{"id": 4499,
-"keyword": "imperative data structures"},
-{"id": 4500,
-"keyword": "apply data refinement"},
-{"id": 4501,
-"keyword": "limits exist"},
-{"id": 4502,
-"keyword": "graham jameson"},
-{"id": 4503,
-"keyword": "uniformly coxeter"},
-{"id": 4504,
-"keyword": "simple object calculus"},
-{"id": 4505,
-"keyword": "constraint-system-based program analysis"},
-{"id": 4506,
-"keyword": "economic behavior"},
-{"id": 4507,
-"keyword": "locally finite"},
-{"id": 4508,
-"keyword": "handling variable binding"},
-{"id": 4509,
-"keyword": "general possibility theorem"},
-{"id": 4510,
-"keyword": "collection framework"},
-{"id": 4511,
-"keyword": "feasible paths"},
-{"id": 4512,
-"keyword": "store buffering"},
-{"id": 4513,
-=======
+"keyword": "inf-preserving transformers"},
{"id": 4538,
-"keyword": "linearly ordered borel-spaces"},
+"keyword": "projection functions"},
{"id": 4539,
-"keyword": "imperative data structures"},
+"keyword": "free monoid"},
{"id": 4540,
-"keyword": "apply data refinement"},
+"keyword": "certify size-change termination proofs"},
{"id": 4541,
-"keyword": "limits exist"},
+"keyword": "amortized time complexity"},
{"id": 4542,
-"keyword": "graham jameson"},
+"keyword": "fundamental closest pair"},
{"id": 4543,
-"keyword": "uniformly coxeter"},
-{"id": 4544,
-"keyword": "simple object calculus"},
-{"id": 4545,
-"keyword": "represent physical quantities"},
-{"id": 4546,
-"keyword": "constraint-system-based program analysis"},
-{"id": 4547,
-"keyword": "economic behavior"},
-{"id": 4548,
-"keyword": "locally finite"},
-{"id": 4549,
-"keyword": "handling variable binding"},
-{"id": 4550,
-"keyword": "general possibility theorem"},
-{"id": 4551,
-"keyword": "collection framework"},
-{"id": 4552,
-"keyword": "feasible paths"},
-{"id": 4553,
-"keyword": "store buffering"},
-{"id": 4554,
->>>>>>> merge rev
-"keyword": "gamma"},
-<<<<<<< working copy
-{"id": 4506,
-||||||| common ancestor
-{"id": 4514,
-=======
-{"id": 4555,
->>>>>>> merge rev
-"keyword": "understood problem"},
-<<<<<<< working copy
-{"id": 4507,
-||||||| common ancestor
-{"id": 4515,
-=======
-{"id": 4556,
->>>>>>> merge rev
-"keyword": "dynamic refutational completeness"},
-<<<<<<< working copy
-{"id": 4508,
-||||||| common ancestor
-{"id": 4516,
-=======
-{"id": 4557,
->>>>>>> merge rev
-"keyword": "pascal schreck"},
-<<<<<<< working copy
-{"id": 4509,
-||||||| common ancestor
-{"id": 4517,
-=======
-{"id": 4558,
->>>>>>> merge rev
-"keyword": "efficient checking"},
-<<<<<<< working copy
-{"id": 4510,
-||||||| common ancestor
-{"id": 4518,
-=======
-{"id": 4559,
->>>>>>> merge rev
-"keyword": "program fulfilling"},
-<<<<<<< working copy
-{"id": 4511,
-||||||| common ancestor
-{"id": 4519,
-=======
-{"id": 4560,
->>>>>>> merge rev
-"keyword": "unified manner"},
-<<<<<<< working copy
-{"id": 4512,
-||||||| common ancestor
-{"id": 4520,
-=======
-{"id": 4561,
->>>>>>> merge rev
-"keyword": "assuming soundness"},
-<<<<<<< working copy
-{"id": 4513,
-||||||| common ancestor
-{"id": 4521,
-=======
-{"id": 4562,
->>>>>>> merge rev
-"keyword": "uniform boundedness principle"},
-<<<<<<< working copy
-{"id": 4514,
-||||||| common ancestor
-{"id": 4522,
-=======
-{"id": 4563,
->>>>>>> merge rev
-"keyword": "residuated functions"},
-<<<<<<< working copy
-{"id": 4515,
-||||||| common ancestor
-{"id": 4523,
-=======
-{"id": 4564,
->>>>>>> merge rev
-"keyword": "linux-style router"},
-<<<<<<< working copy
-{"id": 4516,
-||||||| common ancestor
-{"id": 4524,
-=======
-{"id": 4565,
->>>>>>> merge rev
-"keyword": "paper enriches hoare"},
-<<<<<<< working copy
-{"id": 4517,
-||||||| common ancestor
-{"id": 4525,
-=======
-{"id": 4566,
->>>>>>> merge rev
-"keyword": "euro-mils project http"},
-<<<<<<< working copy
-{"id": 4518,
-||||||| common ancestor
-{"id": 4526,
-=======
-{"id": 4567,
->>>>>>> merge rev
-"keyword": "deque implementation"},
-<<<<<<< working copy
-{"id": 4519,
-"keyword": "international conference"},
-{"id": 4520,
-"keyword": "greater computational cost"},
-{"id": 4521,
-"keyword": "minimal dfas"},
-{"id": 4522,
-"keyword": "noninterference security"},
-{"id": 4523,
-"keyword": "19th century number theory"},
-{"id": 4524,
-"keyword": "strong properties"},
-{"id": 4525,
-"keyword": "one-dimensional case"},
-{"id": 4526,
-"keyword": "generated document"},
-{"id": 4527,
-"keyword": "measurable subset"},
-{"id": 4528,
-"keyword": "behavior trace assertions"},
-{"id": 4529,
-"keyword": "odd ranking"},
-{"id": 4530,
-"keyword": "quartic equation"},
-{"id": 4531,
-"keyword": "kind"},
-{"id": 4532,
-"keyword": "sch18 anders schlichtkrull"},
-{"id": 4533,
-"keyword": "classical statements"},
-{"id": 4534,
-||||||| common ancestor
-{"id": 4527,
-"keyword": "international conference"},
-{"id": 4528,
-"keyword": "greater computational cost"},
-{"id": 4529,
-"keyword": "minimal dfas"},
-{"id": 4530,
-"keyword": "noninterference security"},
-{"id": 4531,
-"keyword": "19th century number theory"},
-{"id": 4532,
-"keyword": "strong properties"},
-{"id": 4533,
-"keyword": "one-dimensional case"},
-{"id": 4534,
-"keyword": "generated document"},
-{"id": 4535,
-"keyword": "measurable subset"},
-{"id": 4536,
-"keyword": "behavior trace assertions"},
-{"id": 4537,
-"keyword": "odd ranking"},
-{"id": 4538,
-"keyword": "quartic equation"},
-{"id": 4539,
-"keyword": "kind"},
-{"id": 4540,
-"keyword": "sch18 anders schlichtkrull"},
-{"id": 4541,
-"keyword": "classical statements"},
-{"id": 4542,
-=======
-{"id": 4568,
-"keyword": "international conference"},
-{"id": 4569,
-"keyword": "greater computational cost"},
-{"id": 4570,
-"keyword": "minimal dfas"},
-{"id": 4571,
-"keyword": "noninterference security"},
-{"id": 4572,
-"keyword": "19th century number theory"},
-{"id": 4573,
-"keyword": "strong properties"},
-{"id": 4574,
-"keyword": "one-dimensional case"},
-{"id": 4575,
-"keyword": "generated document"},
-{"id": 4576,
-"keyword": "measurable subset"},
-{"id": 4577,
-"keyword": "behavior trace assertions"},
-{"id": 4578,
-"keyword": "odd ranking"},
-{"id": 4579,
-"keyword": "quartic equation"},
-{"id": 4580,
-"keyword": "kind"},
-{"id": 4581,
-"keyword": "sch18 anders schlichtkrull"},
-{"id": 4582,
-"keyword": "classical statements"},
-{"id": 4583,
->>>>>>> merge rev
-"keyword": "filtering behavior"},
-<<<<<<< working copy
-{"id": 4535,
-||||||| common ancestor
-{"id": 4543,
-=======
-{"id": 4584,
->>>>>>> merge rev
-"keyword": "general triangle"},
-<<<<<<< working copy
-{"id": 4536,
-||||||| common ancestor
+"keyword": "computing gr bner bases"},
{"id": 4544,
-=======
-{"id": 4585,
->>>>>>> merge rev
-"keyword": "postponing soundness-critical admissibility checks"},
-<<<<<<< working copy
-{"id": 4537,
-"keyword": "dynamic programming"},
-{"id": 4538,
-"keyword": "modelling security"},
-{"id": 4539,
-"keyword": "presburger arithmetic"},
-{"id": 4540,
-"keyword": "erd odblac"},
-{"id": 4541,
-"keyword": "positive integer"},
-{"id": 4542,
-"keyword": "promising increased tolerance"},
-{"id": 4543,
-"keyword": "probabilistic functions"},
-{"id": 4544,
-"keyword": "featherweight ocl"},
+"keyword": "finality predicate"},
{"id": 4545,
-"keyword": "concrete input"},
+"keyword": "intuitively secure programs"},
{"id": 4546,
-"keyword": "general setting"},
+"keyword": "continued fraction expansions"},
{"id": 4547,
-"keyword": "putnam exam problems"},
+"keyword": "suitable denotational model"},
{"id": 4548,
-"keyword": "mechanized soundness proof"},
+"keyword": "entire development"},
{"id": 4549,
-"keyword": "advanced replacement"},
+"keyword": "complicated proofs"},
{"id": 4550,
-"keyword": "syntax tree"},
+"keyword": "integer-indexed maps"},
{"id": 4551,
-"keyword": "rts algorithms select"},
+"keyword": "large collection"},
{"id": 4552,
-"keyword": "efsm level"},
+"keyword": "unique program"},
{"id": 4553,
-"keyword": "relation constraints"},
+"keyword": "time"},
{"id": 4554,
-"keyword": "integers"},
+"keyword": "certificate language"},
{"id": 4555,
-"keyword": "presented formalization"},
+"keyword": "fixed probability"},
{"id": 4556,
-"keyword": "topological proof"},
+"keyword": "lattice-based post-quantum cryptography"},
{"id": 4557,
-"keyword": "value-dependent noninterference property"},
+"keyword": "array operations seamlessly integrate"},
{"id": 4558,
-"keyword": "consensus problem"},
+"keyword": "angelic nondeterministic choices"},
{"id": 4559,
-"keyword": "drf guarantee"},
+"keyword": "specification language tla"},
{"id": 4560,
-"keyword": "threshold probability"},
+"keyword": "undesirable side-effect"},
{"id": 4561,
-"keyword": "standard finite_map theory"},
+"keyword": "integers hurwitz"},
{"id": 4562,
-"keyword": "logic programming"},
+"keyword": "unprecedented time"},
{"id": 4563,
-"keyword": "large tree automata"},
+"keyword": "ribbon proofs emphasise"},
{"id": 4564,
-"keyword": "program construction"},
+"keyword": "clause procedures gc"},
{"id": 4565,
-"keyword": "unlike traditional decision procedures"},
+"keyword": "parser monad built"},
{"id": 4566,
-"keyword": "case"},
+"keyword": "entry establishes syntax"},
{"id": 4567,
-"keyword": "linear logics"},
+"keyword": "decreasing diagrams"},
{"id": 4568,
-"keyword": "free monoidal category"},
+"keyword": "linearly ordered borel-spaces"},
{"id": 4569,
-"keyword": "contribution reuses"},
+"keyword": "imperative data structures"},
{"id": 4570,
-"keyword": "smaller set"},
+"keyword": "apply data refinement"},
{"id": 4571,
-"keyword": "odd bernoulli numbers"},
+"keyword": "limits exist"},
{"id": 4572,
-"keyword": "axiomatic characterization"},
+"keyword": "graham jameson"},
{"id": 4573,
-"keyword": "original article"},
+"keyword": "uniformly coxeter"},
{"id": 4574,
-"keyword": "useless zero-reductions"},
+"keyword": "simple object calculus"},
{"id": 4575,
-"keyword": "integer variables"},
+"keyword": "represent physical quantities"},
{"id": 4576,
-"keyword": "important introductory theorems"},
+"keyword": "constraint-system-based program analysis"},
{"id": 4577,
-"keyword": "proof due"},
+"keyword": "economic behavior"},
{"id": 4578,
-"keyword": "common ground"},
+"keyword": "locally finite"},
{"id": 4579,
-"keyword": "terminated successfully"},
+"keyword": "handling variable binding"},
{"id": 4580,
-"keyword": "monadic interpreter"},
+"keyword": "general possibility theorem"},
{"id": 4581,
-"keyword": "support negative joins"},
+"keyword": "collection framework"},
{"id": 4582,
-"keyword": "nontrivial size"},
+"keyword": "feasible paths"},
{"id": 4583,
-"keyword": "ternary kripke frames"},
+"keyword": "store buffering"},
{"id": 4584,
-"keyword": "monolithic structure"},
+"keyword": "gamma"},
{"id": 4585,
-"keyword": "immutable arrays"},
+"keyword": "understood problem"},
{"id": 4586,
-"keyword": "epsilon free top-"},
+"keyword": "dynamic refutational completeness"},
{"id": 4587,
-"keyword": "algebraic approach"},
+"keyword": "pascal schreck"},
{"id": 4588,
-"keyword": "completeness proofs naturally suggest"},
+"keyword": "efficient checking"},
{"id": 4589,
-"keyword": "ifip networking 2016"},
+"keyword": "program fulfilling"},
{"id": 4590,
-"keyword": "integer lattice 8484"},
+"keyword": "unified manner"},
{"id": 4591,
-"keyword": "weak duality theorem"},
+"keyword": "assuming soundness"},
{"id": 4592,
-"keyword": "jinja source"},
-{"id": 4593,
-"keyword": "finite stuttering"},
-||||||| common ancestor
-{"id": 4545,
-"keyword": "dynamic programming"},
-{"id": 4546,
-"keyword": "modelling security"},
-{"id": 4547,
-"keyword": "presburger arithmetic"},
-{"id": 4548,
-"keyword": "erd odblac"},
-{"id": 4549,
-"keyword": "positive integer"},
-{"id": 4550,
-"keyword": "promising increased tolerance"},
-{"id": 4551,
-"keyword": "probabilistic functions"},
-{"id": 4552,
-"keyword": "featherweight ocl"},
-{"id": 4553,
-"keyword": "concrete input"},
-{"id": 4554,
-"keyword": "general setting"},
-{"id": 4555,
-"keyword": "putnam exam problems"},
-{"id": 4556,
-"keyword": "mechanized soundness proof"},
-{"id": 4557,
-"keyword": "advanced replacement"},
-{"id": 4558,
-"keyword": "syntax tree"},
-{"id": 4559,
-"keyword": "rts algorithms select"},
-{"id": 4560,
-"keyword": "efsm level"},
-{"id": 4561,
-"keyword": "relation constraints"},
-{"id": 4562,
-"keyword": "integers"},
-{"id": 4563,
-"keyword": "presented formalization"},
-{"id": 4564,
-"keyword": "topological proof"},
-{"id": 4565,
-"keyword": "value-dependent noninterference property"},
-{"id": 4566,
-"keyword": "consensus problem"},
-{"id": 4567,
-"keyword": "drf guarantee"},
-{"id": 4568,
-"keyword": "threshold probability"},
-{"id": 4569,
-"keyword": "standard finite_map theory"},
-{"id": 4570,
-"keyword": "logic programming"},
-{"id": 4571,
-"keyword": "large tree automata"},
-{"id": 4572,
-"keyword": "program construction"},
-{"id": 4573,
-"keyword": "unlike traditional decision procedures"},
-{"id": 4574,
-"keyword": "case"},
-{"id": 4575,
-"keyword": "linear logics"},
-{"id": 4576,
-"keyword": "free monoidal category"},
-{"id": 4577,
-"keyword": "contribution reuses"},
-{"id": 4578,
-"keyword": "smaller set"},
-{"id": 4579,
-"keyword": "odd bernoulli numbers"},
-{"id": 4580,
-"keyword": "axiomatic characterization"},
-{"id": 4581,
-"keyword": "original article"},
-{"id": 4582,
-"keyword": "useless zero-reductions"},
-{"id": 4583,
-"keyword": "integer variables"},
-{"id": 4584,
-"keyword": "important introductory theorems"},
-{"id": 4585,
-"keyword": "proof due"},
-{"id": 4586,
-"keyword": "common ground"},
-{"id": 4587,
-"keyword": "terminated successfully"},
-{"id": 4588,
-"keyword": "monadic interpreter"},
-{"id": 4589,
-"keyword": "support negative joins"},
-{"id": 4590,
-"keyword": "nontrivial size"},
-{"id": 4591,
-"keyword": "ternary kripke frames"},
-{"id": 4592,
-"keyword": "monolithic structure"},
-{"id": 4593,
-"keyword": "immutable arrays"},
-=======
-{"id": 4586,
-"keyword": "dynamic programming"},
-{"id": 4587,
-"keyword": "modelling security"},
-{"id": 4588,
-"keyword": "presburger arithmetic"},
-{"id": 4589,
-"keyword": "erd odblac"},
-{"id": 4590,
-"keyword": "positive integer"},
-{"id": 4591,
-"keyword": "promising increased tolerance"},
-{"id": 4592,
-"keyword": "probabilistic functions"},
+"keyword": "uniform boundedness principle"},
{"id": 4593,
-"keyword": "featherweight ocl"},
->>>>>>> merge rev
+"keyword": "residuated functions"},
{"id": 4594,
-<<<<<<< working copy
-"keyword": "standard proof methods"},
-||||||| common ancestor
-"keyword": "epsilon free top-"},
-=======
-"keyword": "concrete input"},
->>>>>>> merge rev
+"keyword": "linux-style router"},
{"id": 4595,
-<<<<<<< working copy
-"keyword": "executable emulator"},
-||||||| common ancestor
-"keyword": "algebraic approach"},
-=======
-"keyword": "general setting"},
->>>>>>> merge rev
+"keyword": "euro-mils project http"},
{"id": 4596,
-<<<<<<< working copy
-"keyword": "leading power-product"},
-||||||| common ancestor
-"keyword": "completeness proofs naturally suggest"},
-=======
-"keyword": "putnam exam problems"},
->>>>>>> merge rev
+"keyword": "deque implementation"},
{"id": 4597,
-<<<<<<< working copy
-"keyword": "global context"},
-||||||| common ancestor
-"keyword": "ifip networking 2016"},
-=======
-"keyword": "mechanized soundness proof"},
->>>>>>> merge rev
+"keyword": "paper enriches hoare"},
{"id": 4598,
-<<<<<<< working copy
-"keyword": "data transmission"},
-||||||| common ancestor
-"keyword": "integer lattice 8484"},
-=======
-"keyword": "advanced replacement"},
->>>>>>> merge rev
+"keyword": "general halting problem"},
{"id": 4599,
-<<<<<<< working copy
-"keyword": "coercion ord_of_nat"},
-||||||| common ancestor
-"keyword": "weak duality theorem"},
-=======
-"keyword": "syntax tree"},
->>>>>>> merge rev
+"keyword": "international conference"},
{"id": 4600,
-<<<<<<< working copy
-"keyword": "present proof development represents"},
-||||||| common ancestor
-"keyword": "jinja source"},
-=======
-"keyword": "rts algorithms select"},
->>>>>>> merge rev
+"keyword": "greater computational cost"},
{"id": 4601,
-<<<<<<< working copy
-"keyword": "important specializations"},
+"keyword": "minimal dfas"},
{"id": 4602,
-"keyword": "comprehension principle"},
+"keyword": "noninterference security"},
{"id": 4603,
-"keyword": "log log"},
+"keyword": "19th century number theory"},
{"id": 4604,
-"keyword": "machine language"},
-{"id": 4605,
-"keyword": "tensor product"},
-{"id": 4606,
-"keyword": "minkowski space-time"},
-{"id": 4607,
-"keyword": "ordered semirings"},
-{"id": 4608,
-"keyword": "finite support"},
-{"id": 4609,
-"keyword": "certifying primes"},
-{"id": 4610,
-"keyword": "computational modeling"},
-{"id": 4611,
-"keyword": "regular arithmetic geometric"},
-{"id": 4612,
-"keyword": "marked regular expressions"},
-||||||| common ancestor
-"keyword": "finite stuttering"},
-{"id": 4602,
-"keyword": "standard proof methods"},
-{"id": 4603,
-"keyword": "executable emulator"},
-{"id": 4604,
-"keyword": "leading power-product"},
-{"id": 4605,
-"keyword": "global context"},
-{"id": 4606,
-"keyword": "data transmission"},
-{"id": 4607,
-"keyword": "coercion ord_of_nat"},
-{"id": 4608,
-"keyword": "present proof development represents"},
-{"id": 4609,
-"keyword": "important specializations"},
-{"id": 4610,
-"keyword": "comprehension principle"},
-{"id": 4611,
-"keyword": "log log"},
-{"id": 4612,
-"keyword": "machine language"},
-=======
-"keyword": "efsm level"},
-{"id": 4602,
-"keyword": "relation constraints"},
-{"id": 4603,
-"keyword": "integers"},
-{"id": 4604,
-"keyword": "presented formalization"},
+"keyword": "strong properties"},
{"id": 4605,
-"keyword": "topological proof"},
+"keyword": "one-dimensional case"},
{"id": 4606,
-"keyword": "value-dependent noninterference property"},
+"keyword": "generated document"},
{"id": 4607,
-"keyword": "consensus problem"},
+"keyword": "measurable subset"},
{"id": 4608,
-"keyword": "drf guarantee"},
+"keyword": "behavior trace assertions"},
{"id": 4609,
-"keyword": "threshold probability"},
+"keyword": "odd ranking"},
{"id": 4610,
-"keyword": "standard finite_map theory"},
+"keyword": "quartic equation"},
{"id": 4611,
-"keyword": "logic programming"},
+"keyword": "kind"},
{"id": 4612,
-"keyword": "large tree automata"},
->>>>>>> merge rev
+"keyword": "sch18 anders schlichtkrull"},
{"id": 4613,
-<<<<<<< working copy
-"keyword": "9th international joint conference"},
-||||||| common ancestor
-"keyword": "tensor product"},
-=======
-"keyword": "program construction"},
->>>>>>> merge rev
+"keyword": "classical statements"},
{"id": 4614,
-<<<<<<< working copy
-"keyword": "term rewriting"},
-||||||| common ancestor
-"keyword": "minkowski space-time"},
-=======
-"keyword": "unlike traditional decision procedures"},
->>>>>>> merge rev
+"keyword": "filtering behavior"},
{"id": 4615,
-<<<<<<< working copy
-"keyword": "maximum norm"},
-||||||| common ancestor
-"keyword": "ordered semirings"},
-=======
-"keyword": "case"},
->>>>>>> merge rev
+"keyword": "general triangle"},
{"id": 4616,
-<<<<<<< working copy
-"keyword": "combined result"},
-||||||| common ancestor
-"keyword": "finite support"},
-=======
-"keyword": "linear logics"},
->>>>>>> merge rev
+"keyword": "postponing soundness-critical admissibility checks"},
{"id": 4617,
-<<<<<<< working copy
-"keyword": "unnamed initial segment"},
-||||||| common ancestor
-"keyword": "certifying primes"},
-=======
-"keyword": "free monoidal category"},
->>>>>>> merge rev
+"keyword": "dynamic programming"},
{"id": 4618,
-<<<<<<< working copy
-"keyword": "simulation-based security paradigms"},
-||||||| common ancestor
-"keyword": "computational modeling"},
-=======
-"keyword": "contribution reuses"},
->>>>>>> merge rev
+"keyword": "modelling security"},
{"id": 4619,
-<<<<<<< working copy
-"keyword": "fixpoint theorem"},
-||||||| common ancestor
-"keyword": "regular arithmetic geometric"},
-=======
-"keyword": "smaller set"},
->>>>>>> merge rev
+"keyword": "presburger arithmetic"},
{"id": 4620,
-<<<<<<< working copy
-||||||| common ancestor
-"keyword": "marked regular expressions"},
+"keyword": "erd odblac"},
{"id": 4621,
-"keyword": "9th international joint conference"},
+"keyword": "fast number theoretic transform"},
{"id": 4622,
-"keyword": "term rewriting"},
+"keyword": "positive integer"},
{"id": 4623,
-"keyword": "maximum norm"},
+"keyword": "promising increased tolerance"},
{"id": 4624,
-"keyword": "combined result"},
+"keyword": "probabilistic functions"},
{"id": 4625,
-"keyword": "unnamed initial segment"},
+"keyword": "featherweight ocl"},
{"id": 4626,
-"keyword": "simulation-based security paradigms"},
+"keyword": "concrete input"},
{"id": 4627,
-"keyword": "fixpoint theorem"},
+"keyword": "general setting"},
{"id": 4628,
-=======
-"keyword": "odd bernoulli numbers"},
-{"id": 4621,
-"keyword": "axiomatic characterization"},
-{"id": 4622,
-"keyword": "original article"},
-{"id": 4623,
-"keyword": "useless zero-reductions"},
-{"id": 4624,
-"keyword": "integer variables"},
-{"id": 4625,
-"keyword": "important introductory theorems"},
-{"id": 4626,
-"keyword": "proof due"},
-{"id": 4627,
-"keyword": "common ground"},
-{"id": 4628,
-"keyword": "terminated successfully"},
+"keyword": "putnam exam problems"},
{"id": 4629,
-"keyword": "monadic interpreter"},
+"keyword": "mechanized soundness proof"},
{"id": 4630,
-"keyword": "support negative joins"},
+"keyword": "advanced replacement"},
{"id": 4631,
-"keyword": "nontrivial size"},
+"keyword": "syntax tree"},
{"id": 4632,
-"keyword": "ternary kripke frames"},
+"keyword": "rts algorithms select"},
{"id": 4633,
-"keyword": "monolithic structure"},
+"keyword": "efsm level"},
{"id": 4634,
-"keyword": "immutable arrays"},
+"keyword": "relation constraints"},
{"id": 4635,
-"keyword": "epsilon free top-"},
+"keyword": "integers"},
{"id": 4636,
-"keyword": "algebraic approach"},
+"keyword": "presented formalization"},
{"id": 4637,
-"keyword": "completeness proofs naturally suggest"},
+"keyword": "topological proof"},
{"id": 4638,
-"keyword": "ifip networking 2016"},
+"keyword": "value-dependent noninterference property"},
{"id": 4639,
-"keyword": "integer lattice 8484"},
+"keyword": "consensus problem"},
{"id": 4640,
-"keyword": "weak duality theorem"},
+"keyword": "drf guarantee"},
{"id": 4641,
-"keyword": "jinja source"},
+"keyword": "threshold probability"},
{"id": 4642,
-"keyword": "finite stuttering"},
+"keyword": "standard finite_map theory"},
{"id": 4643,
-"keyword": "standard proof methods"},
+"keyword": "logic programming"},
{"id": 4644,
-"keyword": "executable emulator"},
+"keyword": "large tree automata"},
{"id": 4645,
-"keyword": "leading power-product"},
+"keyword": "program construction"},
{"id": 4646,
-"keyword": "global context"},
+"keyword": "unlike traditional decision procedures"},
{"id": 4647,
-"keyword": "data transmission"},
+"keyword": "case"},
{"id": 4648,
-"keyword": "coercion ord_of_nat"},
+"keyword": "linear logics"},
{"id": 4649,
-"keyword": "present proof development represents"},
+"keyword": "free monoidal category"},
{"id": 4650,
-"keyword": "important specializations"},
+"keyword": "contribution reuses"},
{"id": 4651,
-"keyword": "comprehension principle"},
+"keyword": "smaller set"},
{"id": 4652,
-"keyword": "log log"},
-{"id": 4653,
-"keyword": "machine language"},
-{"id": 4654,
-"keyword": "tensor product"},
-{"id": 4655,
-"keyword": "minkowski space-time"},
-{"id": 4656,
-"keyword": "ordered semirings"},
-{"id": 4657,
-"keyword": "finite support"},
-{"id": 4658,
-"keyword": "certifying primes"},
-{"id": 4659,
-"keyword": "computational modeling"},
-{"id": 4660,
-"keyword": "regular arithmetic geometric"},
-{"id": 4661,
-"keyword": "marked regular expressions"},
-{"id": 4662,
-"keyword": "9th international joint conference"},
-{"id": 4663,
-"keyword": "term rewriting"},
-{"id": 4664,
-"keyword": "maximum norm"},
-{"id": 4665,
-"keyword": "combined result"},
-{"id": 4666,
-"keyword": "unnamed initial segment"},
-{"id": 4667,
-"keyword": "simulation-based security paradigms"},
-{"id": 4668,
-"keyword": "fixpoint theorem"},
-{"id": 4669,
->>>>>>> merge rev
-"keyword": "modified version"},
-<<<<<<< working copy
-{"id": 4621,
-||||||| common ancestor
-{"id": 4629,
-=======
-{"id": 4670,
->>>>>>> merge rev
-"keyword": "object-oriented data"},
-<<<<<<< working copy
-{"id": 4622,
-||||||| common ancestor
-{"id": 4630,
-=======
-{"id": 4671,
->>>>>>> merge rev
-"keyword": "modular hierarchy"},
-<<<<<<< working copy
-{"id": 4623,
-||||||| common ancestor
-{"id": 4631,
-=======
-{"id": 4672,
->>>>>>> merge rev
-"keyword": "finite-dimensional vector spaces"},
-<<<<<<< working copy
-{"id": 4624,
-||||||| common ancestor
-{"id": 4632,
-=======
-{"id": 4673,
->>>>>>> merge rev
-"keyword": "type"},
-<<<<<<< working copy
-{"id": 4625,
-||||||| common ancestor
-{"id": 4633,
-=======
-{"id": 4674,
->>>>>>> merge rev
-"keyword": "source code"},
-<<<<<<< working copy
-{"id": 4626,
-||||||| common ancestor
-{"id": 4634,
-=======
-{"id": 4675,
->>>>>>> merge rev
-"keyword": "trusted reference implementation"},
-<<<<<<< working copy
-{"id": 4627,
-||||||| common ancestor
-{"id": 4635,
-=======
-{"id": 4676,
->>>>>>> merge rev
-"keyword": "establish existence"},
-<<<<<<< working copy
-{"id": 4628,
-||||||| common ancestor
-{"id": 4636,
-=======
-{"id": 4677,
->>>>>>> merge rev
-"keyword": "compute short vectors"},
-<<<<<<< working copy
-{"id": 4629,
-||||||| common ancestor
-{"id": 4637,
-=======
-{"id": 4678,
->>>>>>> merge rev
-"keyword": "recursive functions"},
-<<<<<<< working copy
-{"id": 4630,
-||||||| common ancestor
-{"id": 4638,
-=======
-{"id": 4679,
->>>>>>> merge rev
-"keyword": "write access"},
-<<<<<<< working copy
-{"id": 4631,
-||||||| common ancestor
-{"id": 4639,
-=======
-{"id": 4680,
->>>>>>> merge rev
-"keyword": "applying sturm"},
-<<<<<<< working copy
-{"id": 4632,
-||||||| common ancestor
-{"id": 4640,
-=======
-{"id": 4681,
->>>>>>> merge rev
-"keyword": "regularity lemma"},
-<<<<<<< working copy
-{"id": 4633,
-||||||| common ancestor
-{"id": 4641,
-=======
-{"id": 4682,
->>>>>>> merge rev
-"keyword": "worst case"},
-<<<<<<< working copy
-{"id": 4634,
-"keyword": "random bst"},
-{"id": 4635,
-"keyword": "general attacker"},
-{"id": 4636,
-"keyword": "base vectors"},
-{"id": 4637,
-"keyword": "cofinitary group"},
-{"id": 4638,
-"keyword": "system implies"},
-{"id": 4639,
-"keyword": "johann bernoulli"},
-{"id": 4640,
-"keyword": "ramanujan sums gauss sums"},
-{"id": 4641,
-"keyword": "axiomatic type classes"},
-{"id": 4642,
-"keyword": "stability"},
-{"id": 4643,
-"keyword": "word problem"},
-{"id": 4644,
-"keyword": "numerous applications"},
-{"id": 4645,
-"keyword": "stothers theorem"},
-{"id": 4646,
-"keyword": "probabilistic data structure"},
-{"id": 4647,
-"keyword": "kan extensions"},
-{"id": 4648,
-"keyword": "cut admissibility"},
-{"id": 4649,
-||||||| common ancestor
-{"id": 4642,
-"keyword": "random bst"},
-{"id": 4643,
-"keyword": "general attacker"},
-{"id": 4644,
-"keyword": "base vectors"},
-{"id": 4645,
-"keyword": "cofinitary group"},
-{"id": 4646,
-"keyword": "system implies"},
-{"id": 4647,
-"keyword": "johann bernoulli"},
-{"id": 4648,
-"keyword": "ramanujan sums gauss sums"},
-{"id": 4649,
-"keyword": "axiomatic type classes"},
-{"id": 4650,
-"keyword": "stability"},
-{"id": 4651,
-"keyword": "word problem"},
-{"id": 4652,
-"keyword": "numerous applications"},
+"keyword": "odd bernoulli numbers"},
{"id": 4653,
-"keyword": "stothers theorem"},
+"keyword": "axiomatic characterization"},
{"id": 4654,
-"keyword": "probabilistic data structure"},
+"keyword": "original article"},
{"id": 4655,
-"keyword": "kan extensions"},
+"keyword": "useless zero-reductions"},
{"id": 4656,
-"keyword": "cut admissibility"},
+"keyword": "integer variables"},
{"id": 4657,
-=======
-{"id": 4683,
-"keyword": "random bst"},
-{"id": 4684,
-"keyword": "general attacker"},
-{"id": 4685,
-"keyword": "base vectors"},
-{"id": 4686,
-"keyword": "cofinitary group"},
-{"id": 4687,
-"keyword": "system implies"},
-{"id": 4688,
-"keyword": "johann bernoulli"},
-{"id": 4689,
-"keyword": "ramanujan sums gauss sums"},
-{"id": 4690,
-"keyword": "axiomatic type classes"},
-{"id": 4691,
-"keyword": "stability"},
-{"id": 4692,
-"keyword": "word problem"},
-{"id": 4693,
-"keyword": "numerous applications"},
-{"id": 4694,
-"keyword": "stothers theorem"},
-{"id": 4695,
-"keyword": "probabilistic data structure"},
-{"id": 4696,
-"keyword": "kan extensions"},
-{"id": 4697,
-"keyword": "cut admissibility"},
-{"id": 4698,
->>>>>>> merge rev
-"keyword": "additional password"},
-<<<<<<< working copy
-{"id": 4650,
-||||||| common ancestor
+"keyword": "important introductory theorems"},
{"id": 4658,
-=======
-{"id": 4699,
->>>>>>> merge rev
-"keyword": "nat-bijection theory"},
-<<<<<<< working copy
-{"id": 4651,
-||||||| common ancestor
+"keyword": "proof due"},
{"id": 4659,
-=======
-{"id": 4700,
->>>>>>> merge rev
-"keyword": "expected utility theory"},
-<<<<<<< working copy
-{"id": 4652,
-||||||| common ancestor
+"keyword": "common ground"},
{"id": 4660,
-=======
-{"id": 4701,
->>>>>>> merge rev
-"keyword": "language emptiness problem"},
-<<<<<<< working copy
-{"id": 4653,
-"keyword": "generic worklist algorithm"},
-{"id": 4654,
-"keyword": "timed automata carries"},
-{"id": 4655,
-"keyword": "linear-time temporal logic"},
-{"id": 4656,
-"keyword": "safe navigation operations"},
-{"id": 4657,
-"keyword": "generative probabilistic"},
-{"id": 4658,
-"keyword": "derive notions"},
-{"id": 4659,
-"keyword": "formalising single binder calculi"},
-{"id": 4660,
-"keyword": "high-level algorithm"},
+"keyword": "terminated successfully"},
{"id": 4661,
-"keyword": "one-pass uniform substitutions"},
+"keyword": "monadic interpreter"},
{"id": 4662,
-"keyword": "hidden markov models"},
+"keyword": "support negative joins"},
{"id": 4663,
-"keyword": "main theorem states"},
+"keyword": "nontrivial size"},
{"id": 4664,
-"keyword": "adaptive state counting"},
+"keyword": "ternary kripke frames"},
{"id": 4665,
-"keyword": "kronecker tensor product"},
+"keyword": "monolithic structure"},
{"id": 4666,
-"keyword": "current element"},
+"keyword": "immutable arrays"},
{"id": 4667,
-"keyword": "relation algebra"},
+"keyword": "epsilon free top-"},
{"id": 4668,
-"keyword": "observation set"},
+"keyword": "algebraic approach"},
{"id": 4669,
-"keyword": "minimisation"},
+"keyword": "completeness proofs naturally suggest"},
{"id": 4670,
-"keyword": "direct semantics"},
+"keyword": "ifip networking 2016"},
{"id": 4671,
-"keyword": "dynamic logics"},
+"keyword": "integer lattice 8484"},
{"id": 4672,
-"keyword": "remain anonymous"},
+"keyword": "weak duality theorem"},
{"id": 4673,
-"keyword": "generalized topological semantics"},
+"keyword": "jinja source"},
{"id": 4674,
-"keyword": "compiler composition"},
+"keyword": "finite stuttering"},
{"id": 4675,
-"keyword": "called concurrent transition systems"},
+"keyword": "standard proof methods"},
{"id": 4676,
-"keyword": "tensor analysis"},
+"keyword": "executable emulator"},
{"id": 4677,
-"keyword": "concrete laplace transforms"},
+"keyword": "leading power-product"},
{"id": 4678,
-||||||| common ancestor
-{"id": 4661,
-"keyword": "generic worklist algorithm"},
-{"id": 4662,
-"keyword": "timed automata carries"},
-{"id": 4663,
-"keyword": "linear-time temporal logic"},
-{"id": 4664,
-"keyword": "safe navigation operations"},
-{"id": 4665,
-"keyword": "generative probabilistic"},
-{"id": 4666,
-"keyword": "derive notions"},
-{"id": 4667,
-"keyword": "formalising single binder calculi"},
-{"id": 4668,
-"keyword": "high-level algorithm"},
-{"id": 4669,
-"keyword": "one-pass uniform substitutions"},
-{"id": 4670,
-"keyword": "hidden markov models"},
-{"id": 4671,
-"keyword": "main theorem states"},
-{"id": 4672,
-"keyword": "adaptive state counting"},
-{"id": 4673,
-"keyword": "kronecker tensor product"},
-{"id": 4674,
-"keyword": "current element"},
-{"id": 4675,
-"keyword": "relation algebra"},
-{"id": 4676,
-"keyword": "observation set"},
-{"id": 4677,
-"keyword": "minimisation"},
-{"id": 4678,
-"keyword": "direct semantics"},
+"keyword": "global context"},
{"id": 4679,
-"keyword": "dynamic logics"},
+"keyword": "data transmission"},
{"id": 4680,
-"keyword": "remain anonymous"},
+"keyword": "coercion ord_of_nat"},
{"id": 4681,
-"keyword": "generalized topological semantics"},
+"keyword": "present proof development represents"},
{"id": 4682,
-"keyword": "compiler composition"},
+"keyword": "important specializations"},
{"id": 4683,
-"keyword": "called concurrent transition systems"},
+"keyword": "comprehension principle"},
{"id": 4684,
-"keyword": "tensor analysis"},
+"keyword": "log log"},
{"id": 4685,
-"keyword": "concrete laplace transforms"},
+"keyword": "machine language"},
{"id": 4686,
-=======
-{"id": 4702,
-"keyword": "generic worklist algorithm"},
-{"id": 4703,
-"keyword": "timed automata carries"},
-{"id": 4704,
-"keyword": "linear-time temporal logic"},
-{"id": 4705,
-"keyword": "safe navigation operations"},
-{"id": 4706,
-"keyword": "generative probabilistic"},
-{"id": 4707,
-"keyword": "derive notions"},
-{"id": 4708,
-"keyword": "formalising single binder calculi"},
-{"id": 4709,
-"keyword": "high-level algorithm"},
-{"id": 4710,
-"keyword": "one-pass uniform substitutions"},
-{"id": 4711,
-"keyword": "hidden markov models"},
-{"id": 4712,
-"keyword": "main theorem states"},
-{"id": 4713,
-"keyword": "adaptive state counting"},
-{"id": 4714,
-"keyword": "kronecker tensor product"},
-{"id": 4715,
-"keyword": "current element"},
-{"id": 4716,
-"keyword": "relation algebra"},
-{"id": 4717,
-"keyword": "observation set"},
-{"id": 4718,
-"keyword": "minimisation"},
-{"id": 4719,
-"keyword": "direct semantics"},
-{"id": 4720,
-"keyword": "dynamic logics"},
-{"id": 4721,
-"keyword": "remain anonymous"},
-{"id": 4722,
-"keyword": "generalized topological semantics"},
-{"id": 4723,
-"keyword": "compiler composition"},
-{"id": 4724,
-"keyword": "called concurrent transition systems"},
-{"id": 4725,
-"keyword": "tensor analysis"},
-{"id": 4726,
-"keyword": "concrete laplace transforms"},
-{"id": 4727,
->>>>>>> merge rev
-"keyword": "complex construction"},
-<<<<<<< working copy
-{"id": 4679,
-||||||| common ancestor
+"keyword": "tensor product"},
{"id": 4687,
-=======
-{"id": 4728,
->>>>>>> merge rev
-"keyword": "publisher subscriber"},
-<<<<<<< working copy
-{"id": 4680,
-||||||| common ancestor
+"keyword": "minkowski space-time"},
{"id": 4688,
-=======
-{"id": 4729,
->>>>>>> merge rev
-"keyword": "list interleavings"},
-<<<<<<< working copy
-{"id": 4681,
-||||||| common ancestor
+"keyword": "ordered semirings"},
{"id": 4689,
-=======
-{"id": 4730,
->>>>>>> merge rev
-"keyword": "flows model"},
-<<<<<<< working copy
-{"id": 4682,
-"keyword": "axioms set proposed"},
-{"id": 4683,
-"keyword": "similar construction"},
-{"id": 4684,
-"keyword": "features dynamic thread creation"},
-{"id": 4685,
-"keyword": "random-permutation random-function switching lemma"},
-{"id": 4686,
-"keyword": "defensive strategies"},
-{"id": 4687,
-"keyword": "real world"},
-{"id": 4688,
-"keyword": "function eval checking"},
-{"id": 4689,
-"keyword": "disjoint sums"},
+"keyword": "finite support"},
{"id": 4690,
-"keyword": "imperative implementation"},
+"keyword": "certifying primes"},
{"id": 4691,
-"keyword": "large formalization efforts"},
+"keyword": "computational modeling"},
{"id": 4692,
-"keyword": "term rewrite systems"},
+"keyword": "regular arithmetic geometric"},
{"id": 4693,
-"keyword": "executable ml code"},
+"keyword": "marked regular expressions"},
{"id": 4694,
-"keyword": "locally nameless representation"},
-{"id": 4695,
-"keyword": "fault-tolerant midpoint algorithm"},
-{"id": 4696,
-"keyword": "metatheoretical properties"},
-{"id": 4697,
-||||||| common ancestor
-{"id": 4690,
-"keyword": "axioms set proposed"},
-{"id": 4691,
-"keyword": "similar construction"},
-{"id": 4692,
-"keyword": "features dynamic thread creation"},
-{"id": 4693,
-"keyword": "random-permutation random-function switching lemma"},
-{"id": 4694,
-"keyword": "defensive strategies"},
+"keyword": "9th international joint conference"},
{"id": 4695,
-"keyword": "real world"},
+"keyword": "term rewriting"},
{"id": 4696,
-"keyword": "function eval checking"},
+"keyword": "maximum norm"},
{"id": 4697,
-"keyword": "disjoint sums"},
+"keyword": "combined result"},
{"id": 4698,
-"keyword": "imperative implementation"},
+"keyword": "unnamed initial segment"},
{"id": 4699,
-"keyword": "large formalization efforts"},
+"keyword": "simulation-based security paradigms"},
{"id": 4700,
-"keyword": "term rewrite systems"},
+"keyword": "fixpoint theorem"},
{"id": 4701,
-"keyword": "executable ml code"},
+"keyword": "modified version"},
{"id": 4702,
-"keyword": "locally nameless representation"},
+"keyword": "object-oriented data"},
{"id": 4703,
-"keyword": "fault-tolerant midpoint algorithm"},
+"keyword": "modular hierarchy"},
{"id": 4704,
-"keyword": "metatheoretical properties"},
+"keyword": "finite-dimensional vector spaces"},
{"id": 4705,
-=======
-{"id": 4731,
-"keyword": "axioms set proposed"},
-{"id": 4732,
-"keyword": "similar construction"},
-{"id": 4733,
-"keyword": "features dynamic thread creation"},
-{"id": 4734,
-"keyword": "random-permutation random-function switching lemma"},
-{"id": 4735,
-"keyword": "defensive strategies"},
-{"id": 4736,
-"keyword": "real world"},
-{"id": 4737,
-"keyword": "function eval checking"},
-{"id": 4738,
-"keyword": "disjoint sums"},
-{"id": 4739,
-"keyword": "imperative implementation"},
-{"id": 4740,
-"keyword": "large formalization efforts"},
-{"id": 4741,
-"keyword": "term rewrite systems"},
-{"id": 4742,
-"keyword": "programming languages support working"},
-{"id": 4743,
-"keyword": "executable ml code"},
-{"id": 4744,
-"keyword": "locally nameless representation"},
-{"id": 4745,
-"keyword": "fault-tolerant midpoint algorithm"},
-{"id": 4746,
-"keyword": "metatheoretical properties"},
-{"id": 4747,
->>>>>>> merge rev
-"keyword": "strictly larger"},
-<<<<<<< working copy
-{"id": 4698,
-||||||| common ancestor
+"keyword": "type"},
{"id": 4706,
-=======
-{"id": 4748,
->>>>>>> merge rev
-"keyword": "direct application"},
-<<<<<<< working copy
-{"id": 4699,
-"keyword": "runtime bounds"},
-{"id": 4700,
-"keyword": "physical clocks"},
-{"id": 4701,
-"keyword": "schultz refers"},
-{"id": 4702,
-"keyword": "first-order logic metatheory"},
-{"id": 4703,
-"keyword": "executable equivalence checker"},
-{"id": 4704,
-"keyword": "computability theory"},
-{"id": 4705,
-"keyword": "stellar quorum systems"},
-{"id": 4706,
-"keyword": "sequence preserves fairness"},
+"keyword": "source code"},
{"id": 4707,
-"keyword": "single binders"},
+"keyword": "trusted reference implementation"},
{"id": 4708,
-"keyword": "microsoft research"},
+"keyword": "establish existence"},
{"id": 4709,
-"keyword": "square integrable functions"},
+"keyword": "compute short vectors"},
{"id": 4710,
-"keyword": "formal differentiation"},
+"keyword": "recursive functions"},
{"id": 4711,
-"keyword": "logarithmic amortized complexity"},
+"keyword": "write access"},
{"id": 4712,
-"keyword": "tfrac 1 2 log"},
+"keyword": "applying sturm"},
{"id": 4713,
-"keyword": "shared bdd"},
+"keyword": "regularity lemma"},
{"id": 4714,
-"keyword": "euclidean space indexed"},
+"keyword": "worst case"},
{"id": 4715,
-"keyword": "multi-node extension"},
+"keyword": "random bst"},
{"id": 4716,
-"keyword": "existing formal developments"},
+"keyword": "general attacker"},
{"id": 4717,
-"keyword": "stores key information"},
+"keyword": "base vectors"},
{"id": 4718,
-"keyword": "generic tactics"},
+"keyword": "cofinitary group"},
{"id": 4719,
-"keyword": "taking advantage"},
+"keyword": "system implies"},
{"id": 4720,
-"keyword": "article knight"},
+"keyword": "johann bernoulli"},
{"id": 4721,
-"keyword": "output infinite sequences"},
+"keyword": "ramanujan sums gauss sums"},
{"id": 4722,
-"keyword": "universal turing machine entry"},
+"keyword": "axiomatic type classes"},
{"id": 4723,
-"keyword": "traditional approach"},
+"keyword": "stability"},
{"id": 4724,
-"keyword": "monoidal categories"},
+"keyword": "word problem"},
{"id": 4725,
-"keyword": "knaster tarski theorem"},
+"keyword": "notes introduction"},
{"id": 4726,
-"keyword": "tool implementors"},
+"keyword": "numerous applications"},
{"id": 4727,
-"keyword": "hol formalization"},
+"keyword": "stothers theorem"},
{"id": 4728,
-"keyword": "achieve high expressiveness"},
+"keyword": "probabilistic data structure"},
{"id": 4729,
-"keyword": "generic consistency ---"},
+"keyword": "kan extensions"},
{"id": 4730,
-"keyword": "ipv4 addresses"},
+"keyword": "cut admissibility"},
{"id": 4731,
-"keyword": "operators combine"},
+"keyword": "additional password"},
{"id": 4732,
-"keyword": "refinement relations"},
+"keyword": "nat-bijection theory"},
{"id": 4733,
-"keyword": "isafor ceta-system"},
+"keyword": "expected utility theory"},
{"id": 4734,
-"keyword": "dot-decimal notation"},
+"keyword": "language emptiness problem"},
{"id": 4735,
-"keyword": "allocation function allocates goods"},
+"keyword": "generic worklist algorithm"},
{"id": 4736,
-"keyword": "failure assumptions"},
+"keyword": "timed automata carries"},
{"id": 4737,
-"keyword": "reduction path"},
+"keyword": "linear-time temporal logic"},
{"id": 4738,
-"keyword": "spectral radius"},
+"keyword": "safe navigation operations"},
{"id": 4739,
-"keyword": "imperative refinement framework"},
+"keyword": "generative probabilistic"},
{"id": 4740,
-"keyword": "sparse grid"},
+"keyword": "derive notions"},
{"id": 4741,
-"keyword": "generic construction"},
+"keyword": "formalising single binder calculi"},
{"id": 4742,
-"keyword": "opposite case"},
+"keyword": "high-level algorithm"},
{"id": 4743,
-"keyword": "sound syntactic criteria"},
+"keyword": "one-pass uniform substitutions"},
{"id": 4744,
-"keyword": "noninterference proofs"},
+"keyword": "hidden markov models"},
{"id": 4745,
-"keyword": "easily obtained"},
+"keyword": "main theorem states"},
{"id": 4746,
-"keyword": "efficient imperative version"},
+"keyword": "adaptive state counting"},
{"id": 4747,
-"keyword": "mechanically supported logic analysis"},
+"keyword": "kronecker tensor product"},
{"id": 4748,
-"keyword": "time bounds"},
+"keyword": "current element"},
{"id": 4749,
-"keyword": "terms"},
+"keyword": "relation algebra"},
{"id": 4750,
-"keyword": "proof rules"},
+"keyword": "observation set"},
{"id": 4751,
-"keyword": "successively extending"},
+"keyword": "minimisation"},
{"id": 4752,
-"keyword": "concrete algorithms implementations"},
+"keyword": "direct semantics"},
{"id": 4753,
-"keyword": "closure property"},
+"keyword": "dynamic logics"},
{"id": 4754,
-"keyword": "pattern poses"},
+"keyword": "remain anonymous"},
{"id": 4755,
-"keyword": "sufficiently large inputs"},
+"keyword": "generalized topological semantics"},
{"id": 4756,
-"keyword": "reflexive transitive closure"},
-||||||| common ancestor
-{"id": 4707,
+"keyword": "compiler composition"},
+{"id": 4757,
+"keyword": "called concurrent transition systems"},
+{"id": 4758,
+"keyword": "tensor analysis"},
+{"id": 4759,
+"keyword": "concrete laplace transforms"},
+{"id": 4760,
+"keyword": "complex construction"},
+{"id": 4761,
+"keyword": "publisher subscriber"},
+{"id": 4762,
+"keyword": "list interleavings"},
+{"id": 4763,
+"keyword": "flows model"},
+{"id": 4764,
+"keyword": "axioms set proposed"},
+{"id": 4765,
+"keyword": "similar construction"},
+{"id": 4766,
+"keyword": "features dynamic thread creation"},
+{"id": 4767,
+"keyword": "random-permutation random-function switching lemma"},
+{"id": 4768,
+"keyword": "defensive strategies"},
+{"id": 4769,
+"keyword": "real world"},
+{"id": 4770,
+"keyword": "function eval checking"},
+{"id": 4771,
+"keyword": "disjoint sums"},
+{"id": 4772,
+"keyword": "imperative implementation"},
+{"id": 4773,
+"keyword": "large formalization efforts"},
+{"id": 4774,
+"keyword": "term rewrite systems"},
+{"id": 4775,
+"keyword": "programming languages support working"},
+{"id": 4776,
+"keyword": "executable ml code"},
+{"id": 4777,
+"keyword": "locally nameless representation"},
+{"id": 4778,
+"keyword": "fault-tolerant midpoint algorithm"},
+{"id": 4779,
+"keyword": "metatheoretical properties"},
+{"id": 4780,
+"keyword": "strictly larger"},
+{"id": 4781,
+"keyword": "direct application"},
+{"id": 4782,
"keyword": "runtime bounds"},
-{"id": 4708,
+{"id": 4783,
"keyword": "physical clocks"},
-{"id": 4709,
+{"id": 4784,
"keyword": "schultz refers"},
-{"id": 4710,
+{"id": 4785,
"keyword": "first-order logic metatheory"},
-{"id": 4711,
-"keyword": "executable equivalence checker"},
-{"id": 4712,
-"keyword": "computability theory"},
-{"id": 4713,
-"keyword": "stellar quorum systems"},
-{"id": 4714,
-"keyword": "sequence preserves fairness"},
-{"id": 4715,
-"keyword": "single binders"},
-{"id": 4716,
-"keyword": "microsoft research"},
-{"id": 4717,
-"keyword": "square integrable functions"},
-{"id": 4718,
-"keyword": "formal differentiation"},
-{"id": 4719,
-"keyword": "logarithmic amortized complexity"},
-{"id": 4720,
-"keyword": "tfrac 1 2 log"},
-{"id": 4721,
-"keyword": "shared bdd"},
-{"id": 4722,
-"keyword": "euclidean space indexed"},
-{"id": 4723,
-"keyword": "multi-node extension"},
-{"id": 4724,
-"keyword": "existing formal developments"},
-{"id": 4725,
-"keyword": "stores key information"},
-{"id": 4726,
-"keyword": "generic tactics"},
-{"id": 4727,
-"keyword": "taking advantage"},
-{"id": 4728,
-"keyword": "article knight"},
-{"id": 4729,
-"keyword": "output infinite sequences"},
-{"id": 4730,
-"keyword": "universal turing machine entry"},
-{"id": 4731,
-"keyword": "traditional approach"},
-{"id": 4732,
-"keyword": "monoidal categories"},
-{"id": 4733,
-"keyword": "knaster tarski theorem"},
-{"id": 4734,
-"keyword": "tool implementors"},
-{"id": 4735,
-"keyword": "hol formalization"},
-{"id": 4736,
-"keyword": "achieve high expressiveness"},
-{"id": 4737,
-"keyword": "generic consistency ---"},
-{"id": 4738,
-"keyword": "ipv4 addresses"},
-{"id": 4739,
-"keyword": "operators combine"},
-{"id": 4740,
-"keyword": "refinement relations"},
-{"id": 4741,
-"keyword": "isafor ceta-system"},
-{"id": 4742,
-"keyword": "dot-decimal notation"},
-{"id": 4743,
-"keyword": "allocation function allocates goods"},
-{"id": 4744,
-"keyword": "failure assumptions"},
-{"id": 4745,
-"keyword": "reduction path"},
-{"id": 4746,
-"keyword": "spectral radius"},
-{"id": 4747,
-"keyword": "imperative refinement framework"},
-{"id": 4748,
-"keyword": "sparse grid"},
-{"id": 4749,
-"keyword": "generic construction"},
-{"id": 4750,
-"keyword": "opposite case"},
-{"id": 4751,
-"keyword": "sound syntactic criteria"},
-{"id": 4752,
-"keyword": "noninterference proofs"},
-{"id": 4753,
-"keyword": "easily obtained"},
-{"id": 4754,
-"keyword": "efficient imperative version"},
-{"id": 4755,
-"keyword": "mechanically supported logic analysis"},
-{"id": 4756,
-"keyword": "time bounds"},
-=======
-{"id": 4749,
-"keyword": "runtime bounds"},
-{"id": 4750,
-"keyword": "physical clocks"},
-{"id": 4751,
-"keyword": "schultz refers"},
-{"id": 4752,
-"keyword": "first-order logic metatheory"},
-{"id": 4753,
+{"id": 4786,
"keyword": "executable equivalence checker"},
-{"id": 4754,
-"keyword": "computability theory"},
-{"id": 4755,
+{"id": 4787,
"keyword": "stellar quorum systems"},
-{"id": 4756,
+{"id": 4788,
"keyword": "sequence preserves fairness"},
->>>>>>> merge rev
-{"id": 4757,
-<<<<<<< working copy
-"keyword": "mathematical sets"},
-||||||| common ancestor
-"keyword": "terms"},
-=======
+{"id": 4789,
"keyword": "single binders"},
->>>>>>> merge rev
-{"id": 4758,
-<<<<<<< working copy
-"keyword": "real world distributed systems"},
-||||||| common ancestor
-"keyword": "proof rules"},
-=======
+{"id": 4790,
"keyword": "microsoft research"},
->>>>>>> merge rev
-{"id": 4759,
-<<<<<<< working copy
-"keyword": "wolfram engine"},
-||||||| common ancestor
-"keyword": "successively extending"},
-=======
+{"id": 4791,
"keyword": "square integrable functions"},
->>>>>>> merge rev
-{"id": 4760,
-<<<<<<< working copy
-"keyword": "compositionality proofs"},
-||||||| common ancestor
-"keyword": "concrete algorithms implementations"},
-=======
+{"id": 4792,
"keyword": "formal differentiation"},
->>>>>>> merge rev
-{"id": 4761,
-<<<<<<< working copy
-"keyword": "employs herbrand"},
-||||||| common ancestor
-"keyword": "closure property"},
-=======
+{"id": 4793,
"keyword": "logarithmic amortized complexity"},
->>>>>>> merge rev
-{"id": 4762,
-<<<<<<< working copy
-"keyword": "extra-history change history"},
-||||||| common ancestor
-"keyword": "pattern poses"},
-=======
+{"id": 4794,
"keyword": "tfrac 1 2 log"},
->>>>>>> merge rev
-{"id": 4763,
-<<<<<<< working copy
-"keyword": "real component"},
-||||||| common ancestor
-"keyword": "sufficiently large inputs"},
-=======
+{"id": 4795,
"keyword": "shared bdd"},
->>>>>>> merge rev
-{"id": 4764,
-<<<<<<< working copy
-"keyword": "replicated datatypes"},
-||||||| common ancestor
-"keyword": "reflexive transitive closure"},
-=======
+{"id": 4796,
"keyword": "euclidean space indexed"},
->>>>>>> merge rev
-{"id": 4765,
-<<<<<<< working copy
-"keyword": "solving markov decision processes"},
-{"id": 4766,
-"keyword": "pure exchange economy"},
-{"id": 4767,
-"keyword": "integer coefficients"},
-{"id": 4768,
-"keyword": "initial states"},
-{"id": 4769,
-"keyword": "good closure properties"},
-{"id": 4770,
-"keyword": "faithful formalization"},
-{"id": 4771,
-"keyword": "free basis"},
-{"id": 4772,
-"keyword": "rational actors"},
-{"id": 4773,
-"keyword": "functional automata"},
-{"id": 4774,
-"keyword": "kleene star"},
-{"id": 4775,
-"keyword": "effect polymorphism"},
-||||||| common ancestor
-"keyword": "real world distributed systems"},
-{"id": 4766,
-"keyword": "wolfram engine"},
-{"id": 4767,
-"keyword": "compositionality proofs"},
-{"id": 4768,
-"keyword": "employs herbrand"},
-{"id": 4769,
-"keyword": "extra-history change history"},
-{"id": 4770,
-"keyword": "real component"},
-{"id": 4771,
-"keyword": "replicated datatypes"},
-{"id": 4772,
-"keyword": "solving markov decision processes"},
-{"id": 4773,
-"keyword": "pure exchange economy"},
-{"id": 4774,
-"keyword": "integer coefficients"},
-{"id": 4775,
-"keyword": "initial states"},
-=======
+{"id": 4797,
"keyword": "multi-node extension"},
-{"id": 4766,
+{"id": 4798,
"keyword": "existing formal developments"},
-{"id": 4767,
+{"id": 4799,
"keyword": "stores key information"},
-{"id": 4768,
+{"id": 4800,
"keyword": "generic tactics"},
-{"id": 4769,
+{"id": 4801,
"keyword": "taking advantage"},
-{"id": 4770,
+{"id": 4802,
"keyword": "article knight"},
-{"id": 4771,
+{"id": 4803,
"keyword": "output infinite sequences"},
-{"id": 4772,
+{"id": 4804,
"keyword": "universal turing machine entry"},
-{"id": 4773,
+{"id": 4805,
"keyword": "traditional approach"},
-{"id": 4774,
+{"id": 4806,
"keyword": "monoidal categories"},
-{"id": 4775,
+{"id": 4807,
"keyword": "knaster tarski theorem"},
->>>>>>> merge rev
-{"id": 4776,
-<<<<<<< working copy
-"keyword": "kleene algebras remain"},
-||||||| common ancestor
-"keyword": "good closure properties"},
-=======
+{"id": 4808,
"keyword": "tool implementors"},
->>>>>>> merge rev
-{"id": 4777,
-<<<<<<< working copy
-"keyword": "cancellative separation algebra"},
-||||||| common ancestor
-"keyword": "faithful formalization"},
-=======
+{"id": 4809,
"keyword": "hol formalization"},
->>>>>>> merge rev
-{"id": 4778,
-<<<<<<< working copy
-"keyword": "running time bounds"},
-||||||| common ancestor
-"keyword": "free basis"},
-=======
+{"id": 4810,
"keyword": "achieve high expressiveness"},
->>>>>>> merge rev
-{"id": 4779,
-<<<<<<< working copy
-"keyword": "resulting hierarchy"},
-||||||| common ancestor
-"keyword": "rational actors"},
-=======
+{"id": 4811,
"keyword": "generic consistency ---"},
->>>>>>> merge rev
-{"id": 4780,
-<<<<<<< working copy
-"keyword": "word count program"},
-||||||| common ancestor
-"keyword": "functional automata"},
-=======
+{"id": 4812,
"keyword": "ipv4 addresses"},
->>>>>>> merge rev
-{"id": 4781,
-<<<<<<< working copy
-"keyword": "memory implementations"},
-||||||| common ancestor
-"keyword": "kleene star"},
-=======
+{"id": 4813,
"keyword": "operators combine"},
->>>>>>> merge rev
-{"id": 4782,
-<<<<<<< working copy
-"keyword": "binding signature"},
-||||||| common ancestor
-"keyword": "effect polymorphism"},
-=======
+{"id": 4814,
"keyword": "refinement relations"},
->>>>>>> merge rev
-{"id": 4783,
-<<<<<<< working copy
-"keyword": "rational polynomials"},
-||||||| common ancestor
-"keyword": "kleene algebras remain"},
-=======
+{"id": 4815,
"keyword": "isafor ceta-system"},
->>>>>>> merge rev
-{"id": 4784,
-<<<<<<< working copy
-"keyword": "polymorphic lambda-calculus extended"},
-||||||| common ancestor
-"keyword": "cancellative separation algebra"},
-=======
+{"id": 4816,
"keyword": "dot-decimal notation"},
->>>>>>> merge rev
-{"id": 4785,
-<<<<<<< working copy
-"keyword": "recursion combinator"},
-{"id": 4786,
-"keyword": "partial commutativity relationships"},
-{"id": 4787,
-"keyword": "iptables match condition"},
-{"id": 4788,
-"keyword": "l-shaped tiles"},
-{"id": 4789,
-"keyword": "metric temporal logic"},
-{"id": 4790,
-"keyword": "verifying depth-"},
-{"id": 4791,
-"keyword": "alpha_1 ldots beta_n"},
-{"id": 4792,
-"keyword": "basic notions"},
-{"id": 4793,
-"keyword": "intransitive purge function"},
-{"id": 4794,
-||||||| common ancestor
-"keyword": "running time bounds"},
-{"id": 4786,
-"keyword": "resulting hierarchy"},
-{"id": 4787,
-"keyword": "word count program"},
-{"id": 4788,
-"keyword": "memory implementations"},
-{"id": 4789,
-"keyword": "binding signature"},
-{"id": 4790,
-"keyword": "rational polynomials"},
-{"id": 4791,
-"keyword": "polymorphic lambda-calculus extended"},
-{"id": 4792,
-"keyword": "recursion combinator"},
-{"id": 4793,
-"keyword": "partial commutativity relationships"},
-{"id": 4794,
-"keyword": "iptables match condition"},
-{"id": 4795,
-"keyword": "l-shaped tiles"},
-{"id": 4796,
-"keyword": "metric temporal logic"},
-{"id": 4797,
-"keyword": "verifying depth-"},
-{"id": 4798,
-"keyword": "alpha_1 ldots beta_n"},
-{"id": 4799,
-"keyword": "basic notions"},
-{"id": 4800,
-"keyword": "intransitive purge function"},
-{"id": 4801,
-=======
+{"id": 4817,
"keyword": "allocation function allocates goods"},
-{"id": 4786,
+{"id": 4818,
"keyword": "failure assumptions"},
-{"id": 4787,
+{"id": 4819,
"keyword": "reduction path"},
-{"id": 4788,
+{"id": 4820,
"keyword": "spectral radius"},
-{"id": 4789,
+{"id": 4821,
"keyword": "imperative refinement framework"},
-{"id": 4790,
+{"id": 4822,
"keyword": "sparse grid"},
-{"id": 4791,
+{"id": 4823,
"keyword": "generic construction"},
-{"id": 4792,
+{"id": 4824,
"keyword": "opposite case"},
-{"id": 4793,
+{"id": 4825,
"keyword": "sound syntactic criteria"},
-{"id": 4794,
+{"id": 4826,
"keyword": "noninterference proofs"},
-{"id": 4795,
+{"id": 4827,
"keyword": "easily obtained"},
-{"id": 4796,
+{"id": 4828,
"keyword": "efficient imperative version"},
-{"id": 4797,
-"keyword": "mechanically supported logic analysis"},
-{"id": 4798,
-"keyword": "time bounds"},
-{"id": 4799,
-"keyword": "terms"},
-{"id": 4800,
-"keyword": "proof rules"},
-{"id": 4801,
-"keyword": "successively extending"},
-{"id": 4802,
-"keyword": "concrete algorithms implementations"},
-{"id": 4803,
-"keyword": "closure property"},
-{"id": 4804,
-"keyword": "pattern poses"},
-{"id": 4805,
-"keyword": "sufficiently large inputs"},
-{"id": 4806,
-"keyword": "reflexive transitive closure"},
-{"id": 4807,
-"keyword": "real world distributed systems"},
-{"id": 4808,
-"keyword": "wolfram engine"},
-{"id": 4809,
-"keyword": "compositionality proofs"},
-{"id": 4810,
-"keyword": "employs herbrand"},
-{"id": 4811,
-"keyword": "extra-history change history"},
-{"id": 4812,
-"keyword": "real component"},
-{"id": 4813,
-"keyword": "replicated datatypes"},
-{"id": 4814,
-"keyword": "solving markov decision processes"},
-{"id": 4815,
-"keyword": "pure exchange economy"},
-{"id": 4816,
-"keyword": "integer coefficients"},
-{"id": 4817,
-"keyword": "initial states"},
-{"id": 4818,
-"keyword": "good closure properties"},
-{"id": 4819,
-"keyword": "faithful formalization"},
-{"id": 4820,
-"keyword": "free basis"},
-{"id": 4821,
-"keyword": "rational actors"},
-{"id": 4822,
-"keyword": "functional automata"},
-{"id": 4823,
-"keyword": "kleene star"},
-{"id": 4824,
-"keyword": "effect polymorphism"},
-{"id": 4825,
-"keyword": "kleene algebras remain"},
-{"id": 4826,
-"keyword": "cancellative separation algebra"},
-{"id": 4827,
-"keyword": "running time bounds"},
-{"id": 4828,
-"keyword": "resulting hierarchy"},
{"id": 4829,
-"keyword": "word count program"},
+"keyword": "mechanically supported logic analysis"},
{"id": 4830,
-"keyword": "memory implementations"},
-{"id": 4831,
-"keyword": "binding signature"},
-{"id": 4832,
-"keyword": "rational polynomials"},
-{"id": 4833,
-"keyword": "polymorphic lambda-calculus extended"},
-{"id": 4834,
-"keyword": "recursion combinator"},
-{"id": 4835,
-"keyword": "partial commutativity relationships"},
-{"id": 4836,
-"keyword": "iptables match condition"},
-{"id": 4837,
-"keyword": "l-shaped tiles"},
-{"id": 4838,
-"keyword": "metric temporal logic"},
-{"id": 4839,
-"keyword": "verifying depth-"},
-{"id": 4840,
-"keyword": "alpha_1 ldots beta_n"},
-{"id": 4841,
-"keyword": "basic notions"},
-{"id": 4842,
-"keyword": "intransitive purge function"},
-{"id": 4843,
->>>>>>> merge rev
-"keyword": "concurrent constraint pi-calculus"},
-<<<<<<< working copy
-{"id": 4795,
-||||||| common ancestor
-{"id": 4802,
-=======
-{"id": 4844,
->>>>>>> merge rev
-"keyword": "automatize canonical tasks"},
-<<<<<<< working copy
-{"id": 4796,
-||||||| common ancestor
-{"id": 4803,
-=======
-{"id": 4845,
->>>>>>> merge rev
-"keyword": "unified translation approach"},
-<<<<<<< working copy
-{"id": 4797,
-||||||| common ancestor
-{"id": 4804,
-=======
-{"id": 4846,
->>>>>>> merge rev
-"keyword": "present sufficient conditions"},
-<<<<<<< working copy
-{"id": 4798,
-"keyword": "inequality states"},
-{"id": 4799,
-"keyword": "existing formal power series"},
-{"id": 4800,
-"keyword": "transcendence"},
-{"id": 4801,
-"keyword": "integers based"},
-{"id": 4802,
-"keyword": "completely verified"},
-{"id": 4803,
-"keyword": "worth noting"},
-{"id": 4804,
-"keyword": "square matrices form"},
-{"id": 4805,
-"keyword": "number-theoretic lemmas"},
-{"id": 4806,
-"keyword": "analytic completeness proof covers"},
-{"id": 4807,
-"keyword": "common theme"},
-{"id": 4808,
-"keyword": "usual redundancy criteria based"},
-{"id": 4809,
-"keyword": "fundamental building block"},
-{"id": 4810,
-"keyword": "convergence function applied"},
-{"id": 4811,
-"keyword": "transforming xml trees"},
-{"id": 4812,
-"keyword": "speculative linearizability framework"},
-{"id": 4813,
-||||||| common ancestor
-{"id": 4805,
-"keyword": "inequality states"},
-{"id": 4806,
-"keyword": "existing formal power series"},
-{"id": 4807,
-"keyword": "transcendence"},
-{"id": 4808,
-"keyword": "integers based"},
-{"id": 4809,
-"keyword": "completely verified"},
-{"id": 4810,
-"keyword": "worth noting"},
-{"id": 4811,
-"keyword": "square matrices form"},
-{"id": 4812,
-"keyword": "number-theoretic lemmas"},
-{"id": 4813,
-"keyword": "analytic completeness proof covers"},
-{"id": 4814,
-"keyword": "common theme"},
-{"id": 4815,
-"keyword": "usual redundancy criteria based"},
-{"id": 4816,
-"keyword": "fundamental building block"},
-{"id": 4817,
-"keyword": "convergence function applied"},
-{"id": 4818,
-"keyword": "transforming xml trees"},
-{"id": 4819,
-"keyword": "speculative linearizability framework"},
-{"id": 4820,
-=======
-{"id": 4847,
-"keyword": "inequality states"},
-{"id": 4848,
-"keyword": "existing formal power series"},
-{"id": 4849,
-"keyword": "transcendence"},
-{"id": 4850,
-"keyword": "integers based"},
-{"id": 4851,
-"keyword": "completely verified"},
-{"id": 4852,
-"keyword": "worth noting"},
-{"id": 4853,
-"keyword": "square matrices form"},
-{"id": 4854,
-"keyword": "number-theoretic lemmas"},
-{"id": 4855,
-"keyword": "analytic completeness proof covers"},
-{"id": 4856,
-"keyword": "common theme"},
-{"id": 4857,
-"keyword": "usual redundancy criteria based"},
-{"id": 4858,
-"keyword": "fundamental building block"},
-{"id": 4859,
-"keyword": "convergence function applied"},
-{"id": 4860,
-"keyword": "transforming xml trees"},
-{"id": 4861,
-"keyword": "speculative linearizability framework"},
-{"id": 4862,
->>>>>>> merge rev
-"keyword": "holomorphic automorphisms"},
-<<<<<<< working copy
-{"id": 4814,
-||||||| common ancestor
-{"id": 4821,
-=======
-{"id": 4863,
->>>>>>> merge rev
-"keyword": "interactive theorem prover"},
-<<<<<<< working copy
-{"id": 4815,
-||||||| common ancestor
-{"id": 4822,
-=======
-{"id": 4864,
->>>>>>> merge rev
-"keyword": "applied mathematics"},
-<<<<<<< working copy
-{"id": 4816,
-||||||| common ancestor
-{"id": 4823,
-=======
-{"id": 4865,
->>>>>>> merge rev
-"keyword": "policy iteration algorithms"},
-<<<<<<< working copy
-{"id": 4817,
-||||||| common ancestor
-{"id": 4824,
-=======
-{"id": 4866,
->>>>>>> merge rev
-"keyword": "ijcar 2006 paper"},
-<<<<<<< working copy
-{"id": 4818,
-||||||| common ancestor
-{"id": 4825,
-=======
-{"id": 4867,
->>>>>>> merge rev
-"keyword": "search tree"},
-<<<<<<< working copy
-{"id": 4819,
-||||||| common ancestor
-{"id": 4826,
-=======
-{"id": 4868,
->>>>>>> merge rev
-"keyword": "spatio-temporal multi-modal logic"},
-<<<<<<< working copy
-{"id": 4820,
-||||||| common ancestor
-{"id": 4827,
-=======
-{"id": 4869,
->>>>>>> merge rev
-"keyword": "imperative language imp"},
-<<<<<<< working copy
-{"id": 4821,
-||||||| common ancestor
-{"id": 4828,
-=======
-{"id": 4870,
->>>>>>> merge rev
-"keyword": "degenerate deterministic case"},
-<<<<<<< working copy
-{"id": 4822,
-||||||| common ancestor
-{"id": 4829,
-=======
-{"id": 4871,
->>>>>>> merge rev
-"keyword": "imperative hol programs"},
-<<<<<<< working copy
-{"id": 4823,
-||||||| common ancestor
-{"id": 4830,
-=======
-{"id": 4872,
->>>>>>> merge rev
-"keyword": "web standards"},
-<<<<<<< working copy
-{"id": 4824,
-||||||| common ancestor
+"keyword": "time bounds"},
{"id": 4831,
-=======
-{"id": 4873,
->>>>>>> merge rev
-"keyword": "higher-order probabilistic programming languages"},
-<<<<<<< working copy
-{"id": 4825,
-||||||| common ancestor
+"keyword": "terms"},
{"id": 4832,
-=======
-{"id": 4874,
->>>>>>> merge rev
-"keyword": "syntactic approximations"},
-<<<<<<< working copy
-{"id": 4826,
-||||||| common ancestor
+"keyword": "proof rules"},
{"id": 4833,
-=======
-{"id": 4875,
->>>>>>> merge rev
-"keyword": "standard restrictions"},
-<<<<<<< working copy
-{"id": 4827,
-"keyword": "executable automata"},
-{"id": 4828,
-"keyword": "existing cc results"},
-{"id": 4829,
-"keyword": "original functionality"},
-{"id": 4830,
-"keyword": "non-atomic keys"},
-{"id": 4831,
-"keyword": "asymptotically equivalent"},
-{"id": 4832,
-"keyword": "describe formalization"},
-{"id": 4833,
-"keyword": "intermediate relations"},
+"keyword": "successively extending"},
{"id": 4834,
-"keyword": "symbolic states"},
-{"id": 4835,
-"keyword": "lazy list"},
-{"id": 4836,
-"keyword": "healthcare iot system"},
-{"id": 4837,
-"keyword": "standardization theorem"},
-{"id": 4838,
-"keyword": "j3202"},
-{"id": 4839,
-"keyword": "john harrison"},
-{"id": 4840,
-"keyword": "complex roots"},
-{"id": 4841,
-"keyword": "george boolos gave"},
-{"id": 4842,
-||||||| common ancestor
-{"id": 4834,
-"keyword": "executable automata"},
+"keyword": "concrete algorithms implementations"},
{"id": 4835,
-"keyword": "existing cc results"},
+"keyword": "closure property"},
{"id": 4836,
-"keyword": "original functionality"},
+"keyword": "pattern poses"},
{"id": 4837,
-"keyword": "non-atomic keys"},
+"keyword": "sufficiently large inputs"},
{"id": 4838,
-"keyword": "asymptotically equivalent"},
+"keyword": "reflexive transitive closure"},
{"id": 4839,
-"keyword": "describe formalization"},
+"keyword": "mathematical sets"},
{"id": 4840,
-"keyword": "intermediate relations"},
+"keyword": "real world distributed systems"},
{"id": 4841,
-"keyword": "symbolic states"},
+"keyword": "wolfram engine"},
{"id": 4842,
-"keyword": "lazy list"},
+"keyword": "compositionality proofs"},
{"id": 4843,
-"keyword": "healthcare iot system"},
+"keyword": "employs herbrand"},
{"id": 4844,
-"keyword": "standardization theorem"},
+"keyword": "extra-history change history"},
{"id": 4845,
-"keyword": "j3202"},
+"keyword": "real component"},
{"id": 4846,
-"keyword": "john harrison"},
+"keyword": "replicated datatypes"},
{"id": 4847,
-"keyword": "complex roots"},
+"keyword": "solving markov decision processes"},
{"id": 4848,
-"keyword": "george boolos gave"},
+"keyword": "pure exchange economy"},
{"id": 4849,
-=======
+"keyword": "integer coefficients"},
+{"id": 4850,
+"keyword": "initial states"},
+{"id": 4851,
+"keyword": "good closure properties"},
+{"id": 4852,
+"keyword": "faithful formalization"},
+{"id": 4853,
+"keyword": "free basis"},
+{"id": 4854,
+"keyword": "rational actors"},
+{"id": 4855,
+"keyword": "functional automata"},
+{"id": 4856,
+"keyword": "kleene star"},
+{"id": 4857,
+"keyword": "effect polymorphism"},
+{"id": 4858,
+"keyword": "kleene algebras remain"},
+{"id": 4859,
+"keyword": "cancellative separation algebra"},
+{"id": 4860,
+"keyword": "running time bounds"},
+{"id": 4861,
+"keyword": "resulting hierarchy"},
+{"id": 4862,
+"keyword": "word count program"},
+{"id": 4863,
+"keyword": "memory implementations"},
+{"id": 4864,
+"keyword": "binding signature"},
+{"id": 4865,
+"keyword": "rational polynomials"},
+{"id": 4866,
+"keyword": "polymorphic lambda-calculus extended"},
+{"id": 4867,
+"keyword": "recursion combinator"},
+{"id": 4868,
+"keyword": "partial commutativity relationships"},
+{"id": 4869,
+"keyword": "iptables match condition"},
+{"id": 4870,
+"keyword": "l-shaped tiles"},
+{"id": 4871,
+"keyword": "metric temporal logic"},
+{"id": 4872,
+"keyword": "verifying depth-"},
+{"id": 4873,
+"keyword": "alpha_1 ldots beta_n"},
+{"id": 4874,
+"keyword": "basic notions"},
+{"id": 4875,
+"keyword": "intransitive purge function"},
{"id": 4876,
-"keyword": "executable automata"},
+"keyword": "concurrent constraint pi-calculus"},
{"id": 4877,
-"keyword": "existing cc results"},
+"keyword": "automatize canonical tasks"},
{"id": 4878,
-"keyword": "original functionality"},
+"keyword": "unified translation approach"},
{"id": 4879,
-"keyword": "non-atomic keys"},
+"keyword": "present sufficient conditions"},
{"id": 4880,
-"keyword": "asymptotically equivalent"},
+"keyword": "inequality states"},
{"id": 4881,
-"keyword": "describe formalization"},
+"keyword": "existing formal power series"},
{"id": 4882,
-"keyword": "intermediate relations"},
+"keyword": "transcendence"},
{"id": 4883,
-"keyword": "symbolic states"},
+"keyword": "integers based"},
{"id": 4884,
-"keyword": "lazy list"},
+"keyword": "completely verified"},
{"id": 4885,
-"keyword": "healthcare iot system"},
+"keyword": "worth noting"},
{"id": 4886,
-"keyword": "standardization theorem"},
+"keyword": "square matrices form"},
{"id": 4887,
-"keyword": "j3202"},
+"keyword": "number-theoretic lemmas"},
{"id": 4888,
-"keyword": "john harrison"},
+"keyword": "analytic completeness proof covers"},
{"id": 4889,
-"keyword": "complex roots"},
+"keyword": "common theme"},
{"id": 4890,
-"keyword": "george boolos gave"},
-{"id": 4891,
->>>>>>> merge rev
-"keyword": "adaptive test cases"},
-<<<<<<< working copy
-{"id": 4843,
-||||||| common ancestor
-{"id": 4850,
-=======
-{"id": 4892,
->>>>>>> merge rev
-"keyword": "markov chains"},
-<<<<<<< working copy
-{"id": 4844,
-||||||| common ancestor
-{"id": 4851,
-=======
-{"id": 4893,
->>>>>>> merge rev
-"keyword": "efficient executable algorithm"},
-<<<<<<< working copy
-{"id": 4845,
-||||||| common ancestor
-{"id": 4852,
-=======
-{"id": 4894,
->>>>>>> merge rev
-"keyword": "myhill-nerode theorem"},
-<<<<<<< working copy
-{"id": 4846,
-"keyword": "single strip"},
-{"id": 4847,
-"keyword": "simple specification"},
-{"id": 4848,
-"keyword": "approximation error"},
-{"id": 4849,
-"keyword": "isomorphism theorem"},
-{"id": 4850,
-"keyword": "pretty printers"},
-{"id": 4851,
-"keyword": "repeated opening"},
-{"id": 4852,
-"keyword": "normal form property"},
-{"id": 4853,
-"keyword": "program verification"},
-{"id": 4854,
-"keyword": "classic dynamic programming algorithm"},
-{"id": 4855,
-"keyword": "considerably shorter"},
-{"id": 4856,
-"keyword": "familiar real-"},
-{"id": 4857,
-"keyword": "computing optimal stable matches"},
-{"id": 4858,
-"keyword": "original sturm"},
-{"id": 4859,
-"keyword": "single-source shortest path function"},
-{"id": 4860,
-"keyword": "convergence function"},
-{"id": 4861,
-"keyword": "canonical set-theoretic constructions internalized"},
-{"id": 4862,
-"keyword": "secure information flow"},
-{"id": 4863,
-"keyword": "ocl standard"},
-{"id": 4864,
-"keyword": "soundness proof"},
-{"id": 4865,
-"keyword": "real analysis"},
-{"id": 4866,
-"keyword": "automata library"},
-{"id": 4867,
-"keyword": "datatypes similar"},
-{"id": 4868,
-"keyword": "formally verified clrs algorithms"},
-{"id": 4869,
-"keyword": "automated-theorem-proving assistant"},
-{"id": 4870,
-"keyword": "paulson semantics-based approach"},
-{"id": 4871,
-"keyword": "turn outputs descriptions"},
-{"id": 4872,
-"keyword": "stone-kleene relation algebras"},
-{"id": 4873,
-"keyword": "java se 8 specification"},
-{"id": 4874,
-"keyword": "past operators"},
-{"id": 4875,
-"keyword": "primitive authentication construct"},
-{"id": 4876,
-"keyword": "matrix theory"},
-{"id": 4877,
-"keyword": "additional domain elements"},
-{"id": 4878,
-"keyword": "informal presentation"},
-{"id": 4879,
-"keyword": "simple inductive proof"},
-{"id": 4880,
-"keyword": "company associating"},
-{"id": 4881,
-"keyword": "c11 syntax deeply integrated"},
-{"id": 4882,
-"keyword": "anders schlichtkrull"},
-{"id": 4883,
-"keyword": "generated test suite"},
-{"id": 4884,
-"keyword": "hol light"},
-{"id": 4885,
-"keyword": "straightforward analytic proof"},
-{"id": 4886,
-"keyword": "comparing relations"},
-{"id": 4887,
-"keyword": "asymptotic expansions"},
-{"id": 4888,
-"keyword": "abstract program"},
-{"id": 4889,
-"keyword": "successful termination"},
-{"id": 4890,
-"keyword": "future separation logic developments"},
+"keyword": "usual redundancy criteria based"},
{"id": 4891,
-"keyword": "guiding proof search"},
+"keyword": "fundamental building block"},
{"id": 4892,
-"keyword": "undirected graphs"},
+"keyword": "convergence function applied"},
{"id": 4893,
-"keyword": "previous formalisation"},
+"keyword": "transforming xml trees"},
{"id": 4894,
-"keyword": "association lists"},
+"keyword": "speculative linearizability framework"},
{"id": 4895,
-"keyword": "textbook first-order logic"},
+"keyword": "holomorphic automorphisms"},
{"id": 4896,
-"keyword": "concurrent value-dependent noninterference"},
+"keyword": "interactive theorem prover"},
{"id": 4897,
-"keyword": "textbook reasoning"},
+"keyword": "applied mathematics"},
{"id": 4898,
-"keyword": "logical reasoning"},
+"keyword": "policy iteration algorithms"},
{"id": 4899,
-"keyword": "program trace semantics"},
+"keyword": "ijcar 2006 paper"},
{"id": 4900,
-"keyword": "method calls"},
+"keyword": "search tree"},
{"id": 4901,
-"keyword": "game theoretic issues"},
+"keyword": "spatio-temporal multi-modal logic"},
{"id": 4902,
-"keyword": "byte code"},
+"keyword": "imperative language imp"},
{"id": 4903,
-"keyword": "cantor pairing function"},
+"keyword": "degenerate deterministic case"},
{"id": 4904,
-"keyword": "potential negative cycles"},
+"keyword": "imperative hol programs"},
{"id": 4905,
-"keyword": "randomised skip list"},
+"keyword": "web standards"},
{"id": 4906,
-"keyword": "strengthen mertens"},
+"keyword": "higher-order probabilistic programming languages"},
{"id": 4907,
-"keyword": "manual alpha-conversions"},
+"keyword": "syntactic approximations"},
{"id": 4908,
-"keyword": "mobile computing"},
+"keyword": "standard restrictions"},
{"id": 4909,
-"keyword": "formalising cryptographic arguments"},
+"keyword": "executable automata"},
{"id": 4910,
-"keyword": "reference implementation"},
+"keyword": "existing cc results"},
{"id": 4911,
-"keyword": "simplify complex iptables rulests"},
+"keyword": "original functionality"},
{"id": 4912,
-"keyword": "stieltjes constants"},
+"keyword": "non-atomic keys"},
{"id": 4913,
-"keyword": "specific variants"},
+"keyword": "asymptotically equivalent"},
{"id": 4914,
-"keyword": "faithful embedding"},
+"keyword": "describe formalization"},
{"id": 4915,
-"keyword": "continuous lattices"},
-{"id": 4916,
-"keyword": "intermediate results"},
-{"id": 4917,
-"keyword": "unified translation"},
-{"id": 4918,
-"keyword": "autocorres tool"},
-{"id": 4919,
-"keyword": "set category"},
-||||||| common ancestor
-{"id": 4853,
-"keyword": "single strip"},
-{"id": 4854,
-"keyword": "simple specification"},
-{"id": 4855,
-"keyword": "approximation error"},
-{"id": 4856,
-"keyword": "isomorphism theorem"},
-{"id": 4857,
-"keyword": "pretty printers"},
-{"id": 4858,
-"keyword": "repeated opening"},
-{"id": 4859,
-"keyword": "normal form property"},
-{"id": 4860,
-"keyword": "program verification"},
-{"id": 4861,
-"keyword": "classic dynamic programming algorithm"},
-{"id": 4862,
-"keyword": "considerably shorter"},
-{"id": 4863,
-"keyword": "familiar real-"},
-{"id": 4864,
-"keyword": "computing optimal stable matches"},
-{"id": 4865,
-"keyword": "original sturm"},
-{"id": 4866,
-"keyword": "single-source shortest path function"},
-{"id": 4867,
-"keyword": "convergence function"},
-{"id": 4868,
-"keyword": "canonical set-theoretic constructions internalized"},
-{"id": 4869,
-"keyword": "secure information flow"},
-{"id": 4870,
-"keyword": "ocl standard"},
-{"id": 4871,
-"keyword": "soundness proof"},
-{"id": 4872,
-"keyword": "real analysis"},
-{"id": 4873,
-"keyword": "automata library"},
-{"id": 4874,
-"keyword": "datatypes similar"},
-{"id": 4875,
-"keyword": "formally verified clrs algorithms"},
-{"id": 4876,
-"keyword": "automated-theorem-proving assistant"},
-{"id": 4877,
-"keyword": "paulson semantics-based approach"},
-{"id": 4878,
-"keyword": "turn outputs descriptions"},
-{"id": 4879,
-"keyword": "stone-kleene relation algebras"},
-{"id": 4880,
-"keyword": "java se 8 specification"},
-{"id": 4881,
-"keyword": "past operators"},
-{"id": 4882,
-"keyword": "primitive authentication construct"},
-{"id": 4883,
-"keyword": "matrix theory"},
-{"id": 4884,
-"keyword": "additional domain elements"},
-{"id": 4885,
-"keyword": "informal presentation"},
-{"id": 4886,
-"keyword": "simple inductive proof"},
-{"id": 4887,
-"keyword": "company associating"},
-{"id": 4888,
-"keyword": "c11 syntax deeply integrated"},
-{"id": 4889,
-"keyword": "anders schlichtkrull"},
-{"id": 4890,
-"keyword": "generated test suite"},
-{"id": 4891,
-"keyword": "hol light"},
-{"id": 4892,
-"keyword": "straightforward analytic proof"},
-{"id": 4893,
-"keyword": "comparing relations"},
-{"id": 4894,
-"keyword": "asymptotic expansions"},
-{"id": 4895,
-"keyword": "abstract program"},
-{"id": 4896,
-"keyword": "successful termination"},
-{"id": 4897,
-"keyword": "future separation logic developments"},
-{"id": 4898,
-"keyword": "guiding proof search"},
-{"id": 4899,
-"keyword": "undirected graphs"},
-{"id": 4900,
-"keyword": "previous formalisation"},
-{"id": 4901,
-"keyword": "association lists"},
-{"id": 4902,
-"keyword": "textbook first-order logic"},
-{"id": 4903,
-"keyword": "concurrent value-dependent noninterference"},
-{"id": 4904,
-"keyword": "textbook reasoning"},
-{"id": 4905,
-"keyword": "logical reasoning"},
-{"id": 4906,
-"keyword": "program trace semantics"},
-{"id": 4907,
-"keyword": "method calls"},
-{"id": 4908,
-"keyword": "game theoretic issues"},
-{"id": 4909,
-"keyword": "byte code"},
-{"id": 4910,
-"keyword": "cantor pairing function"},
-{"id": 4911,
-"keyword": "potential negative cycles"},
-{"id": 4912,
-"keyword": "randomised skip list"},
-{"id": 4913,
-"keyword": "strengthen mertens"},
-{"id": 4914,
-"keyword": "manual alpha-conversions"},
-{"id": 4915,
-"keyword": "mobile computing"},
-{"id": 4916,
-"keyword": "formalising cryptographic arguments"},
-{"id": 4917,
-"keyword": "reference implementation"},
-{"id": 4918,
-"keyword": "simplify complex iptables rulests"},
-{"id": 4919,
-"keyword": "stieltjes constants"},
-=======
-{"id": 4895,
-"keyword": "single strip"},
-{"id": 4896,
-"keyword": "simple specification"},
-{"id": 4897,
-"keyword": "approximation error"},
-{"id": 4898,
-"keyword": "isomorphism theorem"},
-{"id": 4899,
-"keyword": "pretty printers"},
-{"id": 4900,
-"keyword": "repeated opening"},
-{"id": 4901,
-"keyword": "normal form property"},
-{"id": 4902,
-"keyword": "program verification"},
-{"id": 4903,
-"keyword": "classic dynamic programming algorithm"},
-{"id": 4904,
-"keyword": "considerably shorter"},
-{"id": 4905,
-"keyword": "familiar real-"},
-{"id": 4906,
-"keyword": "computing optimal stable matches"},
-{"id": 4907,
-"keyword": "original sturm"},
-{"id": 4908,
-"keyword": "single-source shortest path function"},
-{"id": 4909,
-"keyword": "convergence function"},
-{"id": 4910,
-"keyword": "canonical set-theoretic constructions internalized"},
-{"id": 4911,
-"keyword": "secure information flow"},
-{"id": 4912,
-"keyword": "ocl standard"},
-{"id": 4913,
-"keyword": "soundness proof"},
-{"id": 4914,
-"keyword": "real analysis"},
-{"id": 4915,
-"keyword": "automata library"},
+"keyword": "intermediate relations"},
{"id": 4916,
-"keyword": "datatypes similar"},
+"keyword": "symbolic states"},
{"id": 4917,
-"keyword": "formally verified clrs algorithms"},
+"keyword": "lazy list"},
{"id": 4918,
-"keyword": "automated-theorem-proving assistant"},
+"keyword": "healthcare iot system"},
{"id": 4919,
-"keyword": "paulson semantics-based approach"},
->>>>>>> merge rev
+"keyword": "standardization theorem"},
{"id": 4920,
-<<<<<<< working copy
-"keyword": "model existence"},
-||||||| common ancestor
-"keyword": "specific variants"},
-=======
-"keyword": "turn outputs descriptions"},
->>>>>>> merge rev
+"keyword": "j3202"},
{"id": 4921,
-<<<<<<< working copy
-"keyword": "factor ring"},
-||||||| common ancestor
-"keyword": "faithful embedding"},
-=======
-"keyword": "stone-kleene relation algebras"},
->>>>>>> merge rev
+"keyword": "john harrison"},
{"id": 4922,
-<<<<<<< working copy
-"keyword": "data-refinement techniques"},
-||||||| common ancestor
-"keyword": "continuous lattices"},
-=======
-"keyword": "java se 8 specification"},
->>>>>>> merge rev
+"keyword": "complex roots"},
{"id": 4923,
-<<<<<<< working copy
-"keyword": "nondeterminism monad"},
-||||||| common ancestor
-"keyword": "intermediate results"},
-=======
-"keyword": "past operators"},
->>>>>>> merge rev
+"keyword": "george boolos gave"},
{"id": 4924,
-<<<<<<< working copy
-"keyword": "capture laws"},
-||||||| common ancestor
-"keyword": "unified translation"},
-=======
-"keyword": "primitive authentication construct"},
->>>>>>> merge rev
+"keyword": "adaptive test cases"},
{"id": 4925,
-<<<<<<< working copy
-"keyword": "resulting automata"},
-||||||| common ancestor
-"keyword": "autocorres tool"},
-=======
-"keyword": "matrix theory"},
->>>>>>> merge rev
+"keyword": "markov chains"},
{"id": 4926,
-<<<<<<< working copy
-"keyword": "normalizing strategy"},
-||||||| common ancestor
-"keyword": "set category"},
-=======
-"keyword": "additional domain elements"},
->>>>>>> merge rev
+"keyword": "efficient executable algorithm"},
{"id": 4927,
-<<<<<<< working copy
-"keyword": "non-negative weights w_1"},
-||||||| common ancestor
-"keyword": "model existence"},
-=======
-"keyword": "informal presentation"},
->>>>>>> merge rev
+"keyword": "myhill-nerode theorem"},
{"id": 4928,
-<<<<<<< working copy
-"keyword": "red-black trees"},
+"keyword": "single strip"},
{"id": 4929,
-"keyword": "finite search space"},
+"keyword": "simple specification"},
{"id": 4930,
-"keyword": "replicated databases"},
+"keyword": "approximation error"},
{"id": 4931,
-"keyword": "concurrency control model"},
+"keyword": "isomorphism theorem"},
{"id": 4932,
-"keyword": "additional convenience"},
+"keyword": "pretty printers"},
{"id": 4933,
-"keyword": "affine systems"},
+"keyword": "repeated opening"},
{"id": 4934,
-"keyword": "parent clauses"},
-{"id": 4935,
-"keyword": "elementary number theory"},
-{"id": 4936,
-"keyword": "proof term checker embedded"},
-{"id": 4937,
-"keyword": "distributed system"},
-{"id": 4938,
-"keyword": "knight"},
-{"id": 4939,
-"keyword": "decision problem clique"},
-{"id": 4940,
-"keyword": "upcoming work principia logico-metaphysica"},
-{"id": 4941,
-||||||| common ancestor
-"keyword": "factor ring"},
-{"id": 4929,
-"keyword": "data-refinement techniques"},
-{"id": 4930,
-"keyword": "nondeterminism monad"},
-{"id": 4931,
-"keyword": "capture laws"},
-{"id": 4932,
-"keyword": "resulting automata"},
-{"id": 4933,
-"keyword": "normalizing strategy"},
-{"id": 4934,
-"keyword": "non-negative weights w_1"},
+"keyword": "normal form property"},
{"id": 4935,
-"keyword": "red-black trees"},
+"keyword": "program verification"},
{"id": 4936,
-"keyword": "finite search space"},
+"keyword": "classic dynamic programming algorithm"},
{"id": 4937,
-"keyword": "replicated databases"},
+"keyword": "considerably shorter"},
{"id": 4938,
-"keyword": "concurrency control model"},
+"keyword": "familiar real-"},
{"id": 4939,
-"keyword": "additional convenience"},
+"keyword": "computing optimal stable matches"},
{"id": 4940,
-"keyword": "affine systems"},
+"keyword": "original sturm"},
{"id": 4941,
-"keyword": "parent clauses"},
+"keyword": "single-source shortest path function"},
{"id": 4942,
-"keyword": "elementary number theory"},
-{"id": 4943,
-"keyword": "proof term checker embedded"},
-{"id": 4944,
-"keyword": "distributed system"},
-{"id": 4945,
-"keyword": "knight"},
-{"id": 4946,
-"keyword": "decision problem clique"},
-{"id": 4947,
-"keyword": "upcoming work principia logico-metaphysica"},
-{"id": 4948,
-=======
-"keyword": "simple inductive proof"},
-{"id": 4929,
-"keyword": "company associating"},
-{"id": 4930,
-"keyword": "c11 syntax deeply integrated"},
-{"id": 4931,
-"keyword": "anders schlichtkrull"},
-{"id": 4932,
-"keyword": "generated test suite"},
-{"id": 4933,
-"keyword": "hol light"},
-{"id": 4934,
-"keyword": "straightforward analytic proof"},
-{"id": 4935,
-"keyword": "comparing relations"},
-{"id": 4936,
-"keyword": "asymptotic expansions"},
-{"id": 4937,
-"keyword": "abstract program"},
-{"id": 4938,
-"keyword": "successful termination"},
-{"id": 4939,
-"keyword": "future separation logic developments"},
-{"id": 4940,
-"keyword": "guiding proof search"},
-{"id": 4941,
-"keyword": "undirected graphs"},
-{"id": 4942,
-"keyword": "previous formalisation"},
+"keyword": "convergence function"},
{"id": 4943,
-"keyword": "association lists"},
+"keyword": "canonical set-theoretic constructions internalized"},
{"id": 4944,
-"keyword": "textbook first-order logic"},
+"keyword": "secure information flow"},
{"id": 4945,
-"keyword": "concurrent value-dependent noninterference"},
+"keyword": "ocl standard"},
{"id": 4946,
-"keyword": "textbook reasoning"},
+"keyword": "soundness proof"},
{"id": 4947,
-"keyword": "logical reasoning"},
+"keyword": "real analysis"},
{"id": 4948,
-"keyword": "program trace semantics"},
+"keyword": "automata library"},
{"id": 4949,
-"keyword": "method calls"},
+"keyword": "datatypes similar"},
{"id": 4950,
-"keyword": "game theoretic issues"},
+"keyword": "formally verified clrs algorithms"},
{"id": 4951,
-"keyword": "byte code"},
+"keyword": "automated-theorem-proving assistant"},
{"id": 4952,
-"keyword": "cantor pairing function"},
+"keyword": "paulson semantics-based approach"},
{"id": 4953,
-"keyword": "potential negative cycles"},
+"keyword": "turn outputs descriptions"},
{"id": 4954,
-"keyword": "randomised skip list"},
+"keyword": "stone-kleene relation algebras"},
{"id": 4955,
-"keyword": "strengthen mertens"},
+"keyword": "java se 8 specification"},
{"id": 4956,
-"keyword": "manual alpha-conversions"},
+"keyword": "past operators"},
{"id": 4957,
-"keyword": "mobile computing"},
+"keyword": "primitive authentication construct"},
{"id": 4958,
-"keyword": "formalising cryptographic arguments"},
+"keyword": "matrix theory"},
{"id": 4959,
-"keyword": "reference implementation"},
+"keyword": "additional domain elements"},
{"id": 4960,
-"keyword": "simplify complex iptables rulests"},
+"keyword": "informal presentation"},
{"id": 4961,
-"keyword": "stieltjes constants"},
+"keyword": "simple inductive proof"},
{"id": 4962,
-"keyword": "specific variants"},
+"keyword": "company associating"},
{"id": 4963,
-"keyword": "faithful embedding"},
+"keyword": "c11 syntax deeply integrated"},
{"id": 4964,
-"keyword": "continuous lattices"},
+"keyword": "anders schlichtkrull"},
{"id": 4965,
-"keyword": "intermediate results"},
+"keyword": "generated test suite"},
{"id": 4966,
-"keyword": "unified translation"},
+"keyword": "hol light"},
{"id": 4967,
-"keyword": "autocorres tool"},
+"keyword": "straightforward analytic proof"},
{"id": 4968,
-"keyword": "set category"},
+"keyword": "comparing relations"},
{"id": 4969,
-"keyword": "model existence"},
+"keyword": "weak form"},
{"id": 4970,
-"keyword": "factor ring"},
+"keyword": "asymptotic expansions"},
{"id": 4971,
-"keyword": "data-refinement techniques"},
+"keyword": "abstract program"},
{"id": 4972,
-"keyword": "nondeterminism monad"},
+"keyword": "successful termination"},
{"id": 4973,
-"keyword": "capture laws"},
+"keyword": "future separation logic developments"},
{"id": 4974,
-"keyword": "resulting automata"},
+"keyword": "guiding proof search"},
{"id": 4975,
-"keyword": "normalizing strategy"},
+"keyword": "undirected graphs"},
{"id": 4976,
-"keyword": "non-negative weights w_1"},
+"keyword": "previous formalisation"},
{"id": 4977,
-"keyword": "red-black trees"},
+"keyword": "association lists"},
{"id": 4978,
-"keyword": "finite search space"},
+"keyword": "textbook first-order logic"},
{"id": 4979,
-"keyword": "replicated databases"},
-{"id": 4980,
-"keyword": "concurrency control model"},
-{"id": 4981,
-"keyword": "additional convenience"},
-{"id": 4982,
-"keyword": "affine systems"},
-{"id": 4983,
-"keyword": "parent clauses"},
-{"id": 4984,
-"keyword": "elementary number theory"},
-{"id": 4985,
-"keyword": "proof term checker embedded"},
-{"id": 4986,
-"keyword": "distributed system"},
-{"id": 4987,
-"keyword": "knight"},
-{"id": 4988,
-"keyword": "decision problem clique"},
-{"id": 4989,
-"keyword": "upcoming work principia logico-metaphysica"},
-{"id": 4990,
->>>>>>> merge rev
-"keyword": "guarantee information flow noninterference"},
-<<<<<<< working copy
-{"id": 4942,
-"keyword": "classical two-sided matching scenarios"},
-{"id": 4943,
-"keyword": "large fragment"},
-{"id": 4944,
-"keyword": "aforementioned consensus problem"},
-{"id": 4945,
-"keyword": "afp entry robinson_arithmetic"},
-{"id": 4946,
-"keyword": "divergence reflection"},
-{"id": 4947,
-"keyword": "elegant proof"},
-{"id": 4948,
-"keyword": "alpha-equivalence classes"},
-{"id": 4949,
-"keyword": "previous analogous"},
-{"id": 4950,
-"keyword": "operators"},
-{"id": 4951,
-"keyword": "cc studies system classes"},
-{"id": 4952,
-"keyword": "automatically extracted scala code"},
-{"id": 4953,
-"keyword": "binding structure"},
-{"id": 4954,
-"keyword": "essential parts"},
-{"id": 4955,
-"keyword": "chamber complexes"},
-{"id": 4956,
-"keyword": "quantum prisoner"},
-{"id": 4957,
-||||||| common ancestor
-{"id": 4949,
-"keyword": "classical two-sided matching scenarios"},
-{"id": 4950,
-"keyword": "large fragment"},
-{"id": 4951,
-"keyword": "aforementioned consensus problem"},
-{"id": 4952,
-"keyword": "afp entry robinson_arithmetic"},
-{"id": 4953,
-"keyword": "divergence reflection"},
-{"id": 4954,
-"keyword": "elegant proof"},
-{"id": 4955,
-"keyword": "alpha-equivalence classes"},
-{"id": 4956,
-"keyword": "previous analogous"},
-{"id": 4957,
-"keyword": "operators"},
-{"id": 4958,
-"keyword": "cc studies system classes"},
-{"id": 4959,
-"keyword": "automatically extracted scala code"},
-{"id": 4960,
-"keyword": "binding structure"},
-{"id": 4961,
-"keyword": "essential parts"},
-{"id": 4962,
-"keyword": "chamber complexes"},
-{"id": 4963,
-"keyword": "quantum prisoner"},
-{"id": 4964,
-=======
-{"id": 4991,
-"keyword": "classical two-sided matching scenarios"},
-{"id": 4992,
-"keyword": "large fragment"},
-{"id": 4993,
-"keyword": "aforementioned consensus problem"},
-{"id": 4994,
-"keyword": "afp entry robinson_arithmetic"},
-{"id": 4995,
-"keyword": "divergence reflection"},
-{"id": 4996,
-"keyword": "elegant proof"},
-{"id": 4997,
-"keyword": "alpha-equivalence classes"},
-{"id": 4998,
-"keyword": "previous analogous"},
-{"id": 4999,
-"keyword": "operators"},
-{"id": 5000,
-"keyword": "cc studies system classes"},
-{"id": 5001,
-"keyword": "automatically extracted scala code"},
-{"id": 5002,
-"keyword": "binding structure"},
-{"id": 5003,
-"keyword": "essential parts"},
-{"id": 5004,
-"keyword": "chamber complexes"},
-{"id": 5005,
-"keyword": "quantum prisoner"},
-{"id": 5006,
->>>>>>> merge rev
-"keyword": "generic algebraic middle-layer"},
-<<<<<<< working copy
-{"id": 4958,
-||||||| common ancestor
-{"id": 4965,
-=======
-{"id": 5007,
->>>>>>> merge rev
-"keyword": "cite swan"},
-<<<<<<< working copy
-{"id": 4959,
-||||||| common ancestor
-{"id": 4966,
-=======
-{"id": 5008,
->>>>>>> merge rev
-"keyword": "lower semicontinuous hull"},
-<<<<<<< working copy
-{"id": 4960,
-||||||| common ancestor
-{"id": 4967,
-=======
-{"id": 5009,
->>>>>>> merge rev
-"keyword": "maclaurin series"},
-<<<<<<< working copy
-{"id": 4961,
-"keyword": "functional representation"},
-{"id": 4962,
-"keyword": "state-merging technique"},
-{"id": 4963,
-"keyword": "natural numbers 0"},
-{"id": 4964,
-"keyword": "canonical matrix analogue"},
-{"id": 4965,
-"keyword": "generic framework"},
-{"id": 4966,
-"keyword": "locale mechanism"},
-{"id": 4967,
-"keyword": "test output formats"},
-{"id": 4968,
-"keyword": "confidential events"},
-{"id": 4969,
-"keyword": "ultimately refutational completeness"},
-{"id": 4970,
-"keyword": "proofs require"},
-{"id": 4971,
-"keyword": "boolean algebra"},
-{"id": 4972,
-"keyword": "remaining rules"},
-{"id": 4973,
-"keyword": "fractional assertions"},
-{"id": 4974,
-"keyword": "zout domains"},
-{"id": 4975,
-"keyword": "abstract structures"},
-{"id": 4976,
-"keyword": "deliberately formulated"},
-{"id": 4977,
-"keyword": "boolean algebra type"},
-{"id": 4978,
-"keyword": "mobius base logic"},
-{"id": 4979,
-"keyword": "suitable setup"},
-{"id": 4980,
-"keyword": "type class hierarchy"},
-{"id": 4981,
-"keyword": "predicate satisfied"},
-{"id": 4982,
-"keyword": "itp-2016 paper"},
-{"id": 4983,
-"keyword": "axioms set suggested"},
-{"id": 4984,
-"keyword": "finite partitioning"},
-{"id": 4985,
-"keyword": "internal direct product"},
-{"id": 4986,
-||||||| common ancestor
-{"id": 4968,
-"keyword": "functional representation"},
-{"id": 4969,
-"keyword": "state-merging technique"},
-{"id": 4970,
-"keyword": "natural numbers 0"},
-{"id": 4971,
-"keyword": "canonical matrix analogue"},
-{"id": 4972,
-"keyword": "generic framework"},
-{"id": 4973,
-"keyword": "locale mechanism"},
-{"id": 4974,
-"keyword": "test output formats"},
-{"id": 4975,
-"keyword": "confidential events"},
-{"id": 4976,
-"keyword": "ultimately refutational completeness"},
-{"id": 4977,
-"keyword": "proofs require"},
-{"id": 4978,
-"keyword": "boolean algebra"},
-{"id": 4979,
-"keyword": "remaining rules"},
+"keyword": "concurrent value-dependent noninterference"},
{"id": 4980,
-"keyword": "fractional assertions"},
+"keyword": "textbook reasoning"},
{"id": 4981,
-"keyword": "zout domains"},
+"keyword": "logical reasoning"},
{"id": 4982,
-"keyword": "abstract structures"},
+"keyword": "program trace semantics"},
{"id": 4983,
-"keyword": "deliberately formulated"},
+"keyword": "method calls"},
{"id": 4984,
-"keyword": "boolean algebra type"},
+"keyword": "game theoretic issues"},
{"id": 4985,
-"keyword": "mobius base logic"},
+"keyword": "byte code"},
{"id": 4986,
-"keyword": "suitable setup"},
+"keyword": "cantor pairing function"},
{"id": 4987,
-"keyword": "type class hierarchy"},
+"keyword": "potential negative cycles"},
{"id": 4988,
-"keyword": "predicate satisfied"},
+"keyword": "randomised skip list"},
{"id": 4989,
-"keyword": "itp-2016 paper"},
+"keyword": "strengthen mertens"},
{"id": 4990,
-"keyword": "axioms set suggested"},
+"keyword": "manual alpha-conversions"},
{"id": 4991,
-"keyword": "finite partitioning"},
+"keyword": "mobile computing"},
{"id": 4992,
-"keyword": "internal direct product"},
-{"id": 4993,
-=======
-{"id": 5010,
-"keyword": "functional representation"},
-{"id": 5011,
-"keyword": "state-merging technique"},
-{"id": 5012,
-"keyword": "natural numbers 0"},
-{"id": 5013,
-"keyword": "canonical matrix analogue"},
-{"id": 5014,
-"keyword": "incorrectly initialized contract"},
-{"id": 5015,
-"keyword": "generic framework"},
-{"id": 5016,
-"keyword": "locale mechanism"},
-{"id": 5017,
-"keyword": "test output formats"},
-{"id": 5018,
-"keyword": "confidential events"},
-{"id": 5019,
-"keyword": "ultimately refutational completeness"},
-{"id": 5020,
-"keyword": "proofs require"},
-{"id": 5021,
-"keyword": "boolean algebra"},
-{"id": 5022,
-"keyword": "remaining rules"},
-{"id": 5023,
-"keyword": "fractional assertions"},
-{"id": 5024,
-"keyword": "zout domains"},
-{"id": 5025,
-"keyword": "abstract structures"},
-{"id": 5026,
-"keyword": "deliberately formulated"},
-{"id": 5027,
-"keyword": "boolean algebra type"},
-{"id": 5028,
-"keyword": "mobius base logic"},
-{"id": 5029,
-"keyword": "suitable setup"},
-{"id": 5030,
-"keyword": "type class hierarchy"},
-{"id": 5031,
-"keyword": "predicate satisfied"},
-{"id": 5032,
-"keyword": "itp-2016 paper"},
-{"id": 5033,
-"keyword": "axioms set suggested"},
-{"id": 5034,
-"keyword": "finite partitioning"},
-{"id": 5035,
-"keyword": "internal direct product"},
-{"id": 5036,
->>>>>>> merge rev
-"keyword": "derive comparators"},
-<<<<<<< working copy
-{"id": 4987,
-||||||| common ancestor
-{"id": 4994,
-=======
-{"id": 5037,
->>>>>>> merge rev
-"keyword": "basic graph algorithms"},
-<<<<<<< working copy
-{"id": 4988,
-||||||| common ancestor
-{"id": 4995,
-=======
-{"id": 5038,
->>>>>>> merge rev
-"keyword": "mso formulas correspond"},
-<<<<<<< working copy
-{"id": 4989,
-||||||| common ancestor
-{"id": 4996,
-=======
-{"id": 5039,
->>>>>>> merge rev
-"keyword": "stateful connection semantics"},
-<<<<<<< working copy
-{"id": 4990,
-"keyword": "correctness"},
-{"id": 4991,
-"keyword": "major goal"},
-{"id": 4992,
-"keyword": "fine-grained concurrency"},
+"keyword": "formalising cryptographic arguments"},
{"id": 4993,
-"keyword": "handling inconsistency"},
+"keyword": "reference implementation"},
{"id": 4994,
-"keyword": "employ messageless guard protocols"},
+"keyword": "simplify complex iptables rulests"},
{"id": 4995,
-"keyword": "fundamental metaphysical theory"},
+"keyword": "stieltjes constants"},
{"id": 4996,
-"keyword": "network model"},
-{"id": 4997,
-"keyword": "co-inductive lists"},
-{"id": 4998,
-"keyword": "hol experts"},
-{"id": 4999,
-"keyword": "files chap02"},
-{"id": 5000,
-"keyword": "sk sum"},
-{"id": 5001,
-"keyword": "text book level"},
-{"id": 5002,
-"keyword": "paper describing"},
-{"id": 5003,
-"keyword": "normal series"},
-{"id": 5004,
-"keyword": "msc thesis sch15"},
-{"id": 5005,
-||||||| common ancestor
+"keyword": "specific variants"},
{"id": 4997,
-"keyword": "correctness"},
+"keyword": "faithful embedding"},
{"id": 4998,
-"keyword": "major goal"},
+"keyword": "continuous lattices"},
{"id": 4999,
-"keyword": "fine-grained concurrency"},
+"keyword": "intermediate results"},
{"id": 5000,
-"keyword": "handling inconsistency"},
+"keyword": "unified translation"},
{"id": 5001,
-"keyword": "employ messageless guard protocols"},
+"keyword": "autocorres tool"},
{"id": 5002,
-"keyword": "fundamental metaphysical theory"},
+"keyword": "set category"},
{"id": 5003,
-"keyword": "network model"},
+"keyword": "model existence"},
{"id": 5004,
-"keyword": "co-inductive lists"},
+"keyword": "factor ring"},
{"id": 5005,
-"keyword": "hol experts"},
+"keyword": "data-refinement techniques"},
{"id": 5006,
-"keyword": "files chap02"},
+"keyword": "nondeterminism monad"},
{"id": 5007,
-"keyword": "sk sum"},
+"keyword": "capture laws"},
{"id": 5008,
-"keyword": "text book level"},
+"keyword": "resulting automata"},
{"id": 5009,
-"keyword": "paper describing"},
+"keyword": "normalizing strategy"},
{"id": 5010,
-"keyword": "normal series"},
+"keyword": "non-negative weights w_1"},
{"id": 5011,
-"keyword": "msc thesis sch15"},
+"keyword": "red-black trees"},
{"id": 5012,
-=======
-{"id": 5040,
-"keyword": "correctness"},
-{"id": 5041,
-"keyword": "major goal"},
-{"id": 5042,
-"keyword": "fine-grained concurrency"},
-{"id": 5043,
-"keyword": "handling inconsistency"},
-{"id": 5044,
-"keyword": "employ messageless guard protocols"},
-{"id": 5045,
-"keyword": "fundamental metaphysical theory"},
-{"id": 5046,
-"keyword": "network model"},
-{"id": 5047,
-"keyword": "co-inductive lists"},
-{"id": 5048,
-"keyword": "hol experts"},
-{"id": 5049,
-"keyword": "files chap02"},
-{"id": 5050,
-"keyword": "sk sum"},
-{"id": 5051,
-"keyword": "text book level"},
-{"id": 5052,
-"keyword": "paper describing"},
-{"id": 5053,
-"keyword": "normal series"},
-{"id": 5054,
-"keyword": "msc thesis sch15"},
-{"id": 5055,
->>>>>>> merge rev
-"keyword": "argument"},
-<<<<<<< working copy
-{"id": 5006,
-||||||| common ancestor
+"keyword": "key encapsulation mechanism"},
{"id": 5013,
-=======
-{"id": 5056,
->>>>>>> merge rev
-"keyword": "minimal space usage"},
-<<<<<<< working copy
-{"id": 5007,
-||||||| common ancestor
+"keyword": "finite search space"},
{"id": 5014,
-=======
-{"id": 5057,
->>>>>>> merge rev
-"keyword": "ieee-754 floating-point arithmetic"},
-<<<<<<< working copy
-{"id": 5008,
-||||||| common ancestor
+"keyword": "replicated databases"},
{"id": 5015,
-=======
-{"id": 5058,
->>>>>>> merge rev
-"keyword": "verifying functional programs"},
-<<<<<<< working copy
-{"id": 5009,
-||||||| common ancestor
+"keyword": "concurrency control model"},
{"id": 5016,
-=======
-{"id": 5059,
->>>>>>> merge rev
-"keyword": "subtle algorithmic mechanisms"},
-<<<<<<< working copy
-{"id": 5010,
-||||||| common ancestor
+"keyword": "additional convenience"},
{"id": 5017,
-=======
-{"id": 5060,
->>>>>>> merge rev
-"keyword": "approximative version"},
-<<<<<<< working copy
-{"id": 5011,
-||||||| common ancestor
+"keyword": "affine systems"},
{"id": 5018,
-=======
-{"id": 5061,
->>>>>>> merge rev
-"keyword": "triangle removal lemma"},
-<<<<<<< working copy
-{"id": 5012,
-||||||| common ancestor
+"keyword": "parent clauses"},
{"id": 5019,
-=======
-{"id": 5062,
->>>>>>> merge rev
-"keyword": "abstract execution model"},
-<<<<<<< working copy
-{"id": 5013,
-||||||| common ancestor
+"keyword": "elementary number theory"},
{"id": 5020,
-=======
-{"id": 5063,
->>>>>>> merge rev
-"keyword": "gr bner basis"},
-<<<<<<< working copy
-{"id": 5014,
-||||||| common ancestor
+"keyword": "proof term checker embedded"},
{"id": 5021,
-=======
-{"id": 5064,
->>>>>>> merge rev
-"keyword": "main novelty"},
-<<<<<<< working copy
-{"id": 5015,
-||||||| common ancestor
+"keyword": "distributed system"},
{"id": 5022,
-=======
-{"id": 5065,
->>>>>>> merge rev
-"keyword": "internal path length relates"},
-<<<<<<< working copy
-{"id": 5016,
-||||||| common ancestor
+"keyword": "knight"},
{"id": 5023,
-=======
-{"id": 5066,
->>>>>>> merge rev
-"keyword": "incrementally check"},
-<<<<<<< working copy
-{"id": 5017,
-||||||| common ancestor
+"keyword": "decision problem clique"},
{"id": 5024,
-=======
-{"id": 5067,
->>>>>>> merge rev
-"keyword": "random graph"},
-<<<<<<< working copy
-{"id": 5018,
-||||||| common ancestor
+"keyword": "upcoming work principia logico-metaphysica"},
{"id": 5025,
-=======
-{"id": 5068,
->>>>>>> merge rev
-"keyword": "lattice point"},
-<<<<<<< working copy
-{"id": 5019,
-"keyword": "concurrent refinement algebra"},
-{"id": 5020,
-"keyword": "cryptographic hash-function ripemd-160"},
-{"id": 5021,
-"keyword": "peculiar mapping argument"},
-{"id": 5022,
-"keyword": "countable chain condition"},
-{"id": 5023,
-"keyword": "gdpr compliance verification"},
-{"id": 5024,
-"keyword": "elementary facts"},
-{"id": 5025,
-"keyword": "formalisation"},
+"keyword": "guarantee information flow noninterference"},
{"id": 5026,
-"keyword": "automated theorem prover"},
+"keyword": "classical two-sided matching scenarios"},
{"id": 5027,
-"keyword": "entry adds quickcheck setup"},
+"keyword": "large fragment"},
{"id": 5028,
-"keyword": "regular expression equivalence"},
+"keyword": "aforementioned consensus problem"},
{"id": 5029,
-"keyword": "complex analysis"},
+"keyword": "afp entry robinson_arithmetic"},
{"id": 5030,
-"keyword": "complete formal development"},
+"keyword": "divergence reflection"},
{"id": 5031,
-"keyword": "real-world programming languages"},
+"keyword": "elegant proof"},
{"id": 5032,
-"keyword": "call arity"},
+"keyword": "alpha-equivalence classes"},
{"id": 5033,
-"keyword": "refused events"},
+"keyword": "previous analogous"},
{"id": 5034,
-"keyword": "formal proof"},
+"keyword": "operators"},
{"id": 5035,
-"keyword": "method normalises applicative expressions"},
+"keyword": "cc studies system classes"},
{"id": 5036,
-"keyword": "winding number"},
+"keyword": "automatically extracted scala code"},
{"id": 5037,
-"keyword": "unpublished specialized algorithms"},
+"keyword": "binding structure"},
{"id": 5038,
-"keyword": "hoare logic based"},
+"keyword": "essential parts"},
{"id": 5039,
-"keyword": "desired interval"},
+"keyword": "chamber complexes"},
{"id": 5040,
-"keyword": "mainstream structures"},
-{"id": 5041,
-"keyword": "object logic zfc"},
-{"id": 5042,
-"keyword": "state proofs"},
-{"id": 5043,
-"keyword": "basic material"},
-{"id": 5044,
-"keyword": "classical ai planning"},
-{"id": 5045,
-"keyword": "chosen uniformly"},
-{"id": 5046,
-"keyword": "rank-nullity theorem"},
-{"id": 5047,
-"keyword": "tactic code"},
-{"id": 5048,
-"keyword": "fully executable functional implementation"},
-{"id": 5049,
-"keyword": "yoneda functor"},
-{"id": 5050,
-"keyword": "limits"},
-{"id": 5051,
-"keyword": "arbitrary classes"},
-{"id": 5052,
-"keyword": "creating custom induction"},
-{"id": 5053,
-"keyword": "interval arithmetic"},
-{"id": 5054,
-"keyword": "full range"},
-{"id": 5055,
-"keyword": "ssa"},
-{"id": 5056,
-"keyword": "verified"},
-{"id": 5057,
-"keyword": "inference system presented"},
-{"id": 5058,
-"keyword": "bindings-aware induction"},
-{"id": 5059,
-"keyword": "infinitesimal components"},
-{"id": 5060,
-"keyword": "contextual equivalence"},
-{"id": 5061,
-"keyword": "applied non-classical logics 2005"},
-{"id": 5062,
-"keyword": "noncommuting words form"},
-{"id": 5063,
-"keyword": "providing formalizations"},
-{"id": 5064,
-"keyword": "autonomous vehicle manufacturers"},
-{"id": 5065,
-"keyword": "algorithm aims"},
-{"id": 5066,
-"keyword": "paper describes"},
-{"id": 5067,
-"keyword": "cambridge university press 2001"},
-{"id": 5068,
-"keyword": "priority queue"},
-{"id": 5069,
-"keyword": "applicative functor"},
-{"id": 5070,
-"keyword": "space usage"},
-{"id": 5071,
-"keyword": "analyse system structure oriented"},
-{"id": 5072,
-"keyword": "unverified tools"},
-{"id": 5073,
-"keyword": "complete graphs"},
-{"id": 5074,
-"keyword": "standard theorems"},
-{"id": 5075,
-"keyword": "valid parameters"},
-{"id": 5076,
-"keyword": "conduct machine checkable proofs"},
-{"id": 5077,
-"keyword": "proof-carrying-code style encoding"},
-{"id": 5078,
-"keyword": "analogous languages"},
-{"id": 5079,
-"keyword": "friendship theorem"},
-{"id": 5080,
-"keyword": "mathematical machinery"},
-{"id": 5081,
-"keyword": "non-deterministic automata"},
-{"id": 5082,
-"keyword": "formal proof closely"},
-||||||| common ancestor
-{"id": 5026,
-"keyword": "concurrent refinement algebra"},
-{"id": 5027,
-"keyword": "cryptographic hash-function ripemd-160"},
-{"id": 5028,
-"keyword": "peculiar mapping argument"},
-{"id": 5029,
-"keyword": "countable chain condition"},
-{"id": 5030,
-"keyword": "gdpr compliance verification"},
-{"id": 5031,
-"keyword": "elementary facts"},
-{"id": 5032,
-"keyword": "formalisation"},
-{"id": 5033,
-"keyword": "automated theorem prover"},
-{"id": 5034,
-"keyword": "entry adds quickcheck setup"},
-{"id": 5035,
-"keyword": "regular expression equivalence"},
-{"id": 5036,
-"keyword": "complex analysis"},
-{"id": 5037,
-"keyword": "complete formal development"},
-{"id": 5038,
-"keyword": "real-world programming languages"},
-{"id": 5039,
-"keyword": "call arity"},
-{"id": 5040,
-"keyword": "refused events"},
+"keyword": "quantum prisoner"},
{"id": 5041,
-"keyword": "formal proof"},
+"keyword": "generic algebraic middle-layer"},
{"id": 5042,
-"keyword": "method normalises applicative expressions"},
+"keyword": "cite swan"},
{"id": 5043,
-"keyword": "winding number"},
+"keyword": "lower semicontinuous hull"},
{"id": 5044,
-"keyword": "unpublished specialized algorithms"},
+"keyword": "maclaurin series"},
{"id": 5045,
-"keyword": "hoare logic based"},
+"keyword": "functional representation"},
{"id": 5046,
-"keyword": "desired interval"},
+"keyword": "state-merging technique"},
{"id": 5047,
-"keyword": "mainstream structures"},
+"keyword": "natural numbers 0"},
{"id": 5048,
-"keyword": "object logic zfc"},
+"keyword": "canonical matrix analogue"},
{"id": 5049,
-"keyword": "state proofs"},
+"keyword": "incorrectly initialized contract"},
{"id": 5050,
-"keyword": "basic material"},
+"keyword": "generic framework"},
{"id": 5051,
-"keyword": "classical ai planning"},
+"keyword": "locale mechanism"},
{"id": 5052,
-"keyword": "chosen uniformly"},
+"keyword": "test output formats"},
{"id": 5053,
-"keyword": "rank-nullity theorem"},
+"keyword": "confidential events"},
{"id": 5054,
-"keyword": "tactic code"},
+"keyword": "ultimately refutational completeness"},
{"id": 5055,
-"keyword": "fully executable functional implementation"},
+"keyword": "proofs require"},
{"id": 5056,
-"keyword": "yoneda functor"},
+"keyword": "boolean algebra"},
{"id": 5057,
-"keyword": "limits"},
+"keyword": "remaining rules"},
{"id": 5058,
-"keyword": "arbitrary classes"},
+"keyword": "fractional assertions"},
{"id": 5059,
-"keyword": "creating custom induction"},
+"keyword": "zout domains"},
{"id": 5060,
-"keyword": "interval arithmetic"},
+"keyword": "abstract structures"},
{"id": 5061,
-"keyword": "full range"},
+"keyword": "deliberately formulated"},
{"id": 5062,
-"keyword": "ssa"},
+"keyword": "boolean algebra type"},
{"id": 5063,
-"keyword": "verified"},
+"keyword": "mobius base logic"},
{"id": 5064,
-"keyword": "inference system presented"},
+"keyword": "suitable setup"},
{"id": 5065,
-"keyword": "bindings-aware induction"},
+"keyword": "type class hierarchy"},
{"id": 5066,
-"keyword": "infinitesimal components"},
+"keyword": "predicate satisfied"},
{"id": 5067,
-"keyword": "contextual equivalence"},
+"keyword": "itp-2016 paper"},
{"id": 5068,
-"keyword": "applied non-classical logics 2005"},
+"keyword": "axioms set suggested"},
{"id": 5069,
-"keyword": "noncommuting words form"},
+"keyword": "finite partitioning"},
{"id": 5070,
-"keyword": "providing formalizations"},
+"keyword": "internal direct product"},
{"id": 5071,
-"keyword": "autonomous vehicle manufacturers"},
+"keyword": "derive comparators"},
{"id": 5072,
-"keyword": "algorithm aims"},
+"keyword": "basic graph algorithms"},
{"id": 5073,
-"keyword": "paper describes"},
+"keyword": "mso formulas correspond"},
{"id": 5074,
-"keyword": "cambridge university press 2001"},
+"keyword": "stateful connection semantics"},
{"id": 5075,
-"keyword": "priority queue"},
+"keyword": "correctness"},
{"id": 5076,
-"keyword": "applicative functor"},
+"keyword": "major goal"},
{"id": 5077,
-"keyword": "space usage"},
+"keyword": "fine-grained concurrency"},
{"id": 5078,
-"keyword": "analyse system structure oriented"},
+"keyword": "handling inconsistency"},
{"id": 5079,
-"keyword": "unverified tools"},
+"keyword": "employ messageless guard protocols"},
{"id": 5080,
-"keyword": "complete graphs"},
+"keyword": "fundamental metaphysical theory"},
{"id": 5081,
-"keyword": "standard theorems"},
+"keyword": "network model"},
{"id": 5082,
-"keyword": "valid parameters"},
-=======
-{"id": 5069,
-"keyword": "concurrent refinement algebra"},
-{"id": 5070,
-"keyword": "cryptographic hash-function ripemd-160"},
-{"id": 5071,
-"keyword": "peculiar mapping argument"},
-{"id": 5072,
-"keyword": "countable chain condition"},
-{"id": 5073,
-"keyword": "gdpr compliance verification"},
-{"id": 5074,
-"keyword": "elementary facts"},
-{"id": 5075,
-"keyword": "formalisation"},
-{"id": 5076,
-"keyword": "automated theorem prover"},
-{"id": 5077,
-"keyword": "entry adds quickcheck setup"},
-{"id": 5078,
-"keyword": "regular expression equivalence"},
-{"id": 5079,
-"keyword": "complex analysis"},
-{"id": 5080,
-"keyword": "complete formal development"},
-{"id": 5081,
-"keyword": "real-world programming languages"},
-{"id": 5082,
-"keyword": "call arity"},
->>>>>>> merge rev
+"keyword": "co-inductive lists"},
{"id": 5083,
-<<<<<<< working copy
-"keyword": "shorter refinement proofs"},
-||||||| common ancestor
-"keyword": "conduct machine checkable proofs"},
-=======
-"keyword": "refused events"},
->>>>>>> merge rev
+"keyword": "hol experts"},
{"id": 5084,
-<<<<<<< working copy
-"keyword": "modeling firewall policies"},
-||||||| common ancestor
-"keyword": "proof-carrying-code style encoding"},
-=======
-"keyword": "formal proof"},
->>>>>>> merge rev
+"keyword": "files chap02"},
{"id": 5085,
-<<<<<<< working copy
-"keyword": "standard estimations"},
-||||||| common ancestor
-"keyword": "analogous languages"},
-=======
-"keyword": "method normalises applicative expressions"},
->>>>>>> merge rev
+"keyword": "sk sum"},
{"id": 5086,
-<<<<<<< working copy
-"keyword": "group"},
-||||||| common ancestor
-"keyword": "friendship theorem"},
-=======
-"keyword": "winding number"},
->>>>>>> merge rev
+"keyword": "text book level"},
{"id": 5087,
-<<<<<<< working copy
-"keyword": "axiomatic theory"},
-||||||| common ancestor
-"keyword": "mathematical machinery"},
-=======
-"keyword": "unpublished specialized algorithms"},
->>>>>>> merge rev
+"keyword": "paper describing"},
{"id": 5088,
-<<<<<<< working copy
-"keyword": "syntactic formula"},
-||||||| common ancestor
-"keyword": "non-deterministic automata"},
-=======
-"keyword": "hoare logic based"},
->>>>>>> merge rev
+"keyword": "normal series"},
{"id": 5089,
-<<<<<<< working copy
-"keyword": "faulty process"},
-||||||| common ancestor
-"keyword": "formal proof closely"},
-=======
-"keyword": "desired interval"},
->>>>>>> merge rev
+"keyword": "msc thesis sch15"},
{"id": 5090,
-<<<<<<< working copy
-"keyword": "verified decision procedures"},
-||||||| common ancestor
-"keyword": "shorter refinement proofs"},
-=======
+"keyword": "argument"},
+{"id": 5091,
+"keyword": "minimal space usage"},
+{"id": 5092,
+"keyword": "ieee-754 floating-point arithmetic"},
+{"id": 5093,
+"keyword": "verifying functional programs"},
+{"id": 5094,
+"keyword": "subtle algorithmic mechanisms"},
+{"id": 5095,
+"keyword": "approximative version"},
+{"id": 5096,
+"keyword": "triangle removal lemma"},
+{"id": 5097,
+"keyword": "abstract execution model"},
+{"id": 5098,
+"keyword": "gr bner basis"},
+{"id": 5099,
+"keyword": "main novelty"},
+{"id": 5100,
+"keyword": "internal path length relates"},
+{"id": 5101,
+"keyword": "incrementally check"},
+{"id": 5102,
+"keyword": "random graph"},
+{"id": 5103,
+"keyword": "lattice point"},
+{"id": 5104,
+"keyword": "concurrent refinement algebra"},
+{"id": 5105,
+"keyword": "cryptographic hash-function ripemd-160"},
+{"id": 5106,
+"keyword": "peculiar mapping argument"},
+{"id": 5107,
+"keyword": "countable chain condition"},
+{"id": 5108,
+"keyword": "gdpr compliance verification"},
+{"id": 5109,
+"keyword": "elementary facts"},
+{"id": 5110,
+"keyword": "formalisation"},
+{"id": 5111,
+"keyword": "automated theorem prover"},
+{"id": 5112,
+"keyword": "entry adds quickcheck setup"},
+{"id": 5113,
+"keyword": "regular expression equivalence"},
+{"id": 5114,
+"keyword": "complex analysis"},
+{"id": 5115,
+"keyword": "complete formal development"},
+{"id": 5116,
+"keyword": "real-world programming languages"},
+{"id": 5117,
+"keyword": "call arity"},
+{"id": 5118,
+"keyword": "refused events"},
+{"id": 5119,
+"keyword": "formal proof"},
+{"id": 5120,
+"keyword": "method normalises applicative expressions"},
+{"id": 5121,
+"keyword": "winding number"},
+{"id": 5122,
+"keyword": "unpublished specialized algorithms"},
+{"id": 5123,
+"keyword": "hoare logic based"},
+{"id": 5124,
+"keyword": "desired interval"},
+{"id": 5125,
"keyword": "mainstream structures"},
->>>>>>> merge rev
-{"id": 5091,
-<<<<<<< working copy
-"keyword": "resp"},
-||||||| common ancestor
-"keyword": "modeling firewall policies"},
-=======
+{"id": 5126,
"keyword": "object logic zfc"},
->>>>>>> merge rev
-{"id": 5092,
-<<<<<<< working copy
-"keyword": "projective spaces"},
-||||||| common ancestor
-"keyword": "standard estimations"},
-=======
+{"id": 5127,
"keyword": "state proofs"},
->>>>>>> merge rev
-{"id": 5093,
-<<<<<<< working copy
-"keyword": "uniform proof"},
-||||||| common ancestor
-"keyword": "group"},
-=======
+{"id": 5128,
"keyword": "representing legal agreements"},
->>>>>>> merge rev
-{"id": 5094,
-<<<<<<< working copy
-"keyword": "resolution theorem proving chapter"},
-||||||| common ancestor
-"keyword": "axiomatic theory"},
-=======
+{"id": 5129,
"keyword": "basic material"},
->>>>>>> merge rev
-{"id": 5095,
-<<<<<<< working copy
-"keyword": "deductive program verification"},
-||||||| common ancestor
-"keyword": "syntactic formula"},
-=======
+{"id": 5130,
"keyword": "classical ai planning"},
->>>>>>> merge rev
-{"id": 5096,
-<<<<<<< working copy
-"keyword": "entire cosmedis network"},
-||||||| common ancestor
-"keyword": "faulty process"},
-=======
+{"id": 5131,
"keyword": "chosen uniformly"},
->>>>>>> merge rev
-{"id": 5097,
-<<<<<<< working copy
-"keyword": "adaptive state counting algorithm"},
-||||||| common ancestor
-"keyword": "verified decision procedures"},
-=======
+{"id": 5132,
"keyword": "rank-nullity theorem"},
->>>>>>> merge rev
-{"id": 5098,
-<<<<<<< working copy
-"keyword": "policy"},
-||||||| common ancestor
-"keyword": "resp"},
-=======
+{"id": 5133,
"keyword": "tactic code"},
->>>>>>> merge rev
-{"id": 5099,
-<<<<<<< working copy
-"keyword": "autonomous vehicle liable"},
-||||||| common ancestor
-"keyword": "projective spaces"},
-=======
+{"id": 5134,
"keyword": "fully executable functional implementation"},
->>>>>>> merge rev
-{"id": 5100,
-<<<<<<< working copy
-"keyword": "minimal ssa form"},
-||||||| common ancestor
-"keyword": "uniform proof"},
-=======
+{"id": 5135,
"keyword": "yoneda functor"},
->>>>>>> merge rev
-{"id": 5101,
-<<<<<<< working copy
-"keyword": "powerset construction mapping nfas"},
-{"id": 5102,
-"keyword": "transition paths"},
-{"id": 5103,
-"keyword": "execution time compares"},
-{"id": 5104,
-||||||| common ancestor
-"keyword": "resolution theorem proving chapter"},
-{"id": 5102,
-"keyword": "deductive program verification"},
-{"id": 5103,
-"keyword": "entire cosmedis network"},
-{"id": 5104,
-"keyword": "adaptive state counting algorithm"},
-{"id": 5105,
-"keyword": "policy"},
-{"id": 5106,
-"keyword": "autonomous vehicle liable"},
-{"id": 5107,
-"keyword": "minimal ssa form"},
-{"id": 5108,
-"keyword": "powerset construction mapping nfas"},
-{"id": 5109,
-"keyword": "transition paths"},
-{"id": 5110,
-"keyword": "execution time compares"},
-{"id": 5111,
-=======
+{"id": 5136,
"keyword": "limits"},
-{"id": 5102,
+{"id": 5137,
"keyword": "arbitrary classes"},
-{"id": 5103,
+{"id": 5138,
"keyword": "creating custom induction"},
-{"id": 5104,
+{"id": 5139,
"keyword": "interval arithmetic"},
-{"id": 5105,
+{"id": 5140,
"keyword": "full range"},
-{"id": 5106,
+{"id": 5141,
"keyword": "ssa"},
-{"id": 5107,
+{"id": 5142,
"keyword": "verified"},
-{"id": 5108,
+{"id": 5143,
"keyword": "inference system presented"},
-{"id": 5109,
+{"id": 5144,
"keyword": "bindings-aware induction"},
-{"id": 5110,
+{"id": 5145,
"keyword": "infinitesimal components"},
-{"id": 5111,
+{"id": 5146,
"keyword": "contextual equivalence"},
-{"id": 5112,
+{"id": 5147,
"keyword": "applied non-classical logics 2005"},
-{"id": 5113,
+{"id": 5148,
"keyword": "noncommuting words form"},
-{"id": 5114,
+{"id": 5149,
"keyword": "providing formalizations"},
-{"id": 5115,
+{"id": 5150,
"keyword": "autonomous vehicle manufacturers"},
-{"id": 5116,
+{"id": 5151,
"keyword": "algorithm aims"},
-{"id": 5117,
+{"id": 5152,
"keyword": "paper describes"},
-{"id": 5118,
+{"id": 5153,
"keyword": "cambridge university press 2001"},
-{"id": 5119,
+{"id": 5154,
"keyword": "priority queue"},
-{"id": 5120,
+{"id": 5155,
"keyword": "applicative functor"},
-{"id": 5121,
+{"id": 5156,
"keyword": "space usage"},
-{"id": 5122,
+{"id": 5157,
"keyword": "analyse system structure oriented"},
-{"id": 5123,
+{"id": 5158,
"keyword": "unverified tools"},
-{"id": 5124,
+{"id": 5159,
"keyword": "complete graphs"},
-{"id": 5125,
+{"id": 5160,
"keyword": "standard theorems"},
-{"id": 5126,
+{"id": 5161,
"keyword": "valid parameters"},
-{"id": 5127,
+{"id": 5162,
"keyword": "conduct machine checkable proofs"},
-{"id": 5128,
+{"id": 5163,
"keyword": "proof-carrying-code style encoding"},
-{"id": 5129,
+{"id": 5164,
"keyword": "analogous languages"},
-{"id": 5130,
+{"id": 5165,
"keyword": "friendship theorem"},
-{"id": 5131,
+{"id": 5166,
"keyword": "mathematical machinery"},
-{"id": 5132,
+{"id": 5167,
"keyword": "non-deterministic automata"},
-{"id": 5133,
+{"id": 5168,
"keyword": "formal proof closely"},
-{"id": 5134,
+{"id": 5169,
"keyword": "shorter refinement proofs"},
-{"id": 5135,
+{"id": 5170,
"keyword": "modeling firewall policies"},
-{"id": 5136,
+{"id": 5171,
"keyword": "standard estimations"},
-{"id": 5137,
+{"id": 5172,
"keyword": "group"},
-{"id": 5138,
+{"id": 5173,
"keyword": "axiomatic theory"},
-{"id": 5139,
+{"id": 5174,
"keyword": "syntactic formula"},
-{"id": 5140,
+{"id": 5175,
"keyword": "faulty process"},
-{"id": 5141,
+{"id": 5176,
"keyword": "verified decision procedures"},
-{"id": 5142,
+{"id": 5177,
"keyword": "resp"},
-{"id": 5143,
+{"id": 5178,
"keyword": "projective spaces"},
-{"id": 5144,
+{"id": 5179,
"keyword": "uniform proof"},
-{"id": 5145,
+{"id": 5180,
"keyword": "resolution theorem proving chapter"},
-{"id": 5146,
+{"id": 5181,
"keyword": "deductive program verification"},
-{"id": 5147,
+{"id": 5182,
"keyword": "entire cosmedis network"},
-{"id": 5148,
+{"id": 5183,
"keyword": "adaptive state counting algorithm"},
-{"id": 5149,
+{"id": 5184,
"keyword": "policy"},
-{"id": 5150,
+{"id": 5185,
"keyword": "autonomous vehicle liable"},
-{"id": 5151,
+{"id": 5186,
"keyword": "minimal ssa form"},
-{"id": 5152,
+{"id": 5187,
"keyword": "powerset construction mapping nfas"},
-{"id": 5153,
+{"id": 5188,
"keyword": "transition paths"},
-{"id": 5154,
+{"id": 5189,
"keyword": "execution time compares"},
-{"id": 5155,
->>>>>>> merge rev
+{"id": 5190,
"keyword": "complexity analysis"},
-<<<<<<< working copy
-{"id": 5105,
+{"id": 5191,
"keyword": "achieve bottom-"},
-{"id": 5106,
+{"id": 5192,
"keyword": "protocol analysis tools"},
-{"id": 5107,
-"keyword": "progress tracking protocol"},
-{"id": 5108,
-"keyword": "cryptographic constructions"},
-{"id": 5109,
-"keyword": "gamma function"},
-{"id": 5110,
-"keyword": "theorem 2"},
-{"id": 5111,
-"keyword": "wikipedia articles"},
-{"id": 5112,
-"keyword": "weakest-precondition entailment"},
-{"id": 5113,
-"keyword": "subsumes lexicographic path orders"},
-{"id": 5114,
-"keyword": "accessed independently"},
-{"id": 5115,
-"keyword": "sparcv8 cpu simulator"},
-{"id": 5116,
-"keyword": "maximal load factors"},
-{"id": 5117,
-"keyword": "mergesort algorithm"},
-{"id": 5118,
-"keyword": "bendix orders"},
-{"id": 5119,
-"keyword": "general theorem"},
-{"id": 5120,
-||||||| common ancestor
-{"id": 5112,
-"keyword": "achieve bottom-"},
-{"id": 5113,
-"keyword": "protocol analysis tools"},
-{"id": 5114,
-"keyword": "progress tracking protocol"},
-{"id": 5115,
-"keyword": "cryptographic constructions"},
-{"id": 5116,
-"keyword": "gamma function"},
-{"id": 5117,
-"keyword": "theorem 2"},
-{"id": 5118,
-"keyword": "wikipedia articles"},
-{"id": 5119,
-"keyword": "weakest-precondition entailment"},
-{"id": 5120,
-"keyword": "subsumes lexicographic path orders"},
-{"id": 5121,
-"keyword": "accessed independently"},
-{"id": 5122,
-"keyword": "sparcv8 cpu simulator"},
-{"id": 5123,
-"keyword": "maximal load factors"},
-{"id": 5124,
-"keyword": "mergesort algorithm"},
-{"id": 5125,
-"keyword": "bendix orders"},
-{"id": 5126,
-"keyword": "general theorem"},
-{"id": 5127,
-=======
-{"id": 5156,
-"keyword": "achieve bottom-"},
-{"id": 5157,
-"keyword": "protocol analysis tools"},
-{"id": 5158,
+{"id": 5193,
"keyword": "progress tracking protocol"},
-{"id": 5159,
+{"id": 5194,
"keyword": "cryptographic constructions"},
-{"id": 5160,
+{"id": 5195,
"keyword": "gamma function"},
-{"id": 5161,
+{"id": 5196,
"keyword": "theorem 2"},
-{"id": 5162,
+{"id": 5197,
"keyword": "wikipedia articles"},
-{"id": 5163,
+{"id": 5198,
+"keyword": "textbook ramsey theory"},
+{"id": 5199,
"keyword": "weakest-precondition entailment"},
-{"id": 5164,
+{"id": 5200,
"keyword": "subsumes lexicographic path orders"},
-{"id": 5165,
+{"id": 5201,
"keyword": "accessed independently"},
-{"id": 5166,
+{"id": 5202,
"keyword": "sparcv8 cpu simulator"},
-{"id": 5167,
+{"id": 5203,
"keyword": "maximal load factors"},
-{"id": 5168,
+{"id": 5204,
"keyword": "mergesort algorithm"},
-{"id": 5169,
+{"id": 5205,
"keyword": "bendix orders"},
-{"id": 5170,
+{"id": 5206,
"keyword": "general theorem"},
-{"id": 5171,
->>>>>>> merge rev
+{"id": 5207,
"keyword": "residuated boolean algebra"},
-<<<<<<< working copy
-{"id": 5121,
-||||||| common ancestor
-{"id": 5128,
-=======
-{"id": 5172,
->>>>>>> merge rev
+{"id": 5208,
"keyword": "maclaurin formula"},
-<<<<<<< working copy
-{"id": 5122,
-||||||| common ancestor
-{"id": 5129,
-=======
-{"id": 5173,
->>>>>>> merge rev
+{"id": 5209,
"keyword": "partial sums"},
-<<<<<<< working copy
-{"id": 5123,
-||||||| common ancestor
-{"id": 5130,
-=======
-{"id": 5174,
->>>>>>> merge rev
+{"id": 5210,
"keyword": "recursively enumerable set"},
-<<<<<<< working copy
-{"id": 5124,
-||||||| common ancestor
-{"id": 5131,
-=======
-{"id": 5175,
->>>>>>> merge rev
+{"id": 5211,
"keyword": "mathematical framework"},
-<<<<<<< working copy
-{"id": 5125,
-||||||| common ancestor
-{"id": 5132,
-=======
-{"id": 5176,
->>>>>>> merge rev
+{"id": 5212,
"keyword": "inf-preserving predicate transformers"},
-<<<<<<< working copy
-{"id": 5126,
-||||||| common ancestor
-{"id": 5133,
-=======
-{"id": 5177,
->>>>>>> merge rev
+{"id": 5213,
"keyword": "timely dataflow"},
-<<<<<<< working copy
-{"id": 5127,
-||||||| common ancestor
-{"id": 5134,
-=======
-{"id": 5178,
->>>>>>> merge rev
+{"id": 5214,
"keyword": "paracomplete logics"},
-<<<<<<< working copy
-{"id": 5128,
-||||||| common ancestor
-{"id": 5135,
-=======
-{"id": 5179,
->>>>>>> merge rev
+{"id": 5215,
"keyword": "binary search trees"},
-<<<<<<< working copy
-{"id": 5129,
-||||||| common ancestor
-{"id": 5136,
-=======
-{"id": 5180,
->>>>>>> merge rev
+{"id": 5216,
"keyword": "pronounced lambda auth"},
-<<<<<<< working copy
-{"id": 5130,
-||||||| common ancestor
-{"id": 5137,
-=======
-{"id": 5181,
->>>>>>> merge rev
+{"id": 5217,
"keyword": "simple imperative language imp"},
-<<<<<<< working copy
-{"id": 5131,
-||||||| common ancestor
-{"id": 5138,
-=======
-{"id": 5182,
->>>>>>> merge rev
+{"id": 5218,
"keyword": "subseteq alpha"},
-<<<<<<< working copy
-{"id": 5132,
-||||||| common ancestor
-{"id": 5139,
-=======
-{"id": 5183,
->>>>>>> merge rev
+{"id": 5219,
"keyword": "skip lists"},
-<<<<<<< working copy
-{"id": 5133,
-||||||| common ancestor
-{"id": 5140,
-=======
-{"id": 5184,
->>>>>>> merge rev
+{"id": 5220,
"keyword": "empty rows"},
-<<<<<<< working copy
-{"id": 5134,
-"keyword": "present version hol-csp profits"},
-{"id": 5135,
-"keyword": "formal framework"},
-{"id": 5136,
-"keyword": "first-order unification algorithm"},
-{"id": 5137,
-"keyword": "tree-regular languages"},
-{"id": 5138,
-"keyword": "first-order prover"},
-{"id": 5139,
-"keyword": "differential_dynamic_logic article"},
-{"id": 5140,
-"keyword": "form bigwedge_"},
-{"id": 5141,
-"keyword": "important correctness property"},
-{"id": 5142,
-"keyword": "key aspect"},
-{"id": 5143,
-"keyword": "positive fractions"},
-{"id": 5144,
-"keyword": "mechanized proof"},
-{"id": 5145,
-"keyword": "equality holds"},
-{"id": 5146,
-"keyword": "theorems state propositions"},
-{"id": 5147,
-"keyword": "generated inputs"},
-{"id": 5148,
-"keyword": "diagrammatic proof system"},
-{"id": 5149,
-||||||| common ancestor
-{"id": 5141,
+{"id": 5221,
"keyword": "present version hol-csp profits"},
-{"id": 5142,
+{"id": 5222,
"keyword": "formal framework"},
-{"id": 5143,
+{"id": 5223,
"keyword": "first-order unification algorithm"},
-{"id": 5144,
+{"id": 5224,
"keyword": "tree-regular languages"},
-{"id": 5145,
+{"id": 5225,
"keyword": "first-order prover"},
-{"id": 5146,
+{"id": 5226,
+"keyword": "highly probable assumption"},
+{"id": 5227,
"keyword": "differential_dynamic_logic article"},
-{"id": 5147,
+{"id": 5228,
"keyword": "form bigwedge_"},
-{"id": 5148,
+{"id": 5229,
"keyword": "important correctness property"},
-{"id": 5149,
+{"id": 5230,
"keyword": "key aspect"},
-{"id": 5150,
+{"id": 5231,
"keyword": "positive fractions"},
-{"id": 5151,
+{"id": 5232,
"keyword": "mechanized proof"},
-{"id": 5152,
+{"id": 5233,
"keyword": "equality holds"},
-{"id": 5153,
+{"id": 5234,
"keyword": "theorems state propositions"},
-{"id": 5154,
+{"id": 5235,
"keyword": "generated inputs"},
-{"id": 5155,
+{"id": 5236,
"keyword": "diagrammatic proof system"},
-{"id": 5156,
-=======
-{"id": 5185,
-"keyword": "present version hol-csp profits"},
-{"id": 5186,
-"keyword": "formal framework"},
-{"id": 5187,
-"keyword": "first-order unification algorithm"},
-{"id": 5188,
-"keyword": "tree-regular languages"},
-{"id": 5189,
-"keyword": "first-order prover"},
-{"id": 5190,
-"keyword": "differential_dynamic_logic article"},
-{"id": 5191,
-"keyword": "form bigwedge_"},
-{"id": 5192,
-"keyword": "important correctness property"},
-{"id": 5193,
-"keyword": "key aspect"},
-{"id": 5194,
-"keyword": "positive fractions"},
-{"id": 5195,
-"keyword": "mechanized proof"},
-{"id": 5196,
-"keyword": "equality holds"},
-{"id": 5197,
-"keyword": "theorems state propositions"},
-{"id": 5198,
-"keyword": "generated inputs"},
-{"id": 5199,
-"keyword": "diagrammatic proof system"},
-{"id": 5200,
->>>>>>> merge rev
+{"id": 5237,
"keyword": "deutsch-schorr-waite graph marking algorithm"},
-<<<<<<< working copy
-{"id": 5150,
-||||||| common ancestor
-{"id": 5157,
-=======
-{"id": 5201,
->>>>>>> merge rev
+{"id": 5238,
"keyword": "convert regular expressions"},
-<<<<<<< working copy
-{"id": 5151,
-||||||| common ancestor
-{"id": 5158,
-=======
-{"id": 5202,
->>>>>>> merge rev
+{"id": 5239,
"keyword": "monotone boolean functions"},
-<<<<<<< working copy
-{"id": 5152,
-||||||| common ancestor
-{"id": 5159,
-=======
-{"id": 5203,
->>>>>>> merge rev
+{"id": 5240,
"keyword": "prior formalization attempt"},
-<<<<<<< working copy
-{"id": 5153,
+{"id": 5241,
"keyword": "circus processes"},
-{"id": 5154,
+{"id": 5242,
"keyword": "verify properties"},
-{"id": 5155,
+{"id": 5243,
"keyword": "concrete programming language"},
-{"id": 5156,
+{"id": 5244,
"keyword": "non-functional requirements"},
-{"id": 5157,
+{"id": 5245,
"keyword": "limiting parallels axiom"},
-{"id": 5158,
+{"id": 5246,
"keyword": "webassembly language"},
-{"id": 5159,
+{"id": 5247,
"keyword": "8th event"},
-{"id": 5160,
+{"id": 5248,
"keyword": "local type definitions"},
-{"id": 5161,
+{"id": 5249,
"keyword": "approximation quality solely depends"},
-{"id": 5162,
+{"id": 5250,
"keyword": "protocol"},
-{"id": 5163,
+{"id": 5251,
"keyword": "2 scalar product"},
-{"id": 5164,
+{"id": 5252,
"keyword": "unique decomposition"},
-{"id": 5165,
+{"id": 5253,
"keyword": "florian kammueller"},
-{"id": 5166,
+{"id": 5254,
"keyword": "stepwise program refinement techniques"},
-{"id": 5167,
+{"id": 5255,
"keyword": "ungeneralised counterparts"},
-{"id": 5168,
+{"id": 5256,
"keyword": "auxiliary type"},
-{"id": 5169,
+{"id": 5257,
"keyword": "internal execution clocking"},
-{"id": 5170,
+{"id": 5258,
"keyword": "concurrent behaviour"},
-{"id": 5171,
+{"id": 5259,
"keyword": "primitive data types"},
-{"id": 5172,
+{"id": 5260,
"keyword": "systems communication plays"},
-{"id": 5173,
-"keyword": "complementary error function erfc"},
-{"id": 5174,
-"keyword": "functions learnable"},
-{"id": 5175,
-"keyword": "concrete applicative functor"},
-{"id": 5176,
-"keyword": "case combinators"},
-{"id": 5177,
-"keyword": "infinite series"},
-{"id": 5178,
-||||||| common ancestor
-{"id": 5160,
-"keyword": "circus processes"},
-{"id": 5161,
-"keyword": "verify properties"},
-{"id": 5162,
-"keyword": "concrete programming language"},
-{"id": 5163,
-"keyword": "non-functional requirements"},
-{"id": 5164,
-"keyword": "limiting parallels axiom"},
-{"id": 5165,
-"keyword": "webassembly language"},
-{"id": 5166,
-"keyword": "8th event"},
-{"id": 5167,
-"keyword": "local type definitions"},
-{"id": 5168,
-"keyword": "approximation quality solely depends"},
-{"id": 5169,
-"keyword": "protocol"},
-{"id": 5170,
-"keyword": "2 scalar product"},
-{"id": 5171,
-"keyword": "unique decomposition"},
-{"id": 5172,
-"keyword": "florian kammueller"},
-{"id": 5173,
-"keyword": "stepwise program refinement techniques"},
-{"id": 5174,
-"keyword": "ungeneralised counterparts"},
-{"id": 5175,
-"keyword": "auxiliary type"},
-{"id": 5176,
-"keyword": "internal execution clocking"},
-{"id": 5177,
-"keyword": "concurrent behaviour"},
-{"id": 5178,
-"keyword": "primitive data types"},
-{"id": 5179,
-"keyword": "systems communication plays"},
-{"id": 5180,
+{"id": 5261,
"keyword": "complementary error function erfc"},
-{"id": 5181,
+{"id": 5262,
"keyword": "functions learnable"},
-{"id": 5182,
+{"id": 5263,
"keyword": "concrete applicative functor"},
-{"id": 5183,
+{"id": 5264,
"keyword": "case combinators"},
-{"id": 5184,
-"keyword": "infinite series"},
-{"id": 5185,
-=======
-{"id": 5204,
-"keyword": "circus processes"},
-{"id": 5205,
-"keyword": "verify properties"},
-{"id": 5206,
-"keyword": "concrete programming language"},
-{"id": 5207,
-"keyword": "non-functional requirements"},
-{"id": 5208,
-"keyword": "limiting parallels axiom"},
-{"id": 5209,
-"keyword": "webassembly language"},
-{"id": 5210,
-"keyword": "8th event"},
-{"id": 5211,
-"keyword": "local type definitions"},
-{"id": 5212,
-"keyword": "approximation quality solely depends"},
-{"id": 5213,
-"keyword": "protocol"},
-{"id": 5214,
-"keyword": "2 scalar product"},
-{"id": 5215,
-"keyword": "unique decomposition"},
-{"id": 5216,
-"keyword": "florian kammueller"},
-{"id": 5217,
-"keyword": "stepwise program refinement techniques"},
-{"id": 5218,
-"keyword": "ungeneralised counterparts"},
-{"id": 5219,
-"keyword": "auxiliary type"},
-{"id": 5220,
-"keyword": "internal execution clocking"},
-{"id": 5221,
-"keyword": "concurrent behaviour"},
-{"id": 5222,
-"keyword": "primitive data types"},
-{"id": 5223,
-"keyword": "systems communication plays"},
-{"id": 5224,
-"keyword": "complementary error function erfc"},
-{"id": 5225,
-"keyword": "functions learnable"},
-{"id": 5226,
-"keyword": "concrete applicative functor"},
-{"id": 5227,
-"keyword": "case combinators"},
-{"id": 5228,
+{"id": 5265,
"keyword": "infinite series"},
-{"id": 5229,
->>>>>>> merge rev
+{"id": 5266,
"keyword": "woots strong eventual consistency"},
-<<<<<<< working copy
-{"id": 5179,
-||||||| common ancestor
-{"id": 5186,
-=======
-{"id": 5230,
->>>>>>> merge rev
+{"id": 5267,
"keyword": "yamada 2"},
-<<<<<<< working copy
-{"id": 5180,
-||||||| common ancestor
-{"id": 5187,
-=======
-{"id": 5231,
->>>>>>> merge rev
+{"id": 5268,
"keyword": "isafol project isafol"},
-<<<<<<< working copy
-{"id": 5181,
-||||||| common ancestor
-{"id": 5188,
-=======
-{"id": 5232,
->>>>>>> merge rev
+{"id": 5269,
"keyword": "events"},
-<<<<<<< working copy
-{"id": 5182,
+{"id": 5270,
"keyword": "derive mertens"},
-{"id": 5183,
+{"id": 5271,
"keyword": "operational semantics"},
-{"id": 5184,
+{"id": 5272,
"keyword": "match expression"},
-{"id": 5185,
+{"id": 5273,
"keyword": "paper assumptions"},
-{"id": 5186,
+{"id": 5274,
"keyword": "affine arithmetic"},
-{"id": 5187,
+{"id": 5275,
"keyword": "standard protocol descriptions based"},
-{"id": 5188,
+{"id": 5276,
"keyword": "easily expandable"},
-{"id": 5189,
+{"id": 5277,
"keyword": "tsinakis conditions"},
-{"id": 5190,
+{"id": 5278,
"keyword": "binary temporal operators"},
-{"id": 5191,
+{"id": 5279,
"keyword": "javier esparza"},
-{"id": 5192,
+{"id": 5280,
"keyword": "afp entry dynamic architectures"},
-{"id": 5193,
+{"id": 5281,
"keyword": "total correctness proof"},
-{"id": 5194,
+{"id": 5282,
+"keyword": "timothy gowers"},
+{"id": 5283,
"keyword": "directed security policies"},
-{"id": 5195,
+{"id": 5284,
"keyword": "one-sided sequent calculus"},
-{"id": 5196,
+{"id": 5285,
"keyword": "hybrid logic"},
-{"id": 5197,
+{"id": 5286,
"keyword": "authentication mechanisms employed call"},
-{"id": 5198,
+{"id": 5287,
"keyword": "maximum determination"},
-{"id": 5199,
+{"id": 5288,
"keyword": "unwinding results"},
-{"id": 5200,
+{"id": 5289,
"keyword": "general scheme"},
-{"id": 5201,
+{"id": 5290,
"keyword": "substantial performance penalty"},
-{"id": 5202,
+{"id": 5291,
"keyword": "propositional logic"},
-{"id": 5203,
+{"id": 5292,
"keyword": "lehmer presented criterions"},
-{"id": 5204,
+{"id": 5293,
"keyword": "witnessing diamonds"},
-{"id": 5205,
+{"id": 5294,
"keyword": "mutilated chess board"},
-{"id": 5206,
+{"id": 5295,
"keyword": "formally verified"},
-{"id": 5207,
+{"id": 5296,
"keyword": "w_1 ldots w_n 1"},
-{"id": 5208,
+{"id": 5297,
"keyword": "real vectors spaces"},
-{"id": 5209,
+{"id": 5298,
"keyword": "establish sound type-system-"},
-{"id": 5210,
-"keyword": "future related mechanisation efforts"},
-{"id": 5211,
-"keyword": "compare complements"},
-{"id": 5212,
-"keyword": "concrete system"},
-{"id": 5213,
-"keyword": "compatible formalization"},
-{"id": 5214,
-"keyword": "active domain"},
-{"id": 5215,
-"keyword": "informal proof"},
-{"id": 5216,
-"keyword": "leftmost reduction theorem"},
-{"id": 5217,
-"keyword": "verify-- philosophical arguments"},
-{"id": 5218,
-"keyword": "number partitions"},
-{"id": 5219,
-"keyword": "rewrite rules"},
-{"id": 5220,
-"keyword": "monotonic boolean transformers"},
-{"id": 5221,
-"keyword": "designs"},
-{"id": 5222,
-"keyword": "fundamental banach spaces"},
-{"id": 5223,
-"keyword": "swierczkowski ndash"},
-{"id": 5224,
-"keyword": "eponym ijcar 2020 paper"},
-{"id": 5225,
-"keyword": "key properties"},
-{"id": 5226,
-"keyword": "effectively executable algorithm"},
-{"id": 5227,
-"keyword": "generalise relation algebras"},
-{"id": 5228,
-"keyword": "abstract representation"},
-{"id": 5229,
-"keyword": "abstract theory"},
-{"id": 5230,
-"keyword": "desired precision"},
-{"id": 5231,
-"keyword": "compiled code"},
-{"id": 5232,
-"keyword": "odd-set cover osc"},
-{"id": 5233,
-"keyword": "maintaining knowledge"},
-{"id": 5234,
-"keyword": "sophisticated languages"},
-{"id": 5235,
-"keyword": "function eval solves capturability"},
-{"id": 5236,
-"keyword": "operational properties"},
-{"id": 5237,
-"keyword": "curve operations"},
-{"id": 5238,
-"keyword": "alternative interpretation"},
-{"id": 5239,
-"keyword": "significantly larger"},
-{"id": 5240,
-"keyword": "automatic tactics"},
-{"id": 5241,
-"keyword": "gewirth"},
-{"id": 5242,
-"keyword": "theorem states"},
-{"id": 5243,
-"keyword": "previous axiomatic encoding"},
-{"id": 5244,
-"keyword": "cauchy index"},
-{"id": 5245,
-"keyword": "tree width"},
-{"id": 5246,
-"keyword": "effectively decide ideal membership"},
-{"id": 5247,
-"keyword": "gmw protocol"},
-{"id": 5248,
-"keyword": "multi-party computation"},
-{"id": 5249,
-"keyword": "low edge probability"},
-{"id": 5250,
-"keyword": "static refutational completeness"},
-{"id": 5251,
-"keyword": "incoming edges equals"},
-{"id": 5252,
-"keyword": "tail-recursive function"},
-{"id": 5253,
-"keyword": "all-pairs shortest paths problem"},
-{"id": 5254,
-"keyword": "initial specification"},
-{"id": 5255,
-"keyword": "time sufficient properties"},
-||||||| common ancestor
-{"id": 5189,
-"keyword": "derive mertens"},
-{"id": 5190,
-"keyword": "operational semantics"},
-{"id": 5191,
-"keyword": "match expression"},
-{"id": 5192,
-"keyword": "paper assumptions"},
-{"id": 5193,
-"keyword": "affine arithmetic"},
-{"id": 5194,
-"keyword": "standard protocol descriptions based"},
-{"id": 5195,
-"keyword": "easily expandable"},
-{"id": 5196,
-"keyword": "tsinakis conditions"},
-{"id": 5197,
-"keyword": "binary temporal operators"},
-{"id": 5198,
-"keyword": "javier esparza"},
-{"id": 5199,
-"keyword": "afp entry dynamic architectures"},
-{"id": 5200,
-"keyword": "total correctness proof"},
-{"id": 5201,
-"keyword": "directed security policies"},
-{"id": 5202,
-"keyword": "one-sided sequent calculus"},
-{"id": 5203,
-"keyword": "hybrid logic"},
-{"id": 5204,
-"keyword": "authentication mechanisms employed call"},
-{"id": 5205,
-"keyword": "maximum determination"},
-{"id": 5206,
-"keyword": "unwinding results"},
-{"id": 5207,
-"keyword": "general scheme"},
-{"id": 5208,
-"keyword": "substantial performance penalty"},
-{"id": 5209,
-"keyword": "propositional logic"},
-{"id": 5210,
-"keyword": "lehmer presented criterions"},
-{"id": 5211,
-"keyword": "witnessing diamonds"},
-{"id": 5212,
-"keyword": "mutilated chess board"},
-{"id": 5213,
-"keyword": "formally verified"},
-{"id": 5214,
-"keyword": "w_1 ldots w_n 1"},
-{"id": 5215,
-"keyword": "real vectors spaces"},
-{"id": 5216,
-"keyword": "establish sound type-system-"},
-{"id": 5217,
+{"id": 5299,
"keyword": "future related mechanisation efforts"},
-{"id": 5218,
-"keyword": "compare complements"},
-{"id": 5219,
-"keyword": "concrete system"},
-{"id": 5220,
-"keyword": "compatible formalization"},
-{"id": 5221,
-"keyword": "active domain"},
-{"id": 5222,
-"keyword": "informal proof"},
-{"id": 5223,
-"keyword": "leftmost reduction theorem"},
-{"id": 5224,
-"keyword": "verify-- philosophical arguments"},
-{"id": 5225,
-"keyword": "number partitions"},
-{"id": 5226,
-"keyword": "rewrite rules"},
-{"id": 5227,
-"keyword": "monotonic boolean transformers"},
-{"id": 5228,
-"keyword": "designs"},
-{"id": 5229,
-"keyword": "fundamental banach spaces"},
-{"id": 5230,
-"keyword": "swierczkowski ndash"},
-{"id": 5231,
-"keyword": "eponym ijcar 2020 paper"},
-{"id": 5232,
-"keyword": "key properties"},
-{"id": 5233,
-"keyword": "effectively executable algorithm"},
-{"id": 5234,
-"keyword": "generalise relation algebras"},
-{"id": 5235,
-"keyword": "abstract representation"},
-{"id": 5236,
-"keyword": "abstract theory"},
-{"id": 5237,
-"keyword": "desired precision"},
-{"id": 5238,
-"keyword": "compiled code"},
-{"id": 5239,
-"keyword": "odd-set cover osc"},
-{"id": 5240,
-"keyword": "maintaining knowledge"},
-{"id": 5241,
-"keyword": "sophisticated languages"},
-{"id": 5242,
-"keyword": "function eval solves capturability"},
-{"id": 5243,
-"keyword": "operational properties"},
-{"id": 5244,
-"keyword": "curve operations"},
-{"id": 5245,
-"keyword": "alternative interpretation"},
-{"id": 5246,
-"keyword": "significantly larger"},
-{"id": 5247,
-"keyword": "automatic tactics"},
-{"id": 5248,
-"keyword": "gewirth"},
-{"id": 5249,
-"keyword": "theorem states"},
-{"id": 5250,
-"keyword": "previous axiomatic encoding"},
-{"id": 5251,
-"keyword": "cauchy index"},
-{"id": 5252,
-"keyword": "tree width"},
-{"id": 5253,
-"keyword": "effectively decide ideal membership"},
-{"id": 5254,
-"keyword": "gmw protocol"},
-{"id": 5255,
-"keyword": "multi-party computation"},
-=======
-{"id": 5233,
-"keyword": "derive mertens"},
-{"id": 5234,
-"keyword": "operational semantics"},
-{"id": 5235,
-"keyword": "match expression"},
-{"id": 5236,
-"keyword": "paper assumptions"},
-{"id": 5237,
-"keyword": "affine arithmetic"},
-{"id": 5238,
-"keyword": "standard protocol descriptions based"},
-{"id": 5239,
-"keyword": "easily expandable"},
-{"id": 5240,
-"keyword": "tsinakis conditions"},
-{"id": 5241,
-"keyword": "binary temporal operators"},
-{"id": 5242,
-"keyword": "javier esparza"},
-{"id": 5243,
-"keyword": "afp entry dynamic architectures"},
-{"id": 5244,
-"keyword": "total correctness proof"},
-{"id": 5245,
-"keyword": "directed security policies"},
-{"id": 5246,
-"keyword": "one-sided sequent calculus"},
-{"id": 5247,
-"keyword": "hybrid logic"},
-{"id": 5248,
-"keyword": "authentication mechanisms employed call"},
-{"id": 5249,
-"keyword": "maximum determination"},
-{"id": 5250,
-"keyword": "unwinding results"},
-{"id": 5251,
-"keyword": "general scheme"},
-{"id": 5252,
-"keyword": "substantial performance penalty"},
-{"id": 5253,
-"keyword": "propositional logic"},
-{"id": 5254,
-"keyword": "lehmer presented criterions"},
-{"id": 5255,
-"keyword": "witnessing diamonds"},
->>>>>>> merge rev
-{"id": 5256,
-<<<<<<< working copy
-"keyword": "symmetry properties"},
-||||||| common ancestor
-"keyword": "low edge probability"},
-=======
-"keyword": "mutilated chess board"},
->>>>>>> merge rev
-{"id": 5257,
-<<<<<<< working copy
-"keyword": "probabilistic functional programming language"},
-||||||| common ancestor
-"keyword": "static refutational completeness"},
-=======
-"keyword": "formally verified"},
->>>>>>> merge rev
-{"id": 5258,
-<<<<<<< working copy
-"keyword": "fixed set"},
-||||||| common ancestor
-"keyword": "incoming edges equals"},
-=======
-"keyword": "w_1 ldots w_n 1"},
->>>>>>> merge rev
-{"id": 5259,
-<<<<<<< working copy
-"keyword": "reflexive-transitive closures"},
-||||||| common ancestor
-"keyword": "tail-recursive function"},
-=======
-"keyword": "real vectors spaces"},
->>>>>>> merge rev
-{"id": 5260,
-<<<<<<< working copy
-"keyword": "racing effects"},
-||||||| common ancestor
-"keyword": "all-pairs shortest paths problem"},
-=======
-"keyword": "establish sound type-system-"},
->>>>>>> merge rev
-{"id": 5261,
-<<<<<<< working copy
-"keyword": "dbm-based forward analysis"},
-||||||| common ancestor
-"keyword": "initial specification"},
-=======
-"keyword": "future related mechanisation efforts"},
->>>>>>> merge rev
-{"id": 5262,
-<<<<<<< working copy
-"keyword": "formal verification"},
-||||||| common ancestor
-"keyword": "time sufficient properties"},
-=======
-"keyword": "compare complements"},
->>>>>>> merge rev
-{"id": 5263,
-<<<<<<< working copy
-"keyword": "compositional invariant proofs"},
-||||||| common ancestor
-"keyword": "symmetry properties"},
-=======
-"keyword": "concrete system"},
->>>>>>> merge rev
-{"id": 5264,
-<<<<<<< working copy
-"keyword": "abstract time domain"},
-||||||| common ancestor
-"keyword": "probabilistic functional programming language"},
-=======
-"keyword": "compatible formalization"},
->>>>>>> merge rev
-{"id": 5265,
-<<<<<<< working copy
-"keyword": "defining functions"},
-{"id": 5266,
-"keyword": "correctness proof"},
-{"id": 5267,
-"keyword": "smt"},
-{"id": 5268,
-||||||| common ancestor
-"keyword": "fixed set"},
-{"id": 5266,
-"keyword": "reflexive-transitive closures"},
-{"id": 5267,
-"keyword": "racing effects"},
-{"id": 5268,
-"keyword": "dbm-based forward analysis"},
-{"id": 5269,
-"keyword": "formal verification"},
-{"id": 5270,
-"keyword": "compositional invariant proofs"},
-{"id": 5271,
-"keyword": "defining functions"},
-{"id": 5272,
-"keyword": "correctness proof"},
-{"id": 5273,
-"keyword": "smt"},
-{"id": 5274,
-=======
-"keyword": "active domain"},
-{"id": 5266,
-"keyword": "informal proof"},
-{"id": 5267,
-"keyword": "leftmost reduction theorem"},
-{"id": 5268,
-"keyword": "verify-- philosophical arguments"},
-{"id": 5269,
-"keyword": "number partitions"},
-{"id": 5270,
-"keyword": "rewrite rules"},
-{"id": 5271,
-"keyword": "monotonic boolean transformers"},
-{"id": 5272,
-"keyword": "designs"},
-{"id": 5273,
-"keyword": "fundamental banach spaces"},
-{"id": 5274,
-"keyword": "swierczkowski ndash"},
-{"id": 5275,
-"keyword": "eponym ijcar 2020 paper"},
-{"id": 5276,
-"keyword": "expressing smart contracts"},
-{"id": 5277,
-"keyword": "key properties"},
-{"id": 5278,
-"keyword": "effectively executable algorithm"},
-{"id": 5279,
-"keyword": "generalise relation algebras"},
-{"id": 5280,
-"keyword": "abstract representation"},
-{"id": 5281,
-"keyword": "abstract theory"},
-{"id": 5282,
-"keyword": "desired precision"},
-{"id": 5283,
-"keyword": "compiled code"},
-{"id": 5284,
-"keyword": "odd-set cover osc"},
-{"id": 5285,
-"keyword": "maintaining knowledge"},
-{"id": 5286,
-"keyword": "sophisticated languages"},
-{"id": 5287,
-"keyword": "function eval solves capturability"},
-{"id": 5288,
-"keyword": "operational properties"},
-{"id": 5289,
-"keyword": "curve operations"},
-{"id": 5290,
-"keyword": "alternative interpretation"},
-{"id": 5291,
-"keyword": "significantly larger"},
-{"id": 5292,
-"keyword": "automatic tactics"},
-{"id": 5293,
-"keyword": "gewirth"},
-{"id": 5294,
-"keyword": "theorem states"},
-{"id": 5295,
-"keyword": "previous axiomatic encoding"},
-{"id": 5296,
-"keyword": "cauchy index"},
-{"id": 5297,
-"keyword": "tree width"},
-{"id": 5298,
-"keyword": "effectively decide ideal membership"},
-{"id": 5299,
-"keyword": "gmw protocol"},
{"id": 5300,
-"keyword": "multi-party computation"},
+"keyword": "compare complements"},
{"id": 5301,
-"keyword": "low edge probability"},
+"keyword": "concrete system"},
{"id": 5302,
-"keyword": "static refutational completeness"},
-{"id": 5303,
-"keyword": "incoming edges equals"},
-{"id": 5304,
-"keyword": "tail-recursive function"},
-{"id": 5305,
-"keyword": "all-pairs shortest paths problem"},
-{"id": 5306,
-"keyword": "initial specification"},
-{"id": 5307,
-"keyword": "time sufficient properties"},
-{"id": 5308,
-"keyword": "symmetry properties"},
-{"id": 5309,
-"keyword": "probabilistic functional programming language"},
-{"id": 5310,
-"keyword": "fixed set"},
-{"id": 5311,
-"keyword": "reflexive-transitive closures"},
-{"id": 5312,
-"keyword": "racing effects"},
-{"id": 5313,
-"keyword": "dbm-based forward analysis"},
-{"id": 5314,
-"keyword": "formal verification"},
-{"id": 5315,
-"keyword": "compositional invariant proofs"},
-{"id": 5316,
-"keyword": "defining functions"},
-{"id": 5317,
-"keyword": "correctness proof"},
-{"id": 5318,
-"keyword": "smt"},
-{"id": 5319,
->>>>>>> merge rev
-"keyword": "separation logic formulae"},
-<<<<<<< working copy
-{"id": 5269,
-"keyword": "catalan numbers"},
-{"id": 5270,
-"keyword": "deriving approximative safety properties"},
-{"id": 5271,
-"keyword": "keeping track"},
-{"id": 5272,
-"keyword": "polar form transformation"},
-{"id": 5273,
-"keyword": "counting sort making"},
-{"id": 5274,
-"keyword": "interval calculus"},
-{"id": 5275,
-"keyword": "countable networks"},
-{"id": 5276,
-"keyword": "generated code"},
-{"id": 5277,
-"keyword": "christian urban"},
-{"id": 5278,
-"keyword": "modify nodes"},
-{"id": 5279,
-"keyword": "security systems"},
-{"id": 5280,
-"keyword": "unsorted first-order logic"},
-{"id": 5281,
-"keyword": "generalising tla action formulas"},
-{"id": 5282,
-"keyword": "collecting semantics"},
-{"id": 5283,
-"keyword": "single partial composition operation"},
-{"id": 5284,
-"keyword": "guarantee minimality"},
-{"id": 5285,
-"keyword": "data stream"},
-{"id": 5286,
-"keyword": "search trees based"},
-{"id": 5287,
-"keyword": "universal turing machine"},
-{"id": 5288,
-"keyword": "nonzero rational number"},
-{"id": 5289,
-"keyword": "unrestricted rules"},
-{"id": 5290,
-"keyword": "efficient version"},
-{"id": 5291,
-"keyword": "specification mechanism"},
-{"id": 5292,
-"keyword": "rts algorithm"},
-{"id": 5293,
-"keyword": "dirichlet"},
-{"id": 5294,
-||||||| common ancestor
-{"id": 5275,
-"keyword": "catalan numbers"},
-{"id": 5276,
-"keyword": "deriving approximative safety properties"},
-{"id": 5277,
-"keyword": "keeping track"},
-{"id": 5278,
-"keyword": "polar form transformation"},
-{"id": 5279,
-"keyword": "counting sort making"},
-{"id": 5280,
-"keyword": "interval calculus"},
-{"id": 5281,
-"keyword": "countable networks"},
-{"id": 5282,
-"keyword": "generated code"},
-{"id": 5283,
-"keyword": "christian urban"},
-{"id": 5284,
-"keyword": "modify nodes"},
-{"id": 5285,
-"keyword": "security systems"},
-{"id": 5286,
-"keyword": "unsorted first-order logic"},
-{"id": 5287,
-"keyword": "generalising tla action formulas"},
-{"id": 5288,
-"keyword": "collecting semantics"},
-{"id": 5289,
-"keyword": "single partial composition operation"},
-{"id": 5290,
-"keyword": "guarantee minimality"},
-{"id": 5291,
-"keyword": "data stream"},
-{"id": 5292,
-"keyword": "search trees based"},
-{"id": 5293,
-"keyword": "universal turing machine"},
-{"id": 5294,
-"keyword": "nonzero rational number"},
-{"id": 5295,
-"keyword": "unrestricted rules"},
-{"id": 5296,
-"keyword": "efficient version"},
-{"id": 5297,
-"keyword": "specification mechanism"},
-{"id": 5298,
-"keyword": "rts algorithm"},
-{"id": 5299,
-"keyword": "dirichlet"},
-{"id": 5300,
-=======
-{"id": 5320,
-"keyword": "catalan numbers"},
-{"id": 5321,
-"keyword": "deriving approximative safety properties"},
-{"id": 5322,
-"keyword": "keeping track"},
-{"id": 5323,
-"keyword": "polar form transformation"},
-{"id": 5324,
-"keyword": "counting sort making"},
-{"id": 5325,
-"keyword": "interval calculus"},
-{"id": 5326,
-"keyword": "countable networks"},
-{"id": 5327,
-"keyword": "generated code"},
-{"id": 5328,
-"keyword": "christian urban"},
-{"id": 5329,
-"keyword": "modify nodes"},
-{"id": 5330,
-"keyword": "security systems"},
-{"id": 5331,
-"keyword": "unsorted first-order logic"},
-{"id": 5332,
-"keyword": "generalising tla action formulas"},
-{"id": 5333,
-"keyword": "collecting semantics"},
-{"id": 5334,
-"keyword": "single partial composition operation"},
-{"id": 5335,
-"keyword": "guarantee minimality"},
-{"id": 5336,
-"keyword": "data stream"},
-{"id": 5337,
-"keyword": "search trees based"},
-{"id": 5338,
-"keyword": "universal turing machine"},
-{"id": 5339,
-"keyword": "nonzero rational number"},
-{"id": 5340,
-"keyword": "unrestricted rules"},
-{"id": 5341,
-"keyword": "efficient version"},
-{"id": 5342,
-"keyword": "specification mechanism"},
-{"id": 5343,
-"keyword": "rts algorithm"},
-{"id": 5344,
-"keyword": "dirichlet"},
-{"id": 5345,
->>>>>>> merge rev
-"keyword": "involve polynomial interpretations"},
-<<<<<<< working copy
-{"id": 5295,
-||||||| common ancestor
-{"id": 5301,
-=======
-{"id": 5346,
->>>>>>> merge rev
-"keyword": "resulting proof system"},
-<<<<<<< working copy
-{"id": 5296,
-||||||| common ancestor
-{"id": 5302,
-=======
-{"id": 5347,
->>>>>>> merge rev
-"keyword": "newton interpolation"},
-<<<<<<< working copy
-{"id": 5297,
-||||||| common ancestor
-{"id": 5303,
-=======
-{"id": 5348,
->>>>>>> merge rev
-"keyword": "arrow-debreu model"},
-<<<<<<< working copy
-{"id": 5298,
-"keyword": "complex algebraic numbers"},
-{"id": 5299,
-"keyword": "regular operations"},
-{"id": 5300,
-"keyword": "infinite-dimensional vector spaces"},
-{"id": 5301,
-"keyword": "tool box allowing"},
-{"id": 5302,
-"keyword": "elementary measure theory"},
+"keyword": "compatible formalization"},
{"id": 5303,
-"keyword": "false alarms"},
+"keyword": "active domain"},
{"id": 5304,
-"keyword": "generic unwinding theorem"},
-{"id": 5305,
-"keyword": "program compositions"},
-{"id": 5306,
-"keyword": "org vol-3002 paper7"},
-{"id": 5307,
-"keyword": "knot theory"},
-{"id": 5308,
-"keyword": "formal model"},
-{"id": 5309,
-"keyword": "abstract interpreter operate"},
-{"id": 5310,
-"keyword": "hom embedding"},
-{"id": 5311,
-"keyword": "zeroth frequency moment"},
-{"id": 5312,
-"keyword": "bnf-based datatype package"},
-{"id": 5313,
-||||||| common ancestor
-{"id": 5304,
-"keyword": "complex algebraic numbers"},
+"keyword": "informal proof"},
{"id": 5305,
-"keyword": "regular operations"},
+"keyword": "leftmost reduction theorem"},
{"id": 5306,
-"keyword": "infinite-dimensional vector spaces"},
+"keyword": "verify-- philosophical arguments"},
{"id": 5307,
-"keyword": "tool box allowing"},
+"keyword": "number partitions"},
{"id": 5308,
-"keyword": "elementary measure theory"},
+"keyword": "rewrite rules"},
{"id": 5309,
-"keyword": "false alarms"},
+"keyword": "monochromatic line"},
{"id": 5310,
-"keyword": "generic unwinding theorem"},
+"keyword": "monotonic boolean transformers"},
{"id": 5311,
-"keyword": "program compositions"},
+"keyword": "designs"},
{"id": 5312,
-"keyword": "org vol-3002 paper7"},
+"keyword": "fundamental banach spaces"},
{"id": 5313,
-"keyword": "knot theory"},
+"keyword": "swierczkowski ndash"},
{"id": 5314,
-"keyword": "formal model"},
+"keyword": "eponym ijcar 2020 paper"},
{"id": 5315,
-"keyword": "abstract interpreter operate"},
+"keyword": "expressing smart contracts"},
{"id": 5316,
-"keyword": "hom embedding"},
+"keyword": "key properties"},
{"id": 5317,
-"keyword": "zeroth frequency moment"},
+"keyword": "special halting problem"},
{"id": 5318,
-"keyword": "bnf-based datatype package"},
+"keyword": "effectively executable algorithm"},
{"id": 5319,
-=======
-{"id": 5349,
-"keyword": "complex algebraic numbers"},
-{"id": 5350,
-"keyword": "regular operations"},
-{"id": 5351,
-"keyword": "infinite-dimensional vector spaces"},
-{"id": 5352,
-"keyword": "tool box allowing"},
-{"id": 5353,
-"keyword": "elementary measure theory"},
-{"id": 5354,
-"keyword": "false alarms"},
-{"id": 5355,
-"keyword": "generic unwinding theorem"},
-{"id": 5356,
-"keyword": "program compositions"},
-{"id": 5357,
-"keyword": "org vol-3002 paper7"},
-{"id": 5358,
-"keyword": "knot theory"},
-{"id": 5359,
-"keyword": "formal model"},
-{"id": 5360,
-"keyword": "abstract interpreter operate"},
-{"id": 5361,
-"keyword": "hom embedding"},
-{"id": 5362,
-"keyword": "zeroth frequency moment"},
-{"id": 5363,
-"keyword": "bnf-based datatype package"},
-{"id": 5364,
->>>>>>> merge rev
-"keyword": "classic notion"},
-<<<<<<< working copy
-{"id": 5314,
-||||||| common ancestor
+"keyword": "generalise relation algebras"},
{"id": 5320,
-=======
-{"id": 5365,
->>>>>>> merge rev
-"keyword": "projective space geometry"},
-<<<<<<< working copy
-{"id": 5315,
-||||||| common ancestor
+"keyword": "abstract representation"},
{"id": 5321,
-=======
-{"id": 5366,
->>>>>>> merge rev
-"keyword": "free"},
-<<<<<<< working copy
-{"id": 5316,
-||||||| common ancestor
+"keyword": "abstract theory"},
{"id": 5322,
-=======
-{"id": 5367,
->>>>>>> merge rev
-"keyword": "small-step semantics instrumented"},
-<<<<<<< working copy
-{"id": 5317,
-||||||| common ancestor
+"keyword": "desired precision"},
{"id": 5323,
-=======
-{"id": 5368,
->>>>>>> merge rev
-"keyword": "reproduced faithfully"},
-<<<<<<< working copy
-{"id": 5318,
-||||||| common ancestor
+"keyword": "compiled code"},
{"id": 5324,
-=======
-{"id": 5369,
->>>>>>> merge rev
-"keyword": "strong eventual consistency guarantees"},
-<<<<<<< working copy
-{"id": 5319,
-||||||| common ancestor
+"keyword": "odd-set cover osc"},
{"id": 5325,
-=======
-{"id": 5370,
->>>>>>> merge rev
-"keyword": "sparcv8 cpu"},
-<<<<<<< working copy
-{"id": 5320,
-||||||| common ancestor
+"keyword": "maintaining knowledge"},
{"id": 5326,
-=======
-{"id": 5371,
->>>>>>> merge rev
-"keyword": "poincar disc model"},
-<<<<<<< working copy
-{"id": 5321,
-||||||| common ancestor
+"keyword": "sophisticated languages"},
{"id": 5327,
-=======
-{"id": 5372,
->>>>>>> merge rev
-"keyword": "called learnable"},
-<<<<<<< working copy
-{"id": 5322,
-||||||| common ancestor
+"keyword": "function eval solves capturability"},
{"id": 5328,
-=======
-{"id": 5373,
->>>>>>> merge rev
-"keyword": "variants"},
-<<<<<<< working copy
-{"id": 5323,
-||||||| common ancestor
+"keyword": "operational properties"},
{"id": 5329,
-=======
-{"id": 5374,
->>>>>>> merge rev
-"keyword": "cartesian monoidal categories"},
-<<<<<<< working copy
-{"id": 5324,
-||||||| common ancestor
+"keyword": "curve operations"},
{"id": 5330,
-=======
-{"id": 5375,
->>>>>>> merge rev
-"keyword": "deterministic list update algorithms"},
-<<<<<<< working copy
-{"id": 5325,
-||||||| common ancestor
+"keyword": "alternative interpretation"},
{"id": 5331,
-=======
-{"id": 5376,
->>>>>>> merge rev
-"keyword": "quad int_0 1"},
-<<<<<<< working copy
-{"id": 5326,
-||||||| common ancestor
-{"id": 5332,
-=======
-{"id": 5377,
->>>>>>> merge rev
-"keyword": "levi identities"},
-<<<<<<< working copy
-{"id": 5327,
-"keyword": "applicative functors augment computations"},
-{"id": 5328,
-"keyword": "therories describe hoare logics"},
-{"id": 5329,
-"keyword": "list"},
-{"id": 5330,
-"keyword": "abstract algebra"},
-{"id": 5331,
-"keyword": "verifying practical algorithms"},
+"keyword": "significantly larger"},
{"id": 5332,
-"keyword": "neutral social decision scheme"},
+"keyword": "automatic tactics"},
{"id": 5333,
-"keyword": "data refinement techniques"},
+"keyword": "gewirth"},
{"id": 5334,
-"keyword": "concrete data structures"},
+"keyword": "theorem states"},
{"id": 5335,
-"keyword": "basic number-theoretic functions related"},
+"keyword": "previous axiomatic encoding"},
{"id": 5336,
-"keyword": "mfodl supports real-time constraints"},
+"keyword": "cauchy index"},
{"id": 5337,
-"keyword": "geometric interpretation"},
+"keyword": "tree width"},
{"id": 5338,
-"keyword": "minsky configurations"},
-{"id": 5339,
-"keyword": "stepwise refinement based approach"},
-{"id": 5340,
-"keyword": "concrete lower bound"},
-{"id": 5341,
-"keyword": "textual language"},
-{"id": 5342,
-||||||| common ancestor
-{"id": 5333,
-"keyword": "applicative functors augment computations"},
-{"id": 5334,
-"keyword": "therories describe hoare logics"},
-{"id": 5335,
-"keyword": "list"},
-{"id": 5336,
-"keyword": "abstract algebra"},
-{"id": 5337,
-"keyword": "verifying practical algorithms"},
-{"id": 5338,
-"keyword": "neutral social decision scheme"},
+"keyword": "effectively decide ideal membership"},
{"id": 5339,
-"keyword": "data refinement techniques"},
+"keyword": "gmw protocol"},
{"id": 5340,
-"keyword": "concrete data structures"},
+"keyword": "multi-party computation"},
{"id": 5341,
-"keyword": "basic number-theoretic functions related"},
+"keyword": "master students"},
{"id": 5342,
-"keyword": "mfodl supports real-time constraints"},
+"keyword": "low edge probability"},
{"id": 5343,
-"keyword": "geometric interpretation"},
+"keyword": "static refutational completeness"},
{"id": 5344,
-"keyword": "minsky configurations"},
+"keyword": "incoming edges equals"},
{"id": 5345,
-"keyword": "stepwise refinement based approach"},
+"keyword": "tail-recursive function"},
{"id": 5346,
-"keyword": "concrete lower bound"},
+"keyword": "all-pairs shortest paths problem"},
{"id": 5347,
-"keyword": "textual language"},
+"keyword": "initial specification"},
{"id": 5348,
-=======
-{"id": 5378,
-"keyword": "applicative functors augment computations"},
-{"id": 5379,
-"keyword": "therories describe hoare logics"},
-{"id": 5380,
-"keyword": "list"},
-{"id": 5381,
-"keyword": "abstract algebra"},
-{"id": 5382,
-"keyword": "verifying practical algorithms"},
-{"id": 5383,
-"keyword": "neutral social decision scheme"},
-{"id": 5384,
-"keyword": "data refinement techniques"},
-{"id": 5385,
-"keyword": "concrete data structures"},
-{"id": 5386,
-"keyword": "basic number-theoretic functions related"},
-{"id": 5387,
-"keyword": "mfodl supports real-time constraints"},
-{"id": 5388,
-"keyword": "geometric interpretation"},
-{"id": 5389,
-"keyword": "minsky configurations"},
-{"id": 5390,
-"keyword": "stepwise refinement based approach"},
-{"id": 5391,
-"keyword": "concrete lower bound"},
-{"id": 5392,
-"keyword": "textual language"},
-{"id": 5393,
->>>>>>> merge rev
-"keyword": "elementary proof"},
-<<<<<<< working copy
-{"id": 5343,
-||||||| common ancestor
+"keyword": "time sufficient properties"},
{"id": 5349,
-=======
-{"id": 5394,
->>>>>>> merge rev
-"keyword": "originally reported"},
-<<<<<<< working copy
-{"id": 5344,
-||||||| common ancestor
+"keyword": "symmetry properties"},
{"id": 5350,
-=======
-{"id": 5395,
->>>>>>> merge rev
-"keyword": "lu cleverly extended"},
-<<<<<<< working copy
-{"id": 5345,
-||||||| common ancestor
+"keyword": "probabilistic functional programming language"},
{"id": 5351,
-=======
-{"id": 5396,
->>>>>>> merge rev
-"keyword": "efficient arrays"},
-<<<<<<< working copy
-{"id": 5346,
-"keyword": "basic blocks"},
-{"id": 5347,
-"keyword": "represent objects"},
-{"id": 5348,
-"keyword": "iterative interpretive process"},
-{"id": 5349,
-"keyword": "simple algebraic basis"},
-{"id": 5350,
-"keyword": "basic algebra leading"},
-{"id": 5351,
-"keyword": "volpano smith-style noninterference notions"},
+"keyword": "fixed set"},
{"id": 5352,
-"keyword": "composable security statements"},
+"keyword": "reflexive-transitive closures"},
{"id": 5353,
-"keyword": "important functions"},
+"keyword": "racing effects"},
{"id": 5354,
-"keyword": "core notion"},
+"keyword": "dbm-based forward analysis"},
{"id": 5355,
-"keyword": "complex"},
+"keyword": "formal verification"},
{"id": 5356,
-"keyword": "model-level og proof"},
+"keyword": "compositional invariant proofs"},
{"id": 5357,
-"keyword": "simplify program verification"},
+"keyword": "abstract time domain"},
{"id": 5358,
-"keyword": "constant intersect designs"},
+"keyword": "defining functions"},
{"id": 5359,
-"keyword": "folder commonset"},
+"keyword": "correctness proof"},
{"id": 5360,
-"keyword": "type checker"},
+"keyword": "smt"},
{"id": 5361,
-"keyword": "hol light version"},
+"keyword": "separation logic formulae"},
{"id": 5362,
-"keyword": "formal summation"},
+"keyword": "catalan numbers"},
{"id": 5363,
-"keyword": "key establishment protocols"},
+"keyword": "deriving approximative safety properties"},
{"id": 5364,
-"keyword": "linear transformations"},
+"keyword": "keeping track"},
{"id": 5365,
-"keyword": "bicolano operational semantics"},
+"keyword": "polar form transformation"},
{"id": 5366,
-"keyword": "elementary infrastructure"},
+"keyword": "counting sort making"},
{"id": 5367,
-"keyword": "nominal logic formalism"},
+"keyword": "interval calculus"},
{"id": 5368,
-"keyword": "efficient monpoly monitoring tool"},
+"keyword": "countable networks"},
{"id": 5369,
-"keyword": "complex library"},
+"keyword": "generated code"},
{"id": 5370,
-"keyword": "ceta system"},
+"keyword": "christian urban"},
{"id": 5371,
-"keyword": "standard disassembly tool objdump"},
+"keyword": "modify nodes"},
{"id": 5372,
-"keyword": "binary relations"},
+"keyword": "security systems"},
{"id": 5373,
-"keyword": "cover monotonic security invariants"},
+"keyword": "unsorted first-order logic"},
{"id": 5374,
-"keyword": "simple paper proof"},
+"keyword": "generalising tla action formulas"},
{"id": 5375,
-"keyword": "global model"},
+"keyword": "collecting semantics"},
{"id": 5376,
-"keyword": "derive"},
+"keyword": "single partial composition operation"},
{"id": 5377,
-"keyword": "relativize paulson"},
+"keyword": "guarantee minimality"},
{"id": 5378,
-"keyword": "normed space"},
+"keyword": "data stream"},
{"id": 5379,
-"keyword": "radix sort"},
+"keyword": "search trees based"},
{"id": 5380,
-"keyword": "proof step"},
+"keyword": "universal turing machine"},
{"id": 5381,
-"keyword": "declassification bounds"},
+"keyword": "nonzero rational number"},
{"id": 5382,
-"keyword": "original version"},
+"keyword": "unrestricted rules"},
{"id": 5383,
-"keyword": "stimulus structure"},
+"keyword": "efficient version"},
{"id": 5384,
-"keyword": "protocol verification"},
+"keyword": "specification mechanism"},
{"id": 5385,
-"keyword": "higher entity"},
+"keyword": "rts algorithm"},
{"id": 5386,
-"keyword": "arithmetic logical operations"},
+"keyword": "dirichlet"},
{"id": 5387,
-"keyword": "require eventual consistency"},
+"keyword": "involve polynomial interpretations"},
{"id": 5388,
-"keyword": "skip blocks"},
+"keyword": "resulting proof system"},
{"id": 5389,
-"keyword": "subterm coefficient functions"},
+"keyword": "newton interpolation"},
{"id": 5390,
-"keyword": "tla axioms"},
+"keyword": "arrow-debreu model"},
{"id": 5391,
-"keyword": "afp package"},
+"keyword": "complex algebraic numbers"},
{"id": 5392,
-"keyword": "alphabetised relational calculus"},
+"keyword": "regular operations"},
{"id": 5393,
-"keyword": "infinite"},
+"keyword": "infinite-dimensional vector spaces"},
{"id": 5394,
-"keyword": "unify correctness statements"},
+"keyword": "tool box allowing"},
{"id": 5395,
-"keyword": "representing documents"},
+"keyword": "elementary measure theory"},
{"id": 5396,
-"keyword": "complete semantic tableau calculus"},
+"keyword": "false alarms"},
{"id": 5397,
-"keyword": "domain-relation map satisfying"},
+"keyword": "generic unwinding theorem"},
{"id": 5398,
-"keyword": "abstract convergence theorem"},
+"keyword": "program compositions"},
{"id": 5399,
-"keyword": "normal functions"},
+"keyword": "org vol-3002 paper7"},
{"id": 5400,
-"keyword": "language determinism"},
-||||||| common ancestor
-{"id": 5352,
+"keyword": "knot theory"},
+{"id": 5401,
+"keyword": "formal model"},
+{"id": 5402,
+"keyword": "abstract interpreter operate"},
+{"id": 5403,
+"keyword": "hom embedding"},
+{"id": 5404,
+"keyword": "zeroth frequency moment"},
+{"id": 5405,
+"keyword": "bnf-based datatype package"},
+{"id": 5406,
+"keyword": "classic notion"},
+{"id": 5407,
+"keyword": "projective space geometry"},
+{"id": 5408,
+"keyword": "free"},
+{"id": 5409,
+"keyword": "small-step semantics instrumented"},
+{"id": 5410,
+"keyword": "reproduced faithfully"},
+{"id": 5411,
+"keyword": "strong eventual consistency guarantees"},
+{"id": 5412,
+"keyword": "sparcv8 cpu"},
+{"id": 5413,
+"keyword": "poincar disc model"},
+{"id": 5414,
+"keyword": "called learnable"},
+{"id": 5415,
+"keyword": "variants"},
+{"id": 5416,
+"keyword": "cartesian monoidal categories"},
+{"id": 5417,
+"keyword": "deterministic list update algorithms"},
+{"id": 5418,
+"keyword": "quad int_0 1"},
+{"id": 5419,
+"keyword": "levi identities"},
+{"id": 5420,
+"keyword": "applicative functors augment computations"},
+{"id": 5421,
+"keyword": "therories describe hoare logics"},
+{"id": 5422,
+"keyword": "list"},
+{"id": 5423,
+"keyword": "abstract algebra"},
+{"id": 5424,
+"keyword": "verifying practical algorithms"},
+{"id": 5425,
+"keyword": "neutral social decision scheme"},
+{"id": 5426,
+"keyword": "data refinement techniques"},
+{"id": 5427,
+"keyword": "concrete data structures"},
+{"id": 5428,
+"keyword": "basic number-theoretic functions related"},
+{"id": 5429,
+"keyword": "mfodl supports real-time constraints"},
+{"id": 5430,
+"keyword": "geometric interpretation"},
+{"id": 5431,
+"keyword": "minsky configurations"},
+{"id": 5432,
+"keyword": "stepwise refinement based approach"},
+{"id": 5433,
+"keyword": "concrete lower bound"},
+{"id": 5434,
+"keyword": "textual language"},
+{"id": 5435,
+"keyword": "elementary proof"},
+{"id": 5436,
+"keyword": "originally reported"},
+{"id": 5437,
+"keyword": "lu cleverly extended"},
+{"id": 5438,
+"keyword": "efficient arrays"},
+{"id": 5439,
"keyword": "basic blocks"},
-{"id": 5353,
+{"id": 5440,
"keyword": "represent objects"},
-{"id": 5354,
+{"id": 5441,
"keyword": "iterative interpretive process"},
-{"id": 5355,
+{"id": 5442,
"keyword": "simple algebraic basis"},
-{"id": 5356,
+{"id": 5443,
"keyword": "basic algebra leading"},
-{"id": 5357,
+{"id": 5444,
"keyword": "volpano smith-style noninterference notions"},
-{"id": 5358,
+{"id": 5445,
"keyword": "composable security statements"},
-{"id": 5359,
+{"id": 5446,
"keyword": "important functions"},
-{"id": 5360,
+{"id": 5447,
"keyword": "core notion"},
-{"id": 5361,
+{"id": 5448,
"keyword": "complex"},
-{"id": 5362,
+{"id": 5449,
"keyword": "model-level og proof"},
-{"id": 5363,
+{"id": 5450,
"keyword": "simplify program verification"},
-{"id": 5364,
+{"id": 5451,
"keyword": "constant intersect designs"},
-{"id": 5365,
+{"id": 5452,
"keyword": "folder commonset"},
-{"id": 5366,
+{"id": 5453,
"keyword": "type checker"},
-{"id": 5367,
+{"id": 5454,
"keyword": "hol light version"},
-{"id": 5368,
+{"id": 5455,
"keyword": "formal summation"},
-{"id": 5369,
+{"id": 5456,
"keyword": "key establishment protocols"},
-{"id": 5370,
+{"id": 5457,
"keyword": "linear transformations"},
-{"id": 5371,
+{"id": 5458,
"keyword": "bicolano operational semantics"},
-{"id": 5372,
+{"id": 5459,
"keyword": "elementary infrastructure"},
-{"id": 5373,
+{"id": 5460,
"keyword": "nominal logic formalism"},
-{"id": 5374,
+{"id": 5461,
"keyword": "efficient monpoly monitoring tool"},
-{"id": 5375,
+{"id": 5462,
"keyword": "complex library"},
-{"id": 5376,
+{"id": 5463,
"keyword": "ceta system"},
-{"id": 5377,
+{"id": 5464,
"keyword": "standard disassembly tool objdump"},
-{"id": 5378,
+{"id": 5465,
"keyword": "binary relations"},
-{"id": 5379,
+{"id": 5466,
"keyword": "cover monotonic security invariants"},
-{"id": 5380,
+{"id": 5467,
"keyword": "simple paper proof"},
-{"id": 5381,
+{"id": 5468,
"keyword": "global model"},
-{"id": 5382,
+{"id": 5469,
"keyword": "derive"},
-{"id": 5383,
+{"id": 5470,
"keyword": "relativize paulson"},
-{"id": 5384,
+{"id": 5471,
"keyword": "normed space"},
-{"id": 5385,
+{"id": 5472,
"keyword": "radix sort"},
-{"id": 5386,
+{"id": 5473,
"keyword": "proof step"},
-{"id": 5387,
+{"id": 5474,
"keyword": "declassification bounds"},
-{"id": 5388,
+{"id": 5475,
"keyword": "original version"},
-{"id": 5389,
+{"id": 5476,
"keyword": "stimulus structure"},
-{"id": 5390,
+{"id": 5477,
"keyword": "protocol verification"},
-{"id": 5391,
+{"id": 5478,
"keyword": "higher entity"},
-{"id": 5392,
+{"id": 5479,
"keyword": "arithmetic logical operations"},
-{"id": 5393,
+{"id": 5480,
"keyword": "require eventual consistency"},
-{"id": 5394,
+{"id": 5481,
"keyword": "skip blocks"},
-{"id": 5395,
+{"id": 5482,
"keyword": "subterm coefficient functions"},
-{"id": 5396,
+{"id": 5483,
"keyword": "tla axioms"},
-{"id": 5397,
+{"id": 5484,
"keyword": "afp package"},
-{"id": 5398,
+{"id": 5485,
"keyword": "alphabetised relational calculus"},
-{"id": 5399,
+{"id": 5486,
"keyword": "infinite"},
-{"id": 5400,
+{"id": 5487,
"keyword": "unify correctness statements"},
-=======
-{"id": 5397,
-"keyword": "basic blocks"},
-{"id": 5398,
-"keyword": "represent objects"},
-{"id": 5399,
-"keyword": "iterative interpretive process"},
-{"id": 5400,
-"keyword": "simple algebraic basis"},
->>>>>>> merge rev
-{"id": 5401,
-<<<<<<< working copy
-"keyword": "comparatively small subset"},
-||||||| common ancestor
+{"id": 5488,
"keyword": "representing documents"},
-=======
-"keyword": "basic algebra leading"},
->>>>>>> merge rev
-{"id": 5402,
-<<<<<<< working copy
-"keyword": "independent runs"},
-||||||| common ancestor
+{"id": 5489,
"keyword": "complete semantic tableau calculus"},
-=======
-"keyword": "volpano smith-style noninterference notions"},
->>>>>>> merge rev
-{"id": 5403,
-<<<<<<< working copy
-"keyword": "principal ideal domains"},
-||||||| common ancestor
+{"id": 5490,
"keyword": "domain-relation map satisfying"},
-=======
-"keyword": "composable security statements"},
->>>>>>> merge rev
-{"id": 5404,
-<<<<<<< working copy
-"keyword": "write specifications"},
-||||||| common ancestor
+{"id": 5491,
"keyword": "abstract convergence theorem"},
-=======
-"keyword": "important functions"},
->>>>>>> merge rev
-{"id": 5405,
-<<<<<<< working copy
-"keyword": "algorithm generates posix"},
-||||||| common ancestor
+{"id": 5492,
"keyword": "normal functions"},
-=======
-"keyword": "core notion"},
->>>>>>> merge rev
-{"id": 5406,
-<<<<<<< working copy
-"keyword": "pairwise balanced designs"},
-||||||| common ancestor
+{"id": 5493,
"keyword": "language determinism"},
-=======
-"keyword": "complex"},
->>>>>>> merge rev
-{"id": 5407,
-<<<<<<< working copy
-"keyword": "original presentation"},
-||||||| common ancestor
+{"id": 5494,
"keyword": "comparatively small subset"},
-=======
-"keyword": "model-level og proof"},
->>>>>>> merge rev
-{"id": 5408,
-<<<<<<< working copy
-"keyword": "verified type checker"},
-||||||| common ancestor
+{"id": 5495,
"keyword": "independent runs"},
-=======
-"keyword": "simplify program verification"},
->>>>>>> merge rev
-{"id": 5409,
-<<<<<<< working copy
-"keyword": "conflict-free replicated data types"},
-||||||| common ancestor
+{"id": 5496,
"keyword": "principal ideal domains"},
-=======
-"keyword": "constant intersect designs"},
->>>>>>> merge rev
-{"id": 5410,
-<<<<<<< working copy
+{"id": 5497,
+"keyword": "write specifications"},
+{"id": 5498,
+"keyword": "algorithm generates posix"},
+{"id": 5499,
+"keyword": "pairwise balanced designs"},
+{"id": 5500,
+"keyword": "original presentation"},
+{"id": 5501,
+"keyword": "verified type checker"},
+{"id": 5502,
+"keyword": "conflict-free replicated data types"},
+{"id": 5503,
"keyword": "inverse function"},
-{"id": 5411,
+{"id": 5504,
"keyword": "underlying local hidden-variable theory"},
-{"id": 5412,
+{"id": 5505,
"keyword": "stream fusion library"},
-{"id": 5413,
-"keyword": "program verification competition"},
-{"id": 5414,
-"keyword": "primitives"},
-{"id": 5415,
-"keyword": "finite measure preserving systems"},
-{"id": 5416,
-"keyword": "verified functional skew heaps"},
-{"id": 5417,
-"keyword": "completed versions"},
-{"id": 5418,
-"keyword": "fixed upper bound"},
-||||||| common ancestor
-"keyword": "write specifications"},
-{"id": 5411,
-"keyword": "pairwise balanced designs"},
-{"id": 5412,
-"keyword": "original presentation"},
-{"id": 5413,
-"keyword": "verified type checker"},
-{"id": 5414,
-"keyword": "conflict-free replicated data types"},
-{"id": 5415,
-"keyword": "inverse function"},
-{"id": 5416,
-"keyword": "underlying local hidden-variable theory"},
-{"id": 5417,
-"keyword": "stream fusion library"},
-{"id": 5418,
+{"id": 5506,
"keyword": "program verification competition"},
-=======
-"keyword": "folder commonset"},
-{"id": 5411,
-"keyword": "type checker"},
-{"id": 5412,
-"keyword": "hol light version"},
-{"id": 5413,
-"keyword": "formal summation"},
-{"id": 5414,
-"keyword": "key establishment protocols"},
-{"id": 5415,
-"keyword": "linear transformations"},
-{"id": 5416,
-"keyword": "bicolano operational semantics"},
-{"id": 5417,
-"keyword": "elementary infrastructure"},
-{"id": 5418,
-"keyword": "nominal logic formalism"},
->>>>>>> merge rev
-{"id": 5419,
-<<<<<<< working copy
-"keyword": "chosen abstractions"},
-||||||| common ancestor
+{"id": 5507,
"keyword": "primitives"},
-=======
-"keyword": "efficient monpoly monitoring tool"},
->>>>>>> merge rev
-{"id": 5420,
-<<<<<<< working copy
-"keyword": "composition properties wrt"},
-||||||| common ancestor
+{"id": 5508,
"keyword": "finite measure preserving systems"},
-=======
-"keyword": "complex library"},
->>>>>>> merge rev
-{"id": 5421,
-<<<<<<< working copy
-"keyword": "dfs-based algorithms"},
-||||||| common ancestor
+{"id": 5509,
"keyword": "verified functional skew heaps"},
-=======
-"keyword": "ceta system"},
->>>>>>> merge rev
-{"id": 5422,
-<<<<<<< working copy
-"keyword": "rules applying"},
-||||||| common ancestor
+{"id": 5510,
"keyword": "completed versions"},
-=======
-"keyword": "standard disassembly tool objdump"},
->>>>>>> merge rev
-{"id": 5423,
-<<<<<<< working copy
-"keyword": "logarithmic upper bound"},
-||||||| common ancestor
+{"id": 5511,
"keyword": "fixed upper bound"},
-=======
-"keyword": "binary relations"},
->>>>>>> merge rev
-{"id": 5424,
-<<<<<<< working copy
-"keyword": "incidence system properties"},
-||||||| common ancestor
+{"id": 5512,
"keyword": "chosen abstractions"},
-=======
-"keyword": "cover monotonic security invariants"},
->>>>>>> merge rev
-{"id": 5425,
-<<<<<<< working copy
-"keyword": "small imperative language imp"},
-||||||| common ancestor
+{"id": 5513,
"keyword": "composition properties wrt"},
-=======
-"keyword": "simple paper proof"},
->>>>>>> merge rev
-{"id": 5426,
-<<<<<<< working copy
-"keyword": "certified complex root isolation"},
-||||||| common ancestor
+{"id": 5514,
"keyword": "dfs-based algorithms"},
-=======
-"keyword": "global model"},
->>>>>>> merge rev
-{"id": 5427,
-<<<<<<< working copy
-"keyword": "linear constraints"},
-||||||| common ancestor
+{"id": 5515,
"keyword": "rules applying"},
-=======
-"keyword": "derive"},
->>>>>>> merge rev
-{"id": 5428,
-<<<<<<< working copy
+{"id": 5516,
+"keyword": "logarithmic upper bound"},
+{"id": 5517,
+"keyword": "incidence system properties"},
+{"id": 5518,
+"keyword": "small imperative language imp"},
+{"id": 5519,
+"keyword": "certified complex root isolation"},
+{"id": 5520,
+"keyword": "linear constraints"},
+{"id": 5521,
"keyword": "algebraically independent"},
-||||||| common ancestor
-"keyword": "logarithmic upper bound"},
-=======
-"keyword": "relativize paulson"},
->>>>>>> merge rev
-{"id": 5429,
-<<<<<<< working copy
+{"id": 5522,
"keyword": "double exponential"},
-{"id": 5430,
+{"id": 5523,
"keyword": "monotone maps"},
-{"id": 5431,
+{"id": 5524,
"keyword": "verified ssa construction"},
-{"id": 5432,
+{"id": 5525,
"keyword": "reachability analysis"},
-{"id": 5433,
+{"id": 5526,
"keyword": "prime power"},
-{"id": 5434,
+{"id": 5527,
"keyword": "applications ranging"},
-{"id": 5435,
+{"id": 5528,
"keyword": "distributed environment"},
-{"id": 5436,
+{"id": 5529,
"keyword": "octonionic product"},
-{"id": 5437,
+{"id": 5530,
"keyword": "event lists varying"},
-{"id": 5438,
+{"id": 5531,
"keyword": "notably holcf"},
-{"id": 5439,
+{"id": 5532,
"keyword": "call path authorization"},
-{"id": 5440,
+{"id": 5533,
"keyword": "presentation"},
-{"id": 5441,
+{"id": 5534,
"keyword": "efficiently executable code"},
-{"id": 5442,
-"keyword": "simple proofs"},
-{"id": 5443,
-"keyword": "independent modules"},
-{"id": 5444,
-"keyword": "holzf theory"},
-{"id": 5445,
-"keyword": "state monad"},
-{"id": 5446,
-"keyword": "random pivot choice"},
-{"id": 5447,
-"keyword": "concurrent revisions"},
-||||||| common ancestor
-"keyword": "incidence system properties"},
-{"id": 5430,
-"keyword": "small imperative language imp"},
-{"id": 5431,
-"keyword": "certified complex root isolation"},
-{"id": 5432,
-"keyword": "linear constraints"},
-{"id": 5433,
-"keyword": "algebraically independent"},
-{"id": 5434,
-"keyword": "double exponential"},
-{"id": 5435,
-"keyword": "monotone maps"},
-{"id": 5436,
-"keyword": "verified ssa construction"},
-{"id": 5437,
-"keyword": "reachability analysis"},
-{"id": 5438,
-"keyword": "prime power"},
-{"id": 5439,
-"keyword": "applications ranging"},
-{"id": 5440,
-"keyword": "distributed environment"},
-{"id": 5441,
-"keyword": "octonionic product"},
-{"id": 5442,
-"keyword": "event lists varying"},
-{"id": 5443,
-"keyword": "notably holcf"},
-{"id": 5444,
-"keyword": "call path authorization"},
-{"id": 5445,
-"keyword": "presentation"},
-{"id": 5446,
-"keyword": "efficiently executable code"},
-{"id": 5447,
+{"id": 5535,
"keyword": "simple proofs"},
-=======
-"keyword": "normed space"},
-{"id": 5430,
-"keyword": "radix sort"},
-{"id": 5431,
-"keyword": "proof step"},
-{"id": 5432,
-"keyword": "declassification bounds"},
-{"id": 5433,
-"keyword": "original version"},
-{"id": 5434,
-"keyword": "stimulus structure"},
-{"id": 5435,
-"keyword": "protocol verification"},
-{"id": 5436,
-"keyword": "higher entity"},
-{"id": 5437,
-"keyword": "arithmetic logical operations"},
-{"id": 5438,
-"keyword": "require eventual consistency"},
-{"id": 5439,
-"keyword": "skip blocks"},
-{"id": 5440,
-"keyword": "subterm coefficient functions"},
-{"id": 5441,
-"keyword": "tla axioms"},
-{"id": 5442,
-"keyword": "afp package"},
-{"id": 5443,
-"keyword": "alphabetised relational calculus"},
-{"id": 5444,
-"keyword": "infinite"},
-{"id": 5445,
-"keyword": "unify correctness statements"},
-{"id": 5446,
-"keyword": "representing documents"},
-{"id": 5447,
-"keyword": "complete semantic tableau calculus"},
->>>>>>> merge rev
-{"id": 5448,
-<<<<<<< working copy
-"keyword": "reduced row echelon form"},
-||||||| common ancestor
+{"id": 5536,
"keyword": "independent modules"},
-=======
-"keyword": "domain-relation map satisfying"},
->>>>>>> merge rev
-{"id": 5449,
-<<<<<<< working copy
-"keyword": "number-theoretic results"},
-||||||| common ancestor
+{"id": 5537,
"keyword": "holzf theory"},
-=======
-"keyword": "abstract convergence theorem"},
->>>>>>> merge rev
-{"id": 5450,
-<<<<<<< working copy
-"keyword": "subterm property"},
-||||||| common ancestor
+{"id": 5538,
"keyword": "state monad"},
-=======
-"keyword": "normal functions"},
->>>>>>> merge rev
-{"id": 5451,
-<<<<<<< working copy
-"keyword": "basis reduction"},
-||||||| common ancestor
+{"id": 5539,
"keyword": "random pivot choice"},
-=======
-"keyword": "language determinism"},
->>>>>>> merge rev
-{"id": 5452,
-<<<<<<< working copy
-"keyword": "bkr algorithm"},
-||||||| common ancestor
+{"id": 5540,
"keyword": "concurrent revisions"},
-=======
-"keyword": "comparatively small subset"},
->>>>>>> merge rev
-{"id": 5453,
-<<<<<<< working copy
-"keyword": "case study revealed"},
-||||||| common ancestor
+{"id": 5541,
"keyword": "reduced row echelon form"},
-=======
-"keyword": "independent runs"},
->>>>>>> merge rev
-{"id": 5454,
-<<<<<<< working copy
-"keyword": "dynamic declassification triggers"},
-||||||| common ancestor
+{"id": 5542,
"keyword": "number-theoretic results"},
-=======
-"keyword": "principal ideal domains"},
->>>>>>> merge rev
-{"id": 5455,
-<<<<<<< working copy
-"keyword": "machine-checked correctness theorems"},
-||||||| common ancestor
+{"id": 5543,
"keyword": "subterm property"},
-=======
-"keyword": "write specifications"},
->>>>>>> merge rev
-{"id": 5456,
-<<<<<<< working copy
-"keyword": "hereditary multisets"},
-||||||| common ancestor
+{"id": 5544,
"keyword": "basis reduction"},
-=======
-"keyword": "pairwise balanced designs"},
->>>>>>> merge rev
-{"id": 5457,
-<<<<<<< working copy
-"keyword": "dana scott"},
-||||||| common ancestor
+{"id": 5545,
"keyword": "bkr algorithm"},
-=======
-"keyword": "original presentation"},
->>>>>>> merge rev
-{"id": 5458,
-<<<<<<< working copy
-||||||| common ancestor
+{"id": 5546,
"keyword": "case study revealed"},
-{"id": 5459,
+{"id": 5547,
"keyword": "dynamic declassification triggers"},
-{"id": 5460,
+{"id": 5548,
"keyword": "machine-checked correctness theorems"},
-{"id": 5461,
+{"id": 5549,
"keyword": "hereditary multisets"},
-{"id": 5462,
+{"id": 5550,
"keyword": "dana scott"},
-{"id": 5463,
-=======
-"keyword": "verified type checker"},
-{"id": 5459,
-"keyword": "conflict-free replicated data types"},
-{"id": 5460,
-"keyword": "inverse function"},
-{"id": 5461,
-"keyword": "underlying local hidden-variable theory"},
-{"id": 5462,
-"keyword": "stream fusion library"},
-{"id": 5463,
-"keyword": "program verification competition"},
-{"id": 5464,
-"keyword": "primitives"},
-{"id": 5465,
-"keyword": "finite measure preserving systems"},
-{"id": 5466,
-"keyword": "verified functional skew heaps"},
-{"id": 5467,
-"keyword": "completed versions"},
-{"id": 5468,
-"keyword": "fixed upper bound"},
-{"id": 5469,
-"keyword": "chosen abstractions"},
-{"id": 5470,
-"keyword": "composition properties wrt"},
-{"id": 5471,
-"keyword": "dfs-based algorithms"},
-{"id": 5472,
-"keyword": "rules applying"},
-{"id": 5473,
-"keyword": "logarithmic upper bound"},
-{"id": 5474,
-"keyword": "incidence system properties"},
-{"id": 5475,
-"keyword": "small imperative language imp"},
-{"id": 5476,
-"keyword": "certified complex root isolation"},
-{"id": 5477,
-"keyword": "linear constraints"},
-{"id": 5478,
-"keyword": "algebraically independent"},
-{"id": 5479,
-"keyword": "double exponential"},
-{"id": 5480,
-"keyword": "monotone maps"},
-{"id": 5481,
-"keyword": "verified ssa construction"},
-{"id": 5482,
-"keyword": "reachability analysis"},
-{"id": 5483,
-"keyword": "prime power"},
-{"id": 5484,
-"keyword": "applications ranging"},
-{"id": 5485,
-"keyword": "distributed environment"},
-{"id": 5486,
-"keyword": "octonionic product"},
-{"id": 5487,
-"keyword": "event lists varying"},
-{"id": 5488,
-"keyword": "notably holcf"},
-{"id": 5489,
-"keyword": "call path authorization"},
-{"id": 5490,
-"keyword": "presentation"},
-{"id": 5491,
-"keyword": "efficiently executable code"},
-{"id": 5492,
-"keyword": "simple proofs"},
-{"id": 5493,
-"keyword": "independent modules"},
-{"id": 5494,
-"keyword": "holzf theory"},
-{"id": 5495,
-"keyword": "state monad"},
-{"id": 5496,
-"keyword": "random pivot choice"},
-{"id": 5497,
-"keyword": "concurrent revisions"},
-{"id": 5498,
-"keyword": "reduced row echelon form"},
-{"id": 5499,
-"keyword": "number-theoretic results"},
-{"id": 5500,
-"keyword": "subterm property"},
-{"id": 5501,
-"keyword": "basis reduction"},
-{"id": 5502,
-"keyword": "bkr algorithm"},
-{"id": 5503,
-"keyword": "case study revealed"},
-{"id": 5504,
-"keyword": "dynamic declassification triggers"},
-{"id": 5505,
-"keyword": "machine-checked correctness theorems"},
-{"id": 5506,
-"keyword": "hereditary multisets"},
-{"id": 5507,
-"keyword": "dana scott"},
-{"id": 5508,
->>>>>>> merge rev
+{"id": 5551,
"keyword": "fourier sequences"},
-<<<<<<< working copy
-{"id": 5459,
-||||||| common ancestor
-{"id": 5464,
-=======
-{"id": 5509,
->>>>>>> merge rev
+{"id": 5552,
"keyword": "collections framework"},
-<<<<<<< working copy
-{"id": 5460,
-||||||| common ancestor
-{"id": 5465,
-=======
-{"id": 5510,
->>>>>>> merge rev
+{"id": 5553,
"keyword": "relational core"},
-<<<<<<< working copy
-{"id": 5461,
-||||||| common ancestor
-{"id": 5466,
-=======
-{"id": 5511,
->>>>>>> merge rev
+{"id": 5554,
"keyword": "infinite set"},
-<<<<<<< working copy
-{"id": 5462,
+{"id": 5555,
"keyword": "real error function erf"},
-{"id": 5463,
-"keyword": "verifying safety properties"},
-{"id": 5464,
-"keyword": "modal collapse"},
-{"id": 5465,
-"keyword": "differential dynamics logic"},
-{"id": 5466,
-"keyword": "hilbert systems"},
-{"id": 5467,
-"keyword": "development establishes"},
-{"id": 5468,
-"keyword": "quad text"},
-{"id": 5469,
-"keyword": "rely condition generalised"},
-{"id": 5470,
-"keyword": "prefix order"},
-{"id": 5471,
-"keyword": "closure properties"},
-{"id": 5472,
-"keyword": "negative cycles"},
-{"id": 5473,
-"keyword": "generalized intervals"},
-{"id": 5474,
-"keyword": "input programs"},
-{"id": 5475,
-"keyword": "common-sense theory"},
-{"id": 5476,
-"keyword": "standard semantics"},
-{"id": 5477,
-||||||| common ancestor
-{"id": 5467,
-"keyword": "real error function erf"},
-{"id": 5468,
+{"id": 5556,
"keyword": "verifying safety properties"},
-{"id": 5469,
+{"id": 5557,
"keyword": "modal collapse"},
-{"id": 5470,
+{"id": 5558,
"keyword": "differential dynamics logic"},
-{"id": 5471,
+{"id": 5559,
"keyword": "hilbert systems"},
-{"id": 5472,
+{"id": 5560,
"keyword": "development establishes"},
-{"id": 5473,
+{"id": 5561,
"keyword": "quad text"},
-{"id": 5474,
+{"id": 5562,
"keyword": "rely condition generalised"},
-{"id": 5475,
+{"id": 5563,
"keyword": "prefix order"},
-{"id": 5476,
+{"id": 5564,
"keyword": "closure properties"},
-{"id": 5477,
+{"id": 5565,
"keyword": "negative cycles"},
-{"id": 5478,
+{"id": 5566,
"keyword": "generalized intervals"},
-{"id": 5479,
+{"id": 5567,
"keyword": "input programs"},
-{"id": 5480,
+{"id": 5568,
"keyword": "common-sense theory"},
-{"id": 5481,
+{"id": 5569,
"keyword": "standard semantics"},
-{"id": 5482,
-=======
-{"id": 5512,
-"keyword": "real error function erf"},
-{"id": 5513,
-"keyword": "verifying safety properties"},
-{"id": 5514,
-"keyword": "modal collapse"},
-{"id": 5515,
-"keyword": "differential dynamics logic"},
-{"id": 5516,
-"keyword": "hilbert systems"},
-{"id": 5517,
-"keyword": "development establishes"},
-{"id": 5518,
-"keyword": "quad text"},
-{"id": 5519,
-"keyword": "rely condition generalised"},
-{"id": 5520,
-"keyword": "prefix order"},
-{"id": 5521,
-"keyword": "closure properties"},
-{"id": 5522,
-"keyword": "negative cycles"},
-{"id": 5523,
-"keyword": "generalized intervals"},
-{"id": 5524,
-"keyword": "input programs"},
-{"id": 5525,
-"keyword": "common-sense theory"},
-{"id": 5526,
-"keyword": "standard semantics"},
-{"id": 5527,
->>>>>>> merge rev
+{"id": 5570,
"keyword": "omega-complete non-orders"}]
\ No newline at end of file
diff --git a/web/dependencies/berlekamp_zassenhaus/index.html b/web/dependencies/berlekamp_zassenhaus/index.html
--- a/web/dependencies/berlekamp_zassenhaus/index.html
+++ b/web/dependencies/berlekamp_zassenhaus/index.html
@@ -1,128 +1,142 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Berlekamp_Zassenhaus - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../dependencies/berlekamp_zassenhaus/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="Berlekamp_Zassenhaus" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/dependencies/berlekamp_zassenhaus/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Berlekamp_Zassenhaus"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../search"><img src="../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../"><li >Home</li></a>
<a href="../../topics/"><li >Topics</li></a>
<a href="../../download/"><li >Download</li></a>
<a href="../../help/"><li >Help</li></a>
<a href="../../submission/"><li >Submission</li></a>
<a href="../../statistics/"><li >Statistics</li></a>
<a href="../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>B</span>erlekamp_<span class='first'>Z</span>assenhaus Dependents</h1>
<div>
</div>
</header><div><h2 class="head">2022</h2><article class="entry">
<div class="item-text">
+ <h5><a class="title" href="../../entries/CRYSTALS-Kyber.html">CRYSTALS-Kyber</a></h5> <br>by <a href="../../authors/kreuzer">Katharina Kreuzer</a></div>
+ <span class="date">
+ Sep 08
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="../../entries/Number_Theoretic_Transform.html">Number Theoretic Transform</a></h5> <br>by <a href="../../authors/ammer">Thomas Ammer</a> and <a href="../../authors/kreuzer">Katharina Kreuzer</a></div>
+ <span class="date">
+ Aug 18
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
<h5><a class="title" href="../../entries/Fishers_Inequality.html">Fisher&#39;s Inequality: Linear Algebraic Proof Techniques for Combinatorics</a></h5> <br>by <a href="../../authors/edmonds">Chelsea Edmonds</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Apr 21
</span>
</article>
<h2 class="head">2020</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Smith_Normal_Form.html">A verified algorithm for computing the Smith normal form of a matrix</a></h5> <br>by <a href="../../authors/divason">Jose Divasón</a></div>
<span class="date">
May 23
</span>
</article>
<h2 class="head">2018</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/LLL_Basis_Reduction.html">A verified LLL algorithm</a></h5> <br>by <a href="../../authors/bottesch">Ralph Bottesch</a>, <a href="../../authors/divason">Jose Divasón</a>, <a href="../../authors/haslbeck">Max W. Haslbeck</a>, <a href="../../authors/joosten">Sebastiaan J. C. Joosten</a>, <a href="../../authors/thiemann">René Thiemann</a> and <a href="../../authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Feb 02
</span>
</article>
<h2 class="head">2017</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Linear_Recurrences.html">Linear Recurrences</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Oct 12
</span>
</article>
<h2 class="head">2015</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Algebraic_Numbers.html">Algebraic Numbers in Isabelle/HOL</a></h5> <br>by <a href="../../authors/thiemann">René Thiemann</a>, <a href="../../authors/yamada">Akihisa Yamada</a> and <a href="../../authors/joosten">Sebastiaan J. C. Joosten</a></div>
<span class="date">
Dec 22
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/dependencies/berlekamp_zassenhaus/index.xml b/web/dependencies/berlekamp_zassenhaus/index.xml
--- a/web/dependencies/berlekamp_zassenhaus/index.xml
+++ b/web/dependencies/berlekamp_zassenhaus/index.xml
@@ -1,56 +1,74 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Berlekamp_Zassenhaus on Archive of Formal Proofs</title>
<link>/dependencies/berlekamp_zassenhaus/</link>
<description>Recent content in Berlekamp_Zassenhaus on Archive of Formal Proofs</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-gb</language>
- <lastBuildDate>Thu, 21 Apr 2022 00:00:00 +0000</lastBuildDate><atom:link href="/dependencies/berlekamp_zassenhaus/index.xml" rel="self" type="application/rss+xml" />
+ <lastBuildDate>Thu, 08 Sep 2022 00:00:00 +0000</lastBuildDate><atom:link href="/dependencies/berlekamp_zassenhaus/index.xml" rel="self" type="application/rss+xml" />
+ <item>
+ <title>CRYSTALS-Kyber</title>
+ <link>/entries/CRYSTALS-Kyber.html</link>
+ <pubDate>Thu, 08 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/CRYSTALS-Kyber.html</guid>
+ <description></description>
+ </item>
+
+ <item>
+ <title>Number Theoretic Transform</title>
+ <link>/entries/Number_Theoretic_Transform.html</link>
+ <pubDate>Thu, 18 Aug 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Number_Theoretic_Transform.html</guid>
+ <description></description>
+ </item>
+
<item>
<title>Fisher&#39;s Inequality: Linear Algebraic Proof Techniques for Combinatorics</title>
<link>/entries/Fishers_Inequality.html</link>
<pubDate>Thu, 21 Apr 2022 00:00:00 +0000</pubDate>
<guid>/entries/Fishers_Inequality.html</guid>
<description></description>
</item>
<item>
<title>A verified algorithm for computing the Smith normal form of a matrix</title>
<link>/entries/Smith_Normal_Form.html</link>
<pubDate>Sat, 23 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Smith_Normal_Form.html</guid>
<description></description>
</item>
<item>
<title>A verified LLL algorithm</title>
<link>/entries/LLL_Basis_Reduction.html</link>
<pubDate>Fri, 02 Feb 2018 00:00:00 +0000</pubDate>
<guid>/entries/LLL_Basis_Reduction.html</guid>
<description></description>
</item>
<item>
<title>Linear Recurrences</title>
<link>/entries/Linear_Recurrences.html</link>
<pubDate>Thu, 12 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Linear_Recurrences.html</guid>
<description></description>
</item>
<item>
<title>Algebraic Numbers in Isabelle/HOL</title>
<link>/entries/Algebraic_Numbers.html</link>
<pubDate>Tue, 22 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Algebraic_Numbers.html</guid>
<description></description>
</item>
</channel>
</rss>
diff --git a/web/dependencies/bernoulli/index.html b/web/dependencies/bernoulli/index.html
--- a/web/dependencies/bernoulli/index.html
+++ b/web/dependencies/bernoulli/index.html
@@ -1,117 +1,126 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Bernoulli - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../dependencies/bernoulli/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="Bernoulli" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/dependencies/bernoulli/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Bernoulli"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../search"><img src="../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../"><li >Home</li></a>
<a href="../../topics/"><li >Topics</li></a>
<a href="../../download/"><li >Download</li></a>
<a href="../../help/"><li >Help</li></a>
<a href="../../submission/"><li >Submission</li></a>
<a href="../../statistics/"><li >Statistics</li></a>
<a href="../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>B</span>ernoulli Dependents</h1>
<div>
</div>
-</header><div><h2 class="head">2020</h2><article class="entry">
+</header><div><h2 class="head">2022</h2><article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="../../entries/Khovanskii_Theorem.html">Khovanskii&#39;s Theorem</a></h5> <br>by <a href="../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a></div>
+ <span class="date">
+ Sep 02
+ </span>
+</article>
+
+
+<h2 class="head">2020</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Lambert_W.html">The Lambert W Function on the Reals</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Apr 24
</span>
</article>
<h2 class="head">2017</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Zeta_Function.html">The Hurwitz and Riemann ζ Functions</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Euler_MacLaurin.html">The Euler–MacLaurin Formula</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Mar 10
</span>
</article>
<h2 class="head">2016</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Stirling_Formula.html">Stirling&#39;s formula</a></h5> <br>by <a href="../../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Sep 01
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/dependencies/bernoulli/index.xml b/web/dependencies/bernoulli/index.xml
--- a/web/dependencies/bernoulli/index.xml
+++ b/web/dependencies/bernoulli/index.xml
@@ -1,47 +1,56 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Bernoulli on Archive of Formal Proofs</title>
<link>/dependencies/bernoulli/</link>
<description>Recent content in Bernoulli on Archive of Formal Proofs</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-gb</language>
- <lastBuildDate>Fri, 24 Apr 2020 00:00:00 +0000</lastBuildDate><atom:link href="/dependencies/bernoulli/index.xml" rel="self" type="application/rss+xml" />
+ <lastBuildDate>Fri, 02 Sep 2022 00:00:00 +0000</lastBuildDate><atom:link href="/dependencies/bernoulli/index.xml" rel="self" type="application/rss+xml" />
+ <item>
+ <title>Khovanskii&amp;#x27;s Theorem</title>
+ <link>/entries/Khovanskii_Theorem.html</link>
+ <pubDate>Fri, 02 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Khovanskii_Theorem.html</guid>
+ <description></description>
+ </item>
+
<item>
<title>The Lambert W Function on the Reals</title>
<link>/entries/Lambert_W.html</link>
<pubDate>Fri, 24 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Lambert_W.html</guid>
<description></description>
</item>
<item>
<title>The Hurwitz and Riemann ζ Functions</title>
<link>/entries/Zeta_Function.html</link>
<pubDate>Thu, 12 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Zeta_Function.html</guid>
<description></description>
</item>
<item>
<title>The Euler–MacLaurin Formula</title>
<link>/entries/Euler_MacLaurin.html</link>
<pubDate>Fri, 10 Mar 2017 00:00:00 +0000</pubDate>
<guid>/entries/Euler_MacLaurin.html</guid>
<description></description>
</item>
<item>
<title>Stirling&#39;s formula</title>
<link>/entries/Stirling_Formula.html</link>
<pubDate>Thu, 01 Sep 2016 00:00:00 +0000</pubDate>
<guid>/entries/Stirling_Formula.html</guid>
<description></description>
</item>
</channel>
</rss>
diff --git a/web/dependencies/index.html b/web/dependencies/index.html
--- a/web/dependencies/index.html
+++ b/web/dependencies/index.html
@@ -1,2091 +1,2105 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="Dependencies" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/dependencies/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Dependencies"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon"><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>D</span>ependencies Dependents</h1>
<div>
</div>
</header><div><h2 class="head">2022</h2><article class="entry">
<div class="item-text">
+ <h5><a class="title" href="../dependencies/number_theoretic_transform/">Number_Theoretic_Transform</a></h5> <br></div>
+ <span class="date">
+ Sep 08
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="../dependencies/berlekamp_zassenhaus/">Berlekamp_Zassenhaus</a></h5> <br></div>
+ <span class="date">
+ Sep 08
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="../dependencies/pluennecke_ruzsa_inequality/">Pluennecke_Ruzsa_Inequality</a></h5> <br></div>
+ <span class="date">
+ Sep 02
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="../dependencies/jacobson_basic_algebra/">Jacobson_Basic_Algebra</a></h5> <br></div>
+ <span class="date">
+ Sep 02
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="../dependencies/bernoulli/">Bernoulli</a></h5> <br></div>
+ <span class="date">
+ Sep 02
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
<h5><a class="title" href="../dependencies/native_word/">Native_Word</a></h5> <br></div>
<span class="date">
Aug 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/datatype_order_generator/">Datatype_Order_Generator</a></h5> <br></div>
<span class="date">
Aug 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/containers/">Containers</a></h5> <br></div>
<span class="date">
Aug 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/projective_measurements/">Projective_Measurements</a></h5> <br></div>
<span class="date">
Jul 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/dirichlet_series/">Dirichlet_Series</a></h5> <br></div>
<span class="date">
Jun 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/lucas_theorem/">Lucas_Theorem</a></h5> <br></div>
<span class="date">
Jun 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/digit_expansions/">Digit_Expansions</a></h5> <br></div>
<span class="date">
Jun 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/regular_tree_relations/">Regular_Tree_Relations</a></h5> <br></div>
<span class="date">
Jun 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/package_logic/">Package_logic</a></h5> <br></div>
<span class="date">
May 30
</span>
</article>
<article class="entry">
<div class="item-text">
- <h5><a class="title" href="../dependencies/jacobson_basic_algebra/">Jacobson_Basic_Algebra</a></h5> <br></div>
- <span class="date">
- May 26
- </span>
-</article>
-<article class="entry">
- <div class="item-text">
<h5><a class="title" href="../dependencies/sunflowers/">Sunflowers</a></h5> <br></div>
<span class="date">
May 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/stirling_formula/">Stirling_Formula</a></h5> <br></div>
<span class="date">
May 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/polynomial_factorization/">Polynomial_Factorization</a></h5> <br></div>
<span class="date">
Apr 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/list-index/">List-Index</a></h5> <br></div>
<span class="date">
Apr 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/groebner_bases/">Groebner_Bases</a></h5> <br></div>
<span class="date">
Apr 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/design_theory/">Design_Theory</a></h5> <br></div>
<span class="date">
Apr 21
</span>
</article>
<article class="entry">
<div class="item-text">
- <h5><a class="title" href="../dependencies/berlekamp_zassenhaus/">Berlekamp_Zassenhaus</a></h5> <br></div>
- <span class="date">
- Apr 21
- </span>
-</article>
-<article class="entry">
- <div class="item-text">
<h5><a class="title" href="../dependencies/benor_kozen_reif/">BenOr_Kozen_Reif</a></h5> <br></div>
<span class="date">
Apr 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/weighted_path_order/">Weighted_Path_Order</a></h5> <br></div>
<span class="date">
Apr 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/universal_hash_families/">Universal_Hash_Families</a></h5> <br></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/prefix_free_code_combinators/">Prefix_Free_Code_Combinators</a></h5> <br></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/median_method/">Median_Method</a></h5> <br></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/lp/">Lp</a></h5> <br></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/interpolation_polynomials_hol_algebra/">Interpolation_Polynomials_HOL_Algebra</a></h5> <br></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/equivalence_relation_enumeration/">Equivalence_Relation_Enumeration</a></h5> <br></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/bertrands_postulate/">Bertrands_Postulate</a></h5> <br></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/abstract_soundness/">Abstract_Soundness</a></h5> <br></div>
<span class="date">
Mar 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/abstract_completeness/">Abstract_Completeness</a></h5> <br></div>
<span class="date">
Mar 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/transitive_models/">Transitive_Models</a></h5> <br></div>
<span class="date">
Mar 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/delta_system_lemma/">Delta_System_Lemma</a></h5> <br></div>
<span class="date">
Mar 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/finite_fields/">Finite_Fields</a></h5> <br></div>
<span class="date">
Feb 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/zfc_in_hol/">ZFC_in_HOL</a></h5> <br></div>
<span class="date">
Feb 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/card_equiv_relations/">Card_Equiv_Relations</a></h5> <br></div>
<span class="date">
Feb 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/linear_inequalities/">Linear_Inequalities</a></h5> <br></div>
<span class="date">
Feb 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/fol-fitting/">FOL-Fitting</a></h5> <br></div>
<span class="date">
Feb 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/fol_seq_calc1/">FOL_Seq_Calc1</a></h5> <br></div>
<span class="date">
Jan 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/collections/">Collections</a></h5> <br></div>
<span class="date">
Jan 31
</span>
</article>
<h2 class="head">2021</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/szemeredi_regularity/">Szemeredi_Regularity</a></h5> <br></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/random_graph_subgraph_threshold/">Random_Graph_Subgraph_Threshold</a></h5> <br></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/girth_chromatic/">Girth_Chromatic</a></h5> <br></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/ergodic_theory/">Ergodic_Theory</a></h5> <br></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/mdp-rewards/">MDP-Rewards</a></h5> <br></div>
<span class="date">
Dec 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/gauss_jordan/">Gauss_Jordan</a></h5> <br></div>
<span class="date">
Dec 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/knuth_bendix_order/">Knuth_Bendix_Order</a></h5> <br></div>
<span class="date">
Dec 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/sepref_prereq/">Sepref_Prereq</a></h5> <br></div>
<span class="date">
Nov 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/robdd/">ROBDD</a></h5> <br></div>
<span class="date">
Nov 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/jordan_normal_form/">Jordan_Normal_Form</a></h5> <br></div>
<span class="date">
Nov 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/deriving/">Deriving</a></h5> <br></div>
<span class="date">
Nov 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/automatic_refinement/">Automatic_Refinement</a></h5> <br></div>
<span class="date">
Nov 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/polynomials/">Polynomials</a></h5> <br></div>
<span class="date">
Nov 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/hermite_lindemann/">Hermite_Lindemann</a></h5> <br></div>
<span class="date">
Nov 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/algebraic_numbers/">Algebraic_Numbers</a></h5> <br></div>
<span class="date">
Nov 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/complex_bounded_operators/">Complex_Bounded_Operators</a></h5> <br></div>
<span class="date">
Oct 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/word_lib/">Word_Lib</a></h5> <br></div>
<span class="date">
Oct 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/subset_boolean_algebras/">Subset_Boolean_Algebras</a></h5> <br></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/stone_kleene_relation_algebras/">Stone_Kleene_Relation_Algebras</a></h5> <br></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/monobooltranalgebra/">MonoBoolTranAlgebra</a></h5> <br></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/real_impl/">Real_Impl</a></h5> <br></div>
<span class="date">
Sep 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/banach_steinhaus/">Banach_Steinhaus</a></h5> <br></div>
<span class="date">
Sep 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/speccheck/">SpecCheck</a></h5> <br></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/intro_dest_elim/">Intro_Dest_Elim</a></h5> <br></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/czh_foundations/">CZH_Foundations</a></h5> <br></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/czh_elementary_categories/">CZH_Elementary_Categories</a></h5> <br></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/conditional_transfer_rule/">Conditional_Transfer_Rule</a></h5> <br></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/conditional_simplification/">Conditional_Simplification</a></h5> <br></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/jinja/">Jinja</a></h5> <br></div>
<span class="date">
Sep 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/factor_algebraic_polynomial/">Factor_Algebraic_Polynomial</a></h5> <br></div>
<span class="date">
Sep 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/complex_geometry/">Complex_Geometry</a></h5> <br></div>
<span class="date">
Sep 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/polynomial_interpolation/">Polynomial_Interpolation</a></h5> <br></div>
<span class="date">
Aug 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/budan_fourier/">Budan_Fourier</a></h5> <br></div>
<span class="date">
Aug 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/fresh_identifiers/">Fresh_Identifiers</a></h5> <br></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/bounded_deducibility_security/">Bounded_Deducibility_Security</a></h5> <br></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/bd_security_compositional/">BD_Security_Compositional</a></h5> <br></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/nested_multisets_ordinals/">Nested_Multisets_Ordinals</a></h5> <br></div>
<span class="date">
Aug 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/graph_theory/">Graph_Theory</a></h5> <br></div>
<span class="date">
Aug 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/card_partitions/">Card_Partitions</a></h5> <br></div>
<span class="date">
Aug 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/show/">Show</a></h5> <br></div>
<span class="date">
Jun 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/nominal2/">Nominal2</a></h5> <br></div>
<span class="date">
Jun 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/epistemic_logic/">Epistemic_Logic</a></h5> <br></div>
<span class="date">
Jun 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/szpilrajn/">Szpilrajn</a></h5> <br></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/combinatorics_words/">Combinatorics_Words</a></h5> <br></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/jinjadci/">JinjaDCI</a></h5> <br></div>
<span class="date">
Apr 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/sturm_tarski/">Sturm_Tarski</a></h5> <br></div>
<span class="date">
Apr 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/parity_game/">Parity_Game</a></h5> <br></div>
<span class="date">
Apr 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/sigma_commit_crypto/">Sigma_Commit_Crypto</a></h5> <br></div>
<span class="date">
Mar 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/game_based_crypto/">Game_Based_Crypto</a></h5> <br></div>
<span class="date">
Mar 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/constructive_cryptography/">Constructive_Cryptography</a></h5> <br></div>
<span class="date">
Mar 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/smith_normal_form/">Smith_Normal_Form</a></h5> <br></div>
<span class="date">
Mar 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/lll_basis_reduction/">LLL_Basis_Reduction</a></h5> <br></div>
<span class="date">
Mar 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/hermite/">Hermite</a></h5> <br></div>
<span class="date">
Mar 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/qhlprover/">QHLProver</a></h5> <br></div>
<span class="date">
Mar 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/power_sum_polynomials/">Power_Sum_Polynomials</a></h5> <br></div>
<span class="date">
Mar 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/pi_transcendental/">Pi_Transcendental</a></h5> <br></div>
<span class="date">
Mar 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/isabelle_marries_dirac/">Isabelle_Marries_Dirac</a></h5> <br></div>
<span class="date">
Mar 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/refine_imperative_hol/">Refine_Imperative_HOL</a></h5> <br></div>
<span class="date">
Feb 24
</span>
</article>
<h2 class="head">2020</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/relational_disjoint_set_forests/">Relational_Disjoint_Set_Forests</a></h5> <br></div>
<span class="date">
Dec 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/aggregation_algebras/">Aggregation_Algebras</a></h5> <br></div>
<span class="date">
Dec 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/vericomp/">VeriComp</a></h5> <br></div>
<span class="date">
Dec 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/vectorspace/">VectorSpace</a></h5> <br></div>
<span class="date">
Nov 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/matrix_tensor/">Matrix_Tensor</a></h5> <br></div>
<span class="date">
Nov 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/hol-csp/">HOL-CSP</a></h5> <br></div>
<span class="date">
Nov 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/propositional_proof_systems/">Propositional_Proof_Systems</a></h5> <br></div>
<span class="date">
Oct 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/certification_monads/">Certification_Monads</a></h5> <br></div>
<span class="date">
Oct 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/ai_planning_languages_semantics/">AI_Planning_Languages_Semantics</a></h5> <br></div>
<span class="date">
Oct 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/shadow_sc_dom/">Shadow_SC_DOM</a></h5> <br></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/shadow_dom/">Shadow_DOM</a></h5> <br></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/core_sc_dom/">Core_SC_DOM</a></h5> <br></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/core_dom/">Core_DOM</a></h5> <br></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/syntax_independent_logic/">Syntax_Independent_Logic</a></h5> <br></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/incompleteness/">Incompleteness</a></h5> <br></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/hereditarilyfinite/">HereditarilyFinite</a></h5> <br></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/goedel_incompleteness/">Goedel_Incompleteness</a></h5> <br></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/finfun/">FinFun</a></h5> <br></div>
<span class="date">
Sep 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/extended_finite_state_machines/">Extended_Finite_State_Machines</a></h5> <br></div>
<span class="date">
Sep 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/sepref_iicf/">Sepref_IICF</a></h5> <br></div>
<span class="date">
Aug 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/well_quasi_orders/">Well_Quasi_Orders</a></h5> <br></div>
<span class="date">
Aug 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/saturation_framework/">Saturation_Framework</a></h5> <br></div>
<span class="date">
Aug 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/ordered_resolution_prover/">Ordered_Resolution_Prover</a></h5> <br></div>
<span class="date">
Aug 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/holcf-prelude/">HOLCF-Prelude</a></h5> <br></div>
<span class="date">
Aug 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/first_order_terms/">First_Order_Terms</a></h5> <br></div>
<span class="date">
Aug 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/pratt_certificate/">Pratt_Certificate</a></h5> <br></div>
<span class="date">
Aug 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/nash_williams/">Nash_Williams</a></h5> <br></div>
<span class="date">
Aug 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/relation_algebra/">Relation_Algebra</a></h5> <br></div>
<span class="date">
Jul 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/sturm_sequences/">Sturm_Sequences</a></h5> <br></div>
<span class="date">
Jun 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/perron_frobenius/">Perron_Frobenius</a></h5> <br></div>
<span class="date">
May 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/matrix/">Matrix</a></h5> <br></div>
<span class="date">
May 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/prime_number_theorem/">Prime_Number_Theorem</a></h5> <br></div>
<span class="date">
May 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/prime_distribution_elementary/">Prime_Distribution_Elementary</a></h5> <br></div>
<span class="date">
May 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/ltl_master_theorem/">LTL_Master_Theorem</a></h5> <br></div>
<span class="date">
May 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/ltl/">LTL</a></h5> <br></div>
<span class="date">
May 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/symmetric_polynomials/">Symmetric_Polynomials</a></h5> <br></div>
<span class="date">
Apr 24
</span>
</article>
<article class="entry">
<div class="item-text">
- <h5><a class="title" href="../dependencies/bernoulli/">Bernoulli</a></h5> <br></div>
- <span class="date">
- Apr 24
- </span>
-</article>
-<article class="entry">
- <div class="item-text">
<h5><a class="title" href="../dependencies/hybrid_systems_vcs/">Hybrid_Systems_VCs</a></h5> <br></div>
<span class="date">
Apr 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/mfotl_monitor/">MFOTL_Monitor</a></h5> <br></div>
<span class="date">
Apr 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/lambda_free_rpos/">Lambda_Free_RPOs</a></h5> <br></div>
<span class="date">
Apr 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/ieee_floating_point/">IEEE_Floating_Point</a></h5> <br></div>
<span class="date">
Apr 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/generic_join/">Generic_Join</a></h5> <br></div>
<span class="date">
Apr 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/stateful_protocol_composition_and_typing/">Stateful_Protocol_Composition_and_Typing</a></h5> <br></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/stone_algebras/">Stone_Algebras</a></h5> <br></div>
<span class="date">
Jan 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/probabilistic_prime_tests/">Probabilistic_Prime_Tests</a></h5> <br></div>
<span class="date">
Jan 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/pell/">Pell</a></h5> <br></div>
<span class="date">
Jan 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/root_balanced_tree/">Root_Balanced_Tree</a></h5> <br></div>
<span class="date">
Jan 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/akra_bazzi/">Akra_Bazzi</a></h5> <br></div>
<span class="date">
Jan 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/monad_normalisation/">Monad_Normalisation</a></h5> <br></div>
<span class="date">
Jan 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/monoidalcategory/">MonoidalCategory</a></h5> <br></div>
<span class="date">
Jan 06
</span>
</article>
<h2 class="head">2019</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/e_transcendental/">E_Transcendental</a></h5> <br></div>
<span class="date">
Dec 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/hol-ode-numerics/">HOL-ODE-Numerics</a></h5> <br></div>
<span class="date">
Dec 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/dirichlet_l/">Dirichlet_L</a></h5> <br></div>
<span class="date">
Dec 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/crypthol/">CryptHOL</a></h5> <br></div>
<span class="date">
Oct 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/transformer_semantics/">Transformer_Semantics</a></h5> <br></div>
<span class="date">
Sep 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/ordinary_differential_equations/">Ordinary_Differential_Equations</a></h5> <br></div>
<span class="date">
Sep 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/kat_and_dra/">KAT_and_DRA</a></h5> <br></div>
<span class="date">
Sep 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/kad/">KAD</a></h5> <br></div>
<span class="date">
Sep 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/transition_systems_and_automata/">Transition_Systems_and_Automata</a></h5> <br></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/farkas/">Farkas</a></h5> <br></div>
<span class="date">
Aug 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/pairing_heap/">Pairing_Heap</a></h5> <br></div>
<span class="date">
Jul 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/huffman/">Huffman</a></h5> <br></div>
<span class="date">
Jul 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/higher_order_terms/">Higher_Order_Terms</a></h5> <br></div>
<span class="date">
Jul 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/dict_construction/">Dict_Construction</a></h5> <br></div>
<span class="date">
Jul 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/constructor_funs/">Constructor_Funs</a></h5> <br></div>
<span class="date">
Jul 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/cakeml/">CakeML</a></h5> <br></div>
<span class="date">
Jul 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/priority_search_trees/">Priority_Search_Trees</a></h5> <br></div>
<span class="date">
Jun 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/imp2/">IMP2</a></h5> <br></div>
<span class="date">
Jun 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/median_of_medians_selection/">Median_Of_Medians_Selection</a></h5> <br></div>
<span class="date">
May 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/deep_learning/">Deep_Learning</a></h5> <br></div>
<span class="date">
Mar 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/zeta_function/">Zeta_Function</a></h5> <br></div>
<span class="date">
Feb 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/refine_monadic/">Refine_Monadic</a></h5> <br></div>
<span class="date">
Feb 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/matroids/">Matroids</a></h5> <br></div>
<span class="date">
Feb 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/utp-toolkit/">UTP-Toolkit</a></h5> <br></div>
<span class="date">
Feb 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/optics/">Optics</a></h5> <br></div>
<span class="date">
Feb 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/simplex/">Simplex</a></h5> <br></div>
<span class="date">
Jan 17
</span>
</article>
<h2 class="head">2018</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/auto2_hol/">Auto2_HOL</a></h5> <br></div>
<span class="date">
Dec 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/quantales/">Quantales</a></h5> <br></div>
<span class="date">
Dec 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/order_lattice_props/">Order_Lattice_Props</a></h5> <br></div>
<span class="date">
Dec 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/kleene_algebra/">Kleene_Algebra</a></h5> <br></div>
<span class="date">
Dec 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/open_induction/">Open_Induction</a></h5> <br></div>
<span class="date">
Nov 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/random_bsts/">Random_BSTs</a></h5> <br></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/recursion-theory-i/">Recursion-Theory-I</a></h5> <br></div>
<span class="date">
Aug 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/abstract-rewriting/">Abstract-Rewriting</a></h5> <br></div>
<span class="date">
Aug 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/first_welfare_theorem/">First_Welfare_Theorem</a></h5> <br></div>
<span class="date">
Jul 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/stuttering_equivalence/">Stuttering_Equivalence</a></h5> <br></div>
<span class="date">
Jun 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/coinductive/">Coinductive</a></h5> <br></div>
<span class="date">
Jun 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/monad_memo_dp/">Monad_Memo_DP</a></h5> <br></div>
<span class="date">
May 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/markov_models/">Markov_Models</a></h5> <br></div>
<span class="date">
May 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/timed_automata/">Timed_Automata</a></h5> <br></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/randomised_social_choice/">Randomised_Social_Choice</a></h5> <br></div>
<span class="date">
Mar 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/lem/">LEM</a></h5> <br></div>
<span class="date">
Mar 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/dynamicarchitectures/">DynamicArchitectures</a></h5> <br></div>
<span class="date">
Mar 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/separation_algebra/">Separation_Algebra</a></h5> <br></div>
<span class="date">
Feb 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/landau_symbols/">Landau_Symbols</a></h5> <br></div>
<span class="date">
Feb 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/comparison_sort_lower_bound/">Comparison_Sort_Lower_Bound</a></h5> <br></div>
<span class="date">
Feb 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/affine_arithmetic/">Affine_Arithmetic</a></h5> <br></div>
<span class="date">
Jan 08
</span>
</article>
<h2 class="head">2017</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/discrete_summation/">Discrete_Summation</a></h5> <br></div>
<span class="date">
Dec 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/finitely_generated_abelian_groups/">Finitely_Generated_Abelian_Groups</a></h5> <br></div>
<span class="date">
Dec 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/crdt/">CRDT</a></h5> <br></div>
<span class="date">
Nov 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/gabow_scc/">Gabow_SCC</a></h5> <br></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/dfs_framework/">DFS_Framework</a></h5> <br></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/winding_number_eval/">Winding_Number_Eval</a></h5> <br></div>
<span class="date">
Oct 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/linear_recurrences/">Linear_Recurrences</a></h5> <br></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/euler_maclaurin/">Euler_MacLaurin</a></h5> <br></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/count_complex_roots/">Count_Complex_Roots</a></h5> <br></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/amortized_complexity/">Amortized_Complexity</a></h5> <br></div>
<span class="date">
Aug 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/triangle/">Triangle</a></h5> <br></div>
<span class="date">
Jul 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/stone_relation_algebras/">Stone_Relation_Algebras</a></h5> <br></div>
<span class="date">
Jul 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/program-conflict-analysis/">Program-Conflict-Analysis</a></h5> <br></div>
<span class="date">
Jun 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/flow_networks/">Flow_Networks</a></h5> <br></div>
<span class="date">
Jun 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/cava_automata/">CAVA_Automata</a></h5> <br></div>
<span class="date">
Jun 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/lazy_case/">Lazy_Case</a></h5> <br></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/probabilistic_while/">Probabilistic_While</a></h5> <br></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/monomorphic_monad/">Monomorphic_Monad</a></h5> <br></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/mfmc_countable/">MFMC_Countable</a></h5> <br></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/applicative_lifting/">Applicative_Lifting</a></h5> <br></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/category3/">Category3</a></h5> <br></div>
<span class="date">
May 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/quick_sort_cost/">Quick_Sort_Cost</a></h5> <br></div>
<span class="date">
Apr 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/regular-sets/">Regular-Sets</a></h5> <br></div>
<span class="date">
Mar 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/formal_ssa/">Formal_SSA</a></h5> <br></div>
<span class="date">
Jan 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/upf/">UPF</a></h5> <br></div>
<span class="date">
Jan 08
</span>
</article>
<h2 class="head">2016</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/card_number_partitions/">Card_Number_Partitions</a></h5> <br></div>
<span class="date">
Dec 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/card_multisets/">Card_Multisets</a></h5> <br></div>
<span class="date">
Dec 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/bell_numbers_spivey/">Bell_Numbers_Spivey</a></h5> <br></div>
<span class="date">
Dec 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/ordinal/">Ordinal</a></h5> <br></div>
<span class="date">
Nov 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/iptables_semantics/">Iptables_Semantics</a></h5> <br></div>
<span class="date">
Oct 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/subresultants/">Subresultants</a></h5> <br></div>
<span class="date">
Oct 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/efficient-mergesort/">Efficient-Mergesort</a></h5> <br></div>
<span class="date">
Oct 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/routing/">Routing</a></h5> <br></div>
<span class="date">
Sep 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/iptables_semantics_examples/">Iptables_Semantics_Examples</a></h5> <br></div>
<span class="date">
Sep 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/simple_firewall/">Simple_Firewall</a></h5> <br></div>
<span class="date">
Aug 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/ip_addresses/">IP_Addresses</a></h5> <br></div>
<span class="date">
Aug 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/sepref_basic/">Sepref_Basic</a></h5> <br></div>
<span class="date">
Aug 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/separation_logic_imperative_hol/">Separation_Logic_Imperative_HOL</a></h5> <br></div>
<span class="date">
Aug 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/dijkstra_shortest_path/">Dijkstra_Shortest_Path</a></h5> <br></div>
<span class="date">
Aug 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/collections_examples/">Collections_Examples</a></h5> <br></div>
<span class="date">
Aug 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/dependent_sifum_type_systems/">Dependent_SIFUM_Type_Systems</a></h5> <br></div>
<span class="date">
Jun 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/noninterference_sequential_composition/">Noninterference_Sequential_Composition</a></h5> <br></div>
<span class="date">
Jun 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/rank_nullity_theorem/">Rank_Nullity_Theorem</a></h5> <br></div>
<span class="date">
May 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/edmondskarp_maxflow/">EdmondsKarp_Maxflow</a></h5> <br></div>
<span class="date">
May 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/noninterference_ipurge_unwinding/">Noninterference_Ipurge_Unwinding</a></h5> <br></div>
<span class="date">
Apr 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/boolean_expression_checkers/">Boolean_Expression_Checkers</a></h5> <br></div>
<span class="date">
Mar 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/slicing/">Slicing</a></h5> <br></div>
<span class="date">
Feb 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/sqrt_babylonian/">Sqrt_Babylonian</a></h5> <br></div>
<span class="date">
Jan 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/partial_function_mr/">Partial_Function_MR</a></h5> <br></div>
<span class="date">
Jan 29
</span>
</article>
<h2 class="head">2015</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/marriage/">Marriage</a></h5> <br></div>
<span class="date">
Dec 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/transitive-closure/">Transitive-Closure</a></h5> <br></div>
<span class="date">
Nov 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/simpl/">Simpl</a></h5> <br></div>
<span class="date">
Nov 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/case_labeling/">Case_Labeling</a></h5> <br></div>
<span class="date">
Nov 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/kbps/">KBPs</a></h5> <br></div>
<span class="date">
Sep 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/echelon_form/">Echelon_Form</a></h5> <br></div>
<span class="date">
Jul 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/noninterference_csp/">Noninterference_CSP</a></h5> <br></div>
<span class="date">
Jun 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/list_interleaving/">List_Interleaving</a></h5> <br></div>
<span class="date">
Jun 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/formula_derivatives/">Formula_Derivatives</a></h5> <br></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/coinductive_languages/">Coinductive_Languages</a></h5> <br></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/concurrentimp/">ConcurrentIMP</a></h5> <br></div>
<span class="date">
Apr 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/heard_of/">Heard_Of</a></h5> <br></div>
<span class="date">
Mar 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/launchbury/">Launchbury</a></h5> <br></div>
<span class="date">
Feb 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/cayley_hamilton/">Cayley_Hamilton</a></h5> <br></div>
<span class="date">
Feb 12
</span>
</article>
<h2 class="head">2014</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/awn/">AWN</a></h5> <br></div>
<span class="date">
Oct 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/secondary_sylow/">Secondary_Sylow</a></h5> <br></div>
<span class="date">
Sep 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/splay_tree/">Splay_Tree</a></h5> <br></div>
<span class="date">
Jul 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/skew_heap/">Skew_Heap</a></h5> <br></div>
<span class="date">
Jul 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/sm_base/">SM_Base</a></h5> <br></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/sm/">SM</a></h5> <br></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/promela/">Promela</a></h5> <br></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/partial_order_reduction/">Partial_Order_Reduction</a></h5> <br></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/ltl_to_gba/">LTL_to_GBA</a></h5> <br></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/cava_setup/">CAVA_Setup</a></h5> <br></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/cava_base/">CAVA_Base</a></h5> <br></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/strong_security/">Strong_Security</a></h5> <br></div>
<span class="date">
Apr 23
</span>
</article>
<h2 class="head">2013</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/lehmer/">Lehmer</a></h5> <br></div>
<span class="date">
Jul 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/trie/">Trie</a></h5> <br></div>
<span class="date">
Apr 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/finger-trees/">Finger-Trees</a></h5> <br></div>
<span class="date">
Apr 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/cauchy/">Cauchy</a></h5> <br></div>
<span class="date">
Jan 03
</span>
</article>
<h2 class="head">2012</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/lorenz_approximation/">Lorenz_Approximation</a></h5> <br></div>
<span class="date">
Apr 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/gauss-jordan-elim-fun/">Gauss-Jordan-Elim-Fun</a></h5> <br></div>
<span class="date">
Jan 03
</span>
</article>
<h2 class="head">2011</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/latticeproperties/">LatticeProperties</a></h5> <br></div>
<span class="date">
Sep 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/nat-interval-logic/">Nat-Interval-Logic</a></h5> <br></div>
<span class="date">
Feb 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/list-infinite/">List-Infinite</a></h5> <br></div>
<span class="date">
Feb 23
</span>
</article>
<h2 class="head">2010</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/datarefinementibp/">DataRefinementIBP</a></h5> <br></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/hrb-slicing/">HRB-Slicing</a></h5> <br></div>
<span class="date">
Mar 23
</span>
</article>
<h2 class="head">2009</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/binomial-heaps/">Binomial-Heaps</a></h5> <br></div>
<span class="date">
Nov 25
</span>
</article>
<h2 class="head">2007</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/group-ring-module/">Group-Ring-Module</a></h5> <br></div>
<span class="date">
Aug 08
</span>
</article>
<h2 class="head">2006</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/flyspeck-tame/">Flyspeck-Tame</a></h5> <br></div>
<span class="date">
May 22
</span>
</article>
<h2 class="head">2004</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../dependencies/lazy-lists-ii/">Lazy-Lists-II</a></h5> <br></div>
<span class="date">
Apr 26
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/dependencies/index.json b/web/dependencies/index.json
--- a/web/dependencies/index.json
+++ b/web/dependencies/index.json
@@ -1,4 +1,1 @@
-<<<<<<< working copy
-[{"id":0,"link":"/dependencies/abstract-rewriting/","name":"Abstract-Rewriting"},{"id":1,"link":"/dependencies/abstract_completeness/","name":"Abstract_Completeness"},{"id":2,"link":"/dependencies/abstract_soundness/","name":"Abstract_Soundness"},{"id":3,"link":"/dependencies/affine_arithmetic/","name":"Affine_Arithmetic"},{"id":4,"link":"/dependencies/aggregation_algebras/","name":"Aggregation_Algebras"},{"id":5,"link":"/dependencies/ai_planning_languages_semantics/","name":"AI_Planning_Languages_Semantics"},{"id":6,"link":"/dependencies/akra_bazzi/","name":"Akra_Bazzi"},{"id":7,"link":"/dependencies/algebraic_numbers/","name":"Algebraic_Numbers"},{"id":8,"link":"/dependencies/amortized_complexity/","name":"Amortized_Complexity"},{"id":9,"link":"/dependencies/applicative_lifting/","name":"Applicative_Lifting"},{"id":10,"link":"/dependencies/auto2_hol/","name":"Auto2_HOL"},{"id":11,"link":"/dependencies/automatic_refinement/","name":"Automatic_Refinement"},{"id":12,"link":"/dependencies/awn/","name":"AWN"},{"id":13,"link":"/dependencies/banach_steinhaus/","name":"Banach_Steinhaus"},{"id":14,"link":"/dependencies/bd_security_compositional/","name":"BD_Security_Compositional"},{"id":15,"link":"/dependencies/bell_numbers_spivey/","name":"Bell_Numbers_Spivey"},{"id":16,"link":"/dependencies/benor_kozen_reif/","name":"BenOr_Kozen_Reif"},{"id":17,"link":"/dependencies/berlekamp_zassenhaus/","name":"Berlekamp_Zassenhaus"},{"id":18,"link":"/dependencies/bernoulli/","name":"Bernoulli"},{"id":19,"link":"/dependencies/bertrands_postulate/","name":"Bertrands_Postulate"},{"id":20,"link":"/dependencies/binomial-heaps/","name":"Binomial-Heaps"},{"id":21,"link":"/dependencies/boolean_expression_checkers/","name":"Boolean_Expression_Checkers"},{"id":22,"link":"/dependencies/bounded_deducibility_security/","name":"Bounded_Deducibility_Security"},{"id":23,"link":"/dependencies/budan_fourier/","name":"Budan_Fourier"},{"id":24,"link":"/dependencies/cakeml/","name":"CakeML"},{"id":25,"link":"/dependencies/card_equiv_relations/","name":"Card_Equiv_Relations"},{"id":26,"link":"/dependencies/card_multisets/","name":"Card_Multisets"},{"id":27,"link":"/dependencies/card_number_partitions/","name":"Card_Number_Partitions"},{"id":28,"link":"/dependencies/card_partitions/","name":"Card_Partitions"},{"id":29,"link":"/dependencies/case_labeling/","name":"Case_Labeling"},{"id":30,"link":"/dependencies/category3/","name":"Category3"},{"id":31,"link":"/dependencies/cauchy/","name":"Cauchy"},{"id":32,"link":"/dependencies/cava_automata/","name":"CAVA_Automata"},{"id":33,"link":"/dependencies/cava_base/","name":"CAVA_Base"},{"id":34,"link":"/dependencies/cava_setup/","name":"CAVA_Setup"},{"id":35,"link":"/dependencies/cayley_hamilton/","name":"Cayley_Hamilton"},{"id":36,"link":"/dependencies/certification_monads/","name":"Certification_Monads"},{"id":37,"link":"/dependencies/coinductive/","name":"Coinductive"},{"id":38,"link":"/dependencies/coinductive_languages/","name":"Coinductive_Languages"},{"id":39,"link":"/dependencies/collections/","name":"Collections"},{"id":40,"link":"/dependencies/collections_examples/","name":"Collections_Examples"},{"id":41,"link":"/dependencies/combinatorics_words/","name":"Combinatorics_Words"},{"id":42,"link":"/dependencies/comparison_sort_lower_bound/","name":"Comparison_Sort_Lower_Bound"},{"id":43,"link":"/dependencies/complex_bounded_operators/","name":"Complex_Bounded_Operators"},{"id":44,"link":"/dependencies/complex_geometry/","name":"Complex_Geometry"},{"id":45,"link":"/dependencies/concurrentimp/","name":"ConcurrentIMP"},{"id":46,"link":"/dependencies/conditional_simplification/","name":"Conditional_Simplification"},{"id":47,"link":"/dependencies/conditional_transfer_rule/","name":"Conditional_Transfer_Rule"},{"id":48,"link":"/dependencies/constructive_cryptography/","name":"Constructive_Cryptography"},{"id":49,"link":"/dependencies/constructor_funs/","name":"Constructor_Funs"},{"id":50,"link":"/dependencies/containers/","name":"Containers"},{"id":51,"link":"/dependencies/core_dom/","name":"Core_DOM"},{"id":52,"link":"/dependencies/core_sc_dom/","name":"Core_SC_DOM"},{"id":53,"link":"/dependencies/count_complex_roots/","name":"Count_Complex_Roots"},{"id":54,"link":"/dependencies/crdt/","name":"CRDT"},{"id":55,"link":"/dependencies/crypthol/","name":"CryptHOL"},{"id":56,"link":"/dependencies/czh_elementary_categories/","name":"CZH_Elementary_Categories"},{"id":57,"link":"/dependencies/czh_foundations/","name":"CZH_Foundations"},{"id":58,"link":"/dependencies/datarefinementibp/","name":"DataRefinementIBP"},{"id":59,"link":"/dependencies/datatype_order_generator/","name":"Datatype_Order_Generator"},{"id":60,"link":"/dependencies/deep_learning/","name":"Deep_Learning"},{"id":61,"link":"/dependencies/delta_system_lemma/","name":"Delta_System_Lemma"},{"id":62,"link":"/dependencies/dependent_sifum_type_systems/","name":"Dependent_SIFUM_Type_Systems"},{"id":63,"link":"/dependencies/deriving/","name":"Deriving"},{"id":64,"link":"/dependencies/design_theory/","name":"Design_Theory"},{"id":65,"link":"/dependencies/dfs_framework/","name":"DFS_Framework"},{"id":66,"link":"/dependencies/dict_construction/","name":"Dict_Construction"},{"id":67,"link":"/dependencies/digit_expansions/","name":"Digit_Expansions"},{"id":68,"link":"/dependencies/dijkstra_shortest_path/","name":"Dijkstra_Shortest_Path"},{"id":69,"link":"/dependencies/dirichlet_l/","name":"Dirichlet_L"},{"id":70,"link":"/dependencies/dirichlet_series/","name":"Dirichlet_Series"},{"id":71,"link":"/dependencies/discrete_summation/","name":"Discrete_Summation"},{"id":72,"link":"/dependencies/dynamicarchitectures/","name":"DynamicArchitectures"},{"id":73,"link":"/dependencies/e_transcendental/","name":"E_Transcendental"},{"id":74,"link":"/dependencies/echelon_form/","name":"Echelon_Form"},{"id":75,"link":"/dependencies/edmondskarp_maxflow/","name":"EdmondsKarp_Maxflow"},{"id":76,"link":"/dependencies/efficient-mergesort/","name":"Efficient-Mergesort"},{"id":77,"link":"/dependencies/epistemic_logic/","name":"Epistemic_Logic"},{"id":78,"link":"/dependencies/equivalence_relation_enumeration/","name":"Equivalence_Relation_Enumeration"},{"id":79,"link":"/dependencies/ergodic_theory/","name":"Ergodic_Theory"},{"id":80,"link":"/dependencies/euler_maclaurin/","name":"Euler_MacLaurin"},{"id":81,"link":"/dependencies/extended_finite_state_machines/","name":"Extended_Finite_State_Machines"},{"id":82,"link":"/dependencies/factor_algebraic_polynomial/","name":"Factor_Algebraic_Polynomial"},{"id":83,"link":"/dependencies/farkas/","name":"Farkas"},{"id":84,"link":"/dependencies/finfun/","name":"FinFun"},{"id":85,"link":"/dependencies/finger-trees/","name":"Finger-Trees"},{"id":86,"link":"/dependencies/finite_fields/","name":"Finite_Fields"},{"id":87,"link":"/dependencies/finitely_generated_abelian_groups/","name":"Finitely_Generated_Abelian_Groups"},{"id":88,"link":"/dependencies/first_order_terms/","name":"First_Order_Terms"},{"id":89,"link":"/dependencies/first_welfare_theorem/","name":"First_Welfare_Theorem"},{"id":90,"link":"/dependencies/flow_networks/","name":"Flow_Networks"},{"id":91,"link":"/dependencies/flyspeck-tame/","name":"Flyspeck-Tame"},{"id":92,"link":"/dependencies/fol-fitting/","name":"FOL-Fitting"},{"id":93,"link":"/dependencies/fol_seq_calc1/","name":"FOL_Seq_Calc1"},{"id":94,"link":"/dependencies/formal_ssa/","name":"Formal_SSA"},{"id":95,"link":"/dependencies/formula_derivatives/","name":"Formula_Derivatives"},{"id":96,"link":"/dependencies/fresh_identifiers/","name":"Fresh_Identifiers"},{"id":97,"link":"/dependencies/gabow_scc/","name":"Gabow_SCC"},{"id":98,"link":"/dependencies/game_based_crypto/","name":"Game_Based_Crypto"},{"id":99,"link":"/dependencies/gauss-jordan-elim-fun/","name":"Gauss-Jordan-Elim-Fun"},{"id":100,"link":"/dependencies/gauss_jordan/","name":"Gauss_Jordan"},{"id":101,"link":"/dependencies/generic_join/","name":"Generic_Join"},{"id":102,"link":"/dependencies/girth_chromatic/","name":"Girth_Chromatic"},{"id":103,"link":"/dependencies/goedel_incompleteness/","name":"Goedel_Incompleteness"},{"id":104,"link":"/dependencies/graph_theory/","name":"Graph_Theory"},{"id":105,"link":"/dependencies/groebner_bases/","name":"Groebner_Bases"},{"id":106,"link":"/dependencies/group-ring-module/","name":"Group-Ring-Module"},{"id":107,"link":"/dependencies/heard_of/","name":"Heard_Of"},{"id":108,"link":"/dependencies/hereditarilyfinite/","name":"HereditarilyFinite"},{"id":109,"link":"/dependencies/hermite/","name":"Hermite"},{"id":110,"link":"/dependencies/hermite_lindemann/","name":"Hermite_Lindemann"},{"id":111,"link":"/dependencies/higher_order_terms/","name":"Higher_Order_Terms"},{"id":112,"link":"/dependencies/hol-csp/","name":"HOL-CSP"},{"id":113,"link":"/dependencies/hol-ode-numerics/","name":"HOL-ODE-Numerics"},{"id":114,"link":"/dependencies/holcf-prelude/","name":"HOLCF-Prelude"},{"id":115,"link":"/dependencies/hrb-slicing/","name":"HRB-Slicing"},{"id":116,"link":"/dependencies/huffman/","name":"Huffman"},{"id":117,"link":"/dependencies/hybrid_systems_vcs/","name":"Hybrid_Systems_VCs"},{"id":118,"link":"/dependencies/ieee_floating_point/","name":"IEEE_Floating_Point"},{"id":119,"link":"/dependencies/imp2/","name":"IMP2"},{"id":120,"link":"/dependencies/incompleteness/","name":"Incompleteness"},{"id":121,"link":"/dependencies/interpolation_polynomials_hol_algebra/","name":"Interpolation_Polynomials_HOL_Algebra"},{"id":122,"link":"/dependencies/intro_dest_elim/","name":"Intro_Dest_Elim"},{"id":123,"link":"/dependencies/ip_addresses/","name":"IP_Addresses"},{"id":124,"link":"/dependencies/iptables_semantics/","name":"Iptables_Semantics"},{"id":125,"link":"/dependencies/iptables_semantics_examples/","name":"Iptables_Semantics_Examples"},{"id":126,"link":"/dependencies/isabelle_marries_dirac/","name":"Isabelle_Marries_Dirac"},{"id":127,"link":"/dependencies/jacobson_basic_algebra/","name":"Jacobson_Basic_Algebra"},{"id":128,"link":"/dependencies/jinja/","name":"Jinja"},{"id":129,"link":"/dependencies/jinjadci/","name":"JinjaDCI"},{"id":130,"link":"/dependencies/jordan_normal_form/","name":"Jordan_Normal_Form"},{"id":131,"link":"/dependencies/kad/","name":"KAD"},{"id":132,"link":"/dependencies/kat_and_dra/","name":"KAT_and_DRA"},{"id":133,"link":"/dependencies/kbps/","name":"KBPs"},{"id":134,"link":"/dependencies/kleene_algebra/","name":"Kleene_Algebra"},{"id":135,"link":"/dependencies/knuth_bendix_order/","name":"Knuth_Bendix_Order"},{"id":136,"link":"/dependencies/lambda_free_rpos/","name":"Lambda_Free_RPOs"},{"id":137,"link":"/dependencies/landau_symbols/","name":"Landau_Symbols"},{"id":138,"link":"/dependencies/latticeproperties/","name":"LatticeProperties"},{"id":139,"link":"/dependencies/launchbury/","name":"Launchbury"},{"id":140,"link":"/dependencies/lazy-lists-ii/","name":"Lazy-Lists-II"},{"id":141,"link":"/dependencies/lazy_case/","name":"Lazy_Case"},{"id":142,"link":"/dependencies/lehmer/","name":"Lehmer"},{"id":143,"link":"/dependencies/lem/","name":"LEM"},{"id":144,"link":"/dependencies/linear_inequalities/","name":"Linear_Inequalities"},{"id":145,"link":"/dependencies/linear_recurrences/","name":"Linear_Recurrences"},{"id":146,"link":"/dependencies/list-index/","name":"List-Index"},{"id":147,"link":"/dependencies/list-infinite/","name":"List-Infinite"},{"id":148,"link":"/dependencies/list_interleaving/","name":"List_Interleaving"},{"id":149,"link":"/dependencies/lll_basis_reduction/","name":"LLL_Basis_Reduction"},{"id":150,"link":"/dependencies/lorenz_approximation/","name":"Lorenz_Approximation"},{"id":151,"link":"/dependencies/lp/","name":"Lp"},{"id":152,"link":"/dependencies/ltl/","name":"LTL"},{"id":153,"link":"/dependencies/ltl_master_theorem/","name":"LTL_Master_Theorem"},{"id":154,"link":"/dependencies/ltl_to_gba/","name":"LTL_to_GBA"},{"id":155,"link":"/dependencies/lucas_theorem/","name":"Lucas_Theorem"},{"id":156,"link":"/dependencies/markov_models/","name":"Markov_Models"},{"id":157,"link":"/dependencies/marriage/","name":"Marriage"},{"id":158,"link":"/dependencies/matrix/","name":"Matrix"},{"id":159,"link":"/dependencies/matrix_tensor/","name":"Matrix_Tensor"},{"id":160,"link":"/dependencies/matroids/","name":"Matroids"},{"id":161,"link":"/dependencies/mdp-rewards/","name":"MDP-Rewards"},{"id":162,"link":"/dependencies/median_method/","name":"Median_Method"},{"id":163,"link":"/dependencies/median_of_medians_selection/","name":"Median_Of_Medians_Selection"},{"id":164,"link":"/dependencies/mfmc_countable/","name":"MFMC_Countable"},{"id":165,"link":"/dependencies/mfotl_monitor/","name":"MFOTL_Monitor"},{"id":166,"link":"/dependencies/monad_memo_dp/","name":"Monad_Memo_DP"},{"id":167,"link":"/dependencies/monad_normalisation/","name":"Monad_Normalisation"},{"id":168,"link":"/dependencies/monobooltranalgebra/","name":"MonoBoolTranAlgebra"},{"id":169,"link":"/dependencies/monoidalcategory/","name":"MonoidalCategory"},{"id":170,"link":"/dependencies/monomorphic_monad/","name":"Monomorphic_Monad"},{"id":171,"link":"/dependencies/nash_williams/","name":"Nash_Williams"},{"id":172,"link":"/dependencies/nat-interval-logic/","name":"Nat-Interval-Logic"},{"id":173,"link":"/dependencies/native_word/","name":"Native_Word"},{"id":174,"link":"/dependencies/nested_multisets_ordinals/","name":"Nested_Multisets_Ordinals"},{"id":175,"link":"/dependencies/nominal2/","name":"Nominal2"},{"id":176,"link":"/dependencies/noninterference_csp/","name":"Noninterference_CSP"},{"id":177,"link":"/dependencies/noninterference_ipurge_unwinding/","name":"Noninterference_Ipurge_Unwinding"},{"id":178,"link":"/dependencies/noninterference_sequential_composition/","name":"Noninterference_Sequential_Composition"},{"id":179,"link":"/dependencies/open_induction/","name":"Open_Induction"},{"id":180,"link":"/dependencies/optics/","name":"Optics"},{"id":181,"link":"/dependencies/order_lattice_props/","name":"Order_Lattice_Props"},{"id":182,"link":"/dependencies/ordered_resolution_prover/","name":"Ordered_Resolution_Prover"},{"id":183,"link":"/dependencies/ordinal/","name":"Ordinal"},{"id":184,"link":"/dependencies/ordinary_differential_equations/","name":"Ordinary_Differential_Equations"},{"id":185,"link":"/dependencies/package_logic/","name":"Package_logic"},{"id":186,"link":"/dependencies/pairing_heap/","name":"Pairing_Heap"},{"id":187,"link":"/dependencies/parity_game/","name":"Parity_Game"},{"id":188,"link":"/dependencies/partial_function_mr/","name":"Partial_Function_MR"},{"id":189,"link":"/dependencies/partial_order_reduction/","name":"Partial_Order_Reduction"},{"id":190,"link":"/dependencies/pell/","name":"Pell"},{"id":191,"link":"/dependencies/perron_frobenius/","name":"Perron_Frobenius"},{"id":192,"link":"/dependencies/pi_transcendental/","name":"Pi_Transcendental"},{"id":193,"link":"/dependencies/polynomial_factorization/","name":"Polynomial_Factorization"},{"id":194,"link":"/dependencies/polynomial_interpolation/","name":"Polynomial_Interpolation"},{"id":195,"link":"/dependencies/polynomials/","name":"Polynomials"},{"id":196,"link":"/dependencies/power_sum_polynomials/","name":"Power_Sum_Polynomials"},{"id":197,"link":"/dependencies/pratt_certificate/","name":"Pratt_Certificate"},{"id":198,"link":"/dependencies/prefix_free_code_combinators/","name":"Prefix_Free_Code_Combinators"},{"id":199,"link":"/dependencies/prime_distribution_elementary/","name":"Prime_Distribution_Elementary"},{"id":200,"link":"/dependencies/prime_number_theorem/","name":"Prime_Number_Theorem"},{"id":201,"link":"/dependencies/priority_search_trees/","name":"Priority_Search_Trees"},{"id":202,"link":"/dependencies/probabilistic_prime_tests/","name":"Probabilistic_Prime_Tests"},{"id":203,"link":"/dependencies/probabilistic_while/","name":"Probabilistic_While"},{"id":204,"link":"/dependencies/program-conflict-analysis/","name":"Program-Conflict-Analysis"},{"id":205,"link":"/dependencies/promela/","name":"Promela"},{"id":206,"link":"/dependencies/propositional_proof_systems/","name":"Propositional_Proof_Systems"},{"id":207,"link":"/dependencies/qhlprover/","name":"QHLProver"},{"id":208,"link":"/dependencies/quantales/","name":"Quantales"},{"id":209,"link":"/dependencies/quick_sort_cost/","name":"Quick_Sort_Cost"},{"id":210,"link":"/dependencies/random_bsts/","name":"Random_BSTs"},{"id":211,"link":"/dependencies/random_graph_subgraph_threshold/","name":"Random_Graph_Subgraph_Threshold"},{"id":212,"link":"/dependencies/randomised_social_choice/","name":"Randomised_Social_Choice"},{"id":213,"link":"/dependencies/rank_nullity_theorem/","name":"Rank_Nullity_Theorem"},{"id":214,"link":"/dependencies/real_impl/","name":"Real_Impl"},{"id":215,"link":"/dependencies/recursion-theory-i/","name":"Recursion-Theory-I"},{"id":216,"link":"/dependencies/refine_imperative_hol/","name":"Refine_Imperative_HOL"},{"id":217,"link":"/dependencies/refine_monadic/","name":"Refine_Monadic"},{"id":218,"link":"/dependencies/regular-sets/","name":"Regular-Sets"},{"id":219,"link":"/dependencies/regular_tree_relations/","name":"Regular_Tree_Relations"},{"id":220,"link":"/dependencies/relation_algebra/","name":"Relation_Algebra"},{"id":221,"link":"/dependencies/relational_disjoint_set_forests/","name":"Relational_Disjoint_Set_Forests"},{"id":222,"link":"/dependencies/robdd/","name":"ROBDD"},{"id":223,"link":"/dependencies/root_balanced_tree/","name":"Root_Balanced_Tree"},{"id":224,"link":"/dependencies/routing/","name":"Routing"},{"id":225,"link":"/dependencies/saturation_framework/","name":"Saturation_Framework"},{"id":226,"link":"/dependencies/secondary_sylow/","name":"Secondary_Sylow"},{"id":227,"link":"/dependencies/separation_algebra/","name":"Separation_Algebra"},{"id":228,"link":"/dependencies/separation_logic_imperative_hol/","name":"Separation_Logic_Imperative_HOL"},{"id":229,"link":"/dependencies/sepref_basic/","name":"Sepref_Basic"},{"id":230,"link":"/dependencies/sepref_iicf/","name":"Sepref_IICF"},{"id":231,"link":"/dependencies/sepref_prereq/","name":"Sepref_Prereq"},{"id":232,"link":"/dependencies/shadow_dom/","name":"Shadow_DOM"},{"id":233,"link":"/dependencies/shadow_sc_dom/","name":"Shadow_SC_DOM"},{"id":234,"link":"/dependencies/show/","name":"Show"},{"id":235,"link":"/dependencies/sigma_commit_crypto/","name":"Sigma_Commit_Crypto"},{"id":236,"link":"/dependencies/simpl/","name":"Simpl"},{"id":237,"link":"/dependencies/simple_firewall/","name":"Simple_Firewall"},{"id":238,"link":"/dependencies/simplex/","name":"Simplex"},{"id":239,"link":"/dependencies/skew_heap/","name":"Skew_Heap"},{"id":240,"link":"/dependencies/slicing/","name":"Slicing"},{"id":241,"link":"/dependencies/sm/","name":"SM"},{"id":242,"link":"/dependencies/sm_base/","name":"SM_Base"},{"id":243,"link":"/dependencies/smith_normal_form/","name":"Smith_Normal_Form"},{"id":244,"link":"/dependencies/speccheck/","name":"SpecCheck"},{"id":245,"link":"/dependencies/splay_tree/","name":"Splay_Tree"},{"id":246,"link":"/dependencies/sqrt_babylonian/","name":"Sqrt_Babylonian"},{"id":247,"link":"/dependencies/stateful_protocol_composition_and_typing/","name":"Stateful_Protocol_Composition_and_Typing"},{"id":248,"link":"/dependencies/stirling_formula/","name":"Stirling_Formula"},{"id":249,"link":"/dependencies/stone_algebras/","name":"Stone_Algebras"},{"id":250,"link":"/dependencies/stone_kleene_relation_algebras/","name":"Stone_Kleene_Relation_Algebras"},{"id":251,"link":"/dependencies/stone_relation_algebras/","name":"Stone_Relation_Algebras"},{"id":252,"link":"/dependencies/strong_security/","name":"Strong_Security"},{"id":253,"link":"/dependencies/sturm_sequences/","name":"Sturm_Sequences"},{"id":254,"link":"/dependencies/sturm_tarski/","name":"Sturm_Tarski"},{"id":255,"link":"/dependencies/stuttering_equivalence/","name":"Stuttering_Equivalence"},{"id":256,"link":"/dependencies/subresultants/","name":"Subresultants"},{"id":257,"link":"/dependencies/subset_boolean_algebras/","name":"Subset_Boolean_Algebras"},{"id":258,"link":"/dependencies/sunflowers/","name":"Sunflowers"},{"id":259,"link":"/dependencies/symmetric_polynomials/","name":"Symmetric_Polynomials"},{"id":260,"link":"/dependencies/syntax_independent_logic/","name":"Syntax_Independent_Logic"},{"id":261,"link":"/dependencies/szemeredi_regularity/","name":"Szemeredi_Regularity"},{"id":262,"link":"/dependencies/szpilrajn/","name":"Szpilrajn"},{"id":263,"link":"/dependencies/timed_automata/","name":"Timed_Automata"},{"id":264,"link":"/dependencies/transformer_semantics/","name":"Transformer_Semantics"},{"id":265,"link":"/dependencies/transition_systems_and_automata/","name":"Transition_Systems_and_Automata"},{"id":266,"link":"/dependencies/transitive-closure/","name":"Transitive-Closure"},{"id":267,"link":"/dependencies/transitive_models/","name":"Transitive_Models"},{"id":268,"link":"/dependencies/triangle/","name":"Triangle"},{"id":269,"link":"/dependencies/trie/","name":"Trie"},{"id":270,"link":"/dependencies/universal_hash_families/","name":"Universal_Hash_Families"},{"id":271,"link":"/dependencies/upf/","name":"UPF"},{"id":272,"link":"/dependencies/utp-toolkit/","name":"UTP-Toolkit"},{"id":273,"link":"/dependencies/vectorspace/","name":"VectorSpace"},{"id":274,"link":"/dependencies/vericomp/","name":"VeriComp"},{"id":275,"link":"/dependencies/weighted_path_order/","name":"Weighted_Path_Order"},{"id":276,"link":"/dependencies/well_quasi_orders/","name":"Well_Quasi_Orders"},{"id":277,"link":"/dependencies/winding_number_eval/","name":"Winding_Number_Eval"},{"id":278,"link":"/dependencies/word_lib/","name":"Word_Lib"},{"id":279,"link":"/dependencies/zeta_function/","name":"Zeta_Function"},{"id":280,"link":"/dependencies/zfc_in_hol/","name":"ZFC_in_HOL"}]||||||| common ancestor
-[{"id":0,"link":"/dependencies/abstract-rewriting/","name":"Abstract-Rewriting"},{"id":1,"link":"/dependencies/abstract_completeness/","name":"Abstract_Completeness"},{"id":2,"link":"/dependencies/abstract_soundness/","name":"Abstract_Soundness"},{"id":3,"link":"/dependencies/affine_arithmetic/","name":"Affine_Arithmetic"},{"id":4,"link":"/dependencies/aggregation_algebras/","name":"Aggregation_Algebras"},{"id":5,"link":"/dependencies/ai_planning_languages_semantics/","name":"AI_Planning_Languages_Semantics"},{"id":6,"link":"/dependencies/akra_bazzi/","name":"Akra_Bazzi"},{"id":7,"link":"/dependencies/algebraic_numbers/","name":"Algebraic_Numbers"},{"id":8,"link":"/dependencies/amortized_complexity/","name":"Amortized_Complexity"},{"id":9,"link":"/dependencies/applicative_lifting/","name":"Applicative_Lifting"},{"id":10,"link":"/dependencies/auto2_hol/","name":"Auto2_HOL"},{"id":11,"link":"/dependencies/automatic_refinement/","name":"Automatic_Refinement"},{"id":12,"link":"/dependencies/awn/","name":"AWN"},{"id":13,"link":"/dependencies/banach_steinhaus/","name":"Banach_Steinhaus"},{"id":14,"link":"/dependencies/bd_security_compositional/","name":"BD_Security_Compositional"},{"id":15,"link":"/dependencies/bell_numbers_spivey/","name":"Bell_Numbers_Spivey"},{"id":16,"link":"/dependencies/benor_kozen_reif/","name":"BenOr_Kozen_Reif"},{"id":17,"link":"/dependencies/berlekamp_zassenhaus/","name":"Berlekamp_Zassenhaus"},{"id":18,"link":"/dependencies/bernoulli/","name":"Bernoulli"},{"id":19,"link":"/dependencies/bertrands_postulate/","name":"Bertrands_Postulate"},{"id":20,"link":"/dependencies/binomial-heaps/","name":"Binomial-Heaps"},{"id":21,"link":"/dependencies/boolean_expression_checkers/","name":"Boolean_Expression_Checkers"},{"id":22,"link":"/dependencies/bounded_deducibility_security/","name":"Bounded_Deducibility_Security"},{"id":23,"link":"/dependencies/budan_fourier/","name":"Budan_Fourier"},{"id":24,"link":"/dependencies/cakeml/","name":"CakeML"},{"id":25,"link":"/dependencies/card_equiv_relations/","name":"Card_Equiv_Relations"},{"id":26,"link":"/dependencies/card_multisets/","name":"Card_Multisets"},{"id":27,"link":"/dependencies/card_number_partitions/","name":"Card_Number_Partitions"},{"id":28,"link":"/dependencies/card_partitions/","name":"Card_Partitions"},{"id":29,"link":"/dependencies/case_labeling/","name":"Case_Labeling"},{"id":30,"link":"/dependencies/category3/","name":"Category3"},{"id":31,"link":"/dependencies/cauchy/","name":"Cauchy"},{"id":32,"link":"/dependencies/cava_automata/","name":"CAVA_Automata"},{"id":33,"link":"/dependencies/cava_base/","name":"CAVA_Base"},{"id":34,"link":"/dependencies/cava_setup/","name":"CAVA_Setup"},{"id":35,"link":"/dependencies/cayley_hamilton/","name":"Cayley_Hamilton"},{"id":36,"link":"/dependencies/certification_monads/","name":"Certification_Monads"},{"id":37,"link":"/dependencies/coinductive/","name":"Coinductive"},{"id":38,"link":"/dependencies/coinductive_languages/","name":"Coinductive_Languages"},{"id":39,"link":"/dependencies/collections/","name":"Collections"},{"id":40,"link":"/dependencies/collections_examples/","name":"Collections_Examples"},{"id":41,"link":"/dependencies/combinatorics_words/","name":"Combinatorics_Words"},{"id":42,"link":"/dependencies/comparison_sort_lower_bound/","name":"Comparison_Sort_Lower_Bound"},{"id":43,"link":"/dependencies/complex_bounded_operators/","name":"Complex_Bounded_Operators"},{"id":44,"link":"/dependencies/complex_geometry/","name":"Complex_Geometry"},{"id":45,"link":"/dependencies/concurrentimp/","name":"ConcurrentIMP"},{"id":46,"link":"/dependencies/conditional_simplification/","name":"Conditional_Simplification"},{"id":47,"link":"/dependencies/conditional_transfer_rule/","name":"Conditional_Transfer_Rule"},{"id":48,"link":"/dependencies/constructive_cryptography/","name":"Constructive_Cryptography"},{"id":49,"link":"/dependencies/constructor_funs/","name":"Constructor_Funs"},{"id":50,"link":"/dependencies/containers/","name":"Containers"},{"id":51,"link":"/dependencies/core_dom/","name":"Core_DOM"},{"id":52,"link":"/dependencies/core_sc_dom/","name":"Core_SC_DOM"},{"id":53,"link":"/dependencies/count_complex_roots/","name":"Count_Complex_Roots"},{"id":54,"link":"/dependencies/crdt/","name":"CRDT"},{"id":55,"link":"/dependencies/crypthol/","name":"CryptHOL"},{"id":56,"link":"/dependencies/czh_elementary_categories/","name":"CZH_Elementary_Categories"},{"id":57,"link":"/dependencies/czh_foundations/","name":"CZH_Foundations"},{"id":58,"link":"/dependencies/datarefinementibp/","name":"DataRefinementIBP"},{"id":59,"link":"/dependencies/datatype_order_generator/","name":"Datatype_Order_Generator"},{"id":60,"link":"/dependencies/deep_learning/","name":"Deep_Learning"},{"id":61,"link":"/dependencies/delta_system_lemma/","name":"Delta_System_Lemma"},{"id":62,"link":"/dependencies/dependent_sifum_type_systems/","name":"Dependent_SIFUM_Type_Systems"},{"id":63,"link":"/dependencies/deriving/","name":"Deriving"},{"id":64,"link":"/dependencies/design_theory/","name":"Design_Theory"},{"id":65,"link":"/dependencies/dfs_framework/","name":"DFS_Framework"},{"id":66,"link":"/dependencies/dict_construction/","name":"Dict_Construction"},{"id":67,"link":"/dependencies/digit_expansions/","name":"Digit_Expansions"},{"id":68,"link":"/dependencies/dijkstra_shortest_path/","name":"Dijkstra_Shortest_Path"},{"id":69,"link":"/dependencies/dirichlet_l/","name":"Dirichlet_L"},{"id":70,"link":"/dependencies/dirichlet_series/","name":"Dirichlet_Series"},{"id":71,"link":"/dependencies/discrete_summation/","name":"Discrete_Summation"},{"id":72,"link":"/dependencies/dynamicarchitectures/","name":"DynamicArchitectures"},{"id":73,"link":"/dependencies/e_transcendental/","name":"E_Transcendental"},{"id":74,"link":"/dependencies/echelon_form/","name":"Echelon_Form"},{"id":75,"link":"/dependencies/edmondskarp_maxflow/","name":"EdmondsKarp_Maxflow"},{"id":76,"link":"/dependencies/efficient-mergesort/","name":"Efficient-Mergesort"},{"id":77,"link":"/dependencies/epistemic_logic/","name":"Epistemic_Logic"},{"id":78,"link":"/dependencies/equivalence_relation_enumeration/","name":"Equivalence_Relation_Enumeration"},{"id":79,"link":"/dependencies/ergodic_theory/","name":"Ergodic_Theory"},{"id":80,"link":"/dependencies/euler_maclaurin/","name":"Euler_MacLaurin"},{"id":81,"link":"/dependencies/extended_finite_state_machines/","name":"Extended_Finite_State_Machines"},{"id":82,"link":"/dependencies/factor_algebraic_polynomial/","name":"Factor_Algebraic_Polynomial"},{"id":83,"link":"/dependencies/farkas/","name":"Farkas"},{"id":84,"link":"/dependencies/finfun/","name":"FinFun"},{"id":85,"link":"/dependencies/finger-trees/","name":"Finger-Trees"},{"id":86,"link":"/dependencies/finitely_generated_abelian_groups/","name":"Finitely_Generated_Abelian_Groups"},{"id":87,"link":"/dependencies/first_order_terms/","name":"First_Order_Terms"},{"id":88,"link":"/dependencies/first_welfare_theorem/","name":"First_Welfare_Theorem"},{"id":89,"link":"/dependencies/flow_networks/","name":"Flow_Networks"},{"id":90,"link":"/dependencies/flyspeck-tame/","name":"Flyspeck-Tame"},{"id":91,"link":"/dependencies/fol-fitting/","name":"FOL-Fitting"},{"id":92,"link":"/dependencies/fol_seq_calc1/","name":"FOL_Seq_Calc1"},{"id":93,"link":"/dependencies/formal_ssa/","name":"Formal_SSA"},{"id":94,"link":"/dependencies/formula_derivatives/","name":"Formula_Derivatives"},{"id":95,"link":"/dependencies/fresh_identifiers/","name":"Fresh_Identifiers"},{"id":96,"link":"/dependencies/gabow_scc/","name":"Gabow_SCC"},{"id":97,"link":"/dependencies/game_based_crypto/","name":"Game_Based_Crypto"},{"id":98,"link":"/dependencies/gauss-jordan-elim-fun/","name":"Gauss-Jordan-Elim-Fun"},{"id":99,"link":"/dependencies/gauss_jordan/","name":"Gauss_Jordan"},{"id":100,"link":"/dependencies/generic_join/","name":"Generic_Join"},{"id":101,"link":"/dependencies/girth_chromatic/","name":"Girth_Chromatic"},{"id":102,"link":"/dependencies/goedel_incompleteness/","name":"Goedel_Incompleteness"},{"id":103,"link":"/dependencies/graph_theory/","name":"Graph_Theory"},{"id":104,"link":"/dependencies/groebner_bases/","name":"Groebner_Bases"},{"id":105,"link":"/dependencies/group-ring-module/","name":"Group-Ring-Module"},{"id":106,"link":"/dependencies/heard_of/","name":"Heard_Of"},{"id":107,"link":"/dependencies/hereditarilyfinite/","name":"HereditarilyFinite"},{"id":108,"link":"/dependencies/hermite/","name":"Hermite"},{"id":109,"link":"/dependencies/hermite_lindemann/","name":"Hermite_Lindemann"},{"id":110,"link":"/dependencies/higher_order_terms/","name":"Higher_Order_Terms"},{"id":111,"link":"/dependencies/hol-csp/","name":"HOL-CSP"},{"id":112,"link":"/dependencies/hol-ode-numerics/","name":"HOL-ODE-Numerics"},{"id":113,"link":"/dependencies/holcf-prelude/","name":"HOLCF-Prelude"},{"id":114,"link":"/dependencies/hrb-slicing/","name":"HRB-Slicing"},{"id":115,"link":"/dependencies/huffman/","name":"Huffman"},{"id":116,"link":"/dependencies/hybrid_systems_vcs/","name":"Hybrid_Systems_VCs"},{"id":117,"link":"/dependencies/ieee_floating_point/","name":"IEEE_Floating_Point"},{"id":118,"link":"/dependencies/imp2/","name":"IMP2"},{"id":119,"link":"/dependencies/incompleteness/","name":"Incompleteness"},{"id":120,"link":"/dependencies/interpolation_polynomials_hol_algebra/","name":"Interpolation_Polynomials_HOL_Algebra"},{"id":121,"link":"/dependencies/intro_dest_elim/","name":"Intro_Dest_Elim"},{"id":122,"link":"/dependencies/ip_addresses/","name":"IP_Addresses"},{"id":123,"link":"/dependencies/iptables_semantics/","name":"Iptables_Semantics"},{"id":124,"link":"/dependencies/iptables_semantics_examples/","name":"Iptables_Semantics_Examples"},{"id":125,"link":"/dependencies/isabelle_marries_dirac/","name":"Isabelle_Marries_Dirac"},{"id":126,"link":"/dependencies/jacobson_basic_algebra/","name":"Jacobson_Basic_Algebra"},{"id":127,"link":"/dependencies/jinja/","name":"Jinja"},{"id":128,"link":"/dependencies/jinjadci/","name":"JinjaDCI"},{"id":129,"link":"/dependencies/jordan_normal_form/","name":"Jordan_Normal_Form"},{"id":130,"link":"/dependencies/kad/","name":"KAD"},{"id":131,"link":"/dependencies/kat_and_dra/","name":"KAT_and_DRA"},{"id":132,"link":"/dependencies/kbps/","name":"KBPs"},{"id":133,"link":"/dependencies/kleene_algebra/","name":"Kleene_Algebra"},{"id":134,"link":"/dependencies/knuth_bendix_order/","name":"Knuth_Bendix_Order"},{"id":135,"link":"/dependencies/lambda_free_rpos/","name":"Lambda_Free_RPOs"},{"id":136,"link":"/dependencies/landau_symbols/","name":"Landau_Symbols"},{"id":137,"link":"/dependencies/latticeproperties/","name":"LatticeProperties"},{"id":138,"link":"/dependencies/launchbury/","name":"Launchbury"},{"id":139,"link":"/dependencies/lazy-lists-ii/","name":"Lazy-Lists-II"},{"id":140,"link":"/dependencies/lazy_case/","name":"Lazy_Case"},{"id":141,"link":"/dependencies/lehmer/","name":"Lehmer"},{"id":142,"link":"/dependencies/lem/","name":"LEM"},{"id":143,"link":"/dependencies/linear_inequalities/","name":"Linear_Inequalities"},{"id":144,"link":"/dependencies/linear_recurrences/","name":"Linear_Recurrences"},{"id":145,"link":"/dependencies/list-index/","name":"List-Index"},{"id":146,"link":"/dependencies/list-infinite/","name":"List-Infinite"},{"id":147,"link":"/dependencies/list_interleaving/","name":"List_Interleaving"},{"id":148,"link":"/dependencies/lll_basis_reduction/","name":"LLL_Basis_Reduction"},{"id":149,"link":"/dependencies/lorenz_approximation/","name":"Lorenz_Approximation"},{"id":150,"link":"/dependencies/lp/","name":"Lp"},{"id":151,"link":"/dependencies/ltl/","name":"LTL"},{"id":152,"link":"/dependencies/ltl_master_theorem/","name":"LTL_Master_Theorem"},{"id":153,"link":"/dependencies/ltl_to_gba/","name":"LTL_to_GBA"},{"id":154,"link":"/dependencies/lucas_theorem/","name":"Lucas_Theorem"},{"id":155,"link":"/dependencies/markov_models/","name":"Markov_Models"},{"id":156,"link":"/dependencies/marriage/","name":"Marriage"},{"id":157,"link":"/dependencies/matrix/","name":"Matrix"},{"id":158,"link":"/dependencies/matrix_tensor/","name":"Matrix_Tensor"},{"id":159,"link":"/dependencies/matroids/","name":"Matroids"},{"id":160,"link":"/dependencies/mdp-rewards/","name":"MDP-Rewards"},{"id":161,"link":"/dependencies/median_method/","name":"Median_Method"},{"id":162,"link":"/dependencies/median_of_medians_selection/","name":"Median_Of_Medians_Selection"},{"id":163,"link":"/dependencies/mfmc_countable/","name":"MFMC_Countable"},{"id":164,"link":"/dependencies/mfotl_monitor/","name":"MFOTL_Monitor"},{"id":165,"link":"/dependencies/monad_memo_dp/","name":"Monad_Memo_DP"},{"id":166,"link":"/dependencies/monad_normalisation/","name":"Monad_Normalisation"},{"id":167,"link":"/dependencies/monobooltranalgebra/","name":"MonoBoolTranAlgebra"},{"id":168,"link":"/dependencies/monoidalcategory/","name":"MonoidalCategory"},{"id":169,"link":"/dependencies/monomorphic_monad/","name":"Monomorphic_Monad"},{"id":170,"link":"/dependencies/nash_williams/","name":"Nash_Williams"},{"id":171,"link":"/dependencies/nat-interval-logic/","name":"Nat-Interval-Logic"},{"id":172,"link":"/dependencies/native_word/","name":"Native_Word"},{"id":173,"link":"/dependencies/nested_multisets_ordinals/","name":"Nested_Multisets_Ordinals"},{"id":174,"link":"/dependencies/nominal2/","name":"Nominal2"},{"id":175,"link":"/dependencies/noninterference_csp/","name":"Noninterference_CSP"},{"id":176,"link":"/dependencies/noninterference_ipurge_unwinding/","name":"Noninterference_Ipurge_Unwinding"},{"id":177,"link":"/dependencies/noninterference_sequential_composition/","name":"Noninterference_Sequential_Composition"},{"id":178,"link":"/dependencies/open_induction/","name":"Open_Induction"},{"id":179,"link":"/dependencies/optics/","name":"Optics"},{"id":180,"link":"/dependencies/order_lattice_props/","name":"Order_Lattice_Props"},{"id":181,"link":"/dependencies/ordered_resolution_prover/","name":"Ordered_Resolution_Prover"},{"id":182,"link":"/dependencies/ordinal/","name":"Ordinal"},{"id":183,"link":"/dependencies/ordinary_differential_equations/","name":"Ordinary_Differential_Equations"},{"id":184,"link":"/dependencies/package_logic/","name":"Package_logic"},{"id":185,"link":"/dependencies/pairing_heap/","name":"Pairing_Heap"},{"id":186,"link":"/dependencies/parity_game/","name":"Parity_Game"},{"id":187,"link":"/dependencies/partial_function_mr/","name":"Partial_Function_MR"},{"id":188,"link":"/dependencies/partial_order_reduction/","name":"Partial_Order_Reduction"},{"id":189,"link":"/dependencies/pell/","name":"Pell"},{"id":190,"link":"/dependencies/perron_frobenius/","name":"Perron_Frobenius"},{"id":191,"link":"/dependencies/pi_transcendental/","name":"Pi_Transcendental"},{"id":192,"link":"/dependencies/polynomial_factorization/","name":"Polynomial_Factorization"},{"id":193,"link":"/dependencies/polynomial_interpolation/","name":"Polynomial_Interpolation"},{"id":194,"link":"/dependencies/polynomials/","name":"Polynomials"},{"id":195,"link":"/dependencies/power_sum_polynomials/","name":"Power_Sum_Polynomials"},{"id":196,"link":"/dependencies/pratt_certificate/","name":"Pratt_Certificate"},{"id":197,"link":"/dependencies/prefix_free_code_combinators/","name":"Prefix_Free_Code_Combinators"},{"id":198,"link":"/dependencies/prime_distribution_elementary/","name":"Prime_Distribution_Elementary"},{"id":199,"link":"/dependencies/prime_number_theorem/","name":"Prime_Number_Theorem"},{"id":200,"link":"/dependencies/priority_search_trees/","name":"Priority_Search_Trees"},{"id":201,"link":"/dependencies/probabilistic_prime_tests/","name":"Probabilistic_Prime_Tests"},{"id":202,"link":"/dependencies/probabilistic_while/","name":"Probabilistic_While"},{"id":203,"link":"/dependencies/program-conflict-analysis/","name":"Program-Conflict-Analysis"},{"id":204,"link":"/dependencies/promela/","name":"Promela"},{"id":205,"link":"/dependencies/propositional_proof_systems/","name":"Propositional_Proof_Systems"},{"id":206,"link":"/dependencies/qhlprover/","name":"QHLProver"},{"id":207,"link":"/dependencies/quantales/","name":"Quantales"},{"id":208,"link":"/dependencies/quick_sort_cost/","name":"Quick_Sort_Cost"},{"id":209,"link":"/dependencies/random_bsts/","name":"Random_BSTs"},{"id":210,"link":"/dependencies/random_graph_subgraph_threshold/","name":"Random_Graph_Subgraph_Threshold"},{"id":211,"link":"/dependencies/randomised_social_choice/","name":"Randomised_Social_Choice"},{"id":212,"link":"/dependencies/rank_nullity_theorem/","name":"Rank_Nullity_Theorem"},{"id":213,"link":"/dependencies/real_impl/","name":"Real_Impl"},{"id":214,"link":"/dependencies/recursion-theory-i/","name":"Recursion-Theory-I"},{"id":215,"link":"/dependencies/refine_imperative_hol/","name":"Refine_Imperative_HOL"},{"id":216,"link":"/dependencies/refine_monadic/","name":"Refine_Monadic"},{"id":217,"link":"/dependencies/regular-sets/","name":"Regular-Sets"},{"id":218,"link":"/dependencies/regular_tree_relations/","name":"Regular_Tree_Relations"},{"id":219,"link":"/dependencies/relation_algebra/","name":"Relation_Algebra"},{"id":220,"link":"/dependencies/relational_disjoint_set_forests/","name":"Relational_Disjoint_Set_Forests"},{"id":221,"link":"/dependencies/robdd/","name":"ROBDD"},{"id":222,"link":"/dependencies/root_balanced_tree/","name":"Root_Balanced_Tree"},{"id":223,"link":"/dependencies/routing/","name":"Routing"},{"id":224,"link":"/dependencies/saturation_framework/","name":"Saturation_Framework"},{"id":225,"link":"/dependencies/secondary_sylow/","name":"Secondary_Sylow"},{"id":226,"link":"/dependencies/separation_algebra/","name":"Separation_Algebra"},{"id":227,"link":"/dependencies/separation_logic_imperative_hol/","name":"Separation_Logic_Imperative_HOL"},{"id":228,"link":"/dependencies/sepref_basic/","name":"Sepref_Basic"},{"id":229,"link":"/dependencies/sepref_iicf/","name":"Sepref_IICF"},{"id":230,"link":"/dependencies/sepref_prereq/","name":"Sepref_Prereq"},{"id":231,"link":"/dependencies/shadow_dom/","name":"Shadow_DOM"},{"id":232,"link":"/dependencies/shadow_sc_dom/","name":"Shadow_SC_DOM"},{"id":233,"link":"/dependencies/show/","name":"Show"},{"id":234,"link":"/dependencies/sigma_commit_crypto/","name":"Sigma_Commit_Crypto"},{"id":235,"link":"/dependencies/simpl/","name":"Simpl"},{"id":236,"link":"/dependencies/simple_firewall/","name":"Simple_Firewall"},{"id":237,"link":"/dependencies/simplex/","name":"Simplex"},{"id":238,"link":"/dependencies/skew_heap/","name":"Skew_Heap"},{"id":239,"link":"/dependencies/slicing/","name":"Slicing"},{"id":240,"link":"/dependencies/sm/","name":"SM"},{"id":241,"link":"/dependencies/sm_base/","name":"SM_Base"},{"id":242,"link":"/dependencies/smith_normal_form/","name":"Smith_Normal_Form"},{"id":243,"link":"/dependencies/speccheck/","name":"SpecCheck"},{"id":244,"link":"/dependencies/splay_tree/","name":"Splay_Tree"},{"id":245,"link":"/dependencies/sqrt_babylonian/","name":"Sqrt_Babylonian"},{"id":246,"link":"/dependencies/stateful_protocol_composition_and_typing/","name":"Stateful_Protocol_Composition_and_Typing"},{"id":247,"link":"/dependencies/stirling_formula/","name":"Stirling_Formula"},{"id":248,"link":"/dependencies/stone_algebras/","name":"Stone_Algebras"},{"id":249,"link":"/dependencies/stone_kleene_relation_algebras/","name":"Stone_Kleene_Relation_Algebras"},{"id":250,"link":"/dependencies/stone_relation_algebras/","name":"Stone_Relation_Algebras"},{"id":251,"link":"/dependencies/strong_security/","name":"Strong_Security"},{"id":252,"link":"/dependencies/sturm_sequences/","name":"Sturm_Sequences"},{"id":253,"link":"/dependencies/sturm_tarski/","name":"Sturm_Tarski"},{"id":254,"link":"/dependencies/stuttering_equivalence/","name":"Stuttering_Equivalence"},{"id":255,"link":"/dependencies/subresultants/","name":"Subresultants"},{"id":256,"link":"/dependencies/subset_boolean_algebras/","name":"Subset_Boolean_Algebras"},{"id":257,"link":"/dependencies/sunflowers/","name":"Sunflowers"},{"id":258,"link":"/dependencies/symmetric_polynomials/","name":"Symmetric_Polynomials"},{"id":259,"link":"/dependencies/syntax_independent_logic/","name":"Syntax_Independent_Logic"},{"id":260,"link":"/dependencies/szemeredi_regularity/","name":"Szemeredi_Regularity"},{"id":261,"link":"/dependencies/szpilrajn/","name":"Szpilrajn"},{"id":262,"link":"/dependencies/timed_automata/","name":"Timed_Automata"},{"id":263,"link":"/dependencies/transformer_semantics/","name":"Transformer_Semantics"},{"id":264,"link":"/dependencies/transition_systems_and_automata/","name":"Transition_Systems_and_Automata"},{"id":265,"link":"/dependencies/transitive-closure/","name":"Transitive-Closure"},{"id":266,"link":"/dependencies/transitive_models/","name":"Transitive_Models"},{"id":267,"link":"/dependencies/triangle/","name":"Triangle"},{"id":268,"link":"/dependencies/trie/","name":"Trie"},{"id":269,"link":"/dependencies/universal_hash_families/","name":"Universal_Hash_Families"},{"id":270,"link":"/dependencies/upf/","name":"UPF"},{"id":271,"link":"/dependencies/utp-toolkit/","name":"UTP-Toolkit"},{"id":272,"link":"/dependencies/vectorspace/","name":"VectorSpace"},{"id":273,"link":"/dependencies/vericomp/","name":"VeriComp"},{"id":274,"link":"/dependencies/weighted_path_order/","name":"Weighted_Path_Order"},{"id":275,"link":"/dependencies/well_quasi_orders/","name":"Well_Quasi_Orders"},{"id":276,"link":"/dependencies/winding_number_eval/","name":"Winding_Number_Eval"},{"id":277,"link":"/dependencies/word_lib/","name":"Word_Lib"},{"id":278,"link":"/dependencies/zeta_function/","name":"Zeta_Function"},{"id":279,"link":"/dependencies/zfc_in_hol/","name":"ZFC_in_HOL"}]=======
-[{"id":0,"link":"/dependencies/abstract-rewriting/","name":"Abstract-Rewriting"},{"id":1,"link":"/dependencies/abstract_completeness/","name":"Abstract_Completeness"},{"id":2,"link":"/dependencies/abstract_soundness/","name":"Abstract_Soundness"},{"id":3,"link":"/dependencies/affine_arithmetic/","name":"Affine_Arithmetic"},{"id":4,"link":"/dependencies/aggregation_algebras/","name":"Aggregation_Algebras"},{"id":5,"link":"/dependencies/ai_planning_languages_semantics/","name":"AI_Planning_Languages_Semantics"},{"id":6,"link":"/dependencies/akra_bazzi/","name":"Akra_Bazzi"},{"id":7,"link":"/dependencies/algebraic_numbers/","name":"Algebraic_Numbers"},{"id":8,"link":"/dependencies/amortized_complexity/","name":"Amortized_Complexity"},{"id":9,"link":"/dependencies/applicative_lifting/","name":"Applicative_Lifting"},{"id":10,"link":"/dependencies/auto2_hol/","name":"Auto2_HOL"},{"id":11,"link":"/dependencies/automatic_refinement/","name":"Automatic_Refinement"},{"id":12,"link":"/dependencies/awn/","name":"AWN"},{"id":13,"link":"/dependencies/banach_steinhaus/","name":"Banach_Steinhaus"},{"id":14,"link":"/dependencies/bd_security_compositional/","name":"BD_Security_Compositional"},{"id":15,"link":"/dependencies/bell_numbers_spivey/","name":"Bell_Numbers_Spivey"},{"id":16,"link":"/dependencies/benor_kozen_reif/","name":"BenOr_Kozen_Reif"},{"id":17,"link":"/dependencies/berlekamp_zassenhaus/","name":"Berlekamp_Zassenhaus"},{"id":18,"link":"/dependencies/bernoulli/","name":"Bernoulli"},{"id":19,"link":"/dependencies/bertrands_postulate/","name":"Bertrands_Postulate"},{"id":20,"link":"/dependencies/binomial-heaps/","name":"Binomial-Heaps"},{"id":21,"link":"/dependencies/boolean_expression_checkers/","name":"Boolean_Expression_Checkers"},{"id":22,"link":"/dependencies/bounded_deducibility_security/","name":"Bounded_Deducibility_Security"},{"id":23,"link":"/dependencies/budan_fourier/","name":"Budan_Fourier"},{"id":24,"link":"/dependencies/cakeml/","name":"CakeML"},{"id":25,"link":"/dependencies/card_equiv_relations/","name":"Card_Equiv_Relations"},{"id":26,"link":"/dependencies/card_multisets/","name":"Card_Multisets"},{"id":27,"link":"/dependencies/card_number_partitions/","name":"Card_Number_Partitions"},{"id":28,"link":"/dependencies/card_partitions/","name":"Card_Partitions"},{"id":29,"link":"/dependencies/case_labeling/","name":"Case_Labeling"},{"id":30,"link":"/dependencies/category3/","name":"Category3"},{"id":31,"link":"/dependencies/cauchy/","name":"Cauchy"},{"id":32,"link":"/dependencies/cava_automata/","name":"CAVA_Automata"},{"id":33,"link":"/dependencies/cava_base/","name":"CAVA_Base"},{"id":34,"link":"/dependencies/cava_setup/","name":"CAVA_Setup"},{"id":35,"link":"/dependencies/cayley_hamilton/","name":"Cayley_Hamilton"},{"id":36,"link":"/dependencies/certification_monads/","name":"Certification_Monads"},{"id":37,"link":"/dependencies/coinductive/","name":"Coinductive"},{"id":38,"link":"/dependencies/coinductive_languages/","name":"Coinductive_Languages"},{"id":39,"link":"/dependencies/collections/","name":"Collections"},{"id":40,"link":"/dependencies/collections_examples/","name":"Collections_Examples"},{"id":41,"link":"/dependencies/combinatorics_words/","name":"Combinatorics_Words"},{"id":42,"link":"/dependencies/comparison_sort_lower_bound/","name":"Comparison_Sort_Lower_Bound"},{"id":43,"link":"/dependencies/complex_bounded_operators/","name":"Complex_Bounded_Operators"},{"id":44,"link":"/dependencies/complex_geometry/","name":"Complex_Geometry"},{"id":45,"link":"/dependencies/concurrentimp/","name":"ConcurrentIMP"},{"id":46,"link":"/dependencies/conditional_simplification/","name":"Conditional_Simplification"},{"id":47,"link":"/dependencies/conditional_transfer_rule/","name":"Conditional_Transfer_Rule"},{"id":48,"link":"/dependencies/constructive_cryptography/","name":"Constructive_Cryptography"},{"id":49,"link":"/dependencies/constructor_funs/","name":"Constructor_Funs"},{"id":50,"link":"/dependencies/containers/","name":"Containers"},{"id":51,"link":"/dependencies/core_dom/","name":"Core_DOM"},{"id":52,"link":"/dependencies/core_sc_dom/","name":"Core_SC_DOM"},{"id":53,"link":"/dependencies/count_complex_roots/","name":"Count_Complex_Roots"},{"id":54,"link":"/dependencies/crdt/","name":"CRDT"},{"id":55,"link":"/dependencies/crypthol/","name":"CryptHOL"},{"id":56,"link":"/dependencies/czh_elementary_categories/","name":"CZH_Elementary_Categories"},{"id":57,"link":"/dependencies/czh_foundations/","name":"CZH_Foundations"},{"id":58,"link":"/dependencies/datarefinementibp/","name":"DataRefinementIBP"},{"id":59,"link":"/dependencies/datatype_order_generator/","name":"Datatype_Order_Generator"},{"id":60,"link":"/dependencies/deep_learning/","name":"Deep_Learning"},{"id":61,"link":"/dependencies/delta_system_lemma/","name":"Delta_System_Lemma"},{"id":62,"link":"/dependencies/dependent_sifum_type_systems/","name":"Dependent_SIFUM_Type_Systems"},{"id":63,"link":"/dependencies/deriving/","name":"Deriving"},{"id":64,"link":"/dependencies/design_theory/","name":"Design_Theory"},{"id":65,"link":"/dependencies/dfs_framework/","name":"DFS_Framework"},{"id":66,"link":"/dependencies/dict_construction/","name":"Dict_Construction"},{"id":67,"link":"/dependencies/digit_expansions/","name":"Digit_Expansions"},{"id":68,"link":"/dependencies/dijkstra_shortest_path/","name":"Dijkstra_Shortest_Path"},{"id":69,"link":"/dependencies/dirichlet_l/","name":"Dirichlet_L"},{"id":70,"link":"/dependencies/dirichlet_series/","name":"Dirichlet_Series"},{"id":71,"link":"/dependencies/discrete_summation/","name":"Discrete_Summation"},{"id":72,"link":"/dependencies/dynamicarchitectures/","name":"DynamicArchitectures"},{"id":73,"link":"/dependencies/e_transcendental/","name":"E_Transcendental"},{"id":74,"link":"/dependencies/echelon_form/","name":"Echelon_Form"},{"id":75,"link":"/dependencies/edmondskarp_maxflow/","name":"EdmondsKarp_Maxflow"},{"id":76,"link":"/dependencies/efficient-mergesort/","name":"Efficient-Mergesort"},{"id":77,"link":"/dependencies/epistemic_logic/","name":"Epistemic_Logic"},{"id":78,"link":"/dependencies/equivalence_relation_enumeration/","name":"Equivalence_Relation_Enumeration"},{"id":79,"link":"/dependencies/ergodic_theory/","name":"Ergodic_Theory"},{"id":80,"link":"/dependencies/euler_maclaurin/","name":"Euler_MacLaurin"},{"id":81,"link":"/dependencies/extended_finite_state_machines/","name":"Extended_Finite_State_Machines"},{"id":82,"link":"/dependencies/factor_algebraic_polynomial/","name":"Factor_Algebraic_Polynomial"},{"id":83,"link":"/dependencies/farkas/","name":"Farkas"},{"id":84,"link":"/dependencies/finfun/","name":"FinFun"},{"id":85,"link":"/dependencies/finger-trees/","name":"Finger-Trees"},{"id":86,"link":"/dependencies/finitely_generated_abelian_groups/","name":"Finitely_Generated_Abelian_Groups"},{"id":87,"link":"/dependencies/first_order_terms/","name":"First_Order_Terms"},{"id":88,"link":"/dependencies/first_welfare_theorem/","name":"First_Welfare_Theorem"},{"id":89,"link":"/dependencies/flow_networks/","name":"Flow_Networks"},{"id":90,"link":"/dependencies/flyspeck-tame/","name":"Flyspeck-Tame"},{"id":91,"link":"/dependencies/fol-fitting/","name":"FOL-Fitting"},{"id":92,"link":"/dependencies/fol_seq_calc1/","name":"FOL_Seq_Calc1"},{"id":93,"link":"/dependencies/formal_ssa/","name":"Formal_SSA"},{"id":94,"link":"/dependencies/formula_derivatives/","name":"Formula_Derivatives"},{"id":95,"link":"/dependencies/fresh_identifiers/","name":"Fresh_Identifiers"},{"id":96,"link":"/dependencies/gabow_scc/","name":"Gabow_SCC"},{"id":97,"link":"/dependencies/game_based_crypto/","name":"Game_Based_Crypto"},{"id":98,"link":"/dependencies/gauss-jordan-elim-fun/","name":"Gauss-Jordan-Elim-Fun"},{"id":99,"link":"/dependencies/gauss_jordan/","name":"Gauss_Jordan"},{"id":100,"link":"/dependencies/generic_join/","name":"Generic_Join"},{"id":101,"link":"/dependencies/girth_chromatic/","name":"Girth_Chromatic"},{"id":102,"link":"/dependencies/goedel_incompleteness/","name":"Goedel_Incompleteness"},{"id":103,"link":"/dependencies/graph_theory/","name":"Graph_Theory"},{"id":104,"link":"/dependencies/groebner_bases/","name":"Groebner_Bases"},{"id":105,"link":"/dependencies/group-ring-module/","name":"Group-Ring-Module"},{"id":106,"link":"/dependencies/heard_of/","name":"Heard_Of"},{"id":107,"link":"/dependencies/hereditarilyfinite/","name":"HereditarilyFinite"},{"id":108,"link":"/dependencies/hermite/","name":"Hermite"},{"id":109,"link":"/dependencies/hermite_lindemann/","name":"Hermite_Lindemann"},{"id":110,"link":"/dependencies/higher_order_terms/","name":"Higher_Order_Terms"},{"id":111,"link":"/dependencies/hol-csp/","name":"HOL-CSP"},{"id":112,"link":"/dependencies/hol-ode-numerics/","name":"HOL-ODE-Numerics"},{"id":113,"link":"/dependencies/holcf-prelude/","name":"HOLCF-Prelude"},{"id":114,"link":"/dependencies/hrb-slicing/","name":"HRB-Slicing"},{"id":115,"link":"/dependencies/huffman/","name":"Huffman"},{"id":116,"link":"/dependencies/hybrid_systems_vcs/","name":"Hybrid_Systems_VCs"},{"id":117,"link":"/dependencies/ieee_floating_point/","name":"IEEE_Floating_Point"},{"id":118,"link":"/dependencies/imp2/","name":"IMP2"},{"id":119,"link":"/dependencies/incompleteness/","name":"Incompleteness"},{"id":120,"link":"/dependencies/interpolation_polynomials_hol_algebra/","name":"Interpolation_Polynomials_HOL_Algebra"},{"id":121,"link":"/dependencies/intro_dest_elim/","name":"Intro_Dest_Elim"},{"id":122,"link":"/dependencies/ip_addresses/","name":"IP_Addresses"},{"id":123,"link":"/dependencies/iptables_semantics/","name":"Iptables_Semantics"},{"id":124,"link":"/dependencies/iptables_semantics_examples/","name":"Iptables_Semantics_Examples"},{"id":125,"link":"/dependencies/isabelle_marries_dirac/","name":"Isabelle_Marries_Dirac"},{"id":126,"link":"/dependencies/jacobson_basic_algebra/","name":"Jacobson_Basic_Algebra"},{"id":127,"link":"/dependencies/jinja/","name":"Jinja"},{"id":128,"link":"/dependencies/jinjadci/","name":"JinjaDCI"},{"id":129,"link":"/dependencies/jordan_normal_form/","name":"Jordan_Normal_Form"},{"id":130,"link":"/dependencies/kad/","name":"KAD"},{"id":131,"link":"/dependencies/kat_and_dra/","name":"KAT_and_DRA"},{"id":132,"link":"/dependencies/kbps/","name":"KBPs"},{"id":133,"link":"/dependencies/kleene_algebra/","name":"Kleene_Algebra"},{"id":134,"link":"/dependencies/knuth_bendix_order/","name":"Knuth_Bendix_Order"},{"id":135,"link":"/dependencies/lambda_free_rpos/","name":"Lambda_Free_RPOs"},{"id":136,"link":"/dependencies/landau_symbols/","name":"Landau_Symbols"},{"id":137,"link":"/dependencies/latticeproperties/","name":"LatticeProperties"},{"id":138,"link":"/dependencies/launchbury/","name":"Launchbury"},{"id":139,"link":"/dependencies/lazy-lists-ii/","name":"Lazy-Lists-II"},{"id":140,"link":"/dependencies/lazy_case/","name":"Lazy_Case"},{"id":141,"link":"/dependencies/lehmer/","name":"Lehmer"},{"id":142,"link":"/dependencies/lem/","name":"LEM"},{"id":143,"link":"/dependencies/linear_inequalities/","name":"Linear_Inequalities"},{"id":144,"link":"/dependencies/linear_recurrences/","name":"Linear_Recurrences"},{"id":145,"link":"/dependencies/list-index/","name":"List-Index"},{"id":146,"link":"/dependencies/list-infinite/","name":"List-Infinite"},{"id":147,"link":"/dependencies/list_interleaving/","name":"List_Interleaving"},{"id":148,"link":"/dependencies/lll_basis_reduction/","name":"LLL_Basis_Reduction"},{"id":149,"link":"/dependencies/lorenz_approximation/","name":"Lorenz_Approximation"},{"id":150,"link":"/dependencies/lp/","name":"Lp"},{"id":151,"link":"/dependencies/ltl/","name":"LTL"},{"id":152,"link":"/dependencies/ltl_master_theorem/","name":"LTL_Master_Theorem"},{"id":153,"link":"/dependencies/ltl_to_gba/","name":"LTL_to_GBA"},{"id":154,"link":"/dependencies/lucas_theorem/","name":"Lucas_Theorem"},{"id":155,"link":"/dependencies/markov_models/","name":"Markov_Models"},{"id":156,"link":"/dependencies/marriage/","name":"Marriage"},{"id":157,"link":"/dependencies/matrix/","name":"Matrix"},{"id":158,"link":"/dependencies/matrix_tensor/","name":"Matrix_Tensor"},{"id":159,"link":"/dependencies/matroids/","name":"Matroids"},{"id":160,"link":"/dependencies/mdp-rewards/","name":"MDP-Rewards"},{"id":161,"link":"/dependencies/median_method/","name":"Median_Method"},{"id":162,"link":"/dependencies/median_of_medians_selection/","name":"Median_Of_Medians_Selection"},{"id":163,"link":"/dependencies/mfmc_countable/","name":"MFMC_Countable"},{"id":164,"link":"/dependencies/mfotl_monitor/","name":"MFOTL_Monitor"},{"id":165,"link":"/dependencies/monad_memo_dp/","name":"Monad_Memo_DP"},{"id":166,"link":"/dependencies/monad_normalisation/","name":"Monad_Normalisation"},{"id":167,"link":"/dependencies/monobooltranalgebra/","name":"MonoBoolTranAlgebra"},{"id":168,"link":"/dependencies/monoidalcategory/","name":"MonoidalCategory"},{"id":169,"link":"/dependencies/monomorphic_monad/","name":"Monomorphic_Monad"},{"id":170,"link":"/dependencies/nash_williams/","name":"Nash_Williams"},{"id":171,"link":"/dependencies/nat-interval-logic/","name":"Nat-Interval-Logic"},{"id":172,"link":"/dependencies/native_word/","name":"Native_Word"},{"id":173,"link":"/dependencies/nested_multisets_ordinals/","name":"Nested_Multisets_Ordinals"},{"id":174,"link":"/dependencies/nominal2/","name":"Nominal2"},{"id":175,"link":"/dependencies/noninterference_csp/","name":"Noninterference_CSP"},{"id":176,"link":"/dependencies/noninterference_ipurge_unwinding/","name":"Noninterference_Ipurge_Unwinding"},{"id":177,"link":"/dependencies/noninterference_sequential_composition/","name":"Noninterference_Sequential_Composition"},{"id":178,"link":"/dependencies/open_induction/","name":"Open_Induction"},{"id":179,"link":"/dependencies/optics/","name":"Optics"},{"id":180,"link":"/dependencies/order_lattice_props/","name":"Order_Lattice_Props"},{"id":181,"link":"/dependencies/ordered_resolution_prover/","name":"Ordered_Resolution_Prover"},{"id":182,"link":"/dependencies/ordinal/","name":"Ordinal"},{"id":183,"link":"/dependencies/ordinary_differential_equations/","name":"Ordinary_Differential_Equations"},{"id":184,"link":"/dependencies/package_logic/","name":"Package_logic"},{"id":185,"link":"/dependencies/pairing_heap/","name":"Pairing_Heap"},{"id":186,"link":"/dependencies/parity_game/","name":"Parity_Game"},{"id":187,"link":"/dependencies/partial_function_mr/","name":"Partial_Function_MR"},{"id":188,"link":"/dependencies/partial_order_reduction/","name":"Partial_Order_Reduction"},{"id":189,"link":"/dependencies/pell/","name":"Pell"},{"id":190,"link":"/dependencies/perron_frobenius/","name":"Perron_Frobenius"},{"id":191,"link":"/dependencies/pi_transcendental/","name":"Pi_Transcendental"},{"id":192,"link":"/dependencies/polynomial_factorization/","name":"Polynomial_Factorization"},{"id":193,"link":"/dependencies/polynomial_interpolation/","name":"Polynomial_Interpolation"},{"id":194,"link":"/dependencies/polynomials/","name":"Polynomials"},{"id":195,"link":"/dependencies/power_sum_polynomials/","name":"Power_Sum_Polynomials"},{"id":196,"link":"/dependencies/pratt_certificate/","name":"Pratt_Certificate"},{"id":197,"link":"/dependencies/prefix_free_code_combinators/","name":"Prefix_Free_Code_Combinators"},{"id":198,"link":"/dependencies/prime_distribution_elementary/","name":"Prime_Distribution_Elementary"},{"id":199,"link":"/dependencies/prime_number_theorem/","name":"Prime_Number_Theorem"},{"id":200,"link":"/dependencies/priority_search_trees/","name":"Priority_Search_Trees"},{"id":201,"link":"/dependencies/probabilistic_prime_tests/","name":"Probabilistic_Prime_Tests"},{"id":202,"link":"/dependencies/probabilistic_while/","name":"Probabilistic_While"},{"id":203,"link":"/dependencies/program-conflict-analysis/","name":"Program-Conflict-Analysis"},{"id":204,"link":"/dependencies/projective_measurements/","name":"Projective_Measurements"},{"id":205,"link":"/dependencies/promela/","name":"Promela"},{"id":206,"link":"/dependencies/propositional_proof_systems/","name":"Propositional_Proof_Systems"},{"id":207,"link":"/dependencies/qhlprover/","name":"QHLProver"},{"id":208,"link":"/dependencies/quantales/","name":"Quantales"},{"id":209,"link":"/dependencies/quick_sort_cost/","name":"Quick_Sort_Cost"},{"id":210,"link":"/dependencies/random_bsts/","name":"Random_BSTs"},{"id":211,"link":"/dependencies/random_graph_subgraph_threshold/","name":"Random_Graph_Subgraph_Threshold"},{"id":212,"link":"/dependencies/randomised_social_choice/","name":"Randomised_Social_Choice"},{"id":213,"link":"/dependencies/rank_nullity_theorem/","name":"Rank_Nullity_Theorem"},{"id":214,"link":"/dependencies/real_impl/","name":"Real_Impl"},{"id":215,"link":"/dependencies/recursion-theory-i/","name":"Recursion-Theory-I"},{"id":216,"link":"/dependencies/refine_imperative_hol/","name":"Refine_Imperative_HOL"},{"id":217,"link":"/dependencies/refine_monadic/","name":"Refine_Monadic"},{"id":218,"link":"/dependencies/regular-sets/","name":"Regular-Sets"},{"id":219,"link":"/dependencies/regular_tree_relations/","name":"Regular_Tree_Relations"},{"id":220,"link":"/dependencies/relation_algebra/","name":"Relation_Algebra"},{"id":221,"link":"/dependencies/relational_disjoint_set_forests/","name":"Relational_Disjoint_Set_Forests"},{"id":222,"link":"/dependencies/robdd/","name":"ROBDD"},{"id":223,"link":"/dependencies/root_balanced_tree/","name":"Root_Balanced_Tree"},{"id":224,"link":"/dependencies/routing/","name":"Routing"},{"id":225,"link":"/dependencies/saturation_framework/","name":"Saturation_Framework"},{"id":226,"link":"/dependencies/secondary_sylow/","name":"Secondary_Sylow"},{"id":227,"link":"/dependencies/separation_algebra/","name":"Separation_Algebra"},{"id":228,"link":"/dependencies/separation_logic_imperative_hol/","name":"Separation_Logic_Imperative_HOL"},{"id":229,"link":"/dependencies/sepref_basic/","name":"Sepref_Basic"},{"id":230,"link":"/dependencies/sepref_iicf/","name":"Sepref_IICF"},{"id":231,"link":"/dependencies/sepref_prereq/","name":"Sepref_Prereq"},{"id":232,"link":"/dependencies/shadow_dom/","name":"Shadow_DOM"},{"id":233,"link":"/dependencies/shadow_sc_dom/","name":"Shadow_SC_DOM"},{"id":234,"link":"/dependencies/show/","name":"Show"},{"id":235,"link":"/dependencies/sigma_commit_crypto/","name":"Sigma_Commit_Crypto"},{"id":236,"link":"/dependencies/simpl/","name":"Simpl"},{"id":237,"link":"/dependencies/simple_firewall/","name":"Simple_Firewall"},{"id":238,"link":"/dependencies/simplex/","name":"Simplex"},{"id":239,"link":"/dependencies/skew_heap/","name":"Skew_Heap"},{"id":240,"link":"/dependencies/slicing/","name":"Slicing"},{"id":241,"link":"/dependencies/sm/","name":"SM"},{"id":242,"link":"/dependencies/sm_base/","name":"SM_Base"},{"id":243,"link":"/dependencies/smith_normal_form/","name":"Smith_Normal_Form"},{"id":244,"link":"/dependencies/speccheck/","name":"SpecCheck"},{"id":245,"link":"/dependencies/splay_tree/","name":"Splay_Tree"},{"id":246,"link":"/dependencies/sqrt_babylonian/","name":"Sqrt_Babylonian"},{"id":247,"link":"/dependencies/stateful_protocol_composition_and_typing/","name":"Stateful_Protocol_Composition_and_Typing"},{"id":248,"link":"/dependencies/stirling_formula/","name":"Stirling_Formula"},{"id":249,"link":"/dependencies/stone_algebras/","name":"Stone_Algebras"},{"id":250,"link":"/dependencies/stone_kleene_relation_algebras/","name":"Stone_Kleene_Relation_Algebras"},{"id":251,"link":"/dependencies/stone_relation_algebras/","name":"Stone_Relation_Algebras"},{"id":252,"link":"/dependencies/strong_security/","name":"Strong_Security"},{"id":253,"link":"/dependencies/sturm_sequences/","name":"Sturm_Sequences"},{"id":254,"link":"/dependencies/sturm_tarski/","name":"Sturm_Tarski"},{"id":255,"link":"/dependencies/stuttering_equivalence/","name":"Stuttering_Equivalence"},{"id":256,"link":"/dependencies/subresultants/","name":"Subresultants"},{"id":257,"link":"/dependencies/subset_boolean_algebras/","name":"Subset_Boolean_Algebras"},{"id":258,"link":"/dependencies/sunflowers/","name":"Sunflowers"},{"id":259,"link":"/dependencies/symmetric_polynomials/","name":"Symmetric_Polynomials"},{"id":260,"link":"/dependencies/syntax_independent_logic/","name":"Syntax_Independent_Logic"},{"id":261,"link":"/dependencies/szemeredi_regularity/","name":"Szemeredi_Regularity"},{"id":262,"link":"/dependencies/szpilrajn/","name":"Szpilrajn"},{"id":263,"link":"/dependencies/timed_automata/","name":"Timed_Automata"},{"id":264,"link":"/dependencies/transformer_semantics/","name":"Transformer_Semantics"},{"id":265,"link":"/dependencies/transition_systems_and_automata/","name":"Transition_Systems_and_Automata"},{"id":266,"link":"/dependencies/transitive-closure/","name":"Transitive-Closure"},{"id":267,"link":"/dependencies/transitive_models/","name":"Transitive_Models"},{"id":268,"link":"/dependencies/triangle/","name":"Triangle"},{"id":269,"link":"/dependencies/trie/","name":"Trie"},{"id":270,"link":"/dependencies/universal_hash_families/","name":"Universal_Hash_Families"},{"id":271,"link":"/dependencies/upf/","name":"UPF"},{"id":272,"link":"/dependencies/utp-toolkit/","name":"UTP-Toolkit"},{"id":273,"link":"/dependencies/vectorspace/","name":"VectorSpace"},{"id":274,"link":"/dependencies/vericomp/","name":"VeriComp"},{"id":275,"link":"/dependencies/weighted_path_order/","name":"Weighted_Path_Order"},{"id":276,"link":"/dependencies/well_quasi_orders/","name":"Well_Quasi_Orders"},{"id":277,"link":"/dependencies/winding_number_eval/","name":"Winding_Number_Eval"},{"id":278,"link":"/dependencies/word_lib/","name":"Word_Lib"},{"id":279,"link":"/dependencies/zeta_function/","name":"Zeta_Function"},{"id":280,"link":"/dependencies/zfc_in_hol/","name":"ZFC_in_HOL"}]>>>>>>> merge rev
+[{"id":0,"link":"/dependencies/abstract-rewriting/","name":"Abstract-Rewriting"},{"id":1,"link":"/dependencies/abstract_completeness/","name":"Abstract_Completeness"},{"id":2,"link":"/dependencies/abstract_soundness/","name":"Abstract_Soundness"},{"id":3,"link":"/dependencies/affine_arithmetic/","name":"Affine_Arithmetic"},{"id":4,"link":"/dependencies/aggregation_algebras/","name":"Aggregation_Algebras"},{"id":5,"link":"/dependencies/ai_planning_languages_semantics/","name":"AI_Planning_Languages_Semantics"},{"id":6,"link":"/dependencies/akra_bazzi/","name":"Akra_Bazzi"},{"id":7,"link":"/dependencies/algebraic_numbers/","name":"Algebraic_Numbers"},{"id":8,"link":"/dependencies/amortized_complexity/","name":"Amortized_Complexity"},{"id":9,"link":"/dependencies/applicative_lifting/","name":"Applicative_Lifting"},{"id":10,"link":"/dependencies/auto2_hol/","name":"Auto2_HOL"},{"id":11,"link":"/dependencies/automatic_refinement/","name":"Automatic_Refinement"},{"id":12,"link":"/dependencies/awn/","name":"AWN"},{"id":13,"link":"/dependencies/banach_steinhaus/","name":"Banach_Steinhaus"},{"id":14,"link":"/dependencies/bd_security_compositional/","name":"BD_Security_Compositional"},{"id":15,"link":"/dependencies/bell_numbers_spivey/","name":"Bell_Numbers_Spivey"},{"id":16,"link":"/dependencies/benor_kozen_reif/","name":"BenOr_Kozen_Reif"},{"id":17,"link":"/dependencies/berlekamp_zassenhaus/","name":"Berlekamp_Zassenhaus"},{"id":18,"link":"/dependencies/bernoulli/","name":"Bernoulli"},{"id":19,"link":"/dependencies/bertrands_postulate/","name":"Bertrands_Postulate"},{"id":20,"link":"/dependencies/binomial-heaps/","name":"Binomial-Heaps"},{"id":21,"link":"/dependencies/boolean_expression_checkers/","name":"Boolean_Expression_Checkers"},{"id":22,"link":"/dependencies/bounded_deducibility_security/","name":"Bounded_Deducibility_Security"},{"id":23,"link":"/dependencies/budan_fourier/","name":"Budan_Fourier"},{"id":24,"link":"/dependencies/cakeml/","name":"CakeML"},{"id":25,"link":"/dependencies/card_equiv_relations/","name":"Card_Equiv_Relations"},{"id":26,"link":"/dependencies/card_multisets/","name":"Card_Multisets"},{"id":27,"link":"/dependencies/card_number_partitions/","name":"Card_Number_Partitions"},{"id":28,"link":"/dependencies/card_partitions/","name":"Card_Partitions"},{"id":29,"link":"/dependencies/case_labeling/","name":"Case_Labeling"},{"id":30,"link":"/dependencies/category3/","name":"Category3"},{"id":31,"link":"/dependencies/cauchy/","name":"Cauchy"},{"id":32,"link":"/dependencies/cava_automata/","name":"CAVA_Automata"},{"id":33,"link":"/dependencies/cava_base/","name":"CAVA_Base"},{"id":34,"link":"/dependencies/cava_setup/","name":"CAVA_Setup"},{"id":35,"link":"/dependencies/cayley_hamilton/","name":"Cayley_Hamilton"},{"id":36,"link":"/dependencies/certification_monads/","name":"Certification_Monads"},{"id":37,"link":"/dependencies/coinductive/","name":"Coinductive"},{"id":38,"link":"/dependencies/coinductive_languages/","name":"Coinductive_Languages"},{"id":39,"link":"/dependencies/collections/","name":"Collections"},{"id":40,"link":"/dependencies/collections_examples/","name":"Collections_Examples"},{"id":41,"link":"/dependencies/combinatorics_words/","name":"Combinatorics_Words"},{"id":42,"link":"/dependencies/comparison_sort_lower_bound/","name":"Comparison_Sort_Lower_Bound"},{"id":43,"link":"/dependencies/complex_bounded_operators/","name":"Complex_Bounded_Operators"},{"id":44,"link":"/dependencies/complex_geometry/","name":"Complex_Geometry"},{"id":45,"link":"/dependencies/concurrentimp/","name":"ConcurrentIMP"},{"id":46,"link":"/dependencies/conditional_simplification/","name":"Conditional_Simplification"},{"id":47,"link":"/dependencies/conditional_transfer_rule/","name":"Conditional_Transfer_Rule"},{"id":48,"link":"/dependencies/constructive_cryptography/","name":"Constructive_Cryptography"},{"id":49,"link":"/dependencies/constructor_funs/","name":"Constructor_Funs"},{"id":50,"link":"/dependencies/containers/","name":"Containers"},{"id":51,"link":"/dependencies/core_dom/","name":"Core_DOM"},{"id":52,"link":"/dependencies/core_sc_dom/","name":"Core_SC_DOM"},{"id":53,"link":"/dependencies/count_complex_roots/","name":"Count_Complex_Roots"},{"id":54,"link":"/dependencies/crdt/","name":"CRDT"},{"id":55,"link":"/dependencies/crypthol/","name":"CryptHOL"},{"id":56,"link":"/dependencies/czh_elementary_categories/","name":"CZH_Elementary_Categories"},{"id":57,"link":"/dependencies/czh_foundations/","name":"CZH_Foundations"},{"id":58,"link":"/dependencies/datarefinementibp/","name":"DataRefinementIBP"},{"id":59,"link":"/dependencies/datatype_order_generator/","name":"Datatype_Order_Generator"},{"id":60,"link":"/dependencies/deep_learning/","name":"Deep_Learning"},{"id":61,"link":"/dependencies/delta_system_lemma/","name":"Delta_System_Lemma"},{"id":62,"link":"/dependencies/dependent_sifum_type_systems/","name":"Dependent_SIFUM_Type_Systems"},{"id":63,"link":"/dependencies/deriving/","name":"Deriving"},{"id":64,"link":"/dependencies/design_theory/","name":"Design_Theory"},{"id":65,"link":"/dependencies/dfs_framework/","name":"DFS_Framework"},{"id":66,"link":"/dependencies/dict_construction/","name":"Dict_Construction"},{"id":67,"link":"/dependencies/digit_expansions/","name":"Digit_Expansions"},{"id":68,"link":"/dependencies/dijkstra_shortest_path/","name":"Dijkstra_Shortest_Path"},{"id":69,"link":"/dependencies/dirichlet_l/","name":"Dirichlet_L"},{"id":70,"link":"/dependencies/dirichlet_series/","name":"Dirichlet_Series"},{"id":71,"link":"/dependencies/discrete_summation/","name":"Discrete_Summation"},{"id":72,"link":"/dependencies/dynamicarchitectures/","name":"DynamicArchitectures"},{"id":73,"link":"/dependencies/e_transcendental/","name":"E_Transcendental"},{"id":74,"link":"/dependencies/echelon_form/","name":"Echelon_Form"},{"id":75,"link":"/dependencies/edmondskarp_maxflow/","name":"EdmondsKarp_Maxflow"},{"id":76,"link":"/dependencies/efficient-mergesort/","name":"Efficient-Mergesort"},{"id":77,"link":"/dependencies/epistemic_logic/","name":"Epistemic_Logic"},{"id":78,"link":"/dependencies/equivalence_relation_enumeration/","name":"Equivalence_Relation_Enumeration"},{"id":79,"link":"/dependencies/ergodic_theory/","name":"Ergodic_Theory"},{"id":80,"link":"/dependencies/euler_maclaurin/","name":"Euler_MacLaurin"},{"id":81,"link":"/dependencies/extended_finite_state_machines/","name":"Extended_Finite_State_Machines"},{"id":82,"link":"/dependencies/factor_algebraic_polynomial/","name":"Factor_Algebraic_Polynomial"},{"id":83,"link":"/dependencies/farkas/","name":"Farkas"},{"id":84,"link":"/dependencies/finfun/","name":"FinFun"},{"id":85,"link":"/dependencies/finger-trees/","name":"Finger-Trees"},{"id":86,"link":"/dependencies/finite_fields/","name":"Finite_Fields"},{"id":87,"link":"/dependencies/finitely_generated_abelian_groups/","name":"Finitely_Generated_Abelian_Groups"},{"id":88,"link":"/dependencies/first_order_terms/","name":"First_Order_Terms"},{"id":89,"link":"/dependencies/first_welfare_theorem/","name":"First_Welfare_Theorem"},{"id":90,"link":"/dependencies/flow_networks/","name":"Flow_Networks"},{"id":91,"link":"/dependencies/flyspeck-tame/","name":"Flyspeck-Tame"},{"id":92,"link":"/dependencies/fol-fitting/","name":"FOL-Fitting"},{"id":93,"link":"/dependencies/fol_seq_calc1/","name":"FOL_Seq_Calc1"},{"id":94,"link":"/dependencies/formal_ssa/","name":"Formal_SSA"},{"id":95,"link":"/dependencies/formula_derivatives/","name":"Formula_Derivatives"},{"id":96,"link":"/dependencies/fresh_identifiers/","name":"Fresh_Identifiers"},{"id":97,"link":"/dependencies/gabow_scc/","name":"Gabow_SCC"},{"id":98,"link":"/dependencies/game_based_crypto/","name":"Game_Based_Crypto"},{"id":99,"link":"/dependencies/gauss-jordan-elim-fun/","name":"Gauss-Jordan-Elim-Fun"},{"id":100,"link":"/dependencies/gauss_jordan/","name":"Gauss_Jordan"},{"id":101,"link":"/dependencies/generic_join/","name":"Generic_Join"},{"id":102,"link":"/dependencies/girth_chromatic/","name":"Girth_Chromatic"},{"id":103,"link":"/dependencies/goedel_incompleteness/","name":"Goedel_Incompleteness"},{"id":104,"link":"/dependencies/graph_theory/","name":"Graph_Theory"},{"id":105,"link":"/dependencies/groebner_bases/","name":"Groebner_Bases"},{"id":106,"link":"/dependencies/group-ring-module/","name":"Group-Ring-Module"},{"id":107,"link":"/dependencies/heard_of/","name":"Heard_Of"},{"id":108,"link":"/dependencies/hereditarilyfinite/","name":"HereditarilyFinite"},{"id":109,"link":"/dependencies/hermite/","name":"Hermite"},{"id":110,"link":"/dependencies/hermite_lindemann/","name":"Hermite_Lindemann"},{"id":111,"link":"/dependencies/higher_order_terms/","name":"Higher_Order_Terms"},{"id":112,"link":"/dependencies/hol-csp/","name":"HOL-CSP"},{"id":113,"link":"/dependencies/hol-ode-numerics/","name":"HOL-ODE-Numerics"},{"id":114,"link":"/dependencies/holcf-prelude/","name":"HOLCF-Prelude"},{"id":115,"link":"/dependencies/hrb-slicing/","name":"HRB-Slicing"},{"id":116,"link":"/dependencies/huffman/","name":"Huffman"},{"id":117,"link":"/dependencies/hybrid_systems_vcs/","name":"Hybrid_Systems_VCs"},{"id":118,"link":"/dependencies/ieee_floating_point/","name":"IEEE_Floating_Point"},{"id":119,"link":"/dependencies/imp2/","name":"IMP2"},{"id":120,"link":"/dependencies/incompleteness/","name":"Incompleteness"},{"id":121,"link":"/dependencies/interpolation_polynomials_hol_algebra/","name":"Interpolation_Polynomials_HOL_Algebra"},{"id":122,"link":"/dependencies/intro_dest_elim/","name":"Intro_Dest_Elim"},{"id":123,"link":"/dependencies/ip_addresses/","name":"IP_Addresses"},{"id":124,"link":"/dependencies/iptables_semantics/","name":"Iptables_Semantics"},{"id":125,"link":"/dependencies/iptables_semantics_examples/","name":"Iptables_Semantics_Examples"},{"id":126,"link":"/dependencies/isabelle_marries_dirac/","name":"Isabelle_Marries_Dirac"},{"id":127,"link":"/dependencies/jacobson_basic_algebra/","name":"Jacobson_Basic_Algebra"},{"id":128,"link":"/dependencies/jinja/","name":"Jinja"},{"id":129,"link":"/dependencies/jinjadci/","name":"JinjaDCI"},{"id":130,"link":"/dependencies/jordan_normal_form/","name":"Jordan_Normal_Form"},{"id":131,"link":"/dependencies/kad/","name":"KAD"},{"id":132,"link":"/dependencies/kat_and_dra/","name":"KAT_and_DRA"},{"id":133,"link":"/dependencies/kbps/","name":"KBPs"},{"id":134,"link":"/dependencies/kleene_algebra/","name":"Kleene_Algebra"},{"id":135,"link":"/dependencies/knuth_bendix_order/","name":"Knuth_Bendix_Order"},{"id":136,"link":"/dependencies/lambda_free_rpos/","name":"Lambda_Free_RPOs"},{"id":137,"link":"/dependencies/landau_symbols/","name":"Landau_Symbols"},{"id":138,"link":"/dependencies/latticeproperties/","name":"LatticeProperties"},{"id":139,"link":"/dependencies/launchbury/","name":"Launchbury"},{"id":140,"link":"/dependencies/lazy-lists-ii/","name":"Lazy-Lists-II"},{"id":141,"link":"/dependencies/lazy_case/","name":"Lazy_Case"},{"id":142,"link":"/dependencies/lehmer/","name":"Lehmer"},{"id":143,"link":"/dependencies/lem/","name":"LEM"},{"id":144,"link":"/dependencies/linear_inequalities/","name":"Linear_Inequalities"},{"id":145,"link":"/dependencies/linear_recurrences/","name":"Linear_Recurrences"},{"id":146,"link":"/dependencies/list-index/","name":"List-Index"},{"id":147,"link":"/dependencies/list-infinite/","name":"List-Infinite"},{"id":148,"link":"/dependencies/list_interleaving/","name":"List_Interleaving"},{"id":149,"link":"/dependencies/lll_basis_reduction/","name":"LLL_Basis_Reduction"},{"id":150,"link":"/dependencies/lorenz_approximation/","name":"Lorenz_Approximation"},{"id":151,"link":"/dependencies/lp/","name":"Lp"},{"id":152,"link":"/dependencies/ltl/","name":"LTL"},{"id":153,"link":"/dependencies/ltl_master_theorem/","name":"LTL_Master_Theorem"},{"id":154,"link":"/dependencies/ltl_to_gba/","name":"LTL_to_GBA"},{"id":155,"link":"/dependencies/lucas_theorem/","name":"Lucas_Theorem"},{"id":156,"link":"/dependencies/markov_models/","name":"Markov_Models"},{"id":157,"link":"/dependencies/marriage/","name":"Marriage"},{"id":158,"link":"/dependencies/matrix/","name":"Matrix"},{"id":159,"link":"/dependencies/matrix_tensor/","name":"Matrix_Tensor"},{"id":160,"link":"/dependencies/matroids/","name":"Matroids"},{"id":161,"link":"/dependencies/mdp-rewards/","name":"MDP-Rewards"},{"id":162,"link":"/dependencies/median_method/","name":"Median_Method"},{"id":163,"link":"/dependencies/median_of_medians_selection/","name":"Median_Of_Medians_Selection"},{"id":164,"link":"/dependencies/mfmc_countable/","name":"MFMC_Countable"},{"id":165,"link":"/dependencies/mfotl_monitor/","name":"MFOTL_Monitor"},{"id":166,"link":"/dependencies/monad_memo_dp/","name":"Monad_Memo_DP"},{"id":167,"link":"/dependencies/monad_normalisation/","name":"Monad_Normalisation"},{"id":168,"link":"/dependencies/monobooltranalgebra/","name":"MonoBoolTranAlgebra"},{"id":169,"link":"/dependencies/monoidalcategory/","name":"MonoidalCategory"},{"id":170,"link":"/dependencies/monomorphic_monad/","name":"Monomorphic_Monad"},{"id":171,"link":"/dependencies/nash_williams/","name":"Nash_Williams"},{"id":172,"link":"/dependencies/nat-interval-logic/","name":"Nat-Interval-Logic"},{"id":173,"link":"/dependencies/native_word/","name":"Native_Word"},{"id":174,"link":"/dependencies/nested_multisets_ordinals/","name":"Nested_Multisets_Ordinals"},{"id":175,"link":"/dependencies/nominal2/","name":"Nominal2"},{"id":176,"link":"/dependencies/noninterference_csp/","name":"Noninterference_CSP"},{"id":177,"link":"/dependencies/noninterference_ipurge_unwinding/","name":"Noninterference_Ipurge_Unwinding"},{"id":178,"link":"/dependencies/noninterference_sequential_composition/","name":"Noninterference_Sequential_Composition"},{"id":179,"link":"/dependencies/number_theoretic_transform/","name":"Number_Theoretic_Transform"},{"id":180,"link":"/dependencies/open_induction/","name":"Open_Induction"},{"id":181,"link":"/dependencies/optics/","name":"Optics"},{"id":182,"link":"/dependencies/order_lattice_props/","name":"Order_Lattice_Props"},{"id":183,"link":"/dependencies/ordered_resolution_prover/","name":"Ordered_Resolution_Prover"},{"id":184,"link":"/dependencies/ordinal/","name":"Ordinal"},{"id":185,"link":"/dependencies/ordinary_differential_equations/","name":"Ordinary_Differential_Equations"},{"id":186,"link":"/dependencies/package_logic/","name":"Package_logic"},{"id":187,"link":"/dependencies/pairing_heap/","name":"Pairing_Heap"},{"id":188,"link":"/dependencies/parity_game/","name":"Parity_Game"},{"id":189,"link":"/dependencies/partial_function_mr/","name":"Partial_Function_MR"},{"id":190,"link":"/dependencies/partial_order_reduction/","name":"Partial_Order_Reduction"},{"id":191,"link":"/dependencies/pell/","name":"Pell"},{"id":192,"link":"/dependencies/perron_frobenius/","name":"Perron_Frobenius"},{"id":193,"link":"/dependencies/pi_transcendental/","name":"Pi_Transcendental"},{"id":194,"link":"/dependencies/pluennecke_ruzsa_inequality/","name":"Pluennecke_Ruzsa_Inequality"},{"id":195,"link":"/dependencies/polynomial_factorization/","name":"Polynomial_Factorization"},{"id":196,"link":"/dependencies/polynomial_interpolation/","name":"Polynomial_Interpolation"},{"id":197,"link":"/dependencies/polynomials/","name":"Polynomials"},{"id":198,"link":"/dependencies/power_sum_polynomials/","name":"Power_Sum_Polynomials"},{"id":199,"link":"/dependencies/pratt_certificate/","name":"Pratt_Certificate"},{"id":200,"link":"/dependencies/prefix_free_code_combinators/","name":"Prefix_Free_Code_Combinators"},{"id":201,"link":"/dependencies/prime_distribution_elementary/","name":"Prime_Distribution_Elementary"},{"id":202,"link":"/dependencies/prime_number_theorem/","name":"Prime_Number_Theorem"},{"id":203,"link":"/dependencies/priority_search_trees/","name":"Priority_Search_Trees"},{"id":204,"link":"/dependencies/probabilistic_prime_tests/","name":"Probabilistic_Prime_Tests"},{"id":205,"link":"/dependencies/probabilistic_while/","name":"Probabilistic_While"},{"id":206,"link":"/dependencies/program-conflict-analysis/","name":"Program-Conflict-Analysis"},{"id":207,"link":"/dependencies/projective_measurements/","name":"Projective_Measurements"},{"id":208,"link":"/dependencies/promela/","name":"Promela"},{"id":209,"link":"/dependencies/propositional_proof_systems/","name":"Propositional_Proof_Systems"},{"id":210,"link":"/dependencies/qhlprover/","name":"QHLProver"},{"id":211,"link":"/dependencies/quantales/","name":"Quantales"},{"id":212,"link":"/dependencies/quick_sort_cost/","name":"Quick_Sort_Cost"},{"id":213,"link":"/dependencies/random_bsts/","name":"Random_BSTs"},{"id":214,"link":"/dependencies/random_graph_subgraph_threshold/","name":"Random_Graph_Subgraph_Threshold"},{"id":215,"link":"/dependencies/randomised_social_choice/","name":"Randomised_Social_Choice"},{"id":216,"link":"/dependencies/rank_nullity_theorem/","name":"Rank_Nullity_Theorem"},{"id":217,"link":"/dependencies/real_impl/","name":"Real_Impl"},{"id":218,"link":"/dependencies/recursion-theory-i/","name":"Recursion-Theory-I"},{"id":219,"link":"/dependencies/refine_imperative_hol/","name":"Refine_Imperative_HOL"},{"id":220,"link":"/dependencies/refine_monadic/","name":"Refine_Monadic"},{"id":221,"link":"/dependencies/regular-sets/","name":"Regular-Sets"},{"id":222,"link":"/dependencies/regular_tree_relations/","name":"Regular_Tree_Relations"},{"id":223,"link":"/dependencies/relation_algebra/","name":"Relation_Algebra"},{"id":224,"link":"/dependencies/relational_disjoint_set_forests/","name":"Relational_Disjoint_Set_Forests"},{"id":225,"link":"/dependencies/robdd/","name":"ROBDD"},{"id":226,"link":"/dependencies/root_balanced_tree/","name":"Root_Balanced_Tree"},{"id":227,"link":"/dependencies/routing/","name":"Routing"},{"id":228,"link":"/dependencies/saturation_framework/","name":"Saturation_Framework"},{"id":229,"link":"/dependencies/secondary_sylow/","name":"Secondary_Sylow"},{"id":230,"link":"/dependencies/separation_algebra/","name":"Separation_Algebra"},{"id":231,"link":"/dependencies/separation_logic_imperative_hol/","name":"Separation_Logic_Imperative_HOL"},{"id":232,"link":"/dependencies/sepref_basic/","name":"Sepref_Basic"},{"id":233,"link":"/dependencies/sepref_iicf/","name":"Sepref_IICF"},{"id":234,"link":"/dependencies/sepref_prereq/","name":"Sepref_Prereq"},{"id":235,"link":"/dependencies/shadow_dom/","name":"Shadow_DOM"},{"id":236,"link":"/dependencies/shadow_sc_dom/","name":"Shadow_SC_DOM"},{"id":237,"link":"/dependencies/show/","name":"Show"},{"id":238,"link":"/dependencies/sigma_commit_crypto/","name":"Sigma_Commit_Crypto"},{"id":239,"link":"/dependencies/simpl/","name":"Simpl"},{"id":240,"link":"/dependencies/simple_firewall/","name":"Simple_Firewall"},{"id":241,"link":"/dependencies/simplex/","name":"Simplex"},{"id":242,"link":"/dependencies/skew_heap/","name":"Skew_Heap"},{"id":243,"link":"/dependencies/slicing/","name":"Slicing"},{"id":244,"link":"/dependencies/sm/","name":"SM"},{"id":245,"link":"/dependencies/sm_base/","name":"SM_Base"},{"id":246,"link":"/dependencies/smith_normal_form/","name":"Smith_Normal_Form"},{"id":247,"link":"/dependencies/speccheck/","name":"SpecCheck"},{"id":248,"link":"/dependencies/splay_tree/","name":"Splay_Tree"},{"id":249,"link":"/dependencies/sqrt_babylonian/","name":"Sqrt_Babylonian"},{"id":250,"link":"/dependencies/stateful_protocol_composition_and_typing/","name":"Stateful_Protocol_Composition_and_Typing"},{"id":251,"link":"/dependencies/stirling_formula/","name":"Stirling_Formula"},{"id":252,"link":"/dependencies/stone_algebras/","name":"Stone_Algebras"},{"id":253,"link":"/dependencies/stone_kleene_relation_algebras/","name":"Stone_Kleene_Relation_Algebras"},{"id":254,"link":"/dependencies/stone_relation_algebras/","name":"Stone_Relation_Algebras"},{"id":255,"link":"/dependencies/strong_security/","name":"Strong_Security"},{"id":256,"link":"/dependencies/sturm_sequences/","name":"Sturm_Sequences"},{"id":257,"link":"/dependencies/sturm_tarski/","name":"Sturm_Tarski"},{"id":258,"link":"/dependencies/stuttering_equivalence/","name":"Stuttering_Equivalence"},{"id":259,"link":"/dependencies/subresultants/","name":"Subresultants"},{"id":260,"link":"/dependencies/subset_boolean_algebras/","name":"Subset_Boolean_Algebras"},{"id":261,"link":"/dependencies/sunflowers/","name":"Sunflowers"},{"id":262,"link":"/dependencies/symmetric_polynomials/","name":"Symmetric_Polynomials"},{"id":263,"link":"/dependencies/syntax_independent_logic/","name":"Syntax_Independent_Logic"},{"id":264,"link":"/dependencies/szemeredi_regularity/","name":"Szemeredi_Regularity"},{"id":265,"link":"/dependencies/szpilrajn/","name":"Szpilrajn"},{"id":266,"link":"/dependencies/timed_automata/","name":"Timed_Automata"},{"id":267,"link":"/dependencies/transformer_semantics/","name":"Transformer_Semantics"},{"id":268,"link":"/dependencies/transition_systems_and_automata/","name":"Transition_Systems_and_Automata"},{"id":269,"link":"/dependencies/transitive-closure/","name":"Transitive-Closure"},{"id":270,"link":"/dependencies/transitive_models/","name":"Transitive_Models"},{"id":271,"link":"/dependencies/triangle/","name":"Triangle"},{"id":272,"link":"/dependencies/trie/","name":"Trie"},{"id":273,"link":"/dependencies/universal_hash_families/","name":"Universal_Hash_Families"},{"id":274,"link":"/dependencies/upf/","name":"UPF"},{"id":275,"link":"/dependencies/utp-toolkit/","name":"UTP-Toolkit"},{"id":276,"link":"/dependencies/vectorspace/","name":"VectorSpace"},{"id":277,"link":"/dependencies/vericomp/","name":"VeriComp"},{"id":278,"link":"/dependencies/weighted_path_order/","name":"Weighted_Path_Order"},{"id":279,"link":"/dependencies/well_quasi_orders/","name":"Well_Quasi_Orders"},{"id":280,"link":"/dependencies/winding_number_eval/","name":"Winding_Number_Eval"},{"id":281,"link":"/dependencies/word_lib/","name":"Word_Lib"},{"id":282,"link":"/dependencies/zeta_function/","name":"Zeta_Function"},{"id":283,"link":"/dependencies/zfc_in_hol/","name":"ZFC_in_HOL"}]
\ No newline at end of file
diff --git a/web/dependencies/jacobson_basic_algebra/index.html b/web/dependencies/jacobson_basic_algebra/index.html
--- a/web/dependencies/jacobson_basic_algebra/index.html
+++ b/web/dependencies/jacobson_basic_algebra/index.html
@@ -1,101 +1,108 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Jacobson_Basic_Algebra - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../dependencies/jacobson_basic_algebra/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="Jacobson_Basic_Algebra" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/dependencies/jacobson_basic_algebra/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Jacobson_Basic_Algebra"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../search"><img src="../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../"><li >Home</li></a>
<a href="../../topics/"><li >Topics</li></a>
<a href="../../download/"><li >Download</li></a>
<a href="../../help/"><li >Help</li></a>
<a href="../../submission/"><li >Submission</li></a>
<a href="../../statistics/"><li >Statistics</li></a>
<a href="../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>J</span>acobson_<span class='first'>B</span>asic_<span class='first'>A</span>lgebra Dependents</h1>
<div>
</div>
</header><div><h2 class="head">2022</h2><article class="entry">
<div class="item-text">
+ <h5><a class="title" href="../../entries/Khovanskii_Theorem.html">Khovanskii&#39;s Theorem</a></h5> <br>by <a href="../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a></div>
+ <span class="date">
+ Sep 02
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
<h5><a class="title" href="../../entries/Pluennecke_Ruzsa_Inequality.html">The Plünnecke-Ruzsa Inequality</a></h5> <br>by <a href="../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
May 26
</span>
</article>
<h2 class="head">2021</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../entries/Grothendieck_Schemes.html">Grothendieck&#39;s Schemes in Algebraic Geometry</a></h5> <br>by <a href="../../authors/bordg">Anthony Bordg</a>, <a href="../../authors/paulson">Lawrence C. Paulson</a> and <a href="../../authors/li">Wenda Li</a></div>
<span class="date">
Mar 29
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/dependencies/jacobson_basic_algebra/index.xml b/web/dependencies/jacobson_basic_algebra/index.xml
--- a/web/dependencies/jacobson_basic_algebra/index.xml
+++ b/web/dependencies/jacobson_basic_algebra/index.xml
@@ -1,29 +1,38 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Jacobson_Basic_Algebra on Archive of Formal Proofs</title>
<link>/dependencies/jacobson_basic_algebra/</link>
<description>Recent content in Jacobson_Basic_Algebra on Archive of Formal Proofs</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-gb</language>
- <lastBuildDate>Thu, 26 May 2022 00:00:00 +0000</lastBuildDate><atom:link href="/dependencies/jacobson_basic_algebra/index.xml" rel="self" type="application/rss+xml" />
+ <lastBuildDate>Fri, 02 Sep 2022 00:00:00 +0000</lastBuildDate><atom:link href="/dependencies/jacobson_basic_algebra/index.xml" rel="self" type="application/rss+xml" />
+ <item>
+ <title>Khovanskii&amp;#x27;s Theorem</title>
+ <link>/entries/Khovanskii_Theorem.html</link>
+ <pubDate>Fri, 02 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Khovanskii_Theorem.html</guid>
+ <description></description>
+ </item>
+
<item>
<title>The Plünnecke-Ruzsa Inequality</title>
<link>/entries/Pluennecke_Ruzsa_Inequality.html</link>
<pubDate>Thu, 26 May 2022 00:00:00 +0000</pubDate>
<guid>/entries/Pluennecke_Ruzsa_Inequality.html</guid>
<description></description>
</item>
<item>
<title>Grothendieck&#39;s Schemes in Algebraic Geometry</title>
<link>/entries/Grothendieck_Schemes.html</link>
<pubDate>Mon, 29 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Grothendieck_Schemes.html</guid>
<description></description>
</item>
</channel>
</rss>
diff --git a/web/dependencies/number_theoretic_transform/index.html b/web/dependencies/number_theoretic_transform/index.html
new file mode 100644
--- /dev/null
+++ b/web/dependencies/number_theoretic_transform/index.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1"><title>Number_Theoretic_Transform - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../dependencies/number_theoretic_transform/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="Number_Theoretic_Transform" />
+<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="/dependencies/number_theoretic_transform/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
+
+<meta name="twitter:card" content="summary_large_image"/>
+<meta name="twitter:image" content="/images/afp.png"/>
+
+<meta name="twitter:title" content="Number_Theoretic_Transform"/>
+<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
+
+
+ <link rel="stylesheet" type="text/css" href="../../css/front.min.css">
+
+ <link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
+ <script src="../../js/flexsearch.bundle.js"></script>
+ <script src="../../js/scroll-spy.js"></script>
+ <script src="../../js/theory.js"></script>
+ <script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
+</head>
+
+
+<body class='mathjax_ignore '>
+ <aside>
+ <div id="menu-toggle">
+ <input id="toggle" type="checkbox" />
+ <label for="toggle">
+ <span>menu</span>
+ <img src="../../images/menu.svg" alt="Menu" />
+ </label>
+
+ <a href="../../" class='logo-link'>
+ <img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
+ </a>
+
+ <a href="../../search"><img src="../../images/search.svg" alt="Search" /></a>
+ <nav id="menu">
+ <div>
+ <a href="../../" class='logo-link'>
+ <img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
+ </a>
+ <ul>
+ <a href="../../"><li >Home</li></a>
+ <a href="../../topics/"><li >Topics</li></a>
+ <a href="../../download/"><li >Download</li></a>
+ <a href="../../help/"><li >Help</li></a>
+ <a href="../../submission/"><li >Submission</li></a>
+ <a href="../../statistics/"><li >Statistics</li></a>
+ <a href="../../about/"><li >About</li></a>
+ </ul>
+ </div>
+ </nav>
+</div>
+ </aside>
+
+ <div
+ class='content '><header>
+ <form autocomplete="off" action="../../search">
+ <div class='form-container'>
+ <input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
+ id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
+ <datalist id="autocomplete">
+ </datalist>
+ </div>
+ </form>
+ <h1 >
+ <span class='first'>N</span>umber_<span class='first'>T</span>heoretic_<span class='first'>T</span>ransform Dependents</h1>
+ <div>
+
+
+ </div>
+</header><div><h2 class="head">2022</h2><article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="../../entries/CRYSTALS-Kyber.html">CRYSTALS-Kyber</a></h5> <br>by <a href="../../authors/kreuzer">Katharina Kreuzer</a></div>
+ <span class="date">
+ Sep 08
+ </span>
+</article>
+
+
+
+
+ </div>
+ </div>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/web/dependencies/number_theoretic_transform/index.xml b/web/dependencies/number_theoretic_transform/index.xml
new file mode 100644
--- /dev/null
+++ b/web/dependencies/number_theoretic_transform/index.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+ <channel>
+ <title>Number_Theoretic_Transform on Archive of Formal Proofs</title>
+ <link>/dependencies/number_theoretic_transform/</link>
+ <description>Recent content in Number_Theoretic_Transform on Archive of Formal Proofs</description>
+ <generator>Hugo -- gohugo.io</generator>
+ <language>en-gb</language>
+ <lastBuildDate>Thu, 08 Sep 2022 00:00:00 +0000</lastBuildDate><atom:link href="/dependencies/number_theoretic_transform/index.xml" rel="self" type="application/rss+xml" />
+ <item>
+ <title>CRYSTALS-Kyber</title>
+ <link>/entries/CRYSTALS-Kyber.html</link>
+ <pubDate>Thu, 08 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/CRYSTALS-Kyber.html</guid>
+ <description></description>
+ </item>
+
+ </channel>
+</rss>
diff --git a/web/dependencies/pluennecke_ruzsa_inequality/index.html b/web/dependencies/pluennecke_ruzsa_inequality/index.html
new file mode 100644
--- /dev/null
+++ b/web/dependencies/pluennecke_ruzsa_inequality/index.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1"><title>Pluennecke_Ruzsa_Inequality - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../dependencies/pluennecke_ruzsa_inequality/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="Pluennecke_Ruzsa_Inequality" />
+<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="/dependencies/pluennecke_ruzsa_inequality/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
+
+<meta name="twitter:card" content="summary_large_image"/>
+<meta name="twitter:image" content="/images/afp.png"/>
+
+<meta name="twitter:title" content="Pluennecke_Ruzsa_Inequality"/>
+<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
+
+
+ <link rel="stylesheet" type="text/css" href="../../css/front.min.css">
+
+ <link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
+ <script src="../../js/flexsearch.bundle.js"></script>
+ <script src="../../js/scroll-spy.js"></script>
+ <script src="../../js/theory.js"></script>
+ <script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
+</head>
+
+
+<body class='mathjax_ignore '>
+ <aside>
+ <div id="menu-toggle">
+ <input id="toggle" type="checkbox" />
+ <label for="toggle">
+ <span>menu</span>
+ <img src="../../images/menu.svg" alt="Menu" />
+ </label>
+
+ <a href="../../" class='logo-link'>
+ <img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
+ </a>
+
+ <a href="../../search"><img src="../../images/search.svg" alt="Search" /></a>
+ <nav id="menu">
+ <div>
+ <a href="../../" class='logo-link'>
+ <img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
+ </a>
+ <ul>
+ <a href="../../"><li >Home</li></a>
+ <a href="../../topics/"><li >Topics</li></a>
+ <a href="../../download/"><li >Download</li></a>
+ <a href="../../help/"><li >Help</li></a>
+ <a href="../../submission/"><li >Submission</li></a>
+ <a href="../../statistics/"><li >Statistics</li></a>
+ <a href="../../about/"><li >About</li></a>
+ </ul>
+ </div>
+ </nav>
+</div>
+ </aside>
+
+ <div
+ class='content '><header>
+ <form autocomplete="off" action="../../search">
+ <div class='form-container'>
+ <input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
+ id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
+ <datalist id="autocomplete">
+ </datalist>
+ </div>
+ </form>
+ <h1 >
+ <span class='first'>P</span>luennecke_<span class='first'>R</span>uzsa_<span class='first'>I</span>nequality Dependents</h1>
+ <div>
+
+
+ </div>
+</header><div><h2 class="head">2022</h2><article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="../../entries/Khovanskii_Theorem.html">Khovanskii&#39;s Theorem</a></h5> <br>by <a href="../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="../../authors/paulson">Lawrence C. Paulson</a></div>
+ <span class="date">
+ Sep 02
+ </span>
+</article>
+
+
+
+
+ </div>
+ </div>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/web/dependencies/pluennecke_ruzsa_inequality/index.xml b/web/dependencies/pluennecke_ruzsa_inequality/index.xml
new file mode 100644
--- /dev/null
+++ b/web/dependencies/pluennecke_ruzsa_inequality/index.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+ <channel>
+ <title>Pluennecke_Ruzsa_Inequality on Archive of Formal Proofs</title>
+ <link>/dependencies/pluennecke_ruzsa_inequality/</link>
+ <description>Recent content in Pluennecke_Ruzsa_Inequality on Archive of Formal Proofs</description>
+ <generator>Hugo -- gohugo.io</generator>
+ <language>en-gb</language>
+ <lastBuildDate>Fri, 02 Sep 2022 00:00:00 +0000</lastBuildDate><atom:link href="/dependencies/pluennecke_ruzsa_inequality/index.xml" rel="self" type="application/rss+xml" />
+ <item>
+ <title>Khovanskii&amp;#x27;s Theorem</title>
+ <link>/entries/Khovanskii_Theorem.html</link>
+ <pubDate>Fri, 02 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Khovanskii_Theorem.html</guid>
+ <description></description>
+ </item>
+
+ </channel>
+</rss>
diff --git a/web/entries/Abstract-Hoare-Logics.html b/web/entries/Abstract-Hoare-Logics.html
--- a/web/entries/Abstract-Hoare-Logics.html
+++ b/web/entries/Abstract-Hoare-Logics.html
@@ -1,218 +1,218 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Abstract Hoare Logics - Archive of Formal Proofs</title><meta name="description" content="These therories describe Hoare logics for a number of imperative language constructs, from while-loops to mutually recursive procedures. Both partial and..."><meta property="og:title" content="Abstract Hoare Logics" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Abstract-Hoare-Logics.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2006-08-08T00:00:00+00:00" />
<meta property="article:modified_time" content="2006-08-08T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Abstract Hoare Logics"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>A</span>bstract <span class='first'>H</span>oare <span class='first'>L</span>ogics</h1>
<div>
<p><a href="../authors/nipkow">Tobias Nipkow</a> <a href="https://www.in.tum.de/~nipkow/">🌐</a>
</p>
<p class="date">August 8, 2006</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">These therories describe Hoare logics for a number of imperative language constructs, from while-loops to mutually recursive procedures. Both partial and total correctness are treated. In particular a proof system for total correctness of recursive procedures in the presence of unbounded nondeterminism is presented.</div>BSD License<h3>Topics</h3>
<ul><li><a href="../topics/computer-science/programming-languages/logics">Computer science/Programming languages/Logics</a></li></ul><h3>Related Publications</h3>
<ul><li>
- Nipkow, T. (2002). Hoare Logics in Isabelle/HOL. Proof and System-Reliability, 341–367. <a href="https://doi.org/10.1007/978-94-010-0413-8_11">https://doi.org/10.1007/978-94-010-0413-8_11</a>
+ Nipkow, T. (2002). Hoare Logics in Isabelle/HOL. In: Schwichtenberg, H., Steinbrüggen, R. (eds) Proof and System-Reliability. NATO Science Series, vol 62. Springer, Dordrecht. <a href="https://doi.org/10.1007/978-94-010-0413-8_11">https://doi.org/10.1007/978-94-010-0413-8_11</a>
</li><li>
- Nipkow, T. (2002). Hoare Logics for Recursive Procedures and Unbounded Nondeterminism. Lecture Notes in Computer Science, 103–119. <a href="https://doi.org/10.1007/3-540-45793-3_8">https://doi.org/10.1007/3-540-45793-3_8</a>
+ Nipkow, T. (2002). Hoare Logics for Recursive Procedures and Unbounded Nondeterminism. In: Bradfield, J. (eds) Computer Science Logic. CSL 2002. Lecture Notes in Computer Science, vol 2471. Springer, Berlin, Heidelberg. <a href="https://doi.org/10.1007/3-540-45793-3_8">https://doi.org/10.1007/3-540-45793-3_8</a>
</li><li>
<a href="https://www.in.tum.de/~nipkow/pubs/MOD2001.html">Open access</a>
</li><li>
<a href="https://www.in.tum.de/~nipkow/pubs/csl02.html">Open access</a>
</li></ul>
<h3>Theories of Abstract-Hoare-Logics</h3>
<ul>
<li><a href="../theories/abstract-hoare-logics/#Lang">Lang</a></li>
<li><a href="../theories/abstract-hoare-logics/#Hoare">Hoare</a></li>
<li><a href="../theories/abstract-hoare-logics/#Termi">Termi</a></li>
<li><a href="../theories/abstract-hoare-logics/#HoareTotal">HoareTotal</a></li>
<li><a href="../theories/abstract-hoare-logics/#PLang">PLang</a></li>
<li><a href="../theories/abstract-hoare-logics/#PHoare">PHoare</a></li>
<li><a href="../theories/abstract-hoare-logics/#PTermi">PTermi</a></li>
<li><a href="../theories/abstract-hoare-logics/#PHoareTotal">PHoareTotal</a></li>
<li><a href="../theories/abstract-hoare-logics/#PsLang">PsLang</a></li>
<li><a href="../theories/abstract-hoare-logics/#PsHoare">PsHoare</a></li>
<li><a href="../theories/abstract-hoare-logics/#PsTermi">PsTermi</a></li>
<li><a href="../theories/abstract-hoare-logics/#PsHoareTotal">PsHoareTotal</a></li></ul><div class="flex-wrap">
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Abstract-Hoare-Logics/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Abstract-Hoare-Logics/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Abstract-Hoare-Logics/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Abstract-Hoare-Logics-AFP</p><pre id="copy-text">@article{Abstract-Hoare-Logics-AFP,
author = {Tobias Nipkow},
title = {Abstract Hoare Logics},
journal = {Archive of Formal Proofs},
month = {August},
year = {2006},
note = {\url{https://isa-afp.org/entries/Abstract-Hoare-Logics.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Abstract-Hoare-Logics-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2013-12-11.tar.gz">Dec 11, 2013</a>: Isabelle2013-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2013-11-17.tar.gz">Nov 17, 2013</a>: Isabelle2013-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2013-02-16.tar.gz">Feb 16, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2012-05-24.tar.gz">May 24, 2012</a>: Isabelle2012
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2011-10-11.tar.gz">Oct 11, 2011</a>: Isabelle2011-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2011-02-11.tar.gz">Feb 11, 2011</a>: Isabelle2011
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2010-06-30.tar.gz">Jun 30, 2010</a>: Isabelle2009-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2009-12-12.tar.gz">Dec 12, 2009</a>: Isabelle2009-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2009-04-29.tar.gz">Apr 29, 2009</a>: Isabelle2009
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2008-06-10.tar.gz">Jun 10, 2008</a>: Isabelle2008
</li><li>
<a href="https://www.isa-afp.org/release/afp-Abstract-Hoare-Logics-2007-11-27.tar.gz">Nov 27, 2007</a>: Isabelle2007
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Affine_Arithmetic.html b/web/entries/Affine_Arithmetic.html
--- a/web/entries/Affine_Arithmetic.html
+++ b/web/entries/Affine_Arithmetic.html
@@ -1,221 +1,220 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Affine Arithmetic - Archive of Formal Proofs</title><meta name="description" content="We give a formalization of affine forms as abstract representations of zonotopes.
We provide affine operations as well as overapproximations of some..."><meta property="og:title" content="Affine Arithmetic" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Affine_Arithmetic.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2014-02-07T00:00:00+00:00" />
<meta property="article:modified_time" content="2014-02-07T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Affine Arithmetic"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>A</span>ffine <span class='first'>A</span>rithmetic</h1>
<div>
<p><a href="../authors/immler">Fabian Immler</a> <a href="https://home.in.tum.de/~immler/">🌐</a>
</p>
<p class="date">February 7, 2014</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We give a formalization of affine forms as abstract representations of zonotopes.
We provide affine operations as well as overapproximations of some non-affine operations like multiplication and division.
Expressions involving those operations can automatically be turned into (executable) functions approximating the original
expression in affine arithmetic.</div>BSD License<h3>Change history</h3><p>
<h4>September 20, 2017</h4>
linear approximations for all symbols from the floatarith data
type
</p><p>
<h4>January 31, 2015</h4>
added algorithm for zonotope/hyperplane intersection<br>
-
</p><h3>Topics</h3>
<ul><li><a href="../topics/mathematics/analysis">Mathematics/Analysis</a></li></ul>
<h3>Theories of Affine_Arithmetic</h3>
<ul>
<li><a href="../theories/affine_arithmetic/#Affine_Arithmetic_Auxiliarities">Affine_Arithmetic_Auxiliarities</a></li>
<li><a href="../theories/affine_arithmetic/#Executable_Euclidean_Space">Executable_Euclidean_Space</a></li>
<li><a href="../theories/affine_arithmetic/#Affine_Form">Affine_Form</a></li>
<li><a href="../theories/affine_arithmetic/#Floatarith_Expression">Floatarith_Expression</a></li>
<li><a href="../theories/affine_arithmetic/#Straight_Line_Program">Straight_Line_Program</a></li>
<li><a href="../theories/affine_arithmetic/#Affine_Approximation">Affine_Approximation</a></li>
<li><a href="../theories/affine_arithmetic/#Counterclockwise">Counterclockwise</a></li>
<li><a href="../theories/affine_arithmetic/#Counterclockwise_Vector">Counterclockwise_Vector</a></li>
<li><a href="../theories/affine_arithmetic/#Counterclockwise_2D_Strict">Counterclockwise_2D_Strict</a></li>
<li><a href="../theories/affine_arithmetic/#Polygon">Polygon</a></li>
<li><a href="../theories/affine_arithmetic/#Counterclockwise_2D_Arbitrary">Counterclockwise_2D_Arbitrary</a></li>
<li><a href="../theories/affine_arithmetic/#Intersection">Intersection</a></li>
<li><a href="../theories/affine_arithmetic/#Affine_Code">Affine_Code</a></li>
<li><a href="../theories/affine_arithmetic/#Optimize_Integer">Optimize_Integer</a></li>
<li><a href="../theories/affine_arithmetic/#Optimize_Float">Optimize_Float</a></li>
<li><a href="../theories/affine_arithmetic/#Print">Print</a></li>
<li><a href="../theories/affine_arithmetic/#Float_Real">Float_Real</a></li>
<li><a href="../theories/affine_arithmetic/#Ex_Affine_Approximation">Ex_Affine_Approximation</a></li>
<li><a href="../theories/affine_arithmetic/#Ex_Ineqs">Ex_Ineqs</a></li>
<li><a href="../theories/affine_arithmetic/#Ex_Inter">Ex_Inter</a></li>
<li><a href="../theories/affine_arithmetic/#Affine_Arithmetic">Affine_Arithmetic</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Deriving.html">Deriving class instances for datatypes</a></li><li><a href="../entries/List-Index.html">List Index</a></li><li><a href="../entries/Show.html">Haskell&rsquo;s Show Class in Isabelle/HOL</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Taylor_Models.html">Taylor Models</a></li><li><a href="../entries/Ordinary_Differential_Equations.html">Ordinary Differential Equations</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/Ordinary_Differential_Equations.html">Ordinary Differential Equations</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Affine_Arithmetic/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Affine_Arithmetic/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Affine_Arithmetic/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Affine_Arithmetic-AFP</p><pre id="copy-text">@article{Affine_Arithmetic-AFP,
author = {Fabian Immler},
title = {Affine Arithmetic},
journal = {Archive of Formal Proofs},
month = {February},
year = {2014},
note = {\url{https://isa-afp.org/entries/Affine_Arithmetic.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Affine_Arithmetic-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Affine_Arithmetic-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Affine_Arithmetic-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Affine_Arithmetic-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Affine_Arithmetic-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Affine_Arithmetic-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Affine_Arithmetic-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Affine_Arithmetic-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Affine_Arithmetic-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Affine_Arithmetic-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Affine_Arithmetic-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Aggregation_Algebras.html b/web/entries/Aggregation_Algebras.html
--- a/web/entries/Aggregation_Algebras.html
+++ b/web/entries/Aggregation_Algebras.html
@@ -1,179 +1,183 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Aggregation Algebras - Archive of Formal Proofs</title><meta name="description" content="We develop algebras for aggregation and minimisation for weight
matrices and for edge weights in graphs. We verify the correctness of
Prim&#39;s and Kruskal&#39;s..."><meta property="og:title" content="Aggregation Algebras" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Aggregation_Algebras.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2018-09-15T00:00:00+00:00" />
<meta property="article:modified_time" content="2018-09-15T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Aggregation Algebras"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>A</span>ggregation <span class='first'>A</span>lgebras</h1>
<div>
<p><a href="../authors/guttmann">Walter Guttmann</a> <a href="https://www.cosc.canterbury.ac.nz/walter.guttmann/">🌐</a>
</p>
<p class="date">September 15, 2018</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We develop algebras for aggregation and minimisation for weight
matrices and for edge weights in graphs. We verify the correctness of
Prim's and Kruskal's minimum spanning tree algorithms based
on these algebras. We also show numerous instances of these algebras
-based on linearly ordered commutative semigroups.</div>BSD License<h3>Topics</h3>
+based on linearly ordered commutative semigroups.</div>BSD License<h3>Change history</h3><p>
+ <h4>December 9, 2020</h4>
+ moved Hoare logic to HOL-Hoare, moved spanning trees to Relational_Minimum_Spanning_Trees
+(revision dbb9bfaf4283)
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/mathematics/algebra">Mathematics/Algebra</a></li></ul>
<h3>Theories of Aggregation_Algebras</h3>
<ul>
<li><a href="../theories/aggregation_algebras/#Semigroups_Big">Semigroups_Big</a></li>
<li><a href="../theories/aggregation_algebras/#Aggregation_Algebras">Aggregation_Algebras</a></li>
<li><a href="../theories/aggregation_algebras/#Matrix_Aggregation_Algebras">Matrix_Aggregation_Algebras</a></li>
<li><a href="../theories/aggregation_algebras/#Linear_Aggregation_Algebras">Linear_Aggregation_Algebras</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Stone_Kleene_Relation_Algebras.html">Stone-Kleene Relation Algebras</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Relational_Minimum_Spanning_Trees.html">Relational Minimum Spanning Tree Algorithms</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Aggregation_Algebras/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Aggregation_Algebras/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Aggregation_Algebras/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Aggregation_Algebras-AFP</p><pre id="copy-text">@article{Aggregation_Algebras-AFP,
author = {Walter Guttmann},
title = {Aggregation Algebras},
journal = {Archive of Formal Proofs},
month = {September},
year = {2018},
note = {\url{https://isa-afp.org/entries/Aggregation_Algebras.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Aggregation_Algebras-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Aggregation_Algebras-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Aggregation_Algebras-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Aggregation_Algebras-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Aggregation_Algebras-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Aggregation_Algebras-2018-09-16.tar.gz">Sep 16, 2018</a>: Isabelle2018
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Algebraic_Numbers.html b/web/entries/Algebraic_Numbers.html
--- a/web/entries/Algebraic_Numbers.html
+++ b/web/entries/Algebraic_Numbers.html
@@ -1,223 +1,224 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Algebraic Numbers in Isabelle/HOL - Archive of Formal Proofs</title><meta name="description" content="Based on existing libraries for matrices, factorization of rational polynomials, and Sturm&#39;s theorem, we formalized algebraic numbers in Isabelle/HOL. Our..."><meta property="og:title" content="Algebraic Numbers in Isabelle/HOL" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Algebraic_Numbers.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2015-12-22T00:00:00+00:00" />
<meta property="article:modified_time" content="2015-12-22T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Algebraic Numbers in Isabelle/HOL"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>A</span>lgebraic <span class='first'>N</span>umbers in <span class='first'>I</span>sabelle/<span class='first'>H</span><span class='first'>O</span><span class='first'>L</span></h1>
<div>
<p><a href="../authors/thiemann">René Thiemann</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsicmVuZSIsInRoaWVtYW5uIl19">📧</a>, <a href="../authors/yamada">Akihisa Yamada</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsiYWtpaGlzYSIsInlhbWFkYSJdfQ==">📧</a> and <a href="../authors/joosten">Sebastiaan J. C. Joosten</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsic2ViYXN0aWFhbiIsImpvb3N0ZW4iXX0=">📧</a>
with contributions from <a href="../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a>
</p>
<p class="date">December 22, 2015</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">Based on existing libraries for matrices, factorization of rational polynomials, and Sturm's theorem, we formalized algebraic numbers in Isabelle/HOL. Our development serves as an implementation for real and complex numbers, and it admits to compute roots and completely factorize real and complex polynomials, provided that all coefficients are rational numbers. Moreover, we provide two implementations to display algebraic numbers, an injective and expensive one, or a faster but approximative version.
</p><p>
To this end, we mechanized several results on resultants, which also required us to prove that polynomials over a unique factorization domain form again a unique factorization domain.
</p></div>BSD License<h3>Change history</h3><p>
<h4>April 16, 2017</h4>
Use certified Berlekamp-Zassenhaus factorization, use subresultant algorithm for computing resultants, improved bisection algorithm
</p><p>
<h4>January 29, 2016</h4>
Split off Polynomial Interpolation and Polynomial Factorization<br>
-
</p><h3>Topics</h3>
<ul><li><a href="../topics/mathematics/algebra">Mathematics/Algebra</a></li></ul>
<h3>Theories of Algebraic_Numbers</h3>
<ul>
<li><a href="../theories/algebraic_numbers/#Algebraic_Numbers_Prelim">Algebraic_Numbers_Prelim</a></li>
<li><a href="../theories/algebraic_numbers/#Bivariate_Polynomials">Bivariate_Polynomials</a></li>
<li><a href="../theories/algebraic_numbers/#Resultant">Resultant</a></li>
<li><a href="../theories/algebraic_numbers/#Algebraic_Numbers">Algebraic_Numbers</a></li>
<li><a href="../theories/algebraic_numbers/#Sturm_Rat">Sturm_Rat</a></li>
<li><a href="../theories/algebraic_numbers/#Factors_of_Int_Poly">Factors_of_Int_Poly</a></li>
<li><a href="../theories/algebraic_numbers/#Min_Int_Poly">Min_Int_Poly</a></li>
+ <li><a href="../theories/algebraic_numbers/#Algebraic_Numbers_Pre_Impl">Algebraic_Numbers_Pre_Impl</a></li>
+ <li><a href="../theories/algebraic_numbers/#Cauchy_Root_Bound">Cauchy_Root_Bound</a></li>
<li><a href="../theories/algebraic_numbers/#Real_Algebraic_Numbers">Real_Algebraic_Numbers</a></li>
<li><a href="../theories/algebraic_numbers/#Real_Roots">Real_Roots</a></li>
<li><a href="../theories/algebraic_numbers/#Complex_Roots_Real_Poly">Complex_Roots_Real_Poly</a></li>
<li><a href="../theories/algebraic_numbers/#Compare_Complex">Compare_Complex</a></li>
<li><a href="../theories/algebraic_numbers/#Interval_Arithmetic">Interval_Arithmetic</a></li>
<li><a href="../theories/algebraic_numbers/#Complex_Algebraic_Numbers">Complex_Algebraic_Numbers</a></li>
<li><a href="../theories/algebraic_numbers/#Show_Real_Alg">Show_Real_Alg</a></li>
<li><a href="../theories/algebraic_numbers/#Show_Real_Approx">Show_Real_Approx</a></li>
<li><a href="../theories/algebraic_numbers/#Show_Real_Precise">Show_Real_Precise</a></li>
<li><a href="../theories/algebraic_numbers/#Algebraic_Number_Tests">Algebraic_Number_Tests</a></li>
<li><a href="../theories/algebraic_numbers/#Algebraic_Numbers_External_Code">Algebraic_Numbers_External_Code</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Berlekamp_Zassenhaus.html">The Factorization Algorithm of Berlekamp and Zassenhaus</a></li><li><a href="../entries/Sturm_Sequences.html">Sturm&rsquo;s Theorem</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Factor_Algebraic_Polynomial.html">Factorization of Polynomials with Algebraic Coefficients</a></li><li><a href="../entries/Cubic_Quartic_Equations.html">Solving Cubic and Quartic Equations</a></li><li><a href="../entries/BenOr_Kozen_Reif.html">The BKR Decision Procedure for Univariate Real Arithmetic</a></li><li><a href="../entries/Hermite_Lindemann.html">The Hermite–Lindemann–Weierstraß Transcendence Theorem</a></li><li><a href="../entries/LLL_Basis_Reduction.html">A verified LLL algorithm</a></li><li><a href="../entries/Linear_Recurrences.html">Linear Recurrences</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/Factor_Algebraic_Polynomial.html">Factorization of Polynomials with Algebraic Coefficients</a></li>
<li><a href="../entries/Cubic_Quartic_Equations.html">Solving Cubic and Quartic Equations</a></li>
<li><a href="../entries/Hermite_Lindemann.html">The Hermite–Lindemann–Weierstraß Transcendence Theorem</a></li>
<li><a href="../entries/Complex_Geometry.html">Complex Geometry</a></li>
<li><a href="../entries/Transcendence_Series_Hancl_Rucki.html">The Transcendence of Certain Infinite Series</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Algebraic_Numbers-AFP</p><pre id="copy-text">@article{Algebraic_Numbers-AFP,
author = {René Thiemann and Akihisa Yamada and Sebastiaan J. C. Joosten},
title = {Algebraic Numbers in Isabelle/HOL},
journal = {Archive of Formal Proofs},
month = {December},
year = {2015},
note = {\url{https://isa-afp.org/entries/Algebraic_Numbers.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Algebraic_Numbers-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Algebraic_Numbers-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Algebraic_Numbers-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Algebraic_Numbers-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Algebraic_Numbers-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Algebraic_Numbers-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Algebraic_Numbers-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Algebraic_Numbers-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Algebraic_Numbers-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Algebraic_Numbers-2015-12-22.tar.gz">Dec 22, 2015</a>: Isabelle2015
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Amortized_Complexity.html b/web/entries/Amortized_Complexity.html
--- a/web/entries/Amortized_Complexity.html
+++ b/web/entries/Amortized_Complexity.html
@@ -1,223 +1,221 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Amortized Complexity Verified - Archive of Formal Proofs</title><meta name="description" content="A framework for the analysis of the amortized complexity of functional
data structures is formalized in Isabelle/HOL and applied to a number of
standard..."><meta property="og:title" content="Amortized Complexity Verified" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Amortized_Complexity.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2014-07-07T00:00:00+00:00" />
<meta property="article:modified_time" content="2014-07-07T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Amortized Complexity Verified"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>A</span>mortized <span class='first'>C</span>omplexity <span class='first'>V</span>erified</h1>
<div>
<p><a href="../authors/nipkow">Tobias Nipkow</a> <a href="https://www.in.tum.de/~nipkow/">🌐</a>
</p>
<p class="date">July 7, 2014</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">A framework for the analysis of the amortized complexity of functional
data structures is formalized in Isabelle/HOL and applied to a number of
standard examples and to the folowing non-trivial ones: skew heaps,
splay trees, splay heaps and pairing heaps.</div>BSD License<h3>Change history</h3><p>
<h4>July 14, 2016</h4>
Moved pairing heaps from here to the new Pairing_Heap
</p><p>
<h4>July 12, 2016</h4>
Moved splay heaps from here to Splay_Tree<br>
-
</p><p>
<h4>March 17, 2015</h4>
Added pairing heaps by Hauke Brinkop.<br>
-
</p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/data-structures">Computer science/Data structures</a></li></ul><h3>Related Publications</h3>
<ul><li>
Nipkow, T., & Brinkop, H. (2018). Amortized Complexity Verified. Journal of Automated Reasoning, 62(3), 367–391. <a href="https://doi.org/10.1007/s10817-018-9459-3">https://doi.org/10.1007/s10817-018-9459-3</a>
</li><li>
<a href="https://www.in.tum.de/~nipkow/pubs/jar18.html">Open access</a>
</li><li>
<a href="https://en.wikipedia.org/wiki/Amortized_analysis">Wikipedia</a>
</li></ul>
<h3>Theories of Amortized_Complexity</h3>
<ul>
<li><a href="../theories/amortized_complexity/#Amortized_Framework0">Amortized_Framework0</a></li>
<li><a href="../theories/amortized_complexity/#Amortized_Framework">Amortized_Framework</a></li>
<li><a href="../theories/amortized_complexity/#Amortized_Examples">Amortized_Examples</a></li>
<li><a href="../theories/amortized_complexity/#Priority_Queue_ops_merge">Priority_Queue_ops_merge</a></li>
<li><a href="../theories/amortized_complexity/#Skew_Heap_Analysis">Skew_Heap_Analysis</a></li>
<li><a href="../theories/amortized_complexity/#Lemmas_log">Lemmas_log</a></li>
<li><a href="../theories/amortized_complexity/#Splay_Tree_Analysis_Base">Splay_Tree_Analysis_Base</a></li>
<li><a href="../theories/amortized_complexity/#Splay_Tree_Analysis">Splay_Tree_Analysis</a></li>
<li><a href="../theories/amortized_complexity/#Splay_Tree_Analysis_Optimal">Splay_Tree_Analysis_Optimal</a></li>
<li><a href="../theories/amortized_complexity/#Priority_Queue_ops">Priority_Queue_ops</a></li>
<li><a href="../theories/amortized_complexity/#Splay_Heap_Analysis">Splay_Heap_Analysis</a></li>
<li><a href="../theories/amortized_complexity/#Pairing_Heap_Tree_Analysis">Pairing_Heap_Tree_Analysis</a></li>
<li><a href="../theories/amortized_complexity/#Pairing_Heap_Tree_Analysis2">Pairing_Heap_Tree_Analysis2</a></li>
<li><a href="../theories/amortized_complexity/#Pairing_Heap_List1_Analysis">Pairing_Heap_List1_Analysis</a></li>
<li><a href="../theories/amortized_complexity/#Pairing_Heap_List1_Analysis2">Pairing_Heap_List1_Analysis2</a></li>
<li><a href="../theories/amortized_complexity/#Pairing_Heap_List2_Analysis">Pairing_Heap_List2_Analysis</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Pairing_Heap.html">Pairing Heap</a></li><li><a href="../entries/Skew_Heap.html">Skew Heap</a></li><li><a href="../entries/Splay_Tree.html">Splay Tree</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Root_Balanced_Tree.html">Root-Balanced Tree</a></li><li><a href="../entries/Dynamic_Tables.html">Parameterized Dynamic Tables</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Amortized_Complexity/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Amortized_Complexity/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Amortized_Complexity/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Amortized_Complexity-AFP</p><pre id="copy-text">@article{Amortized_Complexity-AFP,
author = {Tobias Nipkow},
title = {Amortized Complexity Verified},
journal = {Archive of Formal Proofs},
month = {July},
year = {2014},
note = {\url{https://isa-afp.org/entries/Amortized_Complexity.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Amortized_Complexity-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Amortized_Complexity-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Amortized_Complexity-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Amortized_Complexity-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Amortized_Complexity-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Amortized_Complexity-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Amortized_Complexity-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Amortized_Complexity-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Amortized_Complexity-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Amortized_Complexity-2015-05-28.tar.gz">May 28, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Amortized_Complexity-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Amortized_Complexity-2015-05-19.tar.gz">May 19, 2015</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Amortized_Complexity-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Applicative_Lifting.html b/web/entries/Applicative_Lifting.html
--- a/web/entries/Applicative_Lifting.html
+++ b/web/entries/Applicative_Lifting.html
@@ -1,212 +1,217 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Applicative Lifting - Archive of Formal Proofs</title><meta name="description" content="Applicative functors augment computations with effects by lifting function application to types which model the effects. As the structure of the..."><meta property="og:title" content="Applicative Lifting" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Applicative_Lifting.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2015-12-22T00:00:00+00:00" />
<meta property="article:modified_time" content="2015-12-22T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Applicative Lifting"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>A</span>pplicative <span class='first'>L</span>ifting</h1>
<div>
<p><a href="../authors/lochbihler">Andreas Lochbihler</a> <a href="http://www.andreas-lochbihler.de/">🌐</a> and <a href="../authors/schneider">Joshua Schneider</a>
</p>
<p class="date">December 22, 2015</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">Applicative functors augment computations with effects by lifting function application to types which model the effects. As the structure of the computation cannot depend on the effects, applicative expressions can be analysed statically. This allows us to lift universally quantified equations to the effectful types, as observed by Hinze. Thus, equational reasoning over effectful computations can be reduced to pure types.
</p><p>
This entry provides a package for registering applicative functors and two proof methods for lifting of equations over applicative functors. The first method normalises applicative expressions according to the laws of applicative functors. This way, equations whose two sides contain the same list of variables can be lifted to every applicative functor.
</p><p>
To lift larger classes of equations, the second method exploits a number of additional properties (e.g., commutativity of effects) provided the properties have been declared for the concrete applicative functor at hand upon registration.
</p><p>
We declare several types from the Isabelle library as applicative functors and illustrate the use of the methods with two examples: the lifting of the arithmetic type class hierarchy to streams and the verification of a relabelling function on binary trees. We also formalise and verify the normalisation algorithm used by the first proof method.
</p></div>BSD License<h3>Change history</h3><p>
+ <h4>June 10, 2016</h4>
+ implemented automatic derivation of lifted combinator reductions;
+support arbitrary lifted relations using relators;
+improved compatibility with locale interpretation
+(revision ec336f354f37)<br>
+ </p><p>
<h4>March 3, 2016</h4>
added formalisation of lifting with combinators<br>
-
</p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/functional-programming">Computer science/Functional programming</a></li></ul>
<h3>Theories of Applicative_Lifting</h3>
<ul>
<li><a href="../theories/applicative_lifting/#Applicative">Applicative</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_Environment">Applicative_Environment</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_Option">Applicative_Option</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_Sum">Applicative_Sum</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_Set">Applicative_Set</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_List">Applicative_List</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_DNEList">Applicative_DNEList</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_Monoid">Applicative_Monoid</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_Filter">Applicative_Filter</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_State">Applicative_State</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_Stream">Applicative_Stream</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_Open_State">Applicative_Open_State</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_PMF">Applicative_PMF</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_Probability_List">Applicative_Probability_List</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_Star">Applicative_Star</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_Vector">Applicative_Vector</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_Functor">Applicative_Functor</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_Environment_Algebra">Applicative_Environment_Algebra</a></li>
<li><a href="../theories/applicative_lifting/#Stream_Algebra">Stream_Algebra</a></li>
<li><a href="../theories/applicative_lifting/#Tree_Relabelling">Tree_Relabelling</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_Examples">Applicative_Examples</a></li>
<li><a href="../theories/applicative_lifting/#Joinable">Joinable</a></li>
<li><a href="../theories/applicative_lifting/#Beta_Eta">Beta_Eta</a></li>
<li><a href="../theories/applicative_lifting/#Combinators">Combinators</a></li>
<li><a href="../theories/applicative_lifting/#Idiomatic_Terms">Idiomatic_Terms</a></li>
<li><a href="../theories/applicative_lifting/#Abstract_AF">Abstract_AF</a></li>
<li><a href="../theories/applicative_lifting/#Applicative_Test">Applicative_Test</a></li></ul><div class="flex-wrap">
<div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/CryptHOL.html">CryptHOL</a></li><li><a href="../entries/Stern_Brocot.html">The Stern-Brocot Tree</a></li><li><a href="../entries/Free-Groups.html">Free Groups</a></li><li><a href="../entries/Locally-Nameless-Sigma.html">Locally Nameless Sigma Calculus</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Applicative_Lifting/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Applicative_Lifting/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Applicative_Lifting/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Applicative_Lifting-AFP</p><pre id="copy-text">@article{Applicative_Lifting-AFP,
author = {Andreas Lochbihler and Joshua Schneider},
title = {Applicative Lifting},
journal = {Archive of Formal Proofs},
month = {December},
year = {2015},
note = {\url{https://isa-afp.org/entries/Applicative_Lifting.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Applicative_Lifting-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Applicative_Lifting-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Applicative_Lifting-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Applicative_Lifting-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Applicative_Lifting-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Applicative_Lifting-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Applicative_Lifting-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Applicative_Lifting-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Applicative_Lifting-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Applicative_Lifting-2015-12-22.tar.gz">Dec 22, 2015</a>: Isabelle2015
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Approximation_Algorithms.html b/web/entries/Approximation_Algorithms.html
--- a/web/entries/Approximation_Algorithms.html
+++ b/web/entries/Approximation_Algorithms.html
@@ -1,171 +1,177 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Verified Approximation Algorithms - Archive of Formal Proofs</title><meta name="description" content="We present the first formal verification of approximation algorithms
for NP-complete optimization problems: vertex cover, set cover, independent set,..."><meta property="og:title" content="Verified Approximation Algorithms" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Approximation_Algorithms.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2020-01-16T00:00:00+00:00" />
<meta property="article:modified_time" content="2020-01-16T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Verified Approximation Algorithms"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>V</span>erified <span class='first'>A</span>pproximation <span class='first'>A</span>lgorithms</h1>
<div>
<p><a href="../authors/essmann">Robin Eßmann</a> <a class="obfuscated" data="eyJob3N0IjpbInR1bSIsImRlIl0sInVzZXIiOlsicm9iaW4iLCJlc3NtYW5uIl19">📧</a>, <a href="../authors/nipkow">Tobias Nipkow</a> <a href="https://www.in.tum.de/~nipkow/">🌐</a>, <a href="../authors/robillard">Simon Robillard</a> <a href="https://simon-robillard.net/">🌐</a> and <a href="../authors/sulejmani">Ujkan Sulejmani</a>
</p>
<p class="date">January 16, 2020</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We present the first formal verification of approximation algorithms
for NP-complete optimization problems: vertex cover, set cover, independent set,
center selection, load balancing, and bin packing. The proofs correct incompletenesses
-in existing proofs and improve the approximation ratio in one case.</div>BSD License<h3>Topics</h3>
+in existing proofs and improve the approximation ratio in one case.</div>BSD License<h3>Change history</h3><p>
+ <h4>June 29, 2021</h4>
+ added theory Center_Selection by Ujkan Sulejmani
+ </p><p>
+ <h4>February 8, 2021</h4>
+ added theory Approx_SC_Hoare (Set Cover) by Robin Eßmann<br>
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/algorithms/approximation">Computer science/Algorithms/Approximation</a></li></ul>
<h3>Theories of Approximation_Algorithms</h3>
<ul>
<li><a href="../theories/approximation_algorithms/#Approx_VC_Hoare">Approx_VC_Hoare</a></li>
<li><a href="../theories/approximation_algorithms/#Approx_SC_Hoare">Approx_SC_Hoare</a></li>
<li><a href="../theories/approximation_algorithms/#Approx_MIS_Hoare">Approx_MIS_Hoare</a></li>
<li><a href="../theories/approximation_algorithms/#Approx_LB_Hoare">Approx_LB_Hoare</a></li>
<li><a href="../theories/approximation_algorithms/#Approx_BP_Hoare">Approx_BP_Hoare</a></li>
<li><a href="../theories/approximation_algorithms/#Center_Selection">Center_Selection</a></li></ul><div class="flex-wrap">
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Approximation_Algorithms/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Approximation_Algorithms/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Approximation_Algorithms/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Approximation_Algorithms-AFP</p><pre id="copy-text">@article{Approximation_Algorithms-AFP,
author = {Robin Eßmann and Tobias Nipkow and Simon Robillard and Ujkan Sulejmani},
title = {Verified Approximation Algorithms},
journal = {Archive of Formal Proofs},
month = {January},
year = {2020},
note = {\url{https://isa-afp.org/entries/Approximation_Algorithms.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Approximation_Algorithms-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Approximation_Algorithms-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Approximation_Algorithms-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Approximation_Algorithms-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Approximation_Algorithms-2020-01-16.tar.gz">Jan 16, 2020</a>: Isabelle2019
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Architectural_Design_Patterns.html b/web/entries/Architectural_Design_Patterns.html
--- a/web/entries/Architectural_Design_Patterns.html
+++ b/web/entries/Architectural_Design_Patterns.html
@@ -1,196 +1,195 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>A Theory of Architectural Design Patterns - Archive of Formal Proofs</title><meta name="description" content="The following document formalizes and verifies several architectural
design patterns. Each pattern specification is formalized in terms of
a locale where..."><meta property="og:title" content="A Theory of Architectural Design Patterns" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Architectural_Design_Patterns.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2018-03-01T00:00:00+00:00" />
<meta property="article:modified_time" content="2018-03-01T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="A Theory of Architectural Design Patterns"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>A</span> <span class='first'>T</span>heory of <span class='first'>A</span>rchitectural <span class='first'>D</span>esign <span class='first'>P</span>atterns</h1>
<div>
<p><a href="../authors/marmsoler">Diego Marmsoler</a> <a href="http://marmsoler.com">🌐</a>
</p>
<p class="date">March 1, 2018</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">The following document formalizes and verifies several architectural
design patterns. Each pattern specification is formalized in terms of
a locale where the locale assumptions correspond to the assumptions
which a pattern poses on an architecture. Thus, pattern specifications
may build on top of each other by interpreting the corresponding
locale. A pattern is verified using the framework provided by the AFP
entry Dynamic Architectures. Currently, the document consists of
formalizations of 4 different patterns: the singleton, the publisher
subscriber, the blackboard pattern, and the blockchain pattern.
Thereby, the publisher component of the publisher subscriber pattern
is modeled as an instance of the singleton pattern and the blackboard
pattern is modeled as an instance of the publisher subscriber pattern.
In general, this entry provides the first steps towards an overall
theory of architectural design patterns.</div>BSD License<h3>Change history</h3><p>
<h4>April 8, 2019</h4>
adapting the terminology: honest instead of trusted, dishonest instead of untrusted (revision 7af3431a22ae)
</p><p>
<h4>May 25, 2018</h4>
changing the major assumption for blockchain architectures from alternative minings to relative mining frequencies (revision 5043c5c71685)<br>
-
</p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/system-description-languages">Computer science/System description languages</a></li></ul>
<h3>Theories of Architectural_Design_Patterns</h3>
<ul>
<li><a href="../theories/architectural_design_patterns/#Singleton">Singleton</a></li>
<li><a href="../theories/architectural_design_patterns/#Publisher_Subscriber">Publisher_Subscriber</a></li>
<li><a href="../theories/architectural_design_patterns/#Blackboard">Blackboard</a></li>
<li><a href="../theories/architectural_design_patterns/#Auxiliary">Auxiliary</a></li>
<li><a href="../theories/architectural_design_patterns/#RF_LTL">RF_LTL</a></li>
<li><a href="../theories/architectural_design_patterns/#Blockchain">Blockchain</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/DynamicArchitectures.html">Dynamic Architectures</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Architectural_Design_Patterns/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Architectural_Design_Patterns/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Architectural_Design_Patterns/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Architectural_Design_Patterns-AFP</p><pre id="copy-text">@article{Architectural_Design_Patterns-AFP,
author = {Diego Marmsoler},
title = {A Theory of Architectural Design Patterns},
journal = {Archive of Formal Proofs},
month = {March},
year = {2018},
note = {\url{https://isa-afp.org/entries/Architectural_Design_Patterns.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Architectural_Design_Patterns-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Architectural_Design_Patterns-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Architectural_Design_Patterns-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Architectural_Design_Patterns-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Architectural_Design_Patterns-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Architectural_Design_Patterns-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Architectural_Design_Patterns-2018-03-01.tar.gz">Mar 1, 2018</a>: Isabelle2017
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/BD_Security_Compositional.html b/web/entries/BD_Security_Compositional.html
--- a/web/entries/BD_Security_Compositional.html
+++ b/web/entries/BD_Security_Compositional.html
@@ -1,198 +1,198 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Compositional BD Security - Archive of Formal Proofs</title><meta name="description" content="Building on a previous AFP entry that formalizes the Bounded-Deducibility Security (BD Security) framework [1], we formalize compositionality and transport..."><meta property="og:title" content="Compositional BD Security" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/BD_Security_Compositional.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2021-08-16T00:00:00+00:00" />
<meta property="article:modified_time" content="2021-08-16T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Compositional BD Security"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>ompositional <span class='first'>B</span><span class='first'>D</span> <span class='first'>S</span>ecurity</h1>
<div>
<p><a href="../authors/bauereiss">Thomas Bauereiss</a> <a class="obfuscated" data="eyJob3N0IjpbImJhdWVyZWlzcyIsIm5hbWUiXSwidXNlciI6WyJ0aG9tYXMiXX0=">📧</a> and <a href="../authors/popescu">Andrei Popescu</a> <a href="https://www.andreipopescu.uk">🌐</a>
</p>
<p class="date">August 16, 2021</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">Building on a previous <a
href="https://www.isa-afp.org/entries/Bounded_Deducibility_Security.html">AFP
entry</a> that formalizes the Bounded-Deducibility Security (BD
Security) framework <a href="https://doi.org/10.4230/LIPIcs.ITP.2021.3">[1]</a>,
we formalize compositionality and transport theorems for information
flow security. These results allow lifting BD Security properties from
individual components specified as transition systems, to a
composition of systems specified as communicating products of
transition systems. The underlying ideas of these results are
presented in the papers <a href="https://doi.org/10.4230/LIPIcs.ITP.2021.3">[1]</a>
and <a href="https://doi.org/10.1109/SP.2017.24">[2]</a>.
The latter paper also describes a major case study where these results
have been used: on verifying the CoSMeDis distributed social media
platform (itself formalized as an <a
href="https://www.isa-afp.org/entries/CoSMeDis.html">AFP
entry</a> that builds on this entry).</div>BSD License<h3>Topics</h3>
<ul><li><a href="../topics/computer-science/security">Computer science/Security</a></li></ul>
<h3>Theories of BD_Security_Compositional</h3>
<ul>
<li><a href="../theories/bd_security_compositional/#Composing_Security">Composing_Security</a></li>
<li><a href="../theories/bd_security_compositional/#Trivial_Security">Trivial_Security</a></li>
<li><a href="../theories/bd_security_compositional/#Transporting_Security">Transporting_Security</a></li>
<li><a href="../theories/bd_security_compositional/#Composing_Security_Network">Composing_Security_Network</a></li>
<li><a href="../theories/bd_security_compositional/#Independent_Secrets">Independent_Secrets</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Bounded_Deducibility_Security.html">Bounded-Deducibility Security</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/CoSMeDis.html">CoSMeDis: A confidentiality-verified distributed social media platform</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
+ <li><a href="../entries/Hales_Jewett.html">The Hales–Jewett Theorem</a></li>
+
<li><a href="../entries/Irrationals_From_THEBOOK.html">Irrational numbers from THE BOOK</a></li>
<li><a href="../entries/Core_SC_DOM.html">The Safely Composable DOM</a></li>
<li><a href="../entries/Goedel_Incompleteness.html">An Abstract Formalization of Gödel&rsquo;s Incompleteness Theorems</a></li>
<li><a href="../entries/Goedel_HFSet_Semantic.html">From Abstract to Concrete Gödel&rsquo;s Incompleteness Theorems—Part I</a></li>
- <li><a href="../entries/Universal_Turing_Machine.html">Universal Turing Machine</a></li>
-
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/BD_Security_Compositional/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/BD_Security_Compositional/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/BD_Security_Compositional/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">BD_Security_Compositional-AFP</p><pre id="copy-text">@article{BD_Security_Compositional-AFP,
author = {Thomas Bauereiss and Andrei Popescu},
title = {Compositional BD Security},
journal = {Archive of Formal Proofs},
month = {August},
year = {2021},
note = {\url{https://isa-afp.org/entries/BD_Security_Compositional.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-BD_Security_Compositional-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-BD_Security_Compositional-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/BTree.html b/web/entries/BTree.html
--- a/web/entries/BTree.html
+++ b/web/entries/BTree.html
@@ -1,205 +1,233 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>A Verified Imperative Implementation of B-Trees - Archive of Formal Proofs</title><meta name="description" content="In this work, we use the interactive theorem prover Isabelle/HOL to verify an imperative implementation of the classical B-tree data structure invented by..."><meta property="og:title" content="A Verified Imperative Implementation of B-Trees" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/BTree.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2021-02-24T00:00:00+00:00" />
<meta property="article:modified_time" content="2021-02-24T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="A Verified Imperative Implementation of B-Trees"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>A</span> <span class='first'>V</span>erified <span class='first'>I</span>mperative <span class='first'>I</span>mplementation of <span class='first'>B</span>-<span class='first'>T</span>rees</h1>
<div>
<p><a href="../authors/muendler">Niels Mündler</a> <a class="obfuscated" data="eyJob3N0IjpbInR1bSIsImRlIl0sInVzZXIiOlsibiIsIm11ZW5kbGVyIl19">📧</a>
</p>
<p class="date">February 24, 2021</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">In this work, we use the interactive theorem prover Isabelle/HOL to
verify an imperative implementation of the classical B-tree data
structure invented by Bayer and McCreight [ACM 1970]. The
-implementation supports set membership, insertion and deletion queries with
-efficient binary search for intra-node navigation. This is
+implementation supports set membership, insertion, deletion, iteration and range queries with efficient binary search for intra-node navigation. This is
accomplished by first specifying the structure abstractly in the
functional modeling language HOL and proving functional correctness.
Using manual refinement, we derive an imperative implementation in
Imperative/HOL. We show the validity of this refinement using the
separation logic utilities from the <a
href="https://www.isa-afp.org/entries/Refine_Imperative_HOL.html">
Isabelle Refinement Framework </a> . The code can be exported to
-the programming languages SML, OCaml and Scala. We examine the runtime of all
-operations indirectly by reproducing results of the logarithmic
-relationship between height and the number of nodes. The results are
-discussed in greater detail in the corresponding <a
+the programming languages SML, OCaml and Scala.
+This entry contains two developments:
+ <dl>
+ <dt>B-Trees</dt>
+ <dd>This formalisation is discussed in greater detail in the corresponding <a
href="https://mediatum.ub.tum.de/1596550">Bachelor's
-Thesis</a>.</div>BSD License<h3>Topics</h3>
+Thesis</a>.</dd>
+ <dt>B+-Trees:</dt>
+ <dd>This formalisation also supports range queries and is discussed in a paper published at ICTAC 2022.</dd>
+</dl>
+
+Change history:
+[2022-08-16]: Added formalisations of B+-Trees</div>BSD License<h3>Change history</h3><p>
+ <h4>May 2, 2021</h4>
+ Add implementation and proof of correctness of imperative deletion operations.
+Further add the option to export code to OCaml.
+<br>
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/data-structures">Computer science/Data structures</a></li></ul>
<h3>Theories of BTree</h3>
<ul>
<li><a href="../theories/btree/#BTree">BTree</a></li>
<li><a href="../theories/btree/#BTree_Height">BTree_Height</a></li>
<li><a href="../theories/btree/#BTree_Set">BTree_Set</a></li>
<li><a href="../theories/btree/#BTree_Split">BTree_Split</a></li>
+ <li><a href="../theories/btree/#BPlusTree">BPlusTree</a></li>
+ <li><a href="../theories/btree/#BPlusTree_Split">BPlusTree_Split</a></li>
+ <li><a href="../theories/btree/#BPlusTree_Set">BPlusTree_Set</a></li>
+ <li><a href="../theories/btree/#BPlusTree_Range">BPlusTree_Range</a></li>
+ <li><a href="../theories/btree/#BPlusTree_SplitCE">BPlusTree_SplitCE</a></li>
<li><a href="../theories/btree/#Array_SBlit">Array_SBlit</a></li>
<li><a href="../theories/btree/#Partially_Filled_Array">Partially_Filled_Array</a></li>
<li><a href="../theories/btree/#Basic_Assn">Basic_Assn</a></li>
<li><a href="../theories/btree/#BTree_Imp">BTree_Imp</a></li>
<li><a href="../theories/btree/#BTree_ImpSet">BTree_ImpSet</a></li>
<li><a href="../theories/btree/#Imperative_Loops">Imperative_Loops</a></li>
- <li><a href="../theories/btree/#BTree_ImpSplit">BTree_ImpSplit</a></li></ul><div class="flex-wrap">
+ <li><a href="../theories/btree/#BTree_ImpSplit">BTree_ImpSplit</a></li>
+ <li><a href="../theories/btree/#Flatten_Iter_Spec">Flatten_Iter_Spec</a></li>
+ <li><a href="../theories/btree/#Flatten_Iter">Flatten_Iter</a></li>
+ <li><a href="../theories/btree/#Inst_Ex_Assn">Inst_Ex_Assn</a></li>
+ <li><a href="../theories/btree/#BPlusTree_Imp">BPlusTree_Imp</a></li>
+ <li><a href="../theories/btree/#BPlusTree_ImpSplit">BPlusTree_ImpSplit</a></li>
+ <li><a href="../theories/btree/#BPlusTree_ImpSet">BPlusTree_ImpSet</a></li>
+ <li><a href="../theories/btree/#Partially_Filled_Array_Iter">Partially_Filled_Array_Iter</a></li>
+ <li><a href="../theories/btree/#BPlusTree_Iter_OneWay">BPlusTree_Iter_OneWay</a></li>
+ <li><a href="../theories/btree/#Subst_Mod_Mult_AC">Subst_Mod_Mult_AC</a></li>
+ <li><a href="../theories/btree/#BPlusTree_Iter">BPlusTree_Iter</a></li>
+ <li><a href="../theories/btree/#BPlusTree_ImpRange">BPlusTree_ImpRange</a></li>
+ <li><a href="../theories/btree/#BPlusTree_ImpSplitCE">BPlusTree_ImpSplitCE</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Refine_Imperative_HOL.html">The Imperative Refinement Framework</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/Solidity.html">Isabelle/Solidity: A deep Embedding of Solidity in Isabelle/HOL</a></li>
<li><a href="../entries/Flow_Networks.html">Flow Networks and the Min-Cut-Max-Flow Theorem</a></li>
<li><a href="../entries/Prpu_Maxflow.html">Formalizing Push-Relabel Algorithms</a></li>
<li><a href="../entries/EdmondsKarp_Maxflow.html">Formalizing the Edmonds-Karp Algorithm</a></li>
<li><a href="../entries/Pop_Refinement.html">Pop-Refinement</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/BTree/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/BTree/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/BTree/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">BTree-AFP</p><pre id="copy-text">@article{BTree-AFP,
author = {Niels Mündler},
title = {A Verified Imperative Implementation of B-Trees},
journal = {Archive of Formal Proofs},
month = {February},
year = {2021},
note = {\url{https://isa-afp.org/entries/BTree.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-BTree-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-BTree-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-BTree-2021-02-26.tar.gz">Feb 26, 2021</a>: Isabelle2021
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Berlekamp_Zassenhaus.html b/web/entries/Berlekamp_Zassenhaus.html
--- a/web/entries/Berlekamp_Zassenhaus.html
+++ b/web/entries/Berlekamp_Zassenhaus.html
@@ -1,236 +1,236 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>The Factorization Algorithm of Berlekamp and Zassenhaus - Archive of Formal Proofs</title><meta name="description" content="We formalize the Berlekamp-Zassenhaus algorithm for factoring square-free integer polynomials in Isabelle/HOL. We further adapt an existing formalization..."><meta property="og:title" content="The Factorization Algorithm of Berlekamp and Zassenhaus" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Berlekamp_Zassenhaus.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2016-10-14T00:00:00+00:00" />
<meta property="article:modified_time" content="2016-10-14T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="The Factorization Algorithm of Berlekamp and Zassenhaus"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>T</span>he <span class='first'>F</span>actorization <span class='first'>A</span>lgorithm of <span class='first'>B</span>erlekamp and <span class='first'>Z</span>assenhaus</h1>
<div>
<p><a href="../authors/divason">Jose Divasón</a> <a href="https://www.unirioja.es/cu/jodivaso/">🌐</a>, <a href="../authors/joosten">Sebastiaan J. C. Joosten</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsic2ViYXN0aWFhbiIsImpvb3N0ZW4iXX0=">📧</a>, <a href="../authors/thiemann">René Thiemann</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsicmVuZSIsInRoaWVtYW5uIl19">📧</a> and <a href="../authors/yamada">Akihisa Yamada</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsiYWtpaGlzYSIsInlhbWFkYSJdfQ==">📧</a>
</p>
<p class="date">October 14, 2016</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process"><p>We formalize the Berlekamp-Zassenhaus algorithm for factoring
square-free integer polynomials in Isabelle/HOL. We further adapt an
existing formalization of Yun’s square-free factorization algorithm to
integer polynomials, and thus provide an efficient and certified
factorization algorithm for arbitrary univariate polynomials.
</p>
<p>The algorithm first performs a factorization in the prime field GF(p) and
then performs computations in the integer ring modulo p^k, where both
p and k are determined at runtime. Since a natural modeling of these
structures via dependent types is not possible in Isabelle/HOL, we
formalize the whole algorithm using Isabelle’s recent addition of
local type definitions.
</p>
<p>Through experiments we verify that our algorithm factors polynomials of degree
100 within seconds.
</p></div>BSD License<h3>Topics</h3>
<ul><li><a href="../topics/mathematics/algebra">Mathematics/Algebra</a></li></ul>
<h3>Theories of Berlekamp_Zassenhaus</h3>
<ul>
<li><a href="../theories/berlekamp_zassenhaus/#Finite_Field">Finite_Field</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Arithmetic_Record_Based">Arithmetic_Record_Based</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Finite_Field_Record_Based">Finite_Field_Record_Based</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Matrix_Record_Based">Matrix_Record_Based</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#More_Missing_Multiset">More_Missing_Multiset</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Unique_Factorization">Unique_Factorization</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Unique_Factorization_Poly">Unique_Factorization_Poly</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Poly_Mod">Poly_Mod</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Poly_Mod_Finite_Field">Poly_Mod_Finite_Field</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Karatsuba_Multiplication">Karatsuba_Multiplication</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Polynomial_Record_Based">Polynomial_Record_Based</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Poly_Mod_Finite_Field_Record_Based">Poly_Mod_Finite_Field_Record_Based</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Chinese_Remainder_Poly">Chinese_Remainder_Poly</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Berlekamp_Type_Based">Berlekamp_Type_Based</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Distinct_Degree_Factorization">Distinct_Degree_Factorization</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Finite_Field_Factorization">Finite_Field_Factorization</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Finite_Field_Factorization_Record_Based">Finite_Field_Factorization_Record_Based</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Hensel_Lifting">Hensel_Lifting</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Hensel_Lifting_Type_Based">Hensel_Lifting_Type_Based</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Berlekamp_Hensel">Berlekamp_Hensel</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Square_Free_Int_To_Square_Free_GFp">Square_Free_Int_To_Square_Free_GFp</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Suitable_Prime">Suitable_Prime</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Degree_Bound">Degree_Bound</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Mahler_Measure">Mahler_Measure</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Factor_Bound">Factor_Bound</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Sublist_Iteration">Sublist_Iteration</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Reconstruction">Reconstruction</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Code_Abort_Gcd">Code_Abort_Gcd</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Berlekamp_Zassenhaus">Berlekamp_Zassenhaus</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Gcd_Finite_Field_Impl">Gcd_Finite_Field_Impl</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Square_Free_Factorization_Int">Square_Free_Factorization_Int</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Factorize_Int_Poly">Factorize_Int_Poly</a></li>
<li><a href="../theories/berlekamp_zassenhaus/#Factorize_Rat_Poly">Factorize_Rat_Poly</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Efficient-Mergesort.html">Efficient Mergesort</a></li><li><a href="../entries/Polynomial_Factorization.html">Polynomial Factorization</a></li><li><a href="../entries/Polynomial_Interpolation.html">Polynomial Interpolation</a></li><li><a href="../entries/Show.html">Haskell&rsquo;s Show Class in Isabelle/HOL</a></li><li><a href="../entries/Subresultants.html">Subresultants</a></li></ul>
</div><div>
<h3>Used by</h3>
- <ul class="horizontal-list"><li><a href="../entries/Fishers_Inequality.html">Fisher&rsquo;s Inequality: Linear Algebraic Proof Techniques for Combinatorics</a></li><li><a href="../entries/Smith_Normal_Form.html">A verified algorithm for computing the Smith normal form of a matrix</a></li><li><a href="../entries/LLL_Basis_Reduction.html">A verified LLL algorithm</a></li><li><a href="../entries/Linear_Recurrences.html">Linear Recurrences</a></li><li><a href="../entries/Algebraic_Numbers.html">Algebraic Numbers in Isabelle/HOL</a></li></ul>
+ <ul class="horizontal-list"><li><a href="../entries/CRYSTALS-Kyber.html">CRYSTALS-Kyber</a></li><li><a href="../entries/Number_Theoretic_Transform.html">Number Theoretic Transform</a></li><li><a href="../entries/Fishers_Inequality.html">Fisher&rsquo;s Inequality: Linear Algebraic Proof Techniques for Combinatorics</a></li><li><a href="../entries/Smith_Normal_Form.html">A verified algorithm for computing the Smith normal form of a matrix</a></li><li><a href="../entries/LLL_Basis_Reduction.html">A verified LLL algorithm</a></li><li><a href="../entries/Linear_Recurrences.html">Linear Recurrences</a></li><li><a href="../entries/Algebraic_Numbers.html">Algebraic Numbers in Isabelle/HOL</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/Types_To_Sets_Extension.html">Extension of Types-To-Sets</a></li>
<li><a href="../entries/Smith_Normal_Form.html">A verified algorithm for computing the Smith normal form of a matrix</a></li>
<li><a href="../entries/LLL_Factorization.html">A verified factorization algorithm for integer polynomials with polynomial complexity</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Berlekamp_Zassenhaus/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Berlekamp_Zassenhaus/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Berlekamp_Zassenhaus/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Berlekamp_Zassenhaus-AFP</p><pre id="copy-text">@article{Berlekamp_Zassenhaus-AFP,
author = {Jose Divasón and Sebastiaan J. C. Joosten and René Thiemann and Akihisa Yamada},
title = {The Factorization Algorithm of Berlekamp and Zassenhaus},
journal = {Archive of Formal Proofs},
month = {October},
year = {2016},
note = {\url{https://isa-afp.org/entries/Berlekamp_Zassenhaus.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Berlekamp_Zassenhaus-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Berlekamp_Zassenhaus-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Berlekamp_Zassenhaus-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Berlekamp_Zassenhaus-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Berlekamp_Zassenhaus-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Berlekamp_Zassenhaus-2018-09-07.tar.gz">Sep 7, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Berlekamp_Zassenhaus-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Berlekamp_Zassenhaus-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Berlekamp_Zassenhaus-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Bernoulli.html b/web/entries/Bernoulli.html
--- a/web/entries/Bernoulli.html
+++ b/web/entries/Bernoulli.html
@@ -1,190 +1,190 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Bernoulli Numbers - Archive of Formal Proofs</title><meta name="description" content="Bernoulli numbers were first discovered in the closed-form expansion of the sum 1m &#43; 2m &#43; &amp;hellip; &#43; nm for a fixed m and appear in many other places. This..."><meta property="og:title" content="Bernoulli Numbers" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Bernoulli.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2017-01-24T00:00:00+00:00" />
<meta property="article:modified_time" content="2017-01-24T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Bernoulli Numbers"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>B</span>ernoulli <span class='first'>N</span>umbers</h1>
<div>
<p><a href="../authors/bulwahn">Lukas Bulwahn</a> <a class="obfuscated" data="eyJob3N0IjpbImdtYWlsIiwiY29tIl0sInVzZXIiOlsibHVrYXMiLCJidWx3YWhuIl19">📧</a> and <a href="../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a>
</p>
<p class="date">January 24, 2017</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process"><p>Bernoulli numbers were first discovered in the closed-form
expansion of the sum 1<sup>m</sup> +
2<sup>m</sup> + &hellip; + n<sup>m</sup>
for a fixed m and appear in many other places. This entry provides
three different definitions for them: a recursive one, an explicit
one, and one through their exponential generating function.</p>
<p>In addition, we prove some basic facts, e.g. their relation
to sums of powers of integers and that all odd Bernoulli numbers
except the first are zero, and some advanced facts like their
relationship to the Riemann zeta function on positive even
integers.</p>
<p>We also prove the correctness of the
Akiyama&ndash;Tanigawa algorithm for computing Bernoulli numbers
with reasonable efficiency, and we define the periodic Bernoulli
polynomials (which appear e.g. in the Euler&ndash;MacLaurin
summation formula and the expansion of the log-Gamma function) and
prove their basic properties.</p></div>BSD License<h3>Topics</h3>
<ul><li><a href="../topics/mathematics/analysis">Mathematics/Analysis</a></li><li><a href="../topics/mathematics/number-theory">Mathematics/Number theory</a></li></ul>
<h3>Theories of Bernoulli</h3>
<ul>
<li><a href="../theories/bernoulli/#Bernoulli">Bernoulli</a></li>
<li><a href="../theories/bernoulli/#Periodic_Bernpoly">Periodic_Bernpoly</a></li>
<li><a href="../theories/bernoulli/#Bernoulli_FPS">Bernoulli_FPS</a></li>
<li><a href="../theories/bernoulli/#Bernoulli_Zeta">Bernoulli_Zeta</a></li></ul><div class="flex-wrap">
<div>
<h3>Used by</h3>
- <ul class="horizontal-list"><li><a href="../entries/Lambert_W.html">The Lambert W Function on the Reals</a></li><li><a href="../entries/Zeta_Function.html">The Hurwitz and Riemann ζ Functions</a></li><li><a href="../entries/Euler_MacLaurin.html">The Euler–MacLaurin Formula</a></li><li><a href="../entries/Stirling_Formula.html">Stirling&rsquo;s formula</a></li></ul>
+ <ul class="horizontal-list"><li><a href="../entries/Khovanskii_Theorem.html">Khovanskii's Theorem</a></li><li><a href="../entries/Lambert_W.html">The Lambert W Function on the Reals</a></li><li><a href="../entries/Zeta_Function.html">The Hurwitz and Riemann ζ Functions</a></li><li><a href="../entries/Euler_MacLaurin.html">The Euler–MacLaurin Formula</a></li><li><a href="../entries/Stirling_Formula.html">Stirling&rsquo;s formula</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Bernoulli/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Bernoulli/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Bernoulli/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Bernoulli-AFP</p><pre id="copy-text">@article{Bernoulli-AFP,
author = {Lukas Bulwahn and Manuel Eberl},
title = {Bernoulli Numbers},
journal = {Archive of Formal Proofs},
month = {January},
year = {2017},
note = {\url{https://isa-afp.org/entries/Bernoulli.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Bernoulli-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Bernoulli-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bernoulli-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bernoulli-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bernoulli-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bernoulli-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bernoulli-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bernoulli-2017-01-24.tar.gz">Jan 24, 2017</a>: Isabelle2016-1
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Bicategory.html b/web/entries/Bicategory.html
--- a/web/entries/Bicategory.html
+++ b/web/entries/Bicategory.html
@@ -1,204 +1,219 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Bicategories - Archive of Formal Proofs</title><meta name="description" content=" Taking as a starting point the author&#39;s previous work on developing aspects of category theory in Isabelle/HOL, this article gives a compatible..."><meta property="og:title" content="Bicategories" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Bicategory.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2020-01-06T00:00:00+00:00" />
<meta property="article:modified_time" content="2020-01-06T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Bicategories"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>B</span>icategories</h1>
<div>
<p><a href="../authors/stark">Eugene W. Stark</a> <a class="obfuscated" data="eyJob3N0IjpbImNzIiwic3Rvbnlicm9vayIsImVkdSJdLCJ1c2VyIjpbInN0YXJrIl19">📧</a>
</p>
<p class="date">January 6, 2020</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process"><p>
Taking as a starting point the author's previous work on
developing aspects of category theory in Isabelle/HOL, this article
gives a compatible formalization of the notion of
"bicategory" and develops a framework within which formal
proofs of facts about bicategories can be given. The framework
includes a number of basic results, including the Coherence Theorem,
the Strictness Theorem, pseudofunctors and biequivalence, and facts
about internal equivalences and adjunctions in a bicategory. As a
driving application and demonstration of the utility of the framework,
it is used to give a formal proof of a theorem, due to Carboni,
Kasangian, and Street, that characterizes up to biequivalence the
bicategories of spans in a category with pullbacks. The formalization
effort necessitated the filling-in of many details that were not
evident from the brief presentation in the original paper, as well as
identifying a few minor corrections along the way.
</p><p>
Revisions made subsequent to the first version of this article added
additional material on pseudofunctors, pseudonatural transformations,
modifications, and equivalence of bicategories; the main thrust being
to give a proof that a pseudofunctor is a biequivalence if and only
if it can be extended to an equivalence of bicategories.
-</p></div>BSD License<h3>Topics</h3>
+</p></div>BSD License<h3>Change history</h3><p>
+ <h4>July 22, 2021</h4>
+ Added new material: "concrete bicategories" and "bicategory of categories".
+(revision 49d3aa43c180)<br>
+ </p><p>
+ <h4>November 4, 2020</h4>
+ Added new material on equivalence of bicategories, with associated changes.
+(revision 472cb2268826)<br>
+
+ </p><p>
+ <h4>February 15, 2020</h4>
+ Move ConcreteCategory.thy from Bicategory to Category3 and use it systematically.
+Make other minor improvements throughout.
+(revision a51840d36867)<br>
+
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/mathematics/category-theory">Mathematics/Category theory</a></li></ul>
<h3>Theories of Bicategory</h3>
<ul>
<li><a href="../theories/bicategory/#IsomorphismClass">IsomorphismClass</a></li>
<li><a href="../theories/bicategory/#Prebicategory">Prebicategory</a></li>
<li><a href="../theories/bicategory/#Bicategory">Bicategory</a></li>
<li><a href="../theories/bicategory/#Coherence">Coherence</a></li>
<li><a href="../theories/bicategory/#CanonicalIsos">CanonicalIsos</a></li>
<li><a href="../theories/bicategory/#Subbicategory">Subbicategory</a></li>
<li><a href="../theories/bicategory/#InternalEquivalence">InternalEquivalence</a></li>
<li><a href="../theories/bicategory/#Pseudofunctor">Pseudofunctor</a></li>
<li><a href="../theories/bicategory/#Strictness">Strictness</a></li>
<li><a href="../theories/bicategory/#InternalAdjunction">InternalAdjunction</a></li>
<li><a href="../theories/bicategory/#PseudonaturalTransformation">PseudonaturalTransformation</a></li>
<li><a href="../theories/bicategory/#EquivalenceOfBicategories">EquivalenceOfBicategories</a></li>
<li><a href="../theories/bicategory/#SpanBicategory">SpanBicategory</a></li>
<li><a href="../theories/bicategory/#Tabulation">Tabulation</a></li>
<li><a href="../theories/bicategory/#BicategoryOfSpans">BicategoryOfSpans</a></li>
<li><a href="../theories/bicategory/#Modification">Modification</a></li>
<li><a href="../theories/bicategory/#ConcreteBicategory">ConcreteBicategory</a></li>
<li><a href="../theories/bicategory/#CatBicat">CatBicat</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/MonoidalCategory.html">Monoidal Categories</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Bicategory/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Bicategory/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Bicategory/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Bicategory-AFP</p><pre id="copy-text">@article{Bicategory-AFP,
author = {Eugene W. Stark},
title = {Bicategories},
journal = {Archive of Formal Proofs},
month = {January},
year = {2020},
note = {\url{https://isa-afp.org/entries/Bicategory.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Bicategory-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Bicategory-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bicategory-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bicategory-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bicategory-2020-01-09.tar.gz">Jan 9, 2020</a>: Isabelle2019
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Bounded_Deducibility_Security.html b/web/entries/Bounded_Deducibility_Security.html
--- a/web/entries/Bounded_Deducibility_Security.html
+++ b/web/entries/Bounded_Deducibility_Security.html
@@ -1,198 +1,207 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Bounded-Deducibility Security - Archive of Formal Proofs</title><meta name="description" content="This is a formalization of bounded-deducibility security (BD
security), a flexible notion of information-flow security applicable
to arbitrary transition..."><meta property="og:title" content="Bounded-Deducibility Security" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Bounded_Deducibility_Security.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2014-04-22T00:00:00+00:00" />
<meta property="article:modified_time" content="2014-04-22T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Bounded-Deducibility Security"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>B</span>ounded-<span class='first'>D</span>educibility <span class='first'>S</span>ecurity</h1>
<div>
<p><a href="../authors/popescu">Andrei Popescu</a> <a href="https://www.andreipopescu.uk">🌐</a>, <a href="../authors/lammich">Peter Lammich</a> <a href="http://www21.in.tum.de/~lammich">🌐</a> and <a href="../authors/bauereiss">Thomas Bauereiss</a> <a class="obfuscated" data="eyJob3N0IjpbImJhdWVyZWlzcyIsIm5hbWUiXSwidXNlciI6WyJ0aG9tYXMiXX0=">📧</a>
</p>
<p class="date">April 22, 2014</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">This is a formalization of bounded-deducibility security (BD
security), a flexible notion of information-flow security applicable
to arbitrary transition systems. It generalizes Sutherland's
classic notion of nondeducibility by factoring in declassification
bounds and trigger, whereas nondeducibility states that, in a
system, information cannot flow between specified sources and sinks,
BD security indicates upper bounds for the flow and triggers under
-which these upper bounds are no longer guaranteed.</div>BSD License<h3>Topics</h3>
+which these upper bounds are no longer guaranteed.</div>BSD License<h3>Change history</h3><p>
+ <h4>August 12, 2021</h4>
+ Generalised BD Security from I/O automata to nondeterministic
+transition systems, with the former retained as an instance of the
+latter (renaming locale BD_Security to BD_Security_IO).
+Generalise unwinding conditions to allow making more than one
+transition at a time when constructing alternative traces.
+Add results about the expressivity of declassification triggers vs.
+bounds, due to Thomas Bauereiss (added as author).
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/security">Computer science/Security</a></li></ul>
<h3>Theories of Bounded_Deducibility_Security</h3>
<ul>
<li><a href="../theories/bounded_deducibility_security/#Trivia">Trivia</a></li>
<li><a href="../theories/bounded_deducibility_security/#Filtermap">Filtermap</a></li>
<li><a href="../theories/bounded_deducibility_security/#Transition_System">Transition_System</a></li>
<li><a href="../theories/bounded_deducibility_security/#IO_Automaton">IO_Automaton</a></li>
<li><a href="../theories/bounded_deducibility_security/#Abstract_BD_Security">Abstract_BD_Security</a></li>
<li><a href="../theories/bounded_deducibility_security/#BD_Security_TS">BD_Security_TS</a></li>
<li><a href="../theories/bounded_deducibility_security/#BD_Security_IO">BD_Security_IO</a></li>
<li><a href="../theories/bounded_deducibility_security/#BD_Security_Triggers">BD_Security_Triggers</a></li>
<li><a href="../theories/bounded_deducibility_security/#BD_Security_Unwinding">BD_Security_Unwinding</a></li>
<li><a href="../theories/bounded_deducibility_security/#Compositional_Reasoning">Compositional_Reasoning</a></li>
<li><a href="../theories/bounded_deducibility_security/#Bounded_Deducibility_Security">Bounded_Deducibility_Security</a></li></ul><div class="flex-wrap">
<div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/CoCon.html">CoCon: A Confidentiality-Verified Conference Management System</a></li><li><a href="../entries/BD_Security_Compositional.html">Compositional BD Security</a></li><li><a href="../entries/CoSMed.html">CoSMed: A confidentiality-verified social media platform</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Bounded_Deducibility_Security/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Bounded_Deducibility_Security/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Bounded_Deducibility_Security/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Bounded_Deducibility_Security-AFP</p><pre id="copy-text">@article{Bounded_Deducibility_Security-AFP,
author = {Andrei Popescu and Peter Lammich and Thomas Bauereiss},
title = {Bounded-Deducibility Security},
journal = {Archive of Formal Proofs},
month = {April},
year = {2014},
note = {\url{https://isa-afp.org/entries/Bounded_Deducibility_Security.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Bounded_Deducibility_Security-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Bounded_Deducibility_Security-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bounded_Deducibility_Security-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bounded_Deducibility_Security-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bounded_Deducibility_Security-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bounded_Deducibility_Security-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bounded_Deducibility_Security-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bounded_Deducibility_Security-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bounded_Deducibility_Security-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bounded_Deducibility_Security-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bounded_Deducibility_Security-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Bounded_Deducibility_Security-2014-04-24.tar.gz">Apr 24, 2014</a>: Isabelle2013-2
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/CRYSTALS-Kyber.html b/web/entries/CRYSTALS-Kyber.html
new file mode 100644
--- /dev/null
+++ b/web/entries/CRYSTALS-Kyber.html
@@ -0,0 +1,176 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1"><title>CRYSTALS-Kyber - Archive of Formal Proofs</title><meta name="description" content="This article formalizes the specification and the algorithm of the
+cryptographic scheme CRYSTALS-KYBER with multiplication using the
+Number Theoretic..."><meta property="og:title" content="CRYSTALS-Kyber" />
+<meta property="og:description" content="" />
+<meta property="og:type" content="article" />
+<meta property="og:url" content="/entries/CRYSTALS-Kyber.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
+<meta property="article:published_time" content="2022-09-08T00:00:00+00:00" />
+<meta property="article:modified_time" content="2022-09-08T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
+
+<meta name="twitter:card" content="summary_large_image"/>
+<meta name="twitter:image" content="/images/afp.png"/>
+
+<meta name="twitter:title" content="CRYSTALS-Kyber"/>
+<meta name="twitter:description" content=""/>
+
+
+ <link rel="stylesheet" type="text/css" href="../css/front.min.css">
+
+ <link rel="icon" href="../images/favicon.ico" type="image/icon">
+ <script>
+ MathJax = {
+ tex: {
+ inlineMath: [['$', '$'], ['\\(', '\\)']]
+ },
+ processEscapes: true,
+ svg: {
+ fontCache: 'global'
+ }
+ };
+ </script>
+ <script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
+ <script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
+ <script src="../js/flexsearch.bundle.js"></script>
+ <script src="../js/scroll-spy.js"></script>
+ <script src="../js/theory.js"></script>
+ <script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
+</head>
+
+
+<body class='mathjax_ignore '>
+ <aside>
+ <div id="menu-toggle">
+ <input id="toggle" type="checkbox" />
+ <label for="toggle">
+ <span>menu</span>
+ <img src="../images/menu.svg" alt="Menu" />
+ </label>
+
+ <a href="../" class='logo-link'>
+ <img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
+ </a>
+
+ <a href="../search"><img src="../images/search.svg" alt="Search" /></a>
+ <nav id="menu">
+ <div>
+ <a href="../" class='logo-link'>
+ <img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
+ </a>
+ <ul>
+ <a href="../"><li >Home</li></a>
+ <a href="../topics/"><li >Topics</li></a>
+ <a href="../download/"><li >Download</li></a>
+ <a href="../help/"><li >Help</li></a>
+ <a href="../submission/"><li >Submission</li></a>
+ <a href="../statistics/"><li >Statistics</li></a>
+ <a href="../about/"><li >About</li></a>
+ </ul>
+ </div>
+ </nav>
+</div>
+ </aside>
+
+ <div
+ class='content entries'><header>
+ <form autocomplete="off" action="../search">
+ <div class='form-container'>
+ <input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
+ id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
+ <datalist id="autocomplete">
+ </datalist>
+ </div>
+ </form>
+ <h1 >
+ <span class='first'>C</span><span class='first'>R</span><span class='first'>Y</span><span class='first'>S</span><span class='first'>T</span><span class='first'>A</span><span class='first'>L</span><span class='first'>S</span>-<span class='first'>K</span>yber</h1>
+ <div>
+
+ <p><a href="../authors/kreuzer">Katharina Kreuzer</a> <a class="obfuscated" data="eyJob3N0IjpbInR1bSIsImRlIl0sInVzZXIiOlsiayIsImtyZXV6ZXIiXX0=">📧</a>
+ </p>
+
+
+ <p class="date">September 8, 2022</p>
+
+ </div>
+</header><div><main><h3>Abstract</h3>
+
+ <div class="abstract mathjax_process">This article formalizes the specification and the algorithm of the
+cryptographic scheme CRYSTALS-KYBER with multiplication using the
+Number Theoretic Transform and verifies its (1-δ)-correctness proof.
+CRYSTALS-KYBER is a key encapsulation mechanism in lattice-based
+post-quantum cryptography. This entry formalizes the key generation,
+encryption and decryption algorithms and shows that the algorithm
+decodes correctly under a highly probable assumption
+((1-δ)-correctness). Moreover, the Number Theoretic Transform (NTT) in
+the case of Kyber and the convolution theorem thereon is formalized.</div>BSD License<h3>Topics</h3>
+ <ul><li><a href="../topics/computer-science/security">Computer science/Security</a></li></ul>
+ <h3>Theories of CRYSTALS-Kyber</h3>
+ <ul>
+ <li><a href="../theories/crystals-kyber/#Kyber_spec">Kyber_spec</a></li>
+ <li><a href="../theories/crystals-kyber/#Mod_Plus_Minus">Mod_Plus_Minus</a></li>
+ <li><a href="../theories/crystals-kyber/#Abs_Qr">Abs_Qr</a></li>
+ <li><a href="../theories/crystals-kyber/#Compress">Compress</a></li>
+ <li><a href="../theories/crystals-kyber/#Crypto_Scheme">Crypto_Scheme</a></li>
+ <li><a href="../theories/crystals-kyber/#Kyber_Values">Kyber_Values</a></li>
+ <li><a href="../theories/crystals-kyber/#Mod_Ring_Numeral">Mod_Ring_Numeral</a></li>
+ <li><a href="../theories/crystals-kyber/#NTT_Scheme">NTT_Scheme</a></li>
+ <li><a href="../theories/crystals-kyber/#Crypto_Scheme_NTT">Crypto_Scheme_NTT</a></li>
+ <li><a href="../theories/crystals-kyber/#Powers3844">Powers3844</a></li>
+ <li><a href="../theories/crystals-kyber/#Kyber_NTT_Values">Kyber_NTT_Values</a></li></ul><div class="flex-wrap">
+ <div>
+ <h3>Depends On</h3>
+ <ul class="horizontal-list"><li><a href="../entries/Berlekamp_Zassenhaus.html">The Factorization Algorithm of Berlekamp and Zassenhaus</a></li><li><a href="../entries/Number_Theoretic_Transform.html">Number Theoretic Transform</a></li></ul>
+ </div>
+
+ </div>
+</main>
+
+<nav class='links'>
+ <a class='popup-button' href="#cite-popup">Cite</a>
+ <a class='popup-button' href="#download-popup">Download</a>
+ <h4>PDFs</h4>
+ <a href="https://www.isa-afp.org/browser_info/current/AFP/CRYSTALS-Kyber/outline.pdf">Proof
+ outline</a>
+ <a href="https://www.isa-afp.org/browser_info/current/AFP/CRYSTALS-Kyber/document.pdf">Proof
+ document</a>
+ <a href="https://www.isa-afp.org/browser_info/current/AFP/CRYSTALS-Kyber/session_graph.pdf">Dependencies</a></nav>
+
+<div id="cite-popup" class="overlay">
+ <a class="cancel" href="#"></a>
+ <div class="popup">
+ <h2>Cite</h2>
+ <a class="close" href="#">&times;</a>
+ <div>
+ <p style="display:none;" id="bibtex-filename">CRYSTALS-Kyber-AFP</p><pre id="copy-text">@article{CRYSTALS-Kyber-AFP,
+ author = {Katharina Kreuzer},
+ title = {CRYSTALS-Kyber},
+ journal = {Archive of Formal Proofs},
+ month = {September},
+ year = {2022},
+ note = {\url{https://isa-afp.org/entries/CRYSTALS-Kyber.html},
+ Formal proof development},
+ ISSN = {2150-914x},
+}</pre>
+ <button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
+ </div>
+ </div>
+</div>
+
+<div id="download-popup" class="overlay">
+ <a class="cancel" href="#"></a>
+ <div class="popup">
+ <h2>Download</h2>
+ <a class="close" href="#">&times;</a>
+ <a href="https://www.isa-afp.org/release//afp-CRYSTALS-Kyber-current.tar.gz" download>Download latest</a>
+
+ </div>
+</div>
+ </div>
+ </div>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/web/entries/Category3.html b/web/entries/Category3.html
--- a/web/entries/Category3.html
+++ b/web/entries/Category3.html
@@ -1,252 +1,282 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Category Theory with Adjunctions and Limits - Archive of Formal Proofs</title><meta name="description" content=" This article attempts to develop a usable framework for doing category theory in Isabelle/HOL. Our point of view, which to some extent differs from that..."><meta property="og:title" content="Category Theory with Adjunctions and Limits" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Category3.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2016-06-26T00:00:00+00:00" />
<meta property="article:modified_time" content="2016-06-26T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Category Theory with Adjunctions and Limits"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>ategory <span class='first'>T</span>heory <span class='first'>W</span>ith <span class='first'>A</span>djunctions and <span class='first'>L</span>imits</h1>
<div>
<p><a href="../authors/stark">Eugene W. Stark</a> <a class="obfuscated" data="eyJob3N0IjpbImNzIiwic3Rvbnlicm9vayIsImVkdSJdLCJ1c2VyIjpbInN0YXJrIl19">📧</a>
</p>
<p class="date">June 26, 2016</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process"><p>
This article attempts to develop a usable framework for doing category
theory in Isabelle/HOL. Our point of view, which to some extent
differs from that of the previous AFP articles on the subject, is to
try to explore how category theory can be done efficaciously within
HOL, rather than trying to match exactly the way things are done using
a traditional approach. To this end, we define the notion of category
in an "object-free" style, in which a category is represented by a
single partial composition operation on arrows. This way of defining
categories provides some advantages in the context of HOL, including
the ability to avoid the use of records and the possibility of
defining functors and natural transformations simply as certain
functions on arrows, rather than as composite objects. We define
various constructions associated with the basic notions, including:
dual category, product category, functor category, discrete category,
free category, functor composition, and horizontal and vertical
composite of natural transformations. A "set category" locale is
defined that axiomatizes the notion "category of all sets at a type
and all functions between them," and a fairly extensive set of
properties of set categories is derived from the locale assumptions.
The notion of a set category is used to prove the Yoneda Lemma in a
general setting of a category equipped with a "hom embedding," which
maps arrows of the category to the "universe" of the set category. We
also give a treatment of adjunctions, defining adjunctions via left
and right adjoint functors, natural bijections between hom-sets, and
unit and counit natural transformations, and showing the equivalence
of these definitions. We also develop the theory of limits, including
representations of functors, diagrams and cones, and diagonal
functors. We show that right adjoint functors preserve limits, and
that limits can be constructed via products and equalizers. We
characterize the conditions under which limits exist in a set
category. We also examine the case of limits in a functor category,
ultimately culminating in a proof that the Yoneda embedding preserves
limits.
</p><p>
Revisions made subsequent to the first version of this article added
material on equivalence of categories, cartesian categories,
categories with pullbacks, categories with finite limits, and
cartesian closed categories. A construction was given of the category
of hereditarily finite sets and functions between them, and it was
shown that this category is cartesian closed.
-</p></div>BSD License<h3>Topics</h3>
+Using "ZFC_in_HOL", a construction was also given of the (large)
+category of small sets and functions between them, and it was shown
+that this category is small-complete.
+</p></div>BSD License<h3>Change history</h3><p>
+ <h4>July 22, 2021</h4>
+ Minor changes to sublocale declarations related to functor/natural transformation to
+avoid issues with global interpretations reported 2/2/2021 by Filip Smola.
+(revision 49d3aa43c180)<br>
+ </p><p>
+ <h4>November 4, 2020</h4>
+ Minor modifications and extensions made in conjunction with the addition
+of new material to Bicategory.
+(revision 472cb2268826)<br>
+
+ </p><p>
+ <h4>July 10, 2020</h4>
+ Added new material, mostly centered around cartesian categories.
+(revision 06640f317a79)<br>
+
+ </p><p>
+ <h4>February 15, 2020</h4>
+ Move ConcreteCategory.thy from Bicategory to Category3 and use it systematically.
+Make other minor improvements throughout.
+(revision a51840d36867)<br>
+
+ </p><p>
+ <h4>May 29, 2018</h4>
+ Revised axioms for the category locale. Introduced notation for composition and "in hom".
+(revision 8318366d4575)<br>
+
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/mathematics/category-theory">Mathematics/Category theory</a></li></ul>
<h3>Theories of Category3</h3>
<ul>
<li><a href="../theories/category3/#Category">Category</a></li>
<li><a href="../theories/category3/#DualCategory">DualCategory</a></li>
<li><a href="../theories/category3/#ConcreteCategory">ConcreteCategory</a></li>
<li><a href="../theories/category3/#EpiMonoIso">EpiMonoIso</a></li>
<li><a href="../theories/category3/#InitialTerminal">InitialTerminal</a></li>
<li><a href="../theories/category3/#Functor">Functor</a></li>
<li><a href="../theories/category3/#Subcategory">Subcategory</a></li>
<li><a href="../theories/category3/#SetCategory">SetCategory</a></li>
<li><a href="../theories/category3/#SetCat">SetCat</a></li>
<li><a href="../theories/category3/#ProductCategory">ProductCategory</a></li>
<li><a href="../theories/category3/#NaturalTransformation">NaturalTransformation</a></li>
<li><a href="../theories/category3/#BinaryFunctor">BinaryFunctor</a></li>
<li><a href="../theories/category3/#FunctorCategory">FunctorCategory</a></li>
<li><a href="../theories/category3/#Yoneda">Yoneda</a></li>
<li><a href="../theories/category3/#Adjunction">Adjunction</a></li>
<li><a href="../theories/category3/#EquivalenceOfCategories">EquivalenceOfCategories</a></li>
<li><a href="../theories/category3/#FreeCategory">FreeCategory</a></li>
<li><a href="../theories/category3/#DiscreteCategory">DiscreteCategory</a></li>
<li><a href="../theories/category3/#Limit">Limit</a></li>
+ <li><a href="../theories/category3/#CategoryWithPullbacks">CategoryWithPullbacks</a></li>
<li><a href="../theories/category3/#CartesianCategory">CartesianCategory</a></li>
- <li><a href="../theories/category3/#CategoryWithPullbacks">CategoryWithPullbacks</a></li>
<li><a href="../theories/category3/#CategoryWithFiniteLimits">CategoryWithFiniteLimits</a></li>
<li><a href="../theories/category3/#CartesianClosedCategory">CartesianClosedCategory</a></li>
<li><a href="../theories/category3/#HFSetCat">HFSetCat</a></li>
<li><a href="../theories/category3/#ZFC_SetCat">ZFC_SetCat</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/HereditarilyFinite.html">The Hereditarily Finite Sets</a></li><li><a href="../entries/ZFC_in_HOL.html">Zermelo Fraenkel Set Theory in Higher-Order Logic</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/MonoidalCategory.html">Monoidal Categories</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/MonoidalCategory.html">Monoidal Categories</a></li>
<li><a href="../entries/Incompleteness.html">Gödel&rsquo;s Incompleteness Theorems</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Category3/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Category3/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Category3/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Category3-AFP</p><pre id="copy-text">@article{Category3-AFP,
author = {Eugene W. Stark},
title = {Category Theory with Adjunctions and Limits},
journal = {Archive of Formal Proofs},
month = {June},
year = {2016},
note = {\url{https://isa-afp.org/entries/Category3.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Category3-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Category3-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Category3-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Category3-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Category3-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Category3-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Category3-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Category3-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Category3-2016-06-26.tar.gz">Jun 26, 2016</a>: Isabelle2016
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Circus.html b/web/entries/Circus.html
--- a/web/entries/Circus.html
+++ b/web/entries/Circus.html
@@ -1,198 +1,198 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Isabelle/Circus - Archive of Formal Proofs</title><meta name="description" content="The Circus specification language combines elements for complex data and behavior specifications, using an integration of Z and CSP with a refinement..."><meta property="og:title" content="Isabelle/Circus" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Circus.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2012-05-27T00:00:00+00:00" />
<meta property="article:modified_time" content="2012-05-27T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Isabelle/Circus"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>I</span>sabelle/<span class='first'>C</span>ircus</h1>
<div>
<p><a href="../authors/feliachi">Abderrahmane Feliachi</a> <a class="obfuscated" data="eyJob3N0IjpbImxyaSIsImZyIl0sInVzZXIiOlsiYWJkZXJyYWhtYW5lIiwiZmVsaWFjaGkiXX0=">📧</a>, <a href="../authors/wolff">Burkhart Wolff</a> <a class="obfuscated" data="eyJob3N0IjpbImxyaSIsImZyIl0sInVzZXIiOlsiYnVya2hhcnQiLCJ3b2xmZiJdfQ==">📧</a> and <a href="../authors/gaudel">Marie-Claude Gaudel</a> <a class="obfuscated" data="eyJob3N0IjpbImxyaSIsImZyIl0sInVzZXIiOlsibWNnIl19">📧</a>
- with contributions from <a href="../authors/wenzel">Makarius Wenzel</a> <a class="obfuscated" data="eyJob3N0IjpbImxyaSIsImZyIl0sInVzZXIiOlsiTWFrYXJpdXMiLCJ3ZW56ZWwiXX0=">📧</a>
+ with contributions from <a href="../authors/wenzel">Makarius Wenzel</a> <a class="obfuscated" data="eyJob3N0IjpbInNrZXRpcyIsIm5ldCJdLCJ1c2VyIjpbIm1ha2FyaXVzIl19">📧</a>
</p>
<p class="date">May 27, 2012</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">The Circus specification language combines elements for complex data and behavior specifications, using an integration of Z and CSP with a refinement calculus. Its semantics is based on Hoare and He's Unifying Theories of Programming (UTP). Isabelle/Circus is a formalization of the UTP and the Circus language in Isabelle/HOL. It contains proof rules and tactic support that allows for proofs of refinement for Circus processes (involving both data and behavioral aspects).
<p>
The Isabelle/Circus environment supports a syntax for the semantic definitions which is close to textbook presentations of Circus. This article contains an extended version of corresponding VSTTE Paper together with the complete formal development of its underlying commented theories.</div>BSD License<h3>Change history</h3><p>
<h4>June 5, 2014</h4>
More polishing, shorter proofs, added Circus syntax, added Makarius Wenzel as contributor.
</p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/concurrency/process-calculi">Computer science/Concurrency/Process calculi</a></li><li><a href="../topics/computer-science/system-description-languages">Computer science/System description languages</a></li></ul>
<h3>Theories of Circus</h3>
<ul>
<li><a href="../theories/circus/#Var">Var</a></li>
<li><a href="../theories/circus/#Relations">Relations</a></li>
<li><a href="../theories/circus/#Designs">Designs</a></li>
<li><a href="../theories/circus/#Reactive_Processes">Reactive_Processes</a></li>
<li><a href="../theories/circus/#CSP_Processes">CSP_Processes</a></li>
<li><a href="../theories/circus/#Circus_Actions">Circus_Actions</a></li>
<li><a href="../theories/circus/#Var_list">Var_list</a></li>
<li><a href="../theories/circus/#Denotational_Semantics">Denotational_Semantics</a></li>
<li><a href="../theories/circus/#Circus_Syntax">Circus_Syntax</a></li>
<li><a href="../theories/circus/#Refinement">Refinement</a></li>
<li><a href="../theories/circus/#Refinement_Example">Refinement_Example</a></li></ul><div class="flex-wrap">
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Circus/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Circus/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Circus/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Circus-AFP</p><pre id="copy-text">@article{Circus-AFP,
author = {Abderrahmane Feliachi and Burkhart Wolff and Marie-Claude Gaudel},
title = {Isabelle/Circus},
journal = {Archive of Formal Proofs},
month = {May},
year = {2012},
note = {\url{https://isa-afp.org/entries/Circus.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Circus-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Circus-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Circus-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Circus-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Circus-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Circus-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Circus-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Circus-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Circus-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Circus-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Circus-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Circus-2013-12-11.tar.gz">Dec 11, 2013</a>: Isabelle2013-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Circus-2013-11-17.tar.gz">Nov 17, 2013</a>: Isabelle2013-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Circus-2013-02-16.tar.gz">Feb 16, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-Circus-2012-05-29.tar.gz">May 29, 2012</a>: Isabelle2012
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Coinductive.html b/web/entries/Coinductive.html
--- a/web/entries/Coinductive.html
+++ b/web/entries/Coinductive.html
@@ -1,216 +1,269 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Coinductive - Archive of Formal Proofs</title><meta name="description" content="This article collects formalisations of general-purpose coinductive data types and sets. Currently, it contains coinductive natural numbers, coinductive..."><meta property="og:title" content="Coinductive" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Coinductive.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2010-02-12T00:00:00+00:00" />
<meta property="article:modified_time" content="2010-02-12T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Coinductive"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>oinductive</h1>
<div>
<p><a href="../authors/lochbihler">Andreas Lochbihler</a> <a href="http://www.andreas-lochbihler.de/">🌐</a>
with contributions from <a href="../authors/hoelzl">Johannes Hölzl</a> <a class="obfuscated" data="eyJob3N0IjpbImluIiwidHVtIiwiZGUiXSwidXNlciI6WyJob2VsemwiXX0=">📧</a>
</p>
<p class="date">February 12, 2010</p>
</div>
</header><div><main><h3>Abstract</h3>
- <div class="abstract mathjax_process">This article collects formalisations of general-purpose coinductive data types and sets. Currently, it contains coinductive natural numbers, coinductive lists, i.e. lazy lists or streams, infinite streams, coinductive terminated lists, coinductive resumptions, a library of operations on coinductive lists, and a version of König's lemma as an application for coinductive lists.<br>The initial theory was contributed by Paulson and Wenzel. Extensions and other coinductive formalisations of general interest are welcome.</div>BSD License<h3>Topics</h3>
+ <div class="abstract mathjax_process">This article collects formalisations of general-purpose coinductive data types and sets. Currently, it contains coinductive natural numbers, coinductive lists, i.e. lazy lists or streams, infinite streams, coinductive terminated lists, coinductive resumptions, a library of operations on coinductive lists, and a version of König's lemma as an application for coinductive lists.<br>The initial theory was contributed by Paulson and Wenzel. Extensions and other coinductive formalisations of general interest are welcome.</div>BSD License<h3>Change history</h3><p>
+ <h4>April 3, 2014</h4>
+ ccpo structure on codatatypes used to define ldrop, ldropWhile, lfilter, lconcat as least fixpoint;
+ccpo topology on coinductive lists contributed by Johannes Hölzl;
+added examples
+(revision 23cd8156bd42)<br>
+ </p><p>
+ <h4>September 20, 2013</h4>
+ stream theory uses type and operations from HOL/BNF/Examples/Stream
+(revision 692809b2b262)<br>
+
+ </p><p>
+ <h4>March 13, 2013</h4>
+ construct codatatypes with the BNF package and adjust the definitions and proofs,
+setup for lifting and transfer packages
+(revision f593eda5b2c0)<br>
+
+ </p><p>
+ <h4>June 27, 2012</h4>
+ new codatatype stream with operations (with contributions by Peter Gammie)
+(revision dd789a56473c)<br>
+
+ </p><p>
+ <h4>July 20, 2011</h4>
+ new codatatype resumption
+(revision 811364c776c7)<br>
+
+ </p><p>
+ <h4>February 1, 2011</h4>
+ lazy implementation of coinductive (terminated) lists for the code generator
+(revision 6034973dce83)<br>
+
+ </p><p>
+ <h4>August 17, 2010</h4>
+ Koenig's lemma as an example application for coinductive lists
+(revision f81ce373fa96)<br>
+
+ </p><p>
+ <h4>August 4, 2010</h4>
+ terminated lazy lists: setup for quotient package;
+more lemmas
+(revision 6ead626f1d01)<br>
+
+ </p><p>
+ <h4>June 28, 2010</h4>
+ new codatatype terminated lazy lists
+(revision e12de475c558)<br>
+
+ </p><p>
+ <h4>June 10, 2010</h4>
+ coinductive lists: setup for quotient package
+(revision 015574f3bf3c)<br>
+
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/functional-programming">Computer science/Functional programming</a></li></ul>
<h3>Theories of Coinductive</h3>
<ul>
<li><a href="../theories/coinductive/#Coinductive_Nat">Coinductive_Nat</a></li>
<li><a href="../theories/coinductive/#Coinductive_List">Coinductive_List</a></li>
<li><a href="../theories/coinductive/#Coinductive_List_Prefix">Coinductive_List_Prefix</a></li>
<li><a href="../theories/coinductive/#Coinductive_Stream">Coinductive_Stream</a></li>
<li><a href="../theories/coinductive/#TLList">TLList</a></li>
<li><a href="../theories/coinductive/#Quotient_Coinductive_List">Quotient_Coinductive_List</a></li>
<li><a href="../theories/coinductive/#Quotient_TLList">Quotient_TLList</a></li>
<li><a href="../theories/coinductive/#Coinductive">Coinductive</a></li>
<li><a href="../theories/coinductive/#Lazy_LList">Lazy_LList</a></li>
<li><a href="../theories/coinductive/#Lazy_TLList">Lazy_TLList</a></li>
<li><a href="../theories/coinductive/#CCPO_Topology">CCPO_Topology</a></li>
<li><a href="../theories/coinductive/#LList_CCPO_Topology">LList_CCPO_Topology</a></li>
<li><a href="../theories/coinductive/#TLList_CCPO">TLList_CCPO</a></li>
<li><a href="../theories/coinductive/#TLList_CCPO_Examples">TLList_CCPO_Examples</a></li>
<li><a href="../theories/coinductive/#Koenigslemma">Koenigslemma</a></li>
<li><a href="../theories/coinductive/#LMirror">LMirror</a></li>
<li><a href="../theories/coinductive/#Hamming_Stream">Hamming_Stream</a></li>
<li><a href="../theories/coinductive/#Resumption">Resumption</a></li>
<li><a href="../theories/coinductive/#Coinductive_Examples">Coinductive_Examples</a></li></ul><div class="flex-wrap">
<div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Partial_Order_Reduction.html">Partial Order Reduction</a></li><li><a href="../entries/CakeML.html">CakeML</a></li><li><a href="../entries/Ordered_Resolution_Prover.html">Formalization of Bachmair and Ganzinger&rsquo;s Ordered Resolution Prover</a></li><li><a href="../entries/DynamicArchitectures.html">Dynamic Architectures</a></li><li><a href="../entries/CryptHOL.html">CryptHOL</a></li><li><a href="../entries/Parity_Game.html">Positional Determinacy of Parity Games</a></li><li><a href="../entries/Stream_Fusion_Code.html">Stream Fusion in HOL with Code Generation</a></li><li><a href="../entries/Probabilistic_Noninterference.html">Probabilistic Noninterference</a></li><li><a href="../entries/Markov_Models.html">Markov Models</a></li><li><a href="../entries/JinjaThreads.html">Jinja with Threads</a></li><li><a href="../entries/Lazy-Lists-II.html">Lazy Lists II</a></li><li><a href="../entries/Topology.html">Topology</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Coinductive/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Coinductive/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Coinductive/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Coinductive-AFP</p><pre id="copy-text">@article{Coinductive-AFP,
author = {Andreas Lochbihler},
title = {Coinductive},
journal = {Archive of Formal Proofs},
month = {February},
year = {2010},
note = {\url{https://isa-afp.org/entries/Coinductive.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Coinductive-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2013-12-11.tar.gz">Dec 11, 2013</a>: Isabelle2013-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2013-11-17.tar.gz">Nov 17, 2013</a>: Isabelle2013-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2013-03-02.tar.gz">Mar 2, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2013-02-16.tar.gz">Feb 16, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2012-05-24.tar.gz">May 24, 2012</a>: Isabelle2012
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2011-10-11.tar.gz">Oct 11, 2011</a>: Isabelle2011-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2011-02-11.tar.gz">Feb 11, 2011</a>: Isabelle2011
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2010-06-30.tar.gz">Jun 30, 2010</a>: Isabelle2009-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2010-02-15.tar.gz">Feb 15, 2010</a>: Isabelle2009-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Coinductive-2010-02-14.tar.gz">Feb 14, 2010</a>: Isabelle2009-1
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Collections.html b/web/entries/Collections.html
--- a/web/entries/Collections.html
+++ b/web/entries/Collections.html
@@ -1,372 +1,370 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Collections Framework - Archive of Formal Proofs</title><meta name="description" content="This development provides an efficient, extensible, machine checked collections framework. The library adopts the concepts of interface, implementation and..."><meta property="og:title" content="Collections Framework" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Collections.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2009-11-25T00:00:00+00:00" />
<meta property="article:modified_time" content="2009-11-25T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Collections Framework"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>ollections <span class='first'>F</span>ramework</h1>
<div>
<p><a href="../authors/lammich">Peter Lammich</a> <a href="http://www21.in.tum.de/~lammich">🌐</a>
with contributions from <a href="../authors/lochbihler">Andreas Lochbihler</a> <a href="http://www.andreas-lochbihler.de/">🌐</a> and <a href="../authors/tuerk">Thomas Tuerk</a>
</p>
<p class="date">November 25, 2009</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">This development provides an efficient, extensible, machine checked collections framework. The library adopts the concepts of interface, implementation and generic algorithm from object-oriented programming and implements them in Isabelle/HOL. The framework features the use of data refinement techniques to refine an abstract specification (using high-level concepts like sets) to a more concrete implementation (using collection datastructures, like red-black-trees). The code-generator of Isabelle/HOL can be used to generate efficient code.</div>BSD License<h3>Change history</h3><p>
<h4>April 25, 2012</h4>
New iterator foundation by Tuerk. Various maintenance changes.<br>
-
</p><p>
<h4>October 10, 2011</h4>
SetSpec: Added operations: sng, isSng, bexists, size_abort, diff, filter, iterate_rule_insertP
MapSpec: Added operations: sng, isSng, iterate_rule_insertP, bexists, size, size_abort, restrict,
map_image_filter, map_value_image_filter
Some maintenance changes<br>
</p><p>
<h4>December 1, 2010</h4>
New Interfaces: Priority Queues, Annotated Lists. Implemented by finger trees, (skew) binomial queues.<br>
-
</p><p>
<h4>October 8, 2010</h4>
New Interfaces: OrderedSet, OrderedMap, List.
Fifo now implements list-interface: Function names changed: put/get --> enqueue/dequeue.
New Implementations: ArrayList, ArrayHashMap, ArrayHashSet, TrieMap, TrieSet.
Invariant-free datastructures: Invariant implicitely hidden in typedef.
Record-interfaces: All operations of an interface encapsulated as record.
Examples moved to examples subdirectory.<br>
</p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/data-structures">Computer science/Data structures</a></li></ul>
<h3>Theories of Collections</h3>
<ul>
<li><a href="../theories/collections/#Sorted_List_Operations">Sorted_List_Operations</a></li>
<li><a href="../theories/collections/#HashCode">HashCode</a></li>
<li><a href="../theories/collections/#Code_Target_ICF">Code_Target_ICF</a></li>
<li><a href="../theories/collections/#SetIterator">SetIterator</a></li>
<li><a href="../theories/collections/#SetIteratorOperations">SetIteratorOperations</a></li>
<li><a href="../theories/collections/#Proper_Iterator">Proper_Iterator</a></li>
<li><a href="../theories/collections/#It_to_It">It_to_It</a></li>
<li><a href="../theories/collections/#SetIteratorGA">SetIteratorGA</a></li>
<li><a href="../theories/collections/#Gen_Iterator">Gen_Iterator</a></li>
<li><a href="../theories/collections/#Idx_Iterator">Idx_Iterator</a></li>
<li><a href="../theories/collections/#Iterator">Iterator</a></li>
<li><a href="../theories/collections/#RBT_add">RBT_add</a></li>
<li><a href="../theories/collections/#Dlist_add">Dlist_add</a></li>
<li><a href="../theories/collections/#Assoc_List">Assoc_List</a></li>
<li><a href="../theories/collections/#Diff_Array">Diff_Array</a></li>
<li><a href="../theories/collections/#Partial_Equivalence_Relation">Partial_Equivalence_Relation</a></li>
<li><a href="../theories/collections/#ICF_Tools">ICF_Tools</a></li>
<li><a href="../theories/collections/#Ord_Code_Preproc">Ord_Code_Preproc</a></li>
<li><a href="../theories/collections/#Record_Intf">Record_Intf</a></li>
<li><a href="../theories/collections/#Locale_Code">Locale_Code</a></li>
<li><a href="../theories/collections/#ICF_Spec_Base">ICF_Spec_Base</a></li>
<li><a href="../theories/collections/#MapSpec">MapSpec</a></li>
<li><a href="../theories/collections/#Robdd">Robdd</a></li>
<li><a href="../theories/collections/#Locale_Code_Ex">Locale_Code_Ex</a></li>
<li><a href="../theories/collections/#DatRef">DatRef</a></li>
<li><a href="../theories/collections/#SetAbstractionIterator">SetAbstractionIterator</a></li>
<li><a href="../theories/collections/#GenCF_Chapter">GenCF_Chapter</a></li>
<li><a href="../theories/collections/#GenCF_Intf_Chapter">GenCF_Intf_Chapter</a></li>
<li><a href="../theories/collections/#Intf_Map">Intf_Map</a></li>
<li><a href="../theories/collections/#Intf_Set">Intf_Set</a></li>
<li><a href="../theories/collections/#Intf_Hash">Intf_Hash</a></li>
<li><a href="../theories/collections/#Intf_Comp">Intf_Comp</a></li>
<li><a href="../theories/collections/#GenCF_Gen_Chapter">GenCF_Gen_Chapter</a></li>
<li><a href="../theories/collections/#Gen_Set">Gen_Set</a></li>
<li><a href="../theories/collections/#Gen_Map">Gen_Map</a></li>
<li><a href="../theories/collections/#Gen_Map2Set">Gen_Map2Set</a></li>
<li><a href="../theories/collections/#Gen_Comp">Gen_Comp</a></li>
<li><a href="../theories/collections/#GenCF_Impl_Chapter">GenCF_Impl_Chapter</a></li>
<li><a href="../theories/collections/#Impl_Array_Stack">Impl_Array_Stack</a></li>
<li><a href="../theories/collections/#Impl_List_Set">Impl_List_Set</a></li>
<li><a href="../theories/collections/#Array_Iterator">Array_Iterator</a></li>
<li><a href="../theories/collections/#Impl_List_Map">Impl_List_Map</a></li>
<li><a href="../theories/collections/#Impl_Array_Hash_Map">Impl_Array_Hash_Map</a></li>
<li><a href="../theories/collections/#Impl_RBT_Map">Impl_RBT_Map</a></li>
<li><a href="../theories/collections/#Impl_Cfun_Set">Impl_Cfun_Set</a></li>
<li><a href="../theories/collections/#Impl_Array_Map">Impl_Array_Map</a></li>
<li><a href="../theories/collections/#Impl_Bit_Set">Impl_Bit_Set</a></li>
<li><a href="../theories/collections/#Impl_Uv_Set">Impl_Uv_Set</a></li>
<li><a href="../theories/collections/#Gen_Hash">Gen_Hash</a></li>
<li><a href="../theories/collections/#GenCF">GenCF</a></li>
<li><a href="../theories/collections/#ICF_Chapter">ICF_Chapter</a></li>
<li><a href="../theories/collections/#ICF_Spec_Chapter">ICF_Spec_Chapter</a></li>
<li><a href="../theories/collections/#SetSpec">SetSpec</a></li>
<li><a href="../theories/collections/#ListSpec">ListSpec</a></li>
<li><a href="../theories/collections/#AnnotatedListSpec">AnnotatedListSpec</a></li>
<li><a href="../theories/collections/#PrioSpec">PrioSpec</a></li>
<li><a href="../theories/collections/#PrioUniqueSpec">PrioUniqueSpec</a></li>
<li><a href="../theories/collections/#ICF_Gen_Algo_Chapter">ICF_Gen_Algo_Chapter</a></li>
<li><a href="../theories/collections/#SetIteratorCollectionsGA">SetIteratorCollectionsGA</a></li>
<li><a href="../theories/collections/#MapGA">MapGA</a></li>
<li><a href="../theories/collections/#SetGA">SetGA</a></li>
<li><a href="../theories/collections/#SetByMap">SetByMap</a></li>
<li><a href="../theories/collections/#ListGA">ListGA</a></li>
<li><a href="../theories/collections/#SetIndex">SetIndex</a></li>
<li><a href="../theories/collections/#Algos">Algos</a></li>
<li><a href="../theories/collections/#PrioByAnnotatedList">PrioByAnnotatedList</a></li>
<li><a href="../theories/collections/#PrioUniqueByAnnotatedList">PrioUniqueByAnnotatedList</a></li>
<li><a href="../theories/collections/#ICF_Impl_Chapter">ICF_Impl_Chapter</a></li>
<li><a href="../theories/collections/#ListMapImpl">ListMapImpl</a></li>
<li><a href="../theories/collections/#ListMapImpl_Invar">ListMapImpl_Invar</a></li>
<li><a href="../theories/collections/#RBTMapImpl">RBTMapImpl</a></li>
<li><a href="../theories/collections/#HashMap_Impl">HashMap_Impl</a></li>
<li><a href="../theories/collections/#HashMap">HashMap</a></li>
<li><a href="../theories/collections/#Trie_Impl">Trie_Impl</a></li>
<li><a href="../theories/collections/#Trie2">Trie2</a></li>
<li><a href="../theories/collections/#TrieMapImpl">TrieMapImpl</a></li>
<li><a href="../theories/collections/#ArrayHashMap_Impl">ArrayHashMap_Impl</a></li>
<li><a href="../theories/collections/#ArrayHashMap">ArrayHashMap</a></li>
<li><a href="../theories/collections/#ArrayMapImpl">ArrayMapImpl</a></li>
<li><a href="../theories/collections/#MapStdImpl">MapStdImpl</a></li>
<li><a href="../theories/collections/#ListSetImpl">ListSetImpl</a></li>
<li><a href="../theories/collections/#ListSetImpl_Invar">ListSetImpl_Invar</a></li>
<li><a href="../theories/collections/#ListSetImpl_NotDist">ListSetImpl_NotDist</a></li>
<li><a href="../theories/collections/#ListSetImpl_Sorted">ListSetImpl_Sorted</a></li>
<li><a href="../theories/collections/#RBTSetImpl">RBTSetImpl</a></li>
<li><a href="../theories/collections/#HashSet">HashSet</a></li>
<li><a href="../theories/collections/#TrieSetImpl">TrieSetImpl</a></li>
<li><a href="../theories/collections/#ArrayHashSet">ArrayHashSet</a></li>
<li><a href="../theories/collections/#ArraySetImpl">ArraySetImpl</a></li>
<li><a href="../theories/collections/#SetStdImpl">SetStdImpl</a></li>
<li><a href="../theories/collections/#Fifo">Fifo</a></li>
<li><a href="../theories/collections/#BinoPrioImpl">BinoPrioImpl</a></li>
<li><a href="../theories/collections/#SkewPrioImpl">SkewPrioImpl</a></li>
<li><a href="../theories/collections/#FTAnnotatedListImpl">FTAnnotatedListImpl</a></li>
<li><a href="../theories/collections/#FTPrioImpl">FTPrioImpl</a></li>
<li><a href="../theories/collections/#FTPrioUniqueImpl">FTPrioUniqueImpl</a></li>
<li><a href="../theories/collections/#ICF_Impl">ICF_Impl</a></li>
<li><a href="../theories/collections/#ICF_Refine_Monadic">ICF_Refine_Monadic</a></li>
<li><a href="../theories/collections/#ICF_Autoref">ICF_Autoref</a></li>
<li><a href="../theories/collections/#ICF_Entrypoints_Chapter">ICF_Entrypoints_Chapter</a></li>
<li><a href="../theories/collections/#Collections">Collections</a></li>
<li><a href="../theories/collections/#CollectionsV1">CollectionsV1</a></li>
<li><a href="../theories/collections/#Collections_Entrypoints_Chapter">Collections_Entrypoints_Chapter</a></li>
<li><a href="../theories/collections/#Refine_Dflt">Refine_Dflt</a></li>
<li><a href="../theories/collections/#Refine_Dflt_ICF">Refine_Dflt_ICF</a></li>
<li><a href="../theories/collections/#Refine_Dflt_Only_ICF">Refine_Dflt_Only_ICF</a></li>
<li><a href="../theories/collections/#Userguides_Chapter">Userguides_Chapter</a></li>
<li><a href="../theories/collections/#Refine_Monadic_Userguide">Refine_Monadic_Userguide</a></li>
<li><a href="../theories/collections/#ICF_Userguide">ICF_Userguide</a></li></ul>
<h3>Theories of Collections_Examples</h3>
<ul>
<li><a href="../theories/collections_examples/#Examples_Chapter">Examples_Chapter</a></li>
<li><a href="../theories/collections_examples/#Collection_Autoref_Examples_Chapter">Collection_Autoref_Examples_Chapter</a></li>
<li><a href="../theories/collections_examples/#Succ_Graph">Succ_Graph</a></li>
<li><a href="../theories/collections_examples/#Coll_Test">Coll_Test</a></li>
<li><a href="../theories/collections_examples/#Simple_DFS">Simple_DFS</a></li>
<li><a href="../theories/collections_examples/#ICF_Test">ICF_Test</a></li>
<li><a href="../theories/collections_examples/#ICF_Only_Test">ICF_Only_Test</a></li>
<li><a href="../theories/collections_examples/#Nested_DFS">Nested_DFS</a></li>
<li><a href="../theories/collections_examples/#Combined_TwoSat">Combined_TwoSat</a></li>
<li><a href="../theories/collections_examples/#Collection_Autoref_Examples">Collection_Autoref_Examples</a></li>
<li><a href="../theories/collections_examples/#Refine_Monadic_Examples_Chapter">Refine_Monadic_Examples_Chapter</a></li>
<li><a href="../theories/collections_examples/#Bfs_Impl">Bfs_Impl</a></li>
<li><a href="../theories/collections_examples/#Foreach_Refine">Foreach_Refine</a></li>
<li><a href="../theories/collections_examples/#Refine_Fold">Refine_Fold</a></li>
<li><a href="../theories/collections_examples/#Refine_Monadic_Examples">Refine_Monadic_Examples</a></li>
<li><a href="../theories/collections_examples/#ICF_Examples_Chapter">ICF_Examples_Chapter</a></li>
<li><a href="../theories/collections_examples/#itp_2010">itp_2010</a></li>
<li><a href="../theories/collections_examples/#Exploration">Exploration</a></li>
<li><a href="../theories/collections_examples/#Exploration_DFS">Exploration_DFS</a></li>
<li><a href="../theories/collections_examples/#PerformanceTest">PerformanceTest</a></li>
<li><a href="../theories/collections_examples/#ICF_Examples">ICF_Examples</a></li>
<li><a href="../theories/collections_examples/#Collection_Examples">Collection_Examples</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Binomial-Heaps.html">Binomial Heaps and Skew Binomial Heaps</a></li><li><a href="../entries/Finger-Trees.html">Finger Trees</a></li><li><a href="../entries/Native_Word.html">Native Word</a></li><li><a href="../entries/Refine_Monadic.html">Refinement for Monadic Programs</a></li><li><a href="../entries/Trie.html">Trie</a></li><li><a href="../entries/CAVA_Automata.html">The CAVA Automata Library</a></li><li><a href="../entries/Collections.html">Collections Framework</a></li><li><a href="../entries/Containers.html">Light-weight Containers</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/FOL_Seq_Calc2.html">A Sequent Calculus Prover for First-Order Logic with Functions</a></li><li><a href="../entries/Gale_Shapley.html">Gale-Shapley Algorithm</a></li><li><a href="../entries/Kruskal.html">Kruskal&rsquo;s Algorithm for Minimum Spanning Forest</a></li><li><a href="../entries/Transition_Systems_and_Automata.html">Transition Systems and Automata</a></li><li><a href="../entries/Refine_Imperative_HOL.html">The Imperative Refinement Framework</a></li><li><a href="../entries/ROBDD.html">Algorithms for Reduced Ordered Binary Decision Diagrams</a></li><li><a href="../entries/Formal_SSA.html">Verified Construction of Static Single Assignment Form</a></li><li><a href="../entries/Deriving.html">Deriving class instances for datatypes</a></li><li><a href="../entries/CAVA_Automata.html">The CAVA Automata Library</a></li><li><a href="../entries/Abstract_Completeness.html">Abstract Completeness</a></li><li><a href="../entries/Containers.html">Light-weight Containers</a></li><li><a href="../entries/Separation_Logic_Imperative_HOL.html">A Separation Logic Framework for Imperative HOL</a></li><li><a href="../entries/Ordinary_Differential_Equations.html">Ordinary Differential Equations</a></li><li><a href="../entries/Dijkstra_Shortest_Path.html">Dijkstra&rsquo;s Shortest Path Algorithm</a></li><li><a href="../entries/Transitive-Closure.html">Executable Transitive Closures of Finite Relations</a></li><li><a href="../entries/Collections.html">Collections Framework</a></li><li><a href="../entries/Tree-Automata.html">Tree Automata</a></li><li><a href="../entries/JinjaThreads.html">Jinja with Threads</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/Gabow_SCC.html">Verified Efficient Implementation of Gabow&rsquo;s Strongly Connected Components Algorithm</a></li>
<li><a href="../entries/Automatic_Refinement.html">Automatic Data Refinement</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Collections/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Collections/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Collections/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Collections-AFP</p><pre id="copy-text">@article{Collections-AFP,
author = {Peter Lammich},
title = {Collections Framework},
journal = {Archive of Formal Proofs},
month = {November},
year = {2009},
note = {\url{https://isa-afp.org/entries/Collections.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Collections-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2013-12-11.tar.gz">Dec 11, 2013</a>: Isabelle2013-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2013-11-17.tar.gz">Nov 17, 2013</a>: Isabelle2013-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2013-03-02.tar.gz">Mar 2, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2013-02-16.tar.gz">Feb 16, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2012-05-24.tar.gz">May 24, 2012</a>: Isabelle2012
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2011-10-12.tar.gz">Oct 12, 2011</a>: Isabelle2011-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2011-10-11.tar.gz">Oct 11, 2011</a>: Isabelle2011-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2011-02-11.tar.gz">Feb 11, 2011</a>: Isabelle2011
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2010-06-30.tar.gz">Jun 30, 2010</a>: Isabelle2009-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2009-12-13.tar.gz">Dec 13, 2009</a>: Isabelle2009-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2009-12-12.tar.gz">Dec 12, 2009</a>: Isabelle2009-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Collections-2009-11-29.tar.gz">Nov 29, 2009</a>: Isabelle2009
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Combinatorics_Words.html b/web/entries/Combinatorics_Words.html
--- a/web/entries/Combinatorics_Words.html
+++ b/web/entries/Combinatorics_Words.html
@@ -1,180 +1,193 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Combinatorics on Words Basics - Archive of Formal Proofs</title><meta name="description" content="We formalize basics of Combinatorics on Words. This is an extension of
existing theories on lists. We provide additional properties related
to prefix,..."><meta property="og:title" content="Combinatorics on Words Basics" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Combinatorics_Words.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2021-05-24T00:00:00+00:00" />
<meta property="article:modified_time" content="2021-05-24T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Combinatorics on Words Basics"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>ombinatorics on <span class='first'>W</span>ords <span class='first'>B</span>asics</h1>
<div>
<p><a href="../authors/holub">Štěpán Holub</a> <a href="https://www2.karlin.mff.cuni.cz/~holub/">🌐</a>, <a href="../authors/raska">Martin Raška</a> and <a href="../authors/starosta">Štěpán Starosta</a> <a href="https://users.fit.cvut.cz/~staroste/">🌐</a>
</p>
<p class="date">May 24, 2021</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We formalize basics of Combinatorics on Words. This is an extension of
existing theories on lists. We provide additional properties related
to prefix, suffix, factor, length and rotation. The topics include
prefix and suffix comparability, mismatch, word power, total and
reversed morphisms, border, periods, primitivity and roots. We also
formalize basic, mostly folklore results related to word equations:
equidivisibility, commutation and conjugation. Slightly advanced
properties include the Periodicity lemma (often cited as the Fine and
Wilf theorem) and the variant of the Lyndon-Schützenberger theorem for
-words. We support the algebraic point of view which sees words as
-generators of submonoids of a free monoid. This leads to the concepts
-of the (free) hull, the (free) basis (or code).</div>BSD License<h3>Topics</h3>
- <ul><li><a href="../topics/computer-science/automata-and-formal-languages">Computer science/Automata and formal languages</a></li></ul>
+words, including its full parametric solution. We support the algebraic point of view which sees words as generators of submonoids of a free monoid. This leads to the concepts of the (free) hull, the (free) basis (or code). We also provide relevant proof methods and a tool to generate reverse-symmetric claims.</div>BSD License<h3>Change history</h3><p>
+ <h4>August 24, 2022</h4>
+ Many updates and additions. New theories: Border_Array, Morphisms, Equations_Basic, and Binary_Code_Morphisms.
+
+ </p><h3>Topics</h3>
+ <ul><li><a href="../topics/computer-science/automata-and-formal-languages">Computer science/Automata and formal languages</a></li></ul><h3>Related Publications</h3>
+ <ul><li>
+ Holub, Š., &amp; Starosta, Š. (2021). Formalization of Basic Combinatorics on Words. <i>Schloss Dagstuhl - Leibniz-Zentrum Für Informatik</i>. https://doi.org/10.4230/LIPICS.ITP.2021.22
+ </li><li>
+ <a href="https://arxiv.org/abs/2104.11622">Producing symmetrical facts for lists induced by the list reversal mapping in Isabelle/HOL</a>
+ </li><li>
+ <a href="https://gitlab.com/formalcow/combinatorics-on-words-formalized">Development repository</a>
+ </li></ul>
<h3>Theories of Combinatorics_Words</h3>
<ul>
<li><a href="../theories/combinatorics_words/#Arithmetical_Hints">Arithmetical_Hints</a></li>
<li><a href="../theories/combinatorics_words/#Reverse_Symmetry">Reverse_Symmetry</a></li>
<li><a href="../theories/combinatorics_words/#CoWBasic">CoWBasic</a></li>
+ <li><a href="../theories/combinatorics_words/#Border_Array">Border_Array</a></li>
<li><a href="../theories/combinatorics_words/#Submonoids">Submonoids</a></li>
+ <li><a href="../theories/combinatorics_words/#Morphisms">Morphisms</a></li>
<li><a href="../theories/combinatorics_words/#Periodicity_Lemma">Periodicity_Lemma</a></li>
<li><a href="../theories/combinatorics_words/#Lyndon_Schutzenberger">Lyndon_Schutzenberger</a></li>
+ <li><a href="../theories/combinatorics_words/#Binary_Code_Morphisms">Binary_Code_Morphisms</a></li>
+ <li><a href="../theories/combinatorics_words/#Equations_Basic">Equations_Basic</a></li>
<li><a href="../theories/combinatorics_words/#CoWAll">CoWAll</a></li></ul><div class="flex-wrap">
<div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Combinatorics_Words_Graph_Lemma.html">Graph Lemma</a></li><li><a href="../entries/Combinatorics_Words_Lyndon.html">Lyndon words</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Combinatorics_Words-AFP</p><pre id="copy-text">@article{Combinatorics_Words-AFP,
author = {Štěpán Holub and Martin Raška and Štěpán Starosta},
title = {Combinatorics on Words Basics},
journal = {Archive of Formal Proofs},
month = {May},
year = {2021},
note = {\url{https://isa-afp.org/entries/Combinatorics_Words.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Combinatorics_Words-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Combinatorics_Words-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Combinatorics_Words-2021-05-26.tar.gz">May 26, 2021</a>: Isabelle2021
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Combinatorics_Words_Graph_Lemma.html b/web/entries/Combinatorics_Words_Graph_Lemma.html
--- a/web/entries/Combinatorics_Words_Graph_Lemma.html
+++ b/web/entries/Combinatorics_Words_Graph_Lemma.html
@@ -1,167 +1,175 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Graph Lemma - Archive of Formal Proofs</title><meta name="description" content="Graph lemma quantifies the defect effect of a system of word
equations. That is, it provides an upper bound on the rank of the
system. We formalize the..."><meta property="og:title" content="Graph Lemma" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Combinatorics_Words_Graph_Lemma.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2021-05-24T00:00:00+00:00" />
<meta property="article:modified_time" content="2021-05-24T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Graph Lemma"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>G</span>raph <span class='first'>L</span>emma</h1>
<div>
<p><a href="../authors/holub">Štěpán Holub</a> <a href="https://www2.karlin.mff.cuni.cz/~holub/">🌐</a> and <a href="../authors/starosta">Štěpán Starosta</a> <a href="https://users.fit.cvut.cz/~staroste/">🌐</a>
</p>
<p class="date">May 24, 2021</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">Graph lemma quantifies the defect effect of a system of word
equations. That is, it provides an upper bound on the rank of the
system. We formalize the proof based on the decomposition of a
solution into its free basis. A direct application is an alternative
-proof of the fact that two noncommuting words form a code.</div>BSD License<h3>Topics</h3>
- <ul><li><a href="../topics/computer-science/automata-and-formal-languages">Computer science/Automata and formal languages</a></li></ul>
+proof of the fact that two noncommuting words form a code.</div>BSD License<h3>Change history</h3><p>
+ <h4>August 24, 2022</h4>
+ Reworked version. Added theory Glued_Codes.
+
+ </p><h3>Topics</h3>
+ <ul><li><a href="../topics/computer-science/automata-and-formal-languages">Computer science/Automata and formal languages</a></li></ul><h3>Related Publications</h3>
+ <ul><li>
+ <a href="https://gitlab.com/formalcow/combinatorics-on-words-formalized">Development repository</a>
+ </li></ul>
<h3>Theories of Combinatorics_Words_Graph_Lemma</h3>
<ul>
+ <li><a href="../theories/combinatorics_words_graph_lemma/#Glued_Codes">Glued_Codes</a></li>
<li><a href="../theories/combinatorics_words_graph_lemma/#Graph_Lemma">Graph_Lemma</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Combinatorics_Words.html">Combinatorics on Words Basics</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words_Graph_Lemma/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words_Graph_Lemma/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words_Graph_Lemma/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Combinatorics_Words_Graph_Lemma-AFP</p><pre id="copy-text">@article{Combinatorics_Words_Graph_Lemma-AFP,
author = {Štěpán Holub and Štěpán Starosta},
title = {Graph Lemma},
journal = {Archive of Formal Proofs},
month = {May},
year = {2021},
note = {\url{https://isa-afp.org/entries/Combinatorics_Words_Graph_Lemma.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Combinatorics_Words_Graph_Lemma-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Combinatorics_Words_Graph_Lemma-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Combinatorics_Words_Graph_Lemma-2021-05-26.tar.gz">May 26, 2021</a>: Isabelle2021
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Combinatorics_Words_Lyndon.html b/web/entries/Combinatorics_Words_Lyndon.html
--- a/web/entries/Combinatorics_Words_Lyndon.html
+++ b/web/entries/Combinatorics_Words_Lyndon.html
@@ -1,169 +1,175 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Lyndon words - Archive of Formal Proofs</title><meta name="description" content="Lyndon words are words lexicographically minimal in their conjugacy
class. We formalize their basic properties and characterizations, in
particular the..."><meta property="og:title" content="Lyndon words" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Combinatorics_Words_Lyndon.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2021-05-24T00:00:00+00:00" />
<meta property="article:modified_time" content="2021-05-24T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Lyndon words"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>L</span>yndon <span class='first'>W</span>ords</h1>
<div>
<p><a href="../authors/holub">Štěpán Holub</a> <a href="https://www2.karlin.mff.cuni.cz/~holub/">🌐</a> and <a href="../authors/starosta">Štěpán Starosta</a> <a href="https://users.fit.cvut.cz/~staroste/">🌐</a>
</p>
<p class="date">May 24, 2021</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">Lyndon words are words lexicographically minimal in their conjugacy
class. We formalize their basic properties and characterizations, in
particular the concepts of the longest Lyndon suffix and the Lyndon
factorization. Most of the work assumes a fixed lexicographical order.
Nevertheless we also define the smallest relation guaranteeing
lexicographical minimality of a given word (in its conjugacy class).</div>BSD License<h3>Topics</h3>
- <ul><li><a href="../topics/computer-science/automata-and-formal-languages">Computer science/Automata and formal languages</a></li></ul>
+ <ul><li><a href="../topics/computer-science/automata-and-formal-languages">Computer science/Automata and formal languages</a></li></ul><h3>Related Publications</h3>
+ <ul><li>
+ Holub, Š., & Starosta, Š. (2021). Lyndon Words Formalized in Isabelle/HOL. Lecture Notes in Computer Science, 217–228. <a href="https://doi.org/10.1007/978-3-030-81508-0_18">https://doi.org/10.1007/978-3-030-81508-0_18</a>
+
+ </li><li>
+ <a href="https://gitlab.com/formalcow/combinatorics-on-words-formalized">Development repository</a>
+ </li></ul>
<h3>Theories of Combinatorics_Words_Lyndon</h3>
<ul>
<li><a href="../theories/combinatorics_words_lyndon/#Lyndon">Lyndon</a></li>
<li><a href="../theories/combinatorics_words_lyndon/#Lyndon_Addition">Lyndon_Addition</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Combinatorics_Words.html">Combinatorics on Words Basics</a></li><li><a href="../entries/Szpilrajn.html">Order Extension and Szpilrajn&rsquo;s Extension Theorem</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words_Lyndon/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words_Lyndon/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words_Lyndon/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Combinatorics_Words_Lyndon-AFP</p><pre id="copy-text">@article{Combinatorics_Words_Lyndon-AFP,
author = {Štěpán Holub and Štěpán Starosta},
title = {Lyndon words},
journal = {Archive of Formal Proofs},
month = {May},
year = {2021},
note = {\url{https://isa-afp.org/entries/Combinatorics_Words_Lyndon.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Combinatorics_Words_Lyndon-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Combinatorics_Words_Lyndon-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Combinatorics_Words_Lyndon-2021-05-26.tar.gz">May 26, 2021</a>: Isabelle2021
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Complex_Bounded_Operators.html b/web/entries/Complex_Bounded_Operators.html
--- a/web/entries/Complex_Bounded_Operators.html
+++ b/web/entries/Complex_Bounded_Operators.html
@@ -1,192 +1,192 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Complex Bounded Operators - Archive of Formal Proofs</title><meta name="description" content="We present a formalization of bounded operators on complex vector spaces. Our formalization contains material on complex vector spaces (normed spaces,..."><meta property="og:title" content="Complex Bounded Operators" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Complex_Bounded_Operators.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2021-09-18T00:00:00+00:00" />
<meta property="article:modified_time" content="2021-09-18T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Complex Bounded Operators"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>omplex <span class='first'>B</span>ounded <span class='first'>O</span>perators</h1>
<div>
<p><a href="../authors/caballero">José Manuel Rodríguez Caballero</a> <a href="https://josephcmac.github.io/">🌐</a> and <a href="../authors/unruh">Dominique Unruh</a> <a href="https://www.ut.ee/~unruh/">🌐</a>
</p>
<p class="date">September 18, 2021</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We present a formalization of bounded operators on complex vector
spaces. Our formalization contains material on complex vector spaces
(normed spaces, Banach spaces, Hilbert spaces) that complements and
goes beyond the developments of real vectors spaces in the
Isabelle/HOL standard library. We define the type of bounded
operators between complex vector spaces
(<em>cblinfun</em>) and develop the theory of unitaries,
projectors, extension of bounded linear functions (BLT theorem),
adjoints, Loewner order, closed subspaces and more. For the
finite-dimensional case, we provide code generation support by
identifying finite-dimensional operators with matrices as formalized
in the <a href="Jordan_Normal_Form.html">Jordan_Normal_Form</a> AFP entry.</div>BSD License<h3>Topics</h3>
<ul><li><a href="../topics/mathematics/analysis">Mathematics/Analysis</a></li></ul>
<h3>Theories of Complex_Bounded_Operators</h3>
<ul>
<li><a href="../theories/complex_bounded_operators/#Extra_General">Extra_General</a></li>
<li><a href="../theories/complex_bounded_operators/#Extra_Vector_Spaces">Extra_Vector_Spaces</a></li>
<li><a href="../theories/complex_bounded_operators/#Extra_Ordered_Fields">Extra_Ordered_Fields</a></li>
+ <li><a href="../theories/complex_bounded_operators/#Extra_Operator_Norm">Extra_Operator_Norm</a></li>
<li><a href="../theories/complex_bounded_operators/#Complex_Vector_Spaces0">Complex_Vector_Spaces0</a></li>
<li><a href="../theories/complex_bounded_operators/#Complex_Vector_Spaces">Complex_Vector_Spaces</a></li>
<li><a href="../theories/complex_bounded_operators/#Complex_Inner_Product0">Complex_Inner_Product0</a></li>
<li><a href="../theories/complex_bounded_operators/#Complex_Inner_Product">Complex_Inner_Product</a></li>
- <li><a href="../theories/complex_bounded_operators/#Extra_Operator_Norm">Extra_Operator_Norm</a></li>
<li><a href="../theories/complex_bounded_operators/#One_Dimensional_Spaces">One_Dimensional_Spaces</a></li>
<li><a href="../theories/complex_bounded_operators/#Complex_Euclidean_Space0">Complex_Euclidean_Space0</a></li>
<li><a href="../theories/complex_bounded_operators/#Complex_Bounded_Linear_Function0">Complex_Bounded_Linear_Function0</a></li>
<li><a href="../theories/complex_bounded_operators/#Complex_Bounded_Linear_Function">Complex_Bounded_Linear_Function</a></li>
<li><a href="../theories/complex_bounded_operators/#Complex_L2">Complex_L2</a></li>
<li><a href="../theories/complex_bounded_operators/#Extra_Jordan_Normal_Form">Extra_Jordan_Normal_Form</a></li>
<li><a href="../theories/complex_bounded_operators/#Cblinfun_Matrix">Cblinfun_Matrix</a></li>
<li><a href="../theories/complex_bounded_operators/#Cblinfun_Code">Cblinfun_Code</a></li>
<li><a href="../theories/complex_bounded_operators/#Extra_Pretty_Code_Examples">Extra_Pretty_Code_Examples</a></li>
<li><a href="../theories/complex_bounded_operators/#Cblinfun_Code_Examples">Cblinfun_Code_Examples</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Banach_Steinhaus.html">Banach-Steinhaus Theorem</a></li><li><a href="../entries/Jordan_Normal_Form.html">Matrices, Jordan Normal Forms, and Spectral Radius Theory</a></li><li><a href="../entries/Real_Impl.html">Implementing field extensions of the form Q[sqrt(b)]</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Registers.html">Quantum and Classical Registers</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Complex_Bounded_Operators-AFP</p><pre id="copy-text">@article{Complex_Bounded_Operators-AFP,
author = {José Manuel Rodríguez Caballero and Dominique Unruh},
title = {Complex Bounded Operators},
journal = {Archive of Formal Proofs},
month = {September},
year = {2021},
note = {\url{https://isa-afp.org/entries/Complex_Bounded_Operators.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Complex_Bounded_Operators-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Complex_Bounded_Operators-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Complex_Bounded_Operators-2021-09-20.tar.gz">Sep 20, 2021</a>: Isabelle2021
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Complx.html b/web/entries/Complx.html
--- a/web/entries/Complx.html
+++ b/web/entries/Complx.html
@@ -1,214 +1,218 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>COMPLX: A Verification Framework for Concurrent Imperative Programs - Archive of Formal Proofs</title><meta name="description" content="We propose a concurrency reasoning framework for imperative programs,
based on the Owicki-Gries (OG) foundational shared-variable
concurrency method. Our..."><meta property="og:title" content="COMPLX: A Verification Framework for Concurrent Imperative Programs" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Complx.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2016-11-29T00:00:00+00:00" />
<meta property="article:modified_time" content="2016-11-29T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="COMPLX: A Verification Framework for Concurrent Imperative Programs"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span><span class='first'>O</span><span class='first'>M</span><span class='first'>P</span><span class='first'>L</span><span class='first'>X</span>: <span class='first'>A</span> <span class='first'>V</span>erification <span class='first'>F</span>ramework for <span class='first'>C</span>oncurrent <span class='first'>I</span>mperative <span class='first'>P</span>rograms</h1>
<div>
<p><a href="../authors/amani">Sidney Amani</a>, <a href="../authors/andronick">June Andronick</a>, <a href="../authors/bortin">Maksym Bortin</a>, <a href="../authors/lewis">Corey Lewis</a>, <a href="../authors/rizkallah">Christine Rizkallah</a> and <a href="../authors/tuongj">Joseph Tuong</a>
</p>
<p class="date">November 29, 2016</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We propose a concurrency reasoning framework for imperative programs,
based on the Owicki-Gries (OG) foundational shared-variable
concurrency method. Our framework combines the approaches of
Hoare-Parallel, a formalisation of OG in Isabelle/HOL for a simple
while-language, and Simpl, a generic imperative language embedded in
Isabelle/HOL, allowing formal reasoning on C programs. We define the
Complx language, extending the syntax and semantics of Simpl with
support for parallel composition and synchronisation. We additionally
define an OG logic, which we prove sound w.r.t. the semantics, and a
verification condition generator, both supporting involved low-level
imperative constructs such as function calls and abrupt termination.
We illustrate our framework on an example that features exceptions,
guards and function calls. We aim to then target concurrent operating
systems, such as the interruptible eChronos embedded operating system
-for which we already have a model-level OG proof using Hoare-Parallel.</div>BSD License<h3>Topics</h3>
+for which we already have a model-level OG proof using Hoare-Parallel.</div>BSD License<h3>Change history</h3><p>
+ <h4>January 13, 2017</h4>
+ Improve VCG for nested parallels and sequential sections
+(revision 30739dbc3dcb)
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/programming-languages/logics">Computer science/Programming languages/Logics</a></li><li><a href="../topics/computer-science/programming-languages/language-definitions">Computer science/Programming languages/Language definitions</a></li></ul>
<h3>Theories of Complx</h3>
<ul>
<li><a href="../theories/complx/#Language">Language</a></li>
<li><a href="../theories/complx/#SmallStep">SmallStep</a></li>
<li><a href="../theories/complx/#OG_Annotations">OG_Annotations</a></li>
<li><a href="../theories/complx/#OG_Hoare">OG_Hoare</a></li>
<li><a href="../theories/complx/#SeqCatch_decomp">SeqCatch_decomp</a></li>
<li><a href="../theories/complx/#OG_Soundness">OG_Soundness</a></li>
<li><a href="../theories/complx/#Cache_Tactics">Cache_Tactics</a></li>
<li><a href="../theories/complx/#OG_Tactics">OG_Tactics</a></li>
<li><a href="../theories/complx/#OG_Syntax">OG_Syntax</a></li>
<li><a href="../theories/complx/#Examples">Examples</a></li>
<li><a href="../theories/complx/#SumArr">SumArr</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Word_Lib.html">Finite Machine Word Library</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/IMP2.html">IMP2 – Simple Program Verification in Isabelle/HOL</a></li>
<li><a href="../entries/Auto2_Imperative_HOL.html">Verifying Imperative Programs using Auto2</a></li>
<li><a href="../entries/Hoare_Time.html">Hoare Logics for Time Bounds</a></li>
<li><a href="../entries/Simpl.html">A Sequential Imperative Programming Language Syntax, Semantics, Hoare Logics and Verification Environment</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Complx/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Complx/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Complx/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Complx-AFP</p><pre id="copy-text">@article{Complx-AFP,
author = {Sidney Amani and June Andronick and Maksym Bortin and Corey Lewis and Christine Rizkallah and Joseph Tuong},
title = {COMPLX: A Verification Framework for Concurrent Imperative Programs},
journal = {Archive of Formal Proofs},
month = {November},
year = {2016},
note = {\url{https://isa-afp.org/entries/Complx.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Complx-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Complx-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Complx-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Complx-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Complx-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Complx-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Complx-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Complx-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Complx-2016-11-29.tar.gz">Nov 29, 2016</a>: Isabelle2016
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Containers.html b/web/entries/Containers.html
--- a/web/entries/Containers.html
+++ b/web/entries/Containers.html
@@ -1,259 +1,262 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Light-weight Containers - Archive of Formal Proofs</title><meta name="description" content="This development provides a framework for container types like sets and maps such that generated code implements these containers with different..."><meta property="og:title" content="Light-weight Containers" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Containers.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2013-04-15T00:00:00+00:00" />
<meta property="article:modified_time" content="2013-04-15T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Light-weight Containers"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>L</span>ight-<span class='first'>W</span>eight <span class='first'>C</span>ontainers</h1>
<div>
<p><a href="../authors/lochbihler">Andreas Lochbihler</a> <a href="http://www.andreas-lochbihler.de/">🌐</a>
with contributions from <a href="../authors/thiemann">René Thiemann</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsicmVuZSIsInRoaWVtYW5uIl19">📧</a>
</p>
<p class="date">April 15, 2013</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">This development provides a framework for container types like sets and maps such that generated code implements these containers with different (efficient) data structures.
Thanks to type classes and refinement during code generation, this light-weight approach can seamlessly replace Isabelle's default setup for code generation.
Heuristics automatically pick one of the available data structures depending on the type of elements to be stored, but users can also choose on their own.
The extensible design permits to add more implementations at any time.
<p>
To support arbitrary nesting of sets, we define a linear order on sets based on a linear order of the elements and provide efficient implementations.
It even allows to compare complements with non-complements.</div>BSD License<h3>Change history</h3><p>
<h4>March 5, 2018</h4>
add two application examples: depth-first search and 2SAT (revision e5e1a1da2411)
</p><p>
<h4>July 8, 2014</h4>
add support for going from partial functions to mappings (revision 7a6fc957e8ed)<br>
+ </p><p>
+ <h4>September 20, 2013</h4>
+ provide generators for canonical type class instantiations
+(revision 159f4401f4a8 by René Thiemann)<br>
</p><p>
<h4>July 11, 2013</h4>
add pretty printing for sets (revision 7f3f52c5f5fa)<br>
-
</p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/data-structures">Computer science/Data structures</a></li></ul>
<h3>Theories of Containers</h3>
<ul>
<li><a href="../theories/containers/#Containers_Auxiliary">Containers_Auxiliary</a></li>
<li><a href="../theories/containers/#Card_Datatype">Card_Datatype</a></li>
<li><a href="../theories/containers/#List_Fusion">List_Fusion</a></li>
<li><a href="../theories/containers/#Lexicographic_Order">Lexicographic_Order</a></li>
<li><a href="../theories/containers/#Extend_Partial_Order">Extend_Partial_Order</a></li>
<li><a href="../theories/containers/#Set_Linorder">Set_Linorder</a></li>
<li><a href="../theories/containers/#Containers_Generator">Containers_Generator</a></li>
<li><a href="../theories/containers/#Collection_Order">Collection_Order</a></li>
<li><a href="../theories/containers/#List_Proper_Interval">List_Proper_Interval</a></li>
<li><a href="../theories/containers/#Collection_Eq">Collection_Eq</a></li>
<li><a href="../theories/containers/#Collection_Enum">Collection_Enum</a></li>
<li><a href="../theories/containers/#Equal">Equal</a></li>
<li><a href="../theories/containers/#RBT_ext">RBT_ext</a></li>
<li><a href="../theories/containers/#RBT_Mapping2">RBT_Mapping2</a></li>
<li><a href="../theories/containers/#AssocList">AssocList</a></li>
<li><a href="../theories/containers/#DList_Set">DList_Set</a></li>
<li><a href="../theories/containers/#RBT_Set2">RBT_Set2</a></li>
<li><a href="../theories/containers/#Closure_Set">Closure_Set</a></li>
<li><a href="../theories/containers/#Set_Impl">Set_Impl</a></li>
<li><a href="../theories/containers/#Mapping_Impl">Mapping_Impl</a></li>
<li><a href="../theories/containers/#Map_To_Mapping">Map_To_Mapping</a></li>
<li><a href="../theories/containers/#Containers">Containers</a></li>
<li><a href="../theories/containers/#Compatibility_Containers_Regular_Sets">Compatibility_Containers_Regular_Sets</a></li>
<li><a href="../theories/containers/#Containers_Userguide">Containers_Userguide</a></li>
<li><a href="../theories/containers/#Card_Datatype_Ex">Card_Datatype_Ex</a></li>
<li><a href="../theories/containers/#Map_To_Mapping_Ex">Map_To_Mapping_Ex</a></li>
<li><a href="../theories/containers/#TwoSat_Ex">TwoSat_Ex</a></li>
<li><a href="../theories/containers/#Containers_DFS_Ex">Containers_DFS_Ex</a></li>
<li><a href="../theories/containers/#Containers_TwoSat_Ex">Containers_TwoSat_Ex</a></li></ul>
<h3>Theories of Containers-Benchmarks</h3>
<ul>
<li><a href="../theories/containers-benchmarks/#Benchmark_Bool">Benchmark_Bool</a></li>
<li><a href="../theories/containers-benchmarks/#Benchmark_Comparison">Benchmark_Comparison</a></li>
<li><a href="../theories/containers-benchmarks/#Benchmark_LC">Benchmark_LC</a></li>
<li><a href="../theories/containers-benchmarks/#Benchmark_Default">Benchmark_Default</a></li>
<li><a href="../theories/containers-benchmarks/#Benchmark_ICF">Benchmark_ICF</a></li>
<li><a href="../theories/containers-benchmarks/#Benchmark_RBT">Benchmark_RBT</a></li>
<li><a href="../theories/containers-benchmarks/#Benchmark_Set">Benchmark_Set</a></li>
<li><a href="../theories/containers-benchmarks/#Benchmark_Set_Default">Benchmark_Set_Default</a></li>
<li><a href="../theories/containers-benchmarks/#Benchmark_Set_LC">Benchmark_Set_LC</a></li>
<li><a href="../theories/containers-benchmarks/#Clauses">Clauses</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Automatic_Refinement.html">Automatic Data Refinement</a></li><li><a href="../entries/Collections.html">Collections Framework</a></li><li><a href="../entries/Deriving.html">Deriving class instances for datatypes</a></li><li><a href="../entries/Finger-Trees.html">Finger Trees</a></li><li><a href="../entries/Regular-Sets.html">Regular Sets and Expressions</a></li><li><a href="../entries/Containers.html">Light-weight Containers</a></li><li><a href="../entries/Trie.html">Trie</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/FSM_Tests.html">Verified Complete Test Strategies for Finite State Machines</a></li><li><a href="../entries/Eval_FO.html">First-Order Query Evaluation</a></li><li><a href="../entries/VYDRA_MDL.html">Multi-Head Monitoring of Metric Dynamic Logic</a></li><li><a href="../entries/AI_Planning_Languages_Semantics.html">AI Planning Languages Semantics</a></li><li><a href="../entries/MFOTL_Monitor.html">Formalization of a Monitoring Algorithm for Metric First-Order Temporal Logic</a></li><li><a href="../entries/Polynomial_Factorization.html">Polynomial Factorization</a></li><li><a href="../entries/Containers.html">Light-weight Containers</a></li><li><a href="../entries/Collections.html">Collections Framework</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/CakeML_Codegen.html">A Verified Code Generator from Isabelle/HOL to CakeML</a></li>
<li><a href="../entries/XML.html">XML</a></li>
<li><a href="../entries/Imperative_Insertion_Sort.html">Imperative Insertion Sort</a></li>
<li><a href="../entries/Native_Word.html">Native Word</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Containers/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Containers/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Containers/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Containers-AFP</p><pre id="copy-text">@article{Containers-AFP,
author = {Andreas Lochbihler},
title = {Light-weight Containers},
journal = {Archive of Formal Proofs},
month = {April},
year = {2013},
note = {\url{https://isa-afp.org/entries/Containers.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Containers-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Containers-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Containers-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Containers-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Containers-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Containers-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Containers-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Containers-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Containers-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Containers-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Containers-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Containers-2013-12-11.tar.gz">Dec 11, 2013</a>: Isabelle2013-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Containers-2013-11-17.tar.gz">Nov 17, 2013</a>: Isabelle2013-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Containers-2013-04-23.tar.gz">Apr 23, 2013</a>: Isabelle2013
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Dependent_SIFUM_Refinement.html b/web/entries/Dependent_SIFUM_Refinement.html
--- a/web/entries/Dependent_SIFUM_Refinement.html
+++ b/web/entries/Dependent_SIFUM_Refinement.html
@@ -1,186 +1,195 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Compositional Security-Preserving Refinement for Concurrent Imperative Programs - Archive of Formal Proofs</title><meta name="description" content="The paper &#34;Compositional Verification and Refinement of Concurrent
Value-Dependent Noninterference&#34; by Murray et. al. (CSF 2016) presents
a compositional..."><meta property="og:title" content="Compositional Security-Preserving Refinement for Concurrent Imperative Programs" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Dependent_SIFUM_Refinement.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2016-06-28T00:00:00+00:00" />
<meta property="article:modified_time" content="2016-06-28T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Compositional Security-Preserving Refinement for Concurrent Imperative Programs"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>ompositional <span class='first'>S</span>ecurity-<span class='first'>P</span>reserving <span class='first'>R</span>efinement for <span class='first'>C</span>oncurrent <span class='first'>I</span>mperative <span class='first'>P</span>rograms</h1>
<div>
<p><a href="../authors/murray">Toby Murray</a> <a href="https://people.eng.unimelb.edu.au/tobym/">🌐</a>, <a href="../authors/sison">Robert Sison</a>, <a href="../authors/pierzchalski">Edward Pierzchalski</a> and <a href="../authors/rizkallah">Christine Rizkallah</a> <a href="https://www.mpi-inf.mpg.de/~crizkall/">🌐</a>
</p>
<p class="date">June 28, 2016</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">The paper "Compositional Verification and Refinement of Concurrent
Value-Dependent Noninterference" by Murray et. al. (CSF 2016) presents
a compositional theory of refinement for a value-dependent
noninterference property, defined in (Murray, PLAS 2015), for
concurrent programs. This development formalises that refinement
-theory, and demonstrates its application on some small examples.</div>BSD License<h3>Topics</h3>
+theory, and demonstrates its application on some small examples.</div>BSD License<h3>Change history</h3><p>
+ <h4>September 2, 2016</h4>
+ TobyM extended "simple" refinement theory to be usable for all bisimulations.
+(revision 547f31c25f60)
+ </p><p>
+ <h4>August 19, 2016</h4>
+ Removed unused "stop" parameters from the sifum_refinement locale.
+(revision dbc482d36372)
+
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/security">Computer science/Security</a></li></ul>
<h3>Theories of Dependent_SIFUM_Refinement</h3>
<ul>
<li><a href="../theories/dependent_sifum_refinement/#CompositionalRefinement">CompositionalRefinement</a></li>
<li><a href="../theories/dependent_sifum_refinement/#Eg1">Eg1</a></li>
<li><a href="../theories/dependent_sifum_refinement/#Eg1RefinementTrivial">Eg1RefinementTrivial</a></li>
<li><a href="../theories/dependent_sifum_refinement/#Eg2">Eg2</a></li>
<li><a href="../theories/dependent_sifum_refinement/#Eg1Eg2">Eg1Eg2</a></li>
<li><a href="../theories/dependent_sifum_refinement/#Eg1Eg2RefinementSimple">Eg1Eg2RefinementSimple</a></li>
<li><a href="../theories/dependent_sifum_refinement/#EgHighBranchRevC">EgHighBranchRevC</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Dependent_SIFUM_Type_Systems.html">A Dependent Security Type System for Concurrent Imperative Programs</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Dependent_SIFUM_Refinement/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Dependent_SIFUM_Refinement/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Dependent_SIFUM_Refinement/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Dependent_SIFUM_Refinement-AFP</p><pre id="copy-text">@article{Dependent_SIFUM_Refinement-AFP,
author = {Toby Murray and Robert Sison and Edward Pierzchalski and Christine Rizkallah},
title = {Compositional Security-Preserving Refinement for Concurrent Imperative Programs},
journal = {Archive of Formal Proofs},
month = {June},
year = {2016},
note = {\url{https://isa-afp.org/entries/Dependent_SIFUM_Refinement.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Dependent_SIFUM_Refinement-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Dependent_SIFUM_Refinement-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Dependent_SIFUM_Refinement-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Dependent_SIFUM_Refinement-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Dependent_SIFUM_Refinement-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Dependent_SIFUM_Refinement-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Dependent_SIFUM_Refinement-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Dependent_SIFUM_Refinement-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Dependent_SIFUM_Refinement-2016-06-28.tar.gz">Jun 28, 2016</a>: Isabelle2016
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Dependent_SIFUM_Type_Systems.html b/web/entries/Dependent_SIFUM_Type_Systems.html
--- a/web/entries/Dependent_SIFUM_Type_Systems.html
+++ b/web/entries/Dependent_SIFUM_Type_Systems.html
@@ -1,192 +1,201 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>A Dependent Security Type System for Concurrent Imperative Programs - Archive of Formal Proofs</title><meta name="description" content="The paper &#34;Compositional Verification and Refinement of Concurrent
Value-Dependent Noninterference&#34; by Murray et. al. (CSF 2016) presents
a dependent..."><meta property="og:title" content="A Dependent Security Type System for Concurrent Imperative Programs" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Dependent_SIFUM_Type_Systems.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2016-06-25T00:00:00+00:00" />
<meta property="article:modified_time" content="2016-06-25T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="A Dependent Security Type System for Concurrent Imperative Programs"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>A</span> <span class='first'>D</span>ependent <span class='first'>S</span>ecurity <span class='first'>T</span>ype <span class='first'>S</span>ystem for <span class='first'>C</span>oncurrent <span class='first'>I</span>mperative <span class='first'>P</span>rograms</h1>
<div>
<p><a href="../authors/murray">Toby Murray</a> <a href="https://people.eng.unimelb.edu.au/tobym/">🌐</a>, <a href="../authors/sison">Robert Sison</a>, <a href="../authors/pierzchalski">Edward Pierzchalski</a> and <a href="../authors/rizkallah">Christine Rizkallah</a> <a href="https://www.mpi-inf.mpg.de/~crizkall/">🌐</a>
</p>
<p class="date">June 25, 2016</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">The paper "Compositional Verification and Refinement of Concurrent
Value-Dependent Noninterference" by Murray et. al. (CSF 2016) presents
a dependent security type system for compositionally verifying a
value-dependent noninterference property, defined in (Murray, PLAS
2015), for concurrent programs. This development formalises that
security definition, the type system and its soundness proof, and
demonstrates its application on some small examples. It was derived
from the SIFUM_Type_Systems AFP entry, by Sylvia Grewe, Heiko Mantel
-and Daniel Schoepe, and whose structure it inherits.</div>BSD License<h3>Topics</h3>
+and Daniel Schoepe, and whose structure it inherits.</div>BSD License<h3>Change history</h3><p>
+ <h4>September 27, 2016</h4>
+ Added security locale support for the imposition of requirements on the initial memory.
+(revision cce4ceb74ddb)
+ </p><p>
+ <h4>August 19, 2016</h4>
+ Removed unused "stop" parameter and "stop_no_eval" assumption from the sifum_security locale.
+(revision dbc482d36372)
+
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/security">Computer science/Security</a></li><li><a href="../topics/computer-science/programming-languages/type-systems">Computer science/Programming languages/Type systems</a></li></ul>
<h3>Theories of Dependent_SIFUM_Type_Systems</h3>
<ul>
<li><a href="../theories/dependent_sifum_type_systems/#Preliminaries">Preliminaries</a></li>
<li><a href="../theories/dependent_sifum_type_systems/#Security">Security</a></li>
<li><a href="../theories/dependent_sifum_type_systems/#Compositionality">Compositionality</a></li>
<li><a href="../theories/dependent_sifum_type_systems/#Language">Language</a></li>
<li><a href="../theories/dependent_sifum_type_systems/#TypeSystem">TypeSystem</a></li>
<li><a href="../theories/dependent_sifum_type_systems/#LocallySoundModeUse">LocallySoundModeUse</a></li>
<li><a href="../theories/dependent_sifum_type_systems/#Example">Example</a></li>
<li><a href="../theories/dependent_sifum_type_systems/#TypeSystemTactics">TypeSystemTactics</a></li>
<li><a href="../theories/dependent_sifum_type_systems/#Example_TypeSystem">Example_TypeSystem</a></li>
<li><a href="../theories/dependent_sifum_type_systems/#Example_Swap_Add">Example_Swap_Add</a></li></ul><div class="flex-wrap">
<div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Dependent_SIFUM_Refinement.html">Compositional Security-Preserving Refinement for Concurrent Imperative Programs</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Dependent_SIFUM_Type_Systems/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Dependent_SIFUM_Type_Systems/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Dependent_SIFUM_Type_Systems/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Dependent_SIFUM_Type_Systems-AFP</p><pre id="copy-text">@article{Dependent_SIFUM_Type_Systems-AFP,
author = {Toby Murray and Robert Sison and Edward Pierzchalski and Christine Rizkallah},
title = {A Dependent Security Type System for Concurrent Imperative Programs},
journal = {Archive of Formal Proofs},
month = {June},
year = {2016},
note = {\url{https://isa-afp.org/entries/Dependent_SIFUM_Type_Systems.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Dependent_SIFUM_Type_Systems-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Dependent_SIFUM_Type_Systems-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Dependent_SIFUM_Type_Systems-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Dependent_SIFUM_Type_Systems-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Dependent_SIFUM_Type_Systems-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Dependent_SIFUM_Type_Systems-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Dependent_SIFUM_Type_Systems-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Dependent_SIFUM_Type_Systems-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Dependent_SIFUM_Type_Systems-2016-06-25.tar.gz">Jun 25, 2016</a>: Isabelle2016
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/DiscretePricing.html b/web/entries/DiscretePricing.html
--- a/web/entries/DiscretePricing.html
+++ b/web/entries/DiscretePricing.html
@@ -1,179 +1,187 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Pricing in discrete financial models - Archive of Formal Proofs</title><meta name="description" content="We have formalized the computation of fair prices for derivative products in discrete financial models. As an application, we derive a way to compute fair..."><meta property="og:title" content="Pricing in discrete financial models" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/DiscretePricing.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2018-07-16T00:00:00+00:00" />
<meta property="article:modified_time" content="2018-07-16T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Pricing in discrete financial models"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>P</span>ricing in <span class='first'>D</span>iscrete <span class='first'>F</span>inancial <span class='first'>M</span>odels</h1>
<div>
<p><a href="../authors/echenim">Mnacho Echenim</a> <a href="https://lig-membres.imag.fr/mechenim/">🌐</a>
</p>
<p class="date">July 16, 2018</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We have formalized the computation of fair prices for derivative
products in discrete financial models. As an application, we derive a
way to compute fair prices of derivative products in the
Cox-Ross-Rubinstein model of a financial market, thus completing the
work that was presented in this <a
-href="https://hal.archives-ouvertes.fr/hal-01562944">paper</a>.</div>BSD License<h3>Topics</h3>
+href="https://hal.archives-ouvertes.fr/hal-01562944">paper</a>.</div>BSD License<h3>Change history</h3><p>
+ <h4>May 12, 2019</h4>
+ Renamed discr_mkt predicate to stk_strict_subs and got rid of predicate A for a more natural definition of the type discrete_market;
+renamed basic quantity processes for coherent notation;
+renamed value_process into val_process and closing_value_process to cls_val_process;
+relaxed hypothesis of lemma CRR_market_fair_price.
+Added functions to price some basic options.
+(revision 0b813a1a833f)<br>
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/mathematics/probability-theory">Mathematics/Probability theory</a></li><li><a href="../topics/mathematics/games-and-economics">Mathematics/Games and economics</a></li></ul>
<h3>Theories of DiscretePricing</h3>
<ul>
<li><a href="../theories/discretepricing/#Generated_Subalgebra">Generated_Subalgebra</a></li>
<li><a href="../theories/discretepricing/#Filtration">Filtration</a></li>
<li><a href="../theories/discretepricing/#Martingale">Martingale</a></li>
<li><a href="../theories/discretepricing/#Disc_Cond_Expect">Disc_Cond_Expect</a></li>
<li><a href="../theories/discretepricing/#Infinite_Coin_Toss_Space">Infinite_Coin_Toss_Space</a></li>
<li><a href="../theories/discretepricing/#Geometric_Random_Walk">Geometric_Random_Walk</a></li>
<li><a href="../theories/discretepricing/#Fair_Price">Fair_Price</a></li>
<li><a href="../theories/discretepricing/#CRR_Model">CRR_Model</a></li>
<li><a href="../theories/discretepricing/#Option_Price_Examples">Option_Price_Examples</a></li></ul><div class="flex-wrap">
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/DiscretePricing/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/DiscretePricing/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/DiscretePricing/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">DiscretePricing-AFP</p><pre id="copy-text">@article{DiscretePricing-AFP,
author = {Mnacho Echenim},
title = {Pricing in discrete financial models},
journal = {Archive of Formal Proofs},
month = {July},
year = {2018},
note = {\url{https://isa-afp.org/entries/DiscretePricing.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-DiscretePricing-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-DiscretePricing-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-DiscretePricing-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-DiscretePricing-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-DiscretePricing-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-DiscretePricing-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-DiscretePricing-2018-07-18.tar.gz">Jul 18, 2018</a>: Isabelle2017
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Efficient-Mergesort.html b/web/entries/Efficient-Mergesort.html
--- a/web/entries/Efficient-Mergesort.html
+++ b/web/entries/Efficient-Mergesort.html
@@ -1,191 +1,208 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Efficient Mergesort - Archive of Formal Proofs</title><meta name="description" content="We provide a formalization of the mergesort algorithm as used in GHC&#39;s Data.List module, proving correctness and stability. Furthermore, experimental data..."><meta property="og:title" content="Efficient Mergesort" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Efficient-Mergesort.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2011-11-09T00:00:00+00:00" />
<meta property="article:modified_time" content="2011-11-09T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Efficient Mergesort"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>E</span>fficient <span class='first'>M</span>ergesort</h1>
<div>
<p><a href="../authors/sternagel">Christian Sternagel</a> <a class="obfuscated" data="eyJob3N0IjpbImdtYWlsIiwiY29tIl0sInVzZXIiOlsiYyIsInN0ZXJuYWdlbCJdfQ==">📧</a>
</p>
<p class="date">November 9, 2011</p>
</div>
</header><div><main><h3>Abstract</h3>
- <div class="abstract mathjax_process">We provide a formalization of the mergesort algorithm as used in GHC's Data.List module, proving correctness and stability. Furthermore, experimental data suggests that generated (Haskell-)code for this algorithm is much faster than for previous algorithms available in the Isabelle distribution.</div>BSD License<h3>Topics</h3>
+ <div class="abstract mathjax_process">We provide a formalization of the mergesort algorithm as used in GHC's Data.List module, proving correctness and stability. Furthermore, experimental data suggests that generated (Haskell-)code for this algorithm is much faster than for previous algorithms available in the Isabelle distribution.</div>BSD License<h3>Change history</h3><p>
+ <h4>November 20, 2020</h4>
+ Additional theory Natural_Mergesort that developes an efficient mergesort
+algorithm without key-functions for educational purposes.
+ </p><p>
+ <h4>September 19, 2018</h4>
+ Theory Efficient_Mergesort replaces theory Efficient_Sort but keeping the old
+name Efficient_Sort.
+
+ </p><p>
+ <h4>September 17, 2018</h4>
+ Added theory Efficient_Mergesort that works exclusively with the mutual
+induction schemas generated by the function package.<br>
+
+ </p><p>
+ <h4>October 24, 2012</h4>
+ Added reference to journal article.<br>
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/algorithms">Computer science/Algorithms</a></li></ul>
<h3>Theories of Efficient-Mergesort</h3>
<ul>
<li><a href="../theories/efficient-mergesort/#Efficient_Sort">Efficient_Sort</a></li>
<li><a href="../theories/efficient-mergesort/#Mergesort_Complexity">Mergesort_Complexity</a></li>
<li><a href="../theories/efficient-mergesort/#Natural_Mergesort">Natural_Mergesort</a></li></ul><div class="flex-wrap">
<div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Berlekamp_Zassenhaus.html">The Factorization Algorithm of Berlekamp and Zassenhaus</a></li><li><a href="../entries/Regex_Equivalence.html">Unified Decision Procedures for Regular Expression Equivalence</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Efficient-Mergesort/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Efficient-Mergesort/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Efficient-Mergesort/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Efficient-Mergesort-AFP</p><pre id="copy-text">@article{Efficient-Mergesort-AFP,
author = {Christian Sternagel},
title = {Efficient Mergesort},
journal = {Archive of Formal Proofs},
month = {November},
year = {2011},
note = {\url{https://isa-afp.org/entries/Efficient-Mergesort.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Efficient-Mergesort-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Efficient-Mergesort-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Efficient-Mergesort-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Efficient-Mergesort-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Efficient-Mergesort-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Efficient-Mergesort-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Efficient-Mergesort-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Efficient-Mergesort-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Efficient-Mergesort-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Efficient-Mergesort-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Efficient-Mergesort-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Efficient-Mergesort-2013-12-11.tar.gz">Dec 11, 2013</a>: Isabelle2013-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Efficient-Mergesort-2013-11-17.tar.gz">Nov 17, 2013</a>: Isabelle2013-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Efficient-Mergesort-2013-03-02.tar.gz">Mar 2, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-Efficient-Mergesort-2013-02-16.tar.gz">Feb 16, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-Efficient-Mergesort-2012-05-24.tar.gz">May 24, 2012</a>: Isabelle2012
</li><li>
<a href="https://www.isa-afp.org/release/afp-Efficient-Mergesort-2011-11-10.tar.gz">Nov 10, 2011</a>: Isabelle2011-1
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Featherweight_OCL.html b/web/entries/Featherweight_OCL.html
--- a/web/entries/Featherweight_OCL.html
+++ b/web/entries/Featherweight_OCL.html
@@ -1,218 +1,229 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Featherweight OCL: A Proposal for a Machine-Checked Formal Semantics for OCL 2.5 - Archive of Formal Proofs</title><meta name="description" content="The Unified Modeling Language (UML) is one of the few
modeling languages that is widely used in industry. While
UML is mostly known as diagrammatic..."><meta property="og:title" content="Featherweight OCL: A Proposal for a Machine-Checked Formal Semantics for OCL 2.5" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Featherweight_OCL.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2014-01-16T00:00:00+00:00" />
<meta property="article:modified_time" content="2014-01-16T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Featherweight OCL: A Proposal for a Machine-Checked Formal Semantics for OCL 2.5"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>F</span>eatherweight <span class='first'>O</span><span class='first'>C</span><span class='first'>L</span>: <span class='first'>A</span> <span class='first'>P</span>roposal for a <span class='first'>M</span>achine-<span class='first'>C</span>hecked <span class='first'>F</span>ormal <span class='first'>S</span>emantics for <span class='first'>O</span><span class='first'>C</span><span class='first'>L</span> 2.5</h1>
<div>
<p><a href="../authors/brucker">Achim D. Brucker</a> <a class="obfuscated" data="eyJob3N0IjpbInNwYW1mZW5jZSIsIm5ldCJdLCJ1c2VyIjpbImJydWNrZXIiXX0=">📧</a>, <a href="../authors/tuong">Frédéric Tuong</a> <a class="obfuscated" data="eyJob3N0IjpbInVzZXJzIiwiZ2ZvcmdlIiwiaW5yaWEiLCJmciJdLCJ1c2VyIjpbInR1b25nIl19">📧</a> and <a href="../authors/wolff">Burkhart Wolff</a> <a class="obfuscated" data="eyJob3N0IjpbImxyaSIsImZyIl0sInVzZXIiOlsiYnVya2hhcnQiLCJ3b2xmZiJdfQ==">📧</a>
</p>
<p class="date">January 16, 2014</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">The Unified Modeling Language (UML) is one of the few
modeling languages that is widely used in industry. While
UML is mostly known as diagrammatic modeling language
(e.g., visualizing class models), it is complemented by a
textual language, called Object Constraint Language
(OCL). The current version of OCL is based on a four-valued
logic that turns UML into a formal language. Any type
comprises the elements "invalid" and "null" which are
propagated as strict and non-strict, respectively.
Unfortunately, the former semi-formal semantics of this
specification language, captured in the "Annex A" of the
OCL standard, leads to different interpretations of corner
cases. We formalize the core of OCL: denotational
definitions, a logical calculus and operational rules that
allow for the execution of OCL expressions by a mixture of
term rewriting and code compilation. Our formalization
reveals several inconsistencies and contradictions in the
current version of the OCL standard. Overall, this document
is intended to provide the basis for a machine-checked text
"Annex A" of the OCL standard targeting at tool
-implementors.</div>BSD License<h3>Topics</h3>
+implementors.</div>BSD License<h3>Change history</h3><p>
+ <h4>October 13, 2015</h4>
+ <a href="https://foss.heptapod.net/isa-afp/afp-devel/-/commit/e68e1996d5d4926397c9244e786446e99ab17e63">afp-devel@ea3b38fc54d6</a> and
+<a href="https://projects.brucker.ch/hol-testgen/log/trunk?rev=12148">hol-testgen@12148</a><br>
+&nbsp;&nbsp;&nbsp;Update of Featherweight OCL including a change in the abstract.<br>
+
+ </p><p>
+ <h4>January 16, 2014</h4>
+ <a href="https://foss.heptapod.net/isa-afp/afp-devel/-/commit/6217cc5b29c560f24ecc64c81047778becb69f51">afp-devel@9091ce05cb20</a> and
+<a href="https://projects.brucker.ch/hol-testgen/log/trunk?rev=10241">hol-testgen@10241</a><br>
+&nbsp;&nbsp;&nbsp;New Entry: Featherweight OCL
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/system-description-languages">Computer science/System description languages</a></li></ul>
<h3>Theories of Featherweight_OCL</h3>
<ul>
<li><a href="../theories/featherweight_ocl/#UML_Types">UML_Types</a></li>
<li><a href="../theories/featherweight_ocl/#UML_Logic">UML_Logic</a></li>
<li><a href="../theories/featherweight_ocl/#UML_PropertyProfiles">UML_PropertyProfiles</a></li>
<li><a href="../theories/featherweight_ocl/#UML_Boolean">UML_Boolean</a></li>
<li><a href="../theories/featherweight_ocl/#UML_Void">UML_Void</a></li>
<li><a href="../theories/featherweight_ocl/#UML_Integer">UML_Integer</a></li>
<li><a href="../theories/featherweight_ocl/#UML_Real">UML_Real</a></li>
<li><a href="../theories/featherweight_ocl/#UML_String">UML_String</a></li>
<li><a href="../theories/featherweight_ocl/#UML_Pair">UML_Pair</a></li>
<li><a href="../theories/featherweight_ocl/#UML_Bag">UML_Bag</a></li>
<li><a href="../theories/featherweight_ocl/#UML_Set">UML_Set</a></li>
<li><a href="../theories/featherweight_ocl/#UML_Sequence">UML_Sequence</a></li>
<li><a href="../theories/featherweight_ocl/#UML_Library">UML_Library</a></li>
<li><a href="../theories/featherweight_ocl/#UML_State">UML_State</a></li>
<li><a href="../theories/featherweight_ocl/#UML_Contracts">UML_Contracts</a></li>
<li><a href="../theories/featherweight_ocl/#UML_Tools">UML_Tools</a></li>
<li><a href="../theories/featherweight_ocl/#UML_Main">UML_Main</a></li>
<li><a href="../theories/featherweight_ocl/#Analysis_UML">Analysis_UML</a></li>
<li><a href="../theories/featherweight_ocl/#Analysis_OCL">Analysis_OCL</a></li>
<li><a href="../theories/featherweight_ocl/#Design_UML">Design_UML</a></li>
<li><a href="../theories/featherweight_ocl/#Design_OCL">Design_OCL</a></li></ul><div class="flex-wrap">
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Featherweight_OCL/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Featherweight_OCL/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Featherweight_OCL/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Featherweight_OCL-AFP</p><pre id="copy-text">@article{Featherweight_OCL-AFP,
author = {Achim D. Brucker and Frédéric Tuong and Burkhart Wolff},
title = {Featherweight OCL: A Proposal for a Machine-Checked Formal Semantics for OCL 2.5},
journal = {Archive of Formal Proofs},
month = {January},
year = {2014},
note = {\url{https://isa-afp.org/entries/Featherweight_OCL.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Featherweight_OCL-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Featherweight_OCL-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Featherweight_OCL-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Featherweight_OCL-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Featherweight_OCL-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Featherweight_OCL-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Featherweight_OCL-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Featherweight_OCL-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Featherweight_OCL-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Featherweight_OCL-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Featherweight_OCL-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Featherweight_OCL-2014-01-16.tar.gz">Jan 16, 2014</a>: Isabelle2013-2
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/FinFun.html b/web/entries/FinFun.html
--- a/web/entries/FinFun.html
+++ b/web/entries/FinFun.html
@@ -1,198 +1,212 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Code Generation for Functions as Data - Archive of Formal Proofs</title><meta name="description" content="FinFuns are total functions that are constant except for a finite set of points, i.e. a generalisation of finite maps. They are formalised as a new type in..."><meta property="og:title" content="Code Generation for Functions as Data" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/FinFun.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2009-05-06T00:00:00+00:00" />
<meta property="article:modified_time" content="2009-05-06T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Code Generation for Functions as Data"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>ode <span class='first'>G</span>eneration for <span class='first'>F</span>unctions as <span class='first'>D</span>ata</h1>
<div>
<p><a href="../authors/lochbihler">Andreas Lochbihler</a> <a href="http://www.andreas-lochbihler.de/">🌐</a>
</p>
<p class="date">May 6, 2009</p>
</div>
</header><div><main><h3>Abstract</h3>
- <div class="abstract mathjax_process">FinFuns are total functions that are constant except for a finite set of points, i.e. a generalisation of finite maps. They are formalised as a new type in Isabelle/HOL such that the code generator can handle equality tests and quantification on FinFuns. On the code output level, FinFuns are explicitly represented by constant functions and pointwise updates, similarly to associative lists. Inside the logic, they behave like ordinary functions with extensionality. Via the update/constant pattern, a recursion combinator and an induction rule for FinFuns allow for defining and reasoning about operators on FinFun that are also executable.</div>BSD License<h3>Topics</h3>
+ <div class="abstract mathjax_process">FinFuns are total functions that are constant except for a finite set of points, i.e. a generalisation of finite maps. They are formalised as a new type in Isabelle/HOL such that the code generator can handle equality tests and quantification on FinFuns. On the code output level, FinFuns are explicitly represented by constant functions and pointwise updates, similarly to associative lists. Inside the logic, they behave like ordinary functions with extensionality. Via the update/constant pattern, a recursion combinator and an induction rule for FinFuns allow for defining and reasoning about operators on FinFun that are also executable.</div>BSD License<h3>Change history</h3><p>
+ <h4>March 7, 2012</h4>
+ replace sets as FinFuns by predicates as FinFuns because the set type constructor has been reintroduced
+(revision b7aa87989f3a)
+ </p><p>
+ <h4>November 4, 2010</h4>
+ new conversion function from FinFun to list of elements in the domain
+(revision 0c167102e6ed)<br>
+
+ </p><p>
+ <h4>August 13, 2010</h4>
+ new concept domain of a FinFun as a FinFun
+(revision 34b3517cbc09)<br>
+
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/data-structures">Computer science/Data structures</a></li></ul>
<h3>Theories of FinFun</h3>
<ul>
<li><a href="../theories/finfun/#FinFun">FinFun</a></li>
<li><a href="../theories/finfun/#FinFunPred">FinFunPred</a></li></ul><div class="flex-wrap">
<div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Extended_Finite_State_Machines.html">A Formal Model of Extended Finite State Machines</a></li><li><a href="../entries/Nominal2.html">Nominal 2</a></li><li><a href="../entries/Launchbury.html">The Correctness of Launchbury&rsquo;s Natural Semantics for Lazy Evaluation</a></li><li><a href="../entries/JinjaThreads.html">Jinja with Threads</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/FinFun/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/FinFun/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/FinFun/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">FinFun-AFP</p><pre id="copy-text">@article{FinFun-AFP,
author = {Andreas Lochbihler},
title = {Code Generation for Functions as Data},
journal = {Archive of Formal Proofs},
month = {May},
year = {2009},
note = {\url{https://isa-afp.org/entries/FinFun.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-FinFun-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2013-12-11.tar.gz">Dec 11, 2013</a>: Isabelle2013-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2013-11-17.tar.gz">Nov 17, 2013</a>: Isabelle2013-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2013-03-02.tar.gz">Mar 2, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2013-02-16.tar.gz">Feb 16, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2012-05-24.tar.gz">May 24, 2012</a>: Isabelle2012
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2011-10-11.tar.gz">Oct 11, 2011</a>: Isabelle2011-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2011-02-11.tar.gz">Feb 11, 2011</a>: Isabelle2011
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2010-06-30.tar.gz">Jun 30, 2010</a>: Isabelle2009-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2009-12-12.tar.gz">Dec 12, 2009</a>: Isabelle2009-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-FinFun-2009-05-25.tar.gz">May 25, 2009</a>: Isabelle2009
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Flyspeck-Tame.html b/web/entries/Flyspeck-Tame.html
--- a/web/entries/Flyspeck-Tame.html
+++ b/web/entries/Flyspeck-Tame.html
@@ -1,276 +1,275 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Flyspeck I: Tame Graphs - Archive of Formal Proofs</title><meta name="description" content="These theories present the verified enumeration of tame plane graphs as defined by Thomas C. Hales in his proof of the Kepler Conjecture in his book Dense..."><meta property="og:title" content="Flyspeck I: Tame Graphs" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Flyspeck-Tame.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2006-05-22T00:00:00+00:00" />
<meta property="article:modified_time" content="2006-05-22T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Flyspeck I: Tame Graphs"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>F</span>lyspeck <span class='first'>I</span>: <span class='first'>T</span>ame <span class='first'>G</span>raphs</h1>
<div>
<p><a href="../authors/bauer">Gertrud Bauer</a> and <a href="../authors/nipkow">Tobias Nipkow</a> <a href="https://www.in.tum.de/~nipkow/">🌐</a>
</p>
<p class="date">May 22, 2006</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">These theories present the verified enumeration of <i>tame</i> plane graphs
as defined by Thomas C. Hales in his proof of the Kepler Conjecture in his
book <i>Dense Sphere Packings. A Blueprint for Formal Proofs.</i> [CUP 2012].
The values of the constants in the definition of tameness are identical to
those in the <a href="https://code.google.com/p/flyspeck/">Flyspeck project</a>.
The <a href="http://www21.in.tum.de/~nipkow/pubs/Flyspeck/">IJCAR 2006 paper by Nipkow, Bauer and Schultz</a> refers to the original version of Hales' proof,
the <a href="http://www21.in.tum.de/~nipkow/pubs/itp11.html">ITP 2011 paper by Nipkow</a> refers to the Blueprint version of the proof.</div>BSD License<h3>Change history</h3><p>
<h4>July 3, 2014</h4>
modified constants in def of tameness and Archive according to the final state of the Flyspeck proof.
</p><p>
<h4>November 2, 2010</h4>
modified theories to reflect the modified definition of tameness in Hales' revised proof.<br>
-
</p><h3>Topics</h3>
<ul><li><a href="../topics/mathematics/graph-theory">Mathematics/Graph theory</a></li></ul><h3>Related Publications</h3>
<ul><li>
Nipkow, T., Bauer, G., & Schultz, P. (2006). Flyspeck I: Tame Graphs. Lecture Notes in Computer Science, 21–35. <a href="https://doi.org/10.1007/11814771_4">https://doi.org/10.1007/11814771_4</a>
</li><li>
Nipkow, T. (2011). Verified Efficient Enumeration of Plane Graphs Modulo Isomorphism. Lecture Notes in Computer Science, 281–296. <a href="https://doi.org/10.1007/978-3-642-22863-6_21">https://doi.org/10.1007/978-3-642-22863-6_21</a>
</li><li>
Hales, T. C., Harrison, J., McLaughlin, S., Nipkow, T., Obua, S., & Zumkeller, R. (2009). A Revision of the Proof of the Kepler Conjecture. Discrete &amp; Computational Geometry, 44(1), 1–34. <a href="https://doi.org/10.1007/s00454-009-9148-4">https://doi.org/10.1007/s00454-009-9148-4</a>
</li><li>
HALES, T., ADAMS, M., BAUER, G., DANG, T. D., HARRISON, J., HOANG, L. T., KALISZYK, C., MAGRON, V., MCLAUGHLIN, S., NGUYEN, T. T., NGUYEN, Q. T., NIPKOW, T., OBUA, S., PLESO, J., RUTE, J., SOLOVYEV, A., TA, T. H. A., TRAN, N. T., TRIEU, T. D., … ZUMKELLER, R. (2017). A FORMAL PROOF OF THE KEPLER CONJECTURE. Forum of Mathematics, Pi, 5. <a href="https://doi.org/10.1017/fmp.2017.1">https://doi.org/10.1017/fmp.2017.1</a>
</li></ul>
<h3>Theories of Flyspeck-Tame</h3>
<ul>
<li><a href="../theories/flyspeck-tame/#ListAux">ListAux</a></li>
<li><a href="../theories/flyspeck-tame/#Quasi_Order">Quasi_Order</a></li>
<li><a href="../theories/flyspeck-tame/#PlaneGraphIso">PlaneGraphIso</a></li>
<li><a href="../theories/flyspeck-tame/#Rotation">Rotation</a></li>
<li><a href="../theories/flyspeck-tame/#Graph">Graph</a></li>
<li><a href="../theories/flyspeck-tame/#IArray_Syntax">IArray_Syntax</a></li>
<li><a href="../theories/flyspeck-tame/#Enumerator">Enumerator</a></li>
<li><a href="../theories/flyspeck-tame/#FaceDivision">FaceDivision</a></li>
<li><a href="../theories/flyspeck-tame/#RTranCl">RTranCl</a></li>
<li><a href="../theories/flyspeck-tame/#Plane">Plane</a></li>
<li><a href="../theories/flyspeck-tame/#Plane1">Plane1</a></li>
<li><a href="../theories/flyspeck-tame/#GraphProps">GraphProps</a></li>
<li><a href="../theories/flyspeck-tame/#EnumeratorProps">EnumeratorProps</a></li>
<li><a href="../theories/flyspeck-tame/#FaceDivisionProps">FaceDivisionProps</a></li>
<li><a href="../theories/flyspeck-tame/#Invariants">Invariants</a></li>
<li><a href="../theories/flyspeck-tame/#PlaneProps">PlaneProps</a></li>
<li><a href="../theories/flyspeck-tame/#ListSum">ListSum</a></li>
<li><a href="../theories/flyspeck-tame/#Tame">Tame</a></li>
<li><a href="../theories/flyspeck-tame/#Plane1Props">Plane1Props</a></li>
<li><a href="../theories/flyspeck-tame/#Generator">Generator</a></li>
<li><a href="../theories/flyspeck-tame/#TameProps">TameProps</a></li>
<li><a href="../theories/flyspeck-tame/#TameEnum">TameEnum</a></li>
<li><a href="../theories/flyspeck-tame/#ScoreProps">ScoreProps</a></li>
<li><a href="../theories/flyspeck-tame/#LowerBound">LowerBound</a></li>
<li><a href="../theories/flyspeck-tame/#GeneratorProps">GeneratorProps</a></li>
<li><a href="../theories/flyspeck-tame/#TameEnumProps">TameEnumProps</a></li>
<li><a href="../theories/flyspeck-tame/#Worklist">Worklist</a></li>
<li><a href="../theories/flyspeck-tame/#Maps">Maps</a></li>
<li><a href="../theories/flyspeck-tame/#Arch">Arch</a></li>
<li><a href="../theories/flyspeck-tame/#ArchCompAux">ArchCompAux</a></li>
<li><a href="../theories/flyspeck-tame/#ArchCompProps">ArchCompProps</a></li>
<li><a href="../theories/flyspeck-tame/#Relative_Completeness">Relative_Completeness</a></li></ul>
<h3>Theories of Flyspeck-Tame-Computation</h3>
<ul>
<li><a href="../theories/flyspeck-tame-computation/#ArchComp">ArchComp</a></li>
<li><a href="../theories/flyspeck-tame-computation/#Completeness">Completeness</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Trie.html">Trie</a></li><li><a href="../entries/Flyspeck-Tame.html">Flyspeck I: Tame Graphs</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Flyspeck-Tame.html">Flyspeck I: Tame Graphs</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/Myhill-Nerode.html">The Myhill-Nerode Theorem Based on Regular Expressions</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Flyspeck-Tame/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Flyspeck-Tame/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Flyspeck-Tame/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Flyspeck-Tame-AFP</p><pre id="copy-text">@article{Flyspeck-Tame-AFP,
author = {Gertrud Bauer and Tobias Nipkow},
title = {Flyspeck I: Tame Graphs},
journal = {Archive of Formal Proofs},
month = {May},
year = {2006},
note = {\url{https://isa-afp.org/entries/Flyspeck-Tame.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Flyspeck-Tame-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2018-08-17.tar.gz">Aug 17, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2013-12-11.tar.gz">Dec 11, 2013</a>: Isabelle2013-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2013-11-17.tar.gz">Nov 17, 2013</a>: Isabelle2013-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2013-03-02.tar.gz">Mar 2, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2013-02-16.tar.gz">Feb 16, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2012-05-25.tar.gz">May 25, 2012</a>: Isabelle2012
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2011-10-11.tar.gz">Oct 11, 2011</a>: Isabelle2011-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2011-02-11.tar.gz">Feb 11, 2011</a>: Isabelle2011
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2010-06-30.tar.gz">Jun 30, 2010</a>: Isabelle2009-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2009-12-12.tar.gz">Dec 12, 2009</a>: Isabelle2009-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2009-04-29.tar.gz">Apr 29, 2009</a>: Isabelle2009
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2008-06-10.tar.gz">Jun 10, 2008</a>: Isabelle2008
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2008-01-04.tar.gz">Jan 4, 2008</a>: Isabelle2007
</li><li>
<a href="https://www.isa-afp.org/release/afp-Flyspeck-Tame-2007-11-27.tar.gz">Nov 27, 2007</a>: Isabelle2007
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Frequency_Moments.html b/web/entries/Frequency_Moments.html
--- a/web/entries/Frequency_Moments.html
+++ b/web/entries/Frequency_Moments.html
@@ -1,182 +1,185 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Formalization of Randomized Approximation Algorithms for Frequency Moments - Archive of Formal Proofs</title><meta name="description" content="In 1999 Alon et. al. introduced the still active research topic of approximating the frequency moments of a data stream using randomized algorithms with..."><meta property="og:title" content="Formalization of Randomized Approximation Algorithms for Frequency Moments" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Frequency_Moments.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2022-04-08T00:00:00+00:00" />
<meta property="article:modified_time" content="2022-04-08T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Formalization of Randomized Approximation Algorithms for Frequency Moments"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>F</span>ormalization of <span class='first'>R</span>andomized <span class='first'>A</span>pproximation <span class='first'>A</span>lgorithms for <span class='first'>F</span>requency <span class='first'>M</span>oments</h1>
<div>
<p><a href="../authors/karayel">Emin Karayel</a> <a href="https://orcid.org/0000-0003-3290-5034">🌐</a>
</p>
<p class="date">April 8, 2022</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">In 1999 Alon et. al. introduced the still active research topic of
approximating the frequency moments of a data stream using randomized
algorithms with minimal space usage. This includes the problem of
estimating the cardinality of the stream elements - the zeroth
frequency moment. But, also higher-order frequency moments that
provide information about the skew of the data stream. (The
<i>k</i>-th frequency moment of a data stream is the sum
of the <i>k</i>-th powers of the occurrence counts of each
element in the stream.) This entry formalizes three randomized
algorithms for the approximation of
<i>F<sub>0</sub></i>,
<i>F<sub>2</sub></i> and
<i>F<sub>k</sub></i> for <i>k ≥
3</i> based on [<a
href="https://doi.org/10.1006/jcss.1997.1545">1</a>,
<a
href="https://doi.org/10.1007/3-540-45726-7_1">2</a>]
and verifies their expected accuracy, success probability and space
usage.</div>BSD License<h3>Topics</h3>
- <ul><li><a href="../topics/computer-science/algorithms/approximation">Computer science/Algorithms/Approximation</a></li><li><a href="../topics/mathematics/probability-theory">Mathematics/Probability theory</a></li></ul>
+ <ul><li><a href="../topics/computer-science/algorithms/approximation">Computer science/Algorithms/Approximation</a></li><li><a href="../topics/mathematics/probability-theory">Mathematics/Probability theory</a></li></ul><h3>Related Publications</h3>
+ <ul><li>
+ Karayel, E. (2022). Formalization of Randomized Approximation Algorithms for Frequency Moments. <i>Schloss Dagstuhl - Leibniz-Zentrum Für Informatik</i>. https://doi.org/10.4230/LIPICS.ITP.2022.21
+ </li></ul>
<h3>Theories of Frequency_Moments</h3>
<ul>
<li><a href="../theories/frequency_moments/#Frequency_Moments_Preliminary_Results">Frequency_Moments_Preliminary_Results</a></li>
<li><a href="../theories/frequency_moments/#Frequency_Moments">Frequency_Moments</a></li>
<li><a href="../theories/frequency_moments/#K_Smallest">K_Smallest</a></li>
<li><a href="../theories/frequency_moments/#Landau_Ext">Landau_Ext</a></li>
<li><a href="../theories/frequency_moments/#Probability_Ext">Probability_Ext</a></li>
<li><a href="../theories/frequency_moments/#Product_PMF_Ext">Product_PMF_Ext</a></li>
<li><a href="../theories/frequency_moments/#Frequency_Moment_0">Frequency_Moment_0</a></li>
<li><a href="../theories/frequency_moments/#Frequency_Moment_2">Frequency_Moment_2</a></li>
<li><a href="../theories/frequency_moments/#Frequency_Moment_k">Frequency_Moment_k</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Bertrands_Postulate.html">Bertrand&rsquo;s postulate</a></li><li><a href="../entries/Equivalence_Relation_Enumeration.html">Enumeration of Equivalence Relations</a></li><li><a href="../entries/Interpolation_Polynomials_HOL_Algebra.html">Interpolation Polynomials (in HOL-Algebra)</a></li><li><a href="../entries/Lp.html">Lp spaces</a></li><li><a href="../entries/Median_Method.html">Median Method</a></li><li><a href="../entries/Prefix_Free_Code_Combinators.html">A Combinator Library for Prefix-Free Codes</a></li><li><a href="../entries/Universal_Hash_Families.html">Universal Hash Families</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Frequency_Moments/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Frequency_Moments/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Frequency_Moments/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Frequency_Moments-AFP</p><pre id="copy-text">@article{Frequency_Moments-AFP,
author = {Emin Karayel},
title = {Formalization of Randomized Approximation Algorithms for Frequency Moments},
journal = {Archive of Formal Proofs},
month = {April},
year = {2022},
note = {\url{https://isa-afp.org/entries/Frequency_Moments.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Frequency_Moments-current.tar.gz" download>Download latest</a>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Game_Based_Crypto.html b/web/entries/Game_Based_Crypto.html
--- a/web/entries/Game_Based_Crypto.html
+++ b/web/entries/Game_Based_Crypto.html
@@ -1,209 +1,213 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Game-based cryptography in HOL - Archive of Formal Proofs</title><meta name="description" content="In this AFP entry, we show how to specify game-based cryptographic security notions and formally prove secure several cryptographic constructions from the..."><meta property="og:title" content="Game-based cryptography in HOL" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Game_Based_Crypto.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2017-05-05T00:00:00+00:00" />
<meta property="article:modified_time" content="2017-05-05T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Game-based cryptography in HOL"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>G</span>ame-<span class='first'>B</span>ased <span class='first'>C</span>ryptography in <span class='first'>H</span><span class='first'>O</span><span class='first'>L</span></h1>
<div>
<p><a href="../authors/lochbihler">Andreas Lochbihler</a> <a href="http://www.andreas-lochbihler.de/">🌐</a>, <a href="../authors/sefidgar">S. Reza Sefidgar</a> and <a href="../authors/bhatt">Bhargav Bhatt</a> <a class="obfuscated" data="eyJob3N0IjpbImluZiIsImV0aHoiLCJjaCJdLCJ1c2VyIjpbImJoYXJnYXYiLCJiaGF0dCJdfQ==">📧</a>
</p>
<p class="date">May 5, 2017</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process"><p>In this AFP entry, we show how to specify game-based cryptographic
security notions and formally prove secure several cryptographic
constructions from the literature using the CryptHOL framework. Among
others, we formalise the notions of a random oracle, a pseudo-random
function, an unpredictable function, and of encryption schemes that are
indistinguishable under chosen plaintext and/or ciphertext attacks. We
prove the random-permutation/random-function switching lemma, security
of the Elgamal and hashed Elgamal public-key encryption scheme and
correctness and security of several constructions with pseudo-random
functions.
</p><p>Our proofs follow the game-hopping style advocated by
Shoup and Bellare and Rogaway, from which most of the examples have
been taken. We generalise some of their results such that they can be
reused in other proofs. Thanks to CryptHOL's integration with
Isabelle's parametricity infrastructure, many simple hops are easily
-justified using the theory of representation independence.</p></div>BSD License<h3>Topics</h3>
+justified using the theory of representation independence.</p></div>BSD License<h3>Change history</h3><p>
+ <h4>September 28, 2018</h4>
+ added the CryptHOL tutorial for game-based cryptography
+(revision 489a395764ae)
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/security/cryptography">Computer science/Security/Cryptography</a></li></ul>
<h3>Theories of Game_Based_Crypto</h3>
<ul>
<li><a href="../theories/game_based_crypto/#Diffie_Hellman">Diffie_Hellman</a></li>
<li><a href="../theories/game_based_crypto/#IND_CCA2">IND_CCA2</a></li>
<li><a href="../theories/game_based_crypto/#IND_CCA2_sym">IND_CCA2_sym</a></li>
<li><a href="../theories/game_based_crypto/#IND_CPA">IND_CPA</a></li>
<li><a href="../theories/game_based_crypto/#IND_CPA_PK">IND_CPA_PK</a></li>
<li><a href="../theories/game_based_crypto/#IND_CPA_PK_Single">IND_CPA_PK_Single</a></li>
<li><a href="../theories/game_based_crypto/#SUF_CMA">SUF_CMA</a></li>
<li><a href="../theories/game_based_crypto/#Pseudo_Random_Function">Pseudo_Random_Function</a></li>
<li><a href="../theories/game_based_crypto/#Pseudo_Random_Permutation">Pseudo_Random_Permutation</a></li>
<li><a href="../theories/game_based_crypto/#Guessing_Many_One">Guessing_Many_One</a></li>
<li><a href="../theories/game_based_crypto/#Unpredictable_Function">Unpredictable_Function</a></li>
<li><a href="../theories/game_based_crypto/#Security_Spec">Security_Spec</a></li>
<li><a href="../theories/game_based_crypto/#Elgamal">Elgamal</a></li>
<li><a href="../theories/game_based_crypto/#Hashed_Elgamal">Hashed_Elgamal</a></li>
<li><a href="../theories/game_based_crypto/#RP_RF">RP_RF</a></li>
<li><a href="../theories/game_based_crypto/#PRF_UHF">PRF_UHF</a></li>
<li><a href="../theories/game_based_crypto/#PRF_IND_CPA">PRF_IND_CPA</a></li>
<li><a href="../theories/game_based_crypto/#PRF_UPF_IND_CCA">PRF_UPF_IND_CCA</a></li>
<li><a href="../theories/game_based_crypto/#Cryptographic_Constructions">Cryptographic_Constructions</a></li>
<li><a href="../theories/game_based_crypto/#Game_Based_Crypto">Game_Based_Crypto</a></li>
<li><a href="../theories/game_based_crypto/#CryptHOL_Tutorial">CryptHOL_Tutorial</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/CryptHOL.html">CryptHOL</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Constructive_Cryptography_CM.html">Constructive Cryptography in HOL: the Communication Modeling Aspect</a></li><li><a href="../entries/Multi_Party_Computation.html">Multi-Party Computation</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Game_Based_Crypto/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Game_Based_Crypto/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Game_Based_Crypto/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Game_Based_Crypto-AFP</p><pre id="copy-text">@article{Game_Based_Crypto-AFP,
author = {Andreas Lochbihler and S. Reza Sefidgar and Bhargav Bhatt},
title = {Game-based cryptography in HOL},
journal = {Archive of Formal Proofs},
month = {May},
year = {2017},
note = {\url{https://isa-afp.org/entries/Game_Based_Crypto.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Game_Based_Crypto-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Game_Based_Crypto-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Game_Based_Crypto-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Game_Based_Crypto-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Game_Based_Crypto-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Game_Based_Crypto-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Game_Based_Crypto-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Game_Based_Crypto-2017-05-11.tar.gz">May 11, 2017</a>: Isabelle2016-1
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Gauss_Jordan.html b/web/entries/Gauss_Jordan.html
--- a/web/entries/Gauss_Jordan.html
+++ b/web/entries/Gauss_Jordan.html
@@ -1,220 +1,219 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Gauss-Jordan Algorithm and Its Applications - Archive of Formal Proofs</title><meta name="description" content="The Gauss-Jordan algorithm states that any matrix over a field can be transformed by means of elementary row operations to a matrix in reduced row echelon..."><meta property="og:title" content="Gauss-Jordan Algorithm and Its Applications" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Gauss_Jordan.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2014-09-03T00:00:00+00:00" />
<meta property="article:modified_time" content="2014-09-03T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Gauss-Jordan Algorithm and Its Applications"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>G</span>auss-<span class='first'>J</span>ordan <span class='first'>A</span>lgorithm and <span class='first'>I</span>ts <span class='first'>A</span>pplications</h1>
<div>
<p><a href="../authors/divason">Jose Divasón</a> <a href="https://www.unirioja.es/cu/jodivaso/">🌐</a> and <a href="../authors/aransay">Jesús Aransay</a> <a href="https://www.unirioja.es/cu/jearansa">🌐</a>
</p>
<p class="date">September 3, 2014</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">The Gauss-Jordan algorithm states that any matrix over a field can be transformed by means of elementary row operations to a matrix in reduced row echelon form. The formalization is based on the Rank Nullity Theorem entry of the AFP and on the HOL-Multivariate-Analysis session of Isabelle, where matrices are represented as functions over finite types. We have set up the code generator to make this representation executable. In order to improve the performance, a refinement to immutable arrays has been carried out. We have formalized some of the applications of the Gauss-Jordan algorithm. Thanks to this development, the following facts can be computed over matrices whose elements belong to a field: Ranks, Determinants, Inverses, Bases and dimensions and Solutions of systems of linear equations. Code can be exported to SML and Haskell.</div>BSD License<h3>Topics</h3>
<ul><li><a href="../topics/computer-science/algorithms/mathematical">Computer science/Algorithms/Mathematical</a></li></ul>
<h3>Theories of Gauss_Jordan</h3>
<ul>
<li><a href="../theories/gauss_jordan/#Rref">Rref</a></li>
<li><a href="../theories/gauss_jordan/#Code_Set">Code_Set</a></li>
<li><a href="../theories/gauss_jordan/#Code_Matrix">Code_Matrix</a></li>
<li><a href="../theories/gauss_jordan/#Elementary_Operations">Elementary_Operations</a></li>
<li><a href="../theories/gauss_jordan/#Rank">Rank</a></li>
<li><a href="../theories/gauss_jordan/#Gauss_Jordan">Gauss_Jordan</a></li>
<li><a href="../theories/gauss_jordan/#Linear_Maps">Linear_Maps</a></li>
<li><a href="../theories/gauss_jordan/#Gauss_Jordan_PA">Gauss_Jordan_PA</a></li>
<li><a href="../theories/gauss_jordan/#Determinants2">Determinants2</a></li>
<li><a href="../theories/gauss_jordan/#Inverse">Inverse</a></li>
<li><a href="../theories/gauss_jordan/#Bases_Of_Fundamental_Subspaces">Bases_Of_Fundamental_Subspaces</a></li>
<li><a href="../theories/gauss_jordan/#System_Of_Equations">System_Of_Equations</a></li>
<li><a href="../theories/gauss_jordan/#Code_Z2">Code_Z2</a></li>
<li><a href="../theories/gauss_jordan/#Examples_Gauss_Jordan_Abstract">Examples_Gauss_Jordan_Abstract</a></li>
<li><a href="../theories/gauss_jordan/#IArray_Addenda">IArray_Addenda</a></li>
<li><a href="../theories/gauss_jordan/#Matrix_To_IArray">Matrix_To_IArray</a></li>
<li><a href="../theories/gauss_jordan/#Gauss_Jordan_IArrays">Gauss_Jordan_IArrays</a></li>
<li><a href="../theories/gauss_jordan/#Gauss_Jordan_PA_IArrays">Gauss_Jordan_PA_IArrays</a></li>
<li><a href="../theories/gauss_jordan/#Bases_Of_Fundamental_Subspaces_IArrays">Bases_Of_Fundamental_Subspaces_IArrays</a></li>
<li><a href="../theories/gauss_jordan/#System_Of_Equations_IArrays">System_Of_Equations_IArrays</a></li>
<li><a href="../theories/gauss_jordan/#Determinants_IArrays">Determinants_IArrays</a></li>
<li><a href="../theories/gauss_jordan/#Inverse_IArrays">Inverse_IArrays</a></li>
<li><a href="../theories/gauss_jordan/#Examples_Gauss_Jordan_IArrays">Examples_Gauss_Jordan_IArrays</a></li>
<li><a href="../theories/gauss_jordan/#Code_Generation_IArrays">Code_Generation_IArrays</a></li>
<li><a href="../theories/gauss_jordan/#Code_Generation_IArrays_SML">Code_Generation_IArrays_SML</a></li>
- <li><a href="../theories/gauss_jordan/#Code_Real_Approx_By_Float_Haskell">Code_Real_Approx_By_Float_Haskell</a></li>
<li><a href="../theories/gauss_jordan/#Code_Rational">Code_Rational</a></li>
<li><a href="../theories/gauss_jordan/#Code_Generation_IArrays_Haskell">Code_Generation_IArrays_Haskell</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Rank_Nullity_Theorem.html">Rank-Nullity Theorem in Linear Algebra</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/MDP-Algorithms.html">Verified Algorithms for Solving Markov Decision Processes</a></li><li><a href="../entries/Polynomial_Factorization.html">Polynomial Factorization</a></li><li><a href="../entries/Echelon_Form.html">Echelon Form</a></li><li><a href="../entries/QR_Decomposition.html">QR Decomposition</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/QR_Decomposition.html">QR Decomposition</a></li>
<li><a href="../entries/Hermite.html">Hermite Normal Form</a></li>
<li><a href="../entries/Echelon_Form.html">Echelon Form</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Gauss_Jordan-AFP</p><pre id="copy-text">@article{Gauss_Jordan-AFP,
author = {Jose Divasón and Jesús Aransay},
title = {Gauss-Jordan Algorithm and Its Applications},
journal = {Archive of Formal Proofs},
month = {September},
year = {2014},
note = {\url{https://isa-afp.org/entries/Gauss_Jordan.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Gauss_Jordan-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Gauss_Jordan-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Gauss_Jordan-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Gauss_Jordan-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Gauss_Jordan-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Gauss_Jordan-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Gauss_Jordan-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Gauss_Jordan-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Gauss_Jordan-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Gauss_Jordan-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Gauss_Jordan-2014-09-03.tar.gz">Sep 3, 2014</a>: Isabelle2014
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/GewirthPGCProof.html b/web/entries/GewirthPGCProof.html
--- a/web/entries/GewirthPGCProof.html
+++ b/web/entries/GewirthPGCProof.html
@@ -1,172 +1,176 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Formalisation and Evaluation of Alan Gewirth&#39;s Proof for the Principle of Generic Consistency in Isabelle/HOL - Archive of Formal Proofs</title><meta name="description" content="An ambitious ethical theory ---Alan Gewirth&#39;s &#34;Principle of
Generic Consistency&#34;--- is encoded and analysed in Isabelle/HOL.
Gewirth&#39;s theory has stirred..."><meta property="og:title" content="Formalisation and Evaluation of Alan Gewirth&#39;s Proof for the Principle of Generic Consistency in Isabelle/HOL" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/GewirthPGCProof.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2018-10-30T00:00:00+00:00" />
<meta property="article:modified_time" content="2018-10-30T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Formalisation and Evaluation of Alan Gewirth&#39;s Proof for the Principle of Generic Consistency in Isabelle/HOL"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>F</span>ormalisation and <span class='first'>E</span>valuation of <span class='first'>A</span>lan <span class='first'>G</span>ewirth's <span class='first'>P</span>roof for the <span class='first'>P</span>rinciple of <span class='first'>G</span>eneric <span class='first'>C</span>onsistency in <span class='first'>I</span>sabelle/<span class='first'>H</span><span class='first'>O</span><span class='first'>L</span></h1>
<div>
<p><a href="../authors/fuenmayor">David Fuenmayor</a> <a class="obfuscated" data="eyJob3N0IjpbImdtYWlsIiwiY29tIl0sInVzZXIiOlsiZGF2ZnVlbm1heW9yIl19">📧</a> and <a href="../authors/benzmueller">Christoph Benzmüller</a> <a href="http://christoph-benzmueller.de">🌐</a>
</p>
<p class="date">October 30, 2018</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">An ambitious ethical theory ---Alan Gewirth's "Principle of
Generic Consistency"--- is encoded and analysed in Isabelle/HOL.
Gewirth's theory has stirred much attention in philosophy and
ethics and has been proposed as a potential means to bound the impact
-of artificial general intelligence.</div>BSD License<h3>Topics</h3>
+of artificial general intelligence.</div>BSD License<h3>Change history</h3><p>
+ <h4>April 9, 2019</h4>
+ added proof for a stronger variant of the PGC and examplary inferences
+(revision 88182cb0a2f6)<br>
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/logic/philosophical-aspects">Logic/Philosophical aspects</a></li></ul>
<h3>Theories of GewirthPGCProof</h3>
<ul>
<li><a href="../theories/gewirthpgcproof/#CJDDLplus">CJDDLplus</a></li>
<li><a href="../theories/gewirthpgcproof/#ExtendedDDL">ExtendedDDL</a></li>
<li><a href="../theories/gewirthpgcproof/#GewirthArgument">GewirthArgument</a></li></ul><div class="flex-wrap">
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/GewirthPGCProof/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/GewirthPGCProof/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/GewirthPGCProof/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">GewirthPGCProof-AFP</p><pre id="copy-text">@article{GewirthPGCProof-AFP,
author = {David Fuenmayor and Christoph Benzmüller},
title = {Formalisation and Evaluation of Alan Gewirth&#39;s Proof for the Principle of Generic Consistency in Isabelle/HOL},
journal = {Archive of Formal Proofs},
month = {October},
year = {2018},
note = {\url{https://isa-afp.org/entries/GewirthPGCProof.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-GewirthPGCProof-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-GewirthPGCProof-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-GewirthPGCProof-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-GewirthPGCProof-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-GewirthPGCProof-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-GewirthPGCProof-2018-10-31.tar.gz">Oct 31, 2018</a>: Isabelle2018
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Goedel_HFSet_Semantic.html b/web/entries/Goedel_HFSet_Semantic.html
--- a/web/entries/Goedel_HFSet_Semantic.html
+++ b/web/entries/Goedel_HFSet_Semantic.html
@@ -1,190 +1,190 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>From Abstract to Concrete G&ouml;del&#39;s Incompleteness Theorems&mdash;Part I - Archive of Formal Proofs</title><meta name="description" content="We validate an abstract formulation of G&amp;ouml;del&#39;s First and Second Incompleteness Theorems from a separate AFP entry by instantiating them to the case of..."><meta property="og:title" content="From Abstract to Concrete G&amp;ouml;del&#39;s Incompleteness Theorems&amp;mdash;Part I" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Goedel_HFSet_Semantic.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2020-09-16T00:00:00+00:00" />
<meta property="article:modified_time" content="2020-09-16T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="From Abstract to Concrete G&amp;ouml;del&#39;s Incompleteness Theorems&amp;mdash;Part I"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>F</span>rom <span class='first'>A</span>bstract to <span class='first'>C</span>oncrete <span class='first'>G</span>&ouml;del's <span class='first'>I</span>ncompleteness <span class='first'>T</span>heorems&mdash;<span class='first'>P</span>art <span class='first'>I</span></h1>
<div>
<p><a href="../authors/popescu">Andrei Popescu</a> <a href="https://www.andreipopescu.uk">🌐</a> and <a href="../authors/traytel">Dmitriy Traytel</a> <a href="https://traytel.bitbucket.io/">🌐</a>
</p>
<p class="date">September 16, 2020</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We validate an abstract formulation of G&ouml;del's First and
Second Incompleteness Theorems from a <a
href="https://www.isa-afp.org/entries/Goedel_Incompleteness.html">separate
AFP entry</a> by instantiating them to the case of
<i>finite sound extensions of the Hereditarily Finite (HF) Set
theory</i>, i.e., FOL theories extending the HF Set theory with
a finite set of axioms that are sound in the standard model. The
concrete results had been previously formalised in an <a
href="https://www.isa-afp.org/entries/Incompleteness.html">AFP
entry by Larry Paulson</a>; our instantiation reuses the
infrastructure developed in that entry.</div>BSD License<h3>Topics</h3>
<ul><li><a href="../topics/logic/proof-theory">Logic/Proof theory</a></li></ul>
<h3>Theories of Goedel_HFSet_Semantic</h3>
<ul>
<li><a href="../theories/goedel_hfset_semantic/#Instance">Instance</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Goedel_Incompleteness.html">An Abstract Formalization of Gödel&rsquo;s Incompleteness Theorems</a></li><li><a href="../entries/Incompleteness.html">Gödel&rsquo;s Incompleteness Theorems</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/Goedel_HFSet_Semanticless.html">From Abstract to Concrete Gödel&rsquo;s Incompleteness Theorems—Part II</a></li>
+ <li><a href="../entries/Hales_Jewett.html">The Hales–Jewett Theorem</a></li>
+
<li><a href="../entries/Irrationals_From_THEBOOK.html">Irrational numbers from THE BOOK</a></li>
<li><a href="../entries/CoSMeDis.html">CoSMeDis: A confidentiality-verified distributed social media platform</a></li>
<li><a href="../entries/BD_Security_Compositional.html">Compositional BD Security</a></li>
- <li><a href="../entries/Core_SC_DOM.html">The Safely Composable DOM</a></li>
-
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Goedel_HFSet_Semantic/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Goedel_HFSet_Semantic/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Goedel_HFSet_Semantic/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Goedel_HFSet_Semantic-AFP</p><pre id="copy-text">@article{Goedel_HFSet_Semantic-AFP,
author = {Andrei Popescu and Dmitriy Traytel},
title = {From Abstract to Concrete Gödel&#39;s Incompleteness Theorems—Part I},
journal = {Archive of Formal Proofs},
month = {September},
year = {2020},
note = {\url{https://isa-afp.org/entries/Goedel_HFSet_Semantic.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Goedel_HFSet_Semantic-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Goedel_HFSet_Semantic-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Goedel_HFSet_Semantic-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Goedel_HFSet_Semantic-2020-09-18.tar.gz">Sep 18, 2020</a>: Isabelle2020
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Goedel_Incompleteness.html b/web/entries/Goedel_Incompleteness.html
--- a/web/entries/Goedel_Incompleteness.html
+++ b/web/entries/Goedel_Incompleteness.html
@@ -1,218 +1,218 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>An Abstract Formalization of G&ouml;del&#39;s Incompleteness Theorems - Archive of Formal Proofs</title><meta name="description" content="We present an abstract formalization of G&amp;ouml;del&#39;s incompleteness theorems. We analyze sufficient conditions for the theorems&#39; applicability to a..."><meta property="og:title" content="An Abstract Formalization of G&amp;ouml;del&#39;s Incompleteness Theorems" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Goedel_Incompleteness.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2020-09-16T00:00:00+00:00" />
<meta property="article:modified_time" content="2020-09-16T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="An Abstract Formalization of G&amp;ouml;del&#39;s Incompleteness Theorems"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>A</span>n <span class='first'>A</span>bstract <span class='first'>F</span>ormalization of <span class='first'>G</span>&ouml;del's <span class='first'>I</span>ncompleteness <span class='first'>T</span>heorems</h1>
<div>
<p><a href="../authors/popescu">Andrei Popescu</a> <a href="https://www.andreipopescu.uk">🌐</a> and <a href="../authors/traytel">Dmitriy Traytel</a> <a href="https://traytel.bitbucket.io/">🌐</a>
</p>
<p class="date">September 16, 2020</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We present an abstract formalization of G&ouml;del's
incompleteness theorems. We analyze sufficient conditions for the
theorems' applicability to a partially specified logic. Our
abstract perspective enables a comparison between alternative
approaches from the literature. These include Rosser's variation
of the first theorem, Jeroslow's variation of the second theorem,
and the Swierczkowski&ndash;Paulson semantics-based approach. This
AFP entry is the main entry point to the results described in our
CADE-27 paper <a
href="https://dx.doi.org/10.1007/978-3-030-29436-6_26">A
Formally Verified Abstract Account of Gödel's Incompleteness
Theorems</a>. As part of our abstract formalization's
validation, we instantiate our locales twice in the separate AFP
entries <a
href="https://www.isa-afp.org/entries/Goedel_HFSet_Semantic.html">Goedel_HFSet_Semantic</a>
and <a
href="https://www.isa-afp.org/entries/Goedel_HFSet_Semanticless.html">Goedel_HFSet_Semanticless</a>.</div>BSD License<h3>Topics</h3>
<ul><li><a href="../topics/logic/proof-theory">Logic/Proof theory</a></li></ul>
<h3>Theories of Goedel_Incompleteness</h3>
<ul>
<li><a href="../theories/goedel_incompleteness/#Deduction2">Deduction2</a></li>
<li><a href="../theories/goedel_incompleteness/#Abstract_Encoding">Abstract_Encoding</a></li>
<li><a href="../theories/goedel_incompleteness/#Abstract_Representability">Abstract_Representability</a></li>
<li><a href="../theories/goedel_incompleteness/#Diagonalization">Diagonalization</a></li>
<li><a href="../theories/goedel_incompleteness/#Derivability_Conditions">Derivability_Conditions</a></li>
<li><a href="../theories/goedel_incompleteness/#Goedel_Formula">Goedel_Formula</a></li>
<li><a href="../theories/goedel_incompleteness/#Standard_Model_More">Standard_Model_More</a></li>
<li><a href="../theories/goedel_incompleteness/#Abstract_First_Goedel">Abstract_First_Goedel</a></li>
<li><a href="../theories/goedel_incompleteness/#Rosser_Formula">Rosser_Formula</a></li>
<li><a href="../theories/goedel_incompleteness/#Abstract_First_Goedel_Rosser">Abstract_First_Goedel_Rosser</a></li>
<li><a href="../theories/goedel_incompleteness/#Abstract_Second_Goedel">Abstract_Second_Goedel</a></li>
<li><a href="../theories/goedel_incompleteness/#Abstract_Jeroslow_Encoding">Abstract_Jeroslow_Encoding</a></li>
<li><a href="../theories/goedel_incompleteness/#Jeroslow_Original">Jeroslow_Original</a></li>
<li><a href="../theories/goedel_incompleteness/#Jeroslow_Simplified">Jeroslow_Simplified</a></li>
<li><a href="../theories/goedel_incompleteness/#Loeb_Formula">Loeb_Formula</a></li>
<li><a href="../theories/goedel_incompleteness/#Loeb">Loeb</a></li>
<li><a href="../theories/goedel_incompleteness/#Tarski">Tarski</a></li>
<li><a href="../theories/goedel_incompleteness/#All_Abstract">All_Abstract</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Syntax_Independent_Logic.html">Syntax-Independent Logic Infrastructure</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Goedel_HFSet_Semantic.html">From Abstract to Concrete Gödel&rsquo;s Incompleteness Theorems—Part I</a></li><li><a href="../entries/Goedel_HFSet_Semanticless.html">From Abstract to Concrete Gödel&rsquo;s Incompleteness Theorems—Part II</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
+ <li><a href="../entries/Hales_Jewett.html">The Hales–Jewett Theorem</a></li>
+
<li><a href="../entries/Irrationals_From_THEBOOK.html">Irrational numbers from THE BOOK</a></li>
<li><a href="../entries/BD_Security_Compositional.html">Compositional BD Security</a></li>
<li><a href="../entries/Core_SC_DOM.html">The Safely Composable DOM</a></li>
<li><a href="../entries/Goedel_HFSet_Semantic.html">From Abstract to Concrete Gödel&rsquo;s Incompleteness Theorems—Part I</a></li>
- <li><a href="../entries/Universal_Turing_Machine.html">Universal Turing Machine</a></li>
-
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Goedel_Incompleteness/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Goedel_Incompleteness/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Goedel_Incompleteness/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Goedel_Incompleteness-AFP</p><pre id="copy-text">@article{Goedel_Incompleteness-AFP,
author = {Andrei Popescu and Dmitriy Traytel},
title = {An Abstract Formalization of Gödel&#39;s Incompleteness Theorems},
journal = {Archive of Formal Proofs},
month = {September},
year = {2020},
note = {\url{https://isa-afp.org/entries/Goedel_Incompleteness.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Goedel_Incompleteness-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Goedel_Incompleteness-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Goedel_Incompleteness-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Goedel_Incompleteness-2020-09-19.tar.gz">Sep 19, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Goedel_Incompleteness-2020-09-18.tar.gz">Sep 18, 2020</a>: Isabelle2020
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Hales_Jewett.html b/web/entries/Hales_Jewett.html
new file mode 100644
--- /dev/null
+++ b/web/entries/Hales_Jewett.html
@@ -0,0 +1,165 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1"><title>The Hales–Jewett Theorem - Archive of Formal Proofs</title><meta name="description" content="This article is a formalisation of a proof of the Hales–Jewett theorem presented in the textbook Ramsey Theory by Graham et al.
+The Hales–Jewett theorem is..."><meta property="og:title" content="The Hales–Jewett Theorem" />
+<meta property="og:description" content="" />
+<meta property="og:type" content="article" />
+<meta property="og:url" content="/entries/Hales_Jewett.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
+<meta property="article:published_time" content="2022-09-02T00:00:00+00:00" />
+<meta property="article:modified_time" content="2022-09-02T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
+
+<meta name="twitter:card" content="summary_large_image"/>
+<meta name="twitter:image" content="/images/afp.png"/>
+
+<meta name="twitter:title" content="The Hales–Jewett Theorem"/>
+<meta name="twitter:description" content=""/>
+
+
+ <link rel="stylesheet" type="text/css" href="../css/front.min.css">
+
+ <link rel="icon" href="../images/favicon.ico" type="image/icon">
+ <script>
+ MathJax = {
+ tex: {
+ inlineMath: [['$', '$'], ['\\(', '\\)']]
+ },
+ processEscapes: true,
+ svg: {
+ fontCache: 'global'
+ }
+ };
+ </script>
+ <script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
+ <script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
+ <script src="../js/flexsearch.bundle.js"></script>
+ <script src="../js/scroll-spy.js"></script>
+ <script src="../js/theory.js"></script>
+ <script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
+</head>
+
+
+<body class='mathjax_ignore '>
+ <aside>
+ <div id="menu-toggle">
+ <input id="toggle" type="checkbox" />
+ <label for="toggle">
+ <span>menu</span>
+ <img src="../images/menu.svg" alt="Menu" />
+ </label>
+
+ <a href="../" class='logo-link'>
+ <img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
+ </a>
+
+ <a href="../search"><img src="../images/search.svg" alt="Search" /></a>
+ <nav id="menu">
+ <div>
+ <a href="../" class='logo-link'>
+ <img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
+ </a>
+ <ul>
+ <a href="../"><li >Home</li></a>
+ <a href="../topics/"><li >Topics</li></a>
+ <a href="../download/"><li >Download</li></a>
+ <a href="../help/"><li >Help</li></a>
+ <a href="../submission/"><li >Submission</li></a>
+ <a href="../statistics/"><li >Statistics</li></a>
+ <a href="../about/"><li >About</li></a>
+ </ul>
+ </div>
+ </nav>
+</div>
+ </aside>
+
+ <div
+ class='content entries'><header>
+ <form autocomplete="off" action="../search">
+ <div class='form-container'>
+ <input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
+ id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
+ <datalist id="autocomplete">
+ </datalist>
+ </div>
+ </form>
+ <h1 >
+ <span class='first'>T</span>he <span class='first'>H</span>ales–<span class='first'>J</span>ewett <span class='first'>T</span>heorem</h1>
+ <div>
+
+ <p><a href="../authors/sulejmani">Ujkan Sulejmani</a> <a class="obfuscated" data="eyJob3N0IjpbInR1bSIsImRlIl0sInVzZXIiOlsidWprYW4iLCJzdWxlam1hbmkiXX0=">📧</a>, <a href="../authors/eberl">Manuel Eberl</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsibWFudWVsIiwiZWJlcmwiXX0=">📧</a> and <a href="../authors/kreuzer">Katharina Kreuzer</a> <a class="obfuscated" data="eyJob3N0IjpbInR1bSIsImRlIl0sInVzZXIiOlsiayIsImtyZXV6ZXIiXX0=">📧</a>
+ </p>
+
+
+ <p class="date">September 2, 2022</p>
+
+ </div>
+</header><div><main><h3>Abstract</h3>
+
+ <div class="abstract mathjax_process"><p>This article is a formalisation of a proof of the
+Hales–Jewett theorem presented in the textbook <em>Ramsey
+Theory</em> by Graham et al.</p>
+<p>The Hales–Jewett theorem is a result in Ramsey Theory which
+states that, for any non-negative integers $r$ and $t$, there exists a
+minimal dimension $N$, such that any $r$-coloured
+$N'$-dimensional cube over $t$ elements (with $N' \geq N$)
+contains a monochromatic line. This theorem generalises Van der
+Waerden's Theorem, which has already been formalised in another
+<a
+href="https://www.isa-afp.org/entries/Van_der_Waerden.html">AFP
+entry</a>.</p></div>BSD License<h3>Topics</h3>
+ <ul><li><a href="../topics/mathematics/combinatorics">Mathematics/Combinatorics</a></li></ul>
+ <h3>Theories of Hales_Jewett</h3>
+ <ul>
+ <li><a href="../theories/hales_jewett/#Hales_Jewett">Hales_Jewett</a></li></ul><div class="flex-wrap">
+
+
+ </div>
+</main>
+
+<nav class='links'>
+ <a class='popup-button' href="#cite-popup">Cite</a>
+ <a class='popup-button' href="#download-popup">Download</a>
+ <h4>PDFs</h4>
+ <a href="https://www.isa-afp.org/browser_info/current/AFP/Hales_Jewett/outline.pdf">Proof
+ outline</a>
+ <a href="https://www.isa-afp.org/browser_info/current/AFP/Hales_Jewett/document.pdf">Proof
+ document</a>
+ <a href="https://www.isa-afp.org/browser_info/current/AFP/Hales_Jewett/session_graph.pdf">Dependencies</a></nav>
+
+<div id="cite-popup" class="overlay">
+ <a class="cancel" href="#"></a>
+ <div class="popup">
+ <h2>Cite</h2>
+ <a class="close" href="#">&times;</a>
+ <div>
+ <p style="display:none;" id="bibtex-filename">Hales_Jewett-AFP</p><pre id="copy-text">@article{Hales_Jewett-AFP,
+ author = {Ujkan Sulejmani and Manuel Eberl and Katharina Kreuzer},
+ title = {The Hales–Jewett Theorem},
+ journal = {Archive of Formal Proofs},
+ month = {September},
+ year = {2022},
+ note = {\url{https://isa-afp.org/entries/Hales_Jewett.html},
+ Formal proof development},
+ ISSN = {2150-914x},
+}</pre>
+ <button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
+ </div>
+ </div>
+</div>
+
+<div id="download-popup" class="overlay">
+ <a class="cancel" href="#"></a>
+ <div class="popup">
+ <h2>Download</h2>
+ <a class="close" href="#">&times;</a>
+ <a href="https://www.isa-afp.org/release//afp-Hales_Jewett-current.tar.gz" download>Download latest</a>
+
+ </div>
+</div>
+ </div>
+ </div>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/web/entries/Independence_CH.html b/web/entries/Independence_CH.html
--- a/web/entries/Independence_CH.html
+++ b/web/entries/Independence_CH.html
@@ -1,207 +1,207 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>The Independence of the Continuum Hypothesis in Isabelle/ZF - Archive of Formal Proofs</title><meta name="description" content="We redeveloped our formalization of forcing in the set theory
framework of Isabelle/ZF. Under the assumption of the existence of a
countable transitive..."><meta property="og:title" content="The Independence of the Continuum Hypothesis in Isabelle/ZF" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Independence_CH.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2022-03-06T00:00:00+00:00" />
<meta property="article:modified_time" content="2022-03-06T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="The Independence of the Continuum Hypothesis in Isabelle/ZF"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>T</span>he <span class='first'>I</span>ndependence of the <span class='first'>C</span>ontinuum <span class='first'>H</span>ypothesis in <span class='first'>I</span>sabelle/<span class='first'>Z</span><span class='first'>F</span></h1>
<div>
<p><a href="../authors/gunther">Emmanuel Gunther</a> <a class="obfuscated" data="eyJob3N0IjpbImZhbWFmIiwidW5jIiwiZWR1IiwiYXIiXSwidXNlciI6WyJndW50aGVyIl19">📧</a>, <a href="../authors/pagano">Miguel Pagano</a> <a href="https://cs.famaf.unc.edu.ar/~mpagano/">🌐</a>, <a href="../authors/terraf">Pedro Sánchez Terraf</a> <a href="https://cs.famaf.unc.edu.ar/~pedro/home_en.html">🌐</a> and <a href="../authors/steinberg">Matías Steinberg</a> <a class="obfuscated" data="eyJob3N0IjpbIm1pIiwidW5jIiwiZWR1IiwiYXIiXSwidXNlciI6WyJtYXRpYXMiLCJzdGVpbmJlcmciXX0=">📧</a>
</p>
<p class="date">March 6, 2022</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We redeveloped our formalization of forcing in the set theory
framework of Isabelle/ZF. Under the assumption of the existence of a
countable transitive model of ZFC, we construct proper generic
extensions that satisfy the Continuum Hypothesis and its negation.</div>BSD License<h3>Topics</h3>
<ul><li><a href="../topics/logic/set-theory">Logic/Set theory</a></li></ul>
<h3>Theories of Independence_CH</h3>
<ul>
<li><a href="../theories/independence_ch/#Forcing_Notions">Forcing_Notions</a></li>
<li><a href="../theories/independence_ch/#Cohen_Posets_Relative">Cohen_Posets_Relative</a></li>
<li><a href="../theories/independence_ch/#Edrel">Edrel</a></li>
<li><a href="../theories/independence_ch/#FrecR">FrecR</a></li>
<li><a href="../theories/independence_ch/#FrecR_Arities">FrecR_Arities</a></li>
<li><a href="../theories/independence_ch/#Fm_Definitions">Fm_Definitions</a></li>
+ <li><a href="../theories/independence_ch/#Internal_ZFC_Axioms">Internal_ZFC_Axioms</a></li>
<li><a href="../theories/independence_ch/#Interface">Interface</a></li>
+ <li><a href="../theories/independence_ch/#Separation_Instances">Separation_Instances</a></li>
+ <li><a href="../theories/independence_ch/#Replacement_Instances">Replacement_Instances</a></li>
+ <li><a href="../theories/independence_ch/#ZF_Trans_Interpretations">ZF_Trans_Interpretations</a></li>
<li><a href="../theories/independence_ch/#Forcing_Data">Forcing_Data</a></li>
<li><a href="../theories/independence_ch/#Forces_Definition">Forces_Definition</a></li>
<li><a href="../theories/independence_ch/#Names">Names</a></li>
<li><a href="../theories/independence_ch/#Forcing_Theorems">Forcing_Theorems</a></li>
<li><a href="../theories/independence_ch/#Ordinals_In_MG">Ordinals_In_MG</a></li>
<li><a href="../theories/independence_ch/#Separation_Rename">Separation_Rename</a></li>
<li><a href="../theories/independence_ch/#Separation_Axiom">Separation_Axiom</a></li>
<li><a href="../theories/independence_ch/#Pairing_Axiom">Pairing_Axiom</a></li>
<li><a href="../theories/independence_ch/#Union_Axiom">Union_Axiom</a></li>
<li><a href="../theories/independence_ch/#Powerset_Axiom">Powerset_Axiom</a></li>
<li><a href="../theories/independence_ch/#Extensionality_Axiom">Extensionality_Axiom</a></li>
<li><a href="../theories/independence_ch/#Foundation_Axiom">Foundation_Axiom</a></li>
<li><a href="../theories/independence_ch/#Replacement_Axiom">Replacement_Axiom</a></li>
<li><a href="../theories/independence_ch/#Infinity_Axiom">Infinity_Axiom</a></li>
<li><a href="../theories/independence_ch/#Choice_Axiom">Choice_Axiom</a></li>
- <li><a href="../theories/independence_ch/#Internal_ZFC_Axioms">Internal_ZFC_Axioms</a></li>
- <li><a href="../theories/independence_ch/#Separation_Instances">Separation_Instances</a></li>
- <li><a href="../theories/independence_ch/#Replacement_Instances">Replacement_Instances</a></li>
<li><a href="../theories/independence_ch/#Proper_Extension">Proper_Extension</a></li>
<li><a href="../theories/independence_ch/#Succession_Poset">Succession_Poset</a></li>
- <li><a href="../theories/independence_ch/#ZF_Trans_Interpretations">ZF_Trans_Interpretations</a></li>
<li><a href="../theories/independence_ch/#Forcing_Main">Forcing_Main</a></li>
<li><a href="../theories/independence_ch/#Cardinal_Preservation">Cardinal_Preservation</a></li>
<li><a href="../theories/independence_ch/#Not_CH">Not_CH</a></li>
<li><a href="../theories/independence_ch/#Kappa_Closed_Notions">Kappa_Closed_Notions</a></li>
<li><a href="../theories/independence_ch/#CH">CH</a></li>
<li><a href="../theories/independence_ch/#Absolute_Versions">Absolute_Versions</a></li>
<li><a href="../theories/independence_ch/#Definitions_Main">Definitions_Main</a></li>
<li><a href="../theories/independence_ch/#Demonstrations">Demonstrations</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Transitive_Models.html">Transitive Models of Fragments of ZFC</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/Forcing.html">Formalization of Forcing in Isabelle/ZF</a></li>
<li><a href="../entries/Delta_System_Lemma.html">Cofinality and the Delta System Lemma</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Independence_CH-AFP</p><pre id="copy-text">@article{Independence_CH-AFP,
author = {Emmanuel Gunther and Miguel Pagano and Pedro Sánchez Terraf and Matías Steinberg},
title = {The Independence of the Continuum Hypothesis in Isabelle/ZF},
journal = {Archive of Formal Proofs},
month = {March},
year = {2022},
note = {\url{https://isa-afp.org/entries/Independence_CH.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Independence_CH-current.tar.gz" download>Download latest</a>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Interpreter_Optimizations.html b/web/entries/Interpreter_Optimizations.html
--- a/web/entries/Interpreter_Optimizations.html
+++ b/web/entries/Interpreter_Optimizations.html
@@ -1,202 +1,201 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Inline Caching and Unboxing Optimization for Interpreters - Archive of Formal Proofs</title><meta name="description" content="This Isabelle/HOL formalization builds on the VeriComp entry of the Archive of Formal Proofs to provide the following contributions: an operational..."><meta property="og:title" content="Inline Caching and Unboxing Optimization for Interpreters" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Interpreter_Optimizations.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2020-12-07T00:00:00+00:00" />
<meta property="article:modified_time" content="2020-12-07T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Inline Caching and Unboxing Optimization for Interpreters"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>I</span>nline <span class='first'>C</span>aching and <span class='first'>U</span>nboxing <span class='first'>O</span>ptimization for <span class='first'>I</span>nterpreters</h1>
<div>
<p><a href="../authors/desharnais">Martin Desharnais</a> <a href="https://martin.desharnais.me">🌐</a>
</p>
<p class="date">December 7, 2020</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">This Isabelle/HOL formalization builds on the
<em>VeriComp</em> entry of the <em>Archive of Formal
Proofs</em> to provide the following contributions: <ul>
<li>an operational semantics for a realistic virtual machine
(Std) for dynamically typed programming languages;</li>
<li>the formalization of an inline caching optimization (Inca),
a proof of bisimulation with (Std), and a compilation
function;</li> <li>the formalization of an unboxing
optimization (Ubx), a proof of bisimulation with (Inca), and a simple
compilation function.</li> </ul> This formalization was
described in the CPP 2021 paper <em>Towards Efficient and
Verified Virtual Machines for Dynamic Languages</em></div>BSD License<h3>Change history</h3><p>
<h4>June 25, 2021</h4>
proved conditional completeness of compilation<br>
</p><p>
<h4>June 14, 2021</h4>
refactored function definitions to contain explicit basic blocks<br>
-
</p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/programming-languages/misc">Computer science/Programming languages/Misc</a></li></ul>
<h3>Theories of Interpreter_Optimizations</h3>
<ul>
<li><a href="../theories/interpreter_optimizations/#Env">Env</a></li>
<li><a href="../theories/interpreter_optimizations/#Env_list">Env_list</a></li>
<li><a href="../theories/interpreter_optimizations/#List_util">List_util</a></li>
<li><a href="../theories/interpreter_optimizations/#Result">Result</a></li>
<li><a href="../theories/interpreter_optimizations/#Option_Extra">Option_Extra</a></li>
<li><a href="../theories/interpreter_optimizations/#Map_Extra">Map_Extra</a></li>
<li><a href="../theories/interpreter_optimizations/#AList_Extra">AList_Extra</a></li>
<li><a href="../theories/interpreter_optimizations/#Global">Global</a></li>
<li><a href="../theories/interpreter_optimizations/#Op">Op</a></li>
<li><a href="../theories/interpreter_optimizations/#OpInl">OpInl</a></li>
<li><a href="../theories/interpreter_optimizations/#Dynamic">Dynamic</a></li>
<li><a href="../theories/interpreter_optimizations/#Inca">Inca</a></li>
<li><a href="../theories/interpreter_optimizations/#Unboxed">Unboxed</a></li>
<li><a href="../theories/interpreter_optimizations/#OpUbx">OpUbx</a></li>
<li><a href="../theories/interpreter_optimizations/#Ubx">Ubx</a></li>
<li><a href="../theories/interpreter_optimizations/#Ubx_Verification">Ubx_Verification</a></li>
<li><a href="../theories/interpreter_optimizations/#Unboxed_lemmas">Unboxed_lemmas</a></li>
<li><a href="../theories/interpreter_optimizations/#Inca_to_Ubx_simulation">Inca_to_Ubx_simulation</a></li>
<li><a href="../theories/interpreter_optimizations/#Inca_Verification">Inca_Verification</a></li>
<li><a href="../theories/interpreter_optimizations/#Inca_to_Ubx_compiler">Inca_to_Ubx_compiler</a></li>
<li><a href="../theories/interpreter_optimizations/#Op_example">Op_example</a></li>
<li><a href="../theories/interpreter_optimizations/#Std">Std</a></li>
<li><a href="../theories/interpreter_optimizations/#Std_to_Inca_simulation">Std_to_Inca_simulation</a></li>
<li><a href="../theories/interpreter_optimizations/#Std_to_Inca_compiler">Std_to_Inca_compiler</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/VeriComp.html">A Generic Framework for Verified Compilers</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Interpreter_Optimizations/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Interpreter_Optimizations/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Interpreter_Optimizations/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Interpreter_Optimizations-AFP</p><pre id="copy-text">@article{Interpreter_Optimizations-AFP,
author = {Martin Desharnais},
title = {Inline Caching and Unboxing Optimization for Interpreters},
journal = {Archive of Formal Proofs},
month = {December},
year = {2020},
note = {\url{https://isa-afp.org/entries/Interpreter_Optimizations.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Interpreter_Optimizations-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Interpreter_Optimizations-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Interpreter_Optimizations-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Involutions2Squares.html b/web/entries/Involutions2Squares.html
--- a/web/entries/Involutions2Squares.html
+++ b/web/entries/Involutions2Squares.html
@@ -1,156 +1,156 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>From THE BOOK: Two Squares via Involutions - Archive of Formal Proofs</title><meta name="description" content="This theory contains the involution-based proof of the two squares theorem from THE BOOK."><meta property="og:title" content="From THE BOOK: Two Squares via Involutions" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Involutions2Squares.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2022-08-15T00:00:00+00:00" />
<meta property="article:modified_time" content="2022-08-15T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="From THE BOOK: Two Squares via Involutions"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>F</span>rom the <span class='first'>B</span><span class='first'>O</span><span class='first'>O</span><span class='first'>K</span>: <span class='first'>T</span>wo <span class='first'>S</span>quares via <span class='first'>I</span>nvolutions</h1>
<div>
- <p><a href="../authors/bortin">Maksym Bortin</a> <a class="obfuscated" data="eyJob3N0IjpbIm5pY3RhIiwiY29tIiwiYXUiXSwidXNlciI6WyJtYWtzeW0iLCJib3J0aW4iXX0=">📧</a>
+ <p><a href="../authors/bortin">Maksym Bortin</a> <a class="obfuscated" data="eyJob3N0IjpbImdtYWlsIiwiY29tIl0sInVzZXIiOlsibWJvcnRpbiJdfQ==">📧</a>
</p>
<p class="date">August 15, 2022</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">This theory contains the involution-based proof of the two squares
theorem from <a
href="https://dx.doi.org/10.1007/978-3-662-57265-8">THE
BOOK</a>.</div>BSD License<h3>Topics</h3>
<ul><li><a href="../topics/mathematics/number-theory">Mathematics/Number theory</a></li></ul>
<h3>Theories of Involutions2Squares</h3>
<ul>
<li><a href="../theories/involutions2squares/#Involutions2Squares">Involutions2Squares</a></li></ul><div class="flex-wrap">
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Involutions2Squares/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Involutions2Squares/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Involutions2Squares/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Involutions2Squares-AFP</p><pre id="copy-text">@article{Involutions2Squares-AFP,
author = {Maksym Bortin},
title = {From THE BOOK: Two Squares via Involutions},
journal = {Archive of Formal Proofs},
month = {August},
year = {2022},
note = {\url{https://isa-afp.org/entries/Involutions2Squares.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Involutions2Squares-current.tar.gz" download>Download latest</a>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Irrationals_From_THEBOOK.html b/web/entries/Irrationals_From_THEBOOK.html
--- a/web/entries/Irrationals_From_THEBOOK.html
+++ b/web/entries/Irrationals_From_THEBOOK.html
@@ -1,182 +1,182 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Irrational numbers from THE BOOK - Archive of Formal Proofs</title><meta name="description" content="An elementary proof is formalised: that exp r is irrational for every nonzero rational number r. The mathematical development comes from the well-known..."><meta property="og:title" content="Irrational numbers from THE BOOK" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Irrationals_From_THEBOOK.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2022-01-08T00:00:00+00:00" />
<meta property="article:modified_time" content="2022-01-08T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Irrational numbers from THE BOOK"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>I</span>rrational <span class='first'>N</span>umbers <span class='first'>F</span>rom the <span class='first'>B</span><span class='first'>O</span><span class='first'>O</span><span class='first'>K</span></h1>
<div>
<p><a href="../authors/paulson">Lawrence C. Paulson</a> <a href="https://www.cl.cam.ac.uk/~lp15/">🌐</a>
</p>
<p class="date">January 8, 2022</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">An elementary proof is formalised: that <em>exp r</em> is irrational for
every nonzero rational number <em>r</em>. The mathematical development comes
from the well-known volume <em>Proofs from THE BOOK</em>,
by Aigner and Ziegler, who credit the idea to Hermite. The development
illustrates a number of basic Isabelle techniques: the manipulation of
summations, the calculation of quite complicated derivatives and the
estimation of integrals. We also see how to import another AFP entry (Stirling's formula).
As for the theorem itself, note that a much stronger and more general
result (the Hermite--Lindemann--Weierstraß transcendence theorem) is
already available in the AFP.</div>BSD License<h3>Topics</h3>
<ul><li><a href="../topics/mathematics/number-theory">Mathematics/Number theory</a></li></ul>
<h3>Theories of Irrationals_From_THEBOOK</h3>
<ul>
<li><a href="../theories/irrationals_from_thebook/#Irrationals_From_THEBOOK">Irrationals_From_THEBOOK</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Stirling_Formula.html">Stirling&rsquo;s formula</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
+ <li><a href="../entries/Hales_Jewett.html">The Hales–Jewett Theorem</a></li>
+
<li><a href="../entries/BD_Security_Compositional.html">Compositional BD Security</a></li>
<li><a href="../entries/Core_SC_DOM.html">The Safely Composable DOM</a></li>
<li><a href="../entries/Goedel_Incompleteness.html">An Abstract Formalization of Gödel&rsquo;s Incompleteness Theorems</a></li>
<li><a href="../entries/Goedel_HFSet_Semantic.html">From Abstract to Concrete Gödel&rsquo;s Incompleteness Theorems—Part I</a></li>
- <li><a href="../entries/Universal_Turing_Machine.html">Universal Turing Machine</a></li>
-
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Irrationals_From_THEBOOK/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Irrationals_From_THEBOOK/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Irrationals_From_THEBOOK/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Irrationals_From_THEBOOK-AFP</p><pre id="copy-text">@article{Irrationals_From_THEBOOK-AFP,
author = {Lawrence C. Paulson},
title = {Irrational numbers from THE BOOK},
journal = {Archive of Formal Proofs},
month = {January},
year = {2022},
note = {\url{https://isa-afp.org/entries/Irrationals_From_THEBOOK.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Irrationals_From_THEBOOK-current.tar.gz" download>Download latest</a>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Jacobson_Basic_Algebra.html b/web/entries/Jacobson_Basic_Algebra.html
--- a/web/entries/Jacobson_Basic_Algebra.html
+++ b/web/entries/Jacobson_Basic_Algebra.html
@@ -1,172 +1,172 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>A Case Study in Basic Algebra - Archive of Formal Proofs</title><meta name="description" content="The focus of this case study is re-use in abstract algebra. It contains locale-based formalisations of selected parts of set, group and ring theory from..."><meta property="og:title" content="A Case Study in Basic Algebra" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Jacobson_Basic_Algebra.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2019-08-30T00:00:00+00:00" />
<meta property="article:modified_time" content="2019-08-30T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="A Case Study in Basic Algebra"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>A</span> <span class='first'>C</span>ase <span class='first'>S</span>tudy in <span class='first'>B</span>asic <span class='first'>A</span>lgebra</h1>
<div>
<p><a href="../authors/ballarin">Clemens Ballarin</a> <a href="http://www21.in.tum.de/~ballarin/">🌐</a>
</p>
<p class="date">August 30, 2019</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">The focus of this case study is re-use in abstract algebra. It
contains locale-based formalisations of selected parts of set, group
and ring theory from Jacobson's <i>Basic Algebra</i>
leading to the respective fundamental homomorphism theorems. The
study is not intended as a library base for abstract algebra. It
rather explores an approach towards abstract algebra in Isabelle.</div>BSD License<h3>Topics</h3>
<ul><li><a href="../topics/mathematics/algebra">Mathematics/Algebra</a></li></ul>
<h3>Theories of Jacobson_Basic_Algebra</h3>
<ul>
<li><a href="../theories/jacobson_basic_algebra/#Set_Theory">Set_Theory</a></li>
<li><a href="../theories/jacobson_basic_algebra/#Group_Theory">Group_Theory</a></li>
<li><a href="../theories/jacobson_basic_algebra/#Ring_Theory">Ring_Theory</a></li></ul><div class="flex-wrap">
<div>
<h3>Used by</h3>
- <ul class="horizontal-list"><li><a href="../entries/Pluennecke_Ruzsa_Inequality.html">The Plünnecke-Ruzsa Inequality</a></li><li><a href="../entries/Grothendieck_Schemes.html">Grothendieck&rsquo;s Schemes in Algebraic Geometry</a></li></ul>
+ <ul class="horizontal-list"><li><a href="../entries/Khovanskii_Theorem.html">Khovanskii's Theorem</a></li><li><a href="../entries/Pluennecke_Ruzsa_Inequality.html">The Plünnecke-Ruzsa Inequality</a></li><li><a href="../entries/Grothendieck_Schemes.html">Grothendieck&rsquo;s Schemes in Algebraic Geometry</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Jacobson_Basic_Algebra/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Jacobson_Basic_Algebra/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Jacobson_Basic_Algebra/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Jacobson_Basic_Algebra-AFP</p><pre id="copy-text">@article{Jacobson_Basic_Algebra-AFP,
author = {Clemens Ballarin},
title = {A Case Study in Basic Algebra},
journal = {Archive of Formal Proofs},
month = {August},
year = {2019},
note = {\url{https://isa-afp.org/entries/Jacobson_Basic_Algebra.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Jacobson_Basic_Algebra-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Jacobson_Basic_Algebra-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Jacobson_Basic_Algebra-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Jacobson_Basic_Algebra-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Jacobson_Basic_Algebra-2019-09-01.tar.gz">Sep 1, 2019</a>: Isabelle2019
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/JinjaThreads.html b/web/entries/JinjaThreads.html
--- a/web/entries/JinjaThreads.html
+++ b/web/entries/JinjaThreads.html
@@ -1,379 +1,452 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Jinja with Threads - Archive of Formal Proofs</title><meta name="description" content="We extend the Jinja source code semantics by Klein and Nipkow with Java-style arrays and threads. Concurrency is captured in a generic framework semantics..."><meta property="og:title" content="Jinja with Threads" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/JinjaThreads.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2007-12-03T00:00:00+00:00" />
<meta property="article:modified_time" content="2007-12-03T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Jinja with Threads"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>J</span>inja <span class='first'>W</span>ith <span class='first'>T</span>hreads</h1>
<div>
<p><a href="../authors/lochbihler">Andreas Lochbihler</a> <a href="http://www.andreas-lochbihler.de/">🌐</a>
</p>
<p class="date">December 3, 2007</p>
</div>
</header><div><main><h3>Abstract</h3>
- <div class="abstract mathjax_process">We extend the Jinja source code semantics by Klein and Nipkow with Java-style arrays and threads. Concurrency is captured in a generic framework semantics for adding concurrency through interleaving to a sequential semantics, which features dynamic thread creation, inter-thread communication via shared memory, lock synchronisation and joins. Also, threads can suspend themselves and be notified by others. We instantiate the framework with the adapted versions of both Jinja source and byte code and show type safety for the multithreaded case. Equally, the compiler from source to byte code is extended, for which we prove weak bisimilarity between the source code small step semantics and the defensive Jinja virtual machine. On top of this, we formalise the JMM and show the DRF guarantee and consistency. For description of the different parts, see Lochbihler's papers at FOOL 2008, ESOP 2010, ITP 2011, and ESOP 2012.</div>BSD License<h3>Topics</h3>
+ <div class="abstract mathjax_process">We extend the Jinja source code semantics by Klein and Nipkow with Java-style arrays and threads. Concurrency is captured in a generic framework semantics for adding concurrency through interleaving to a sequential semantics, which features dynamic thread creation, inter-thread communication via shared memory, lock synchronisation and joins. Also, threads can suspend themselves and be notified by others. We instantiate the framework with the adapted versions of both Jinja source and byte code and show type safety for the multithreaded case. Equally, the compiler from source to byte code is extended, for which we prove weak bisimilarity between the source code small step semantics and the defensive Jinja virtual machine. On top of this, we formalise the JMM and show the DRF guarantee and consistency. For description of the different parts, see Lochbihler's papers at FOOL 2008, ESOP 2010, ITP 2011, and ESOP 2012.</div>BSD License<h3>Change history</h3><p>
+ <h4>October 20, 2017</h4>
+ add an atomic compare-and-swap operation for volatile fields
+(revision a6189b1d6b30)<br>
+ </p><p>
+ <h4>May 16, 2013</h4>
+ support for non-deterministic memory allocators
+(revision cc3344a49ced)<br>
+
+ </p><p>
+ <h4>November 21, 2012</h4>
+ type safety proof for the Java memory model,
+allow spurious wake-ups
+(revision 76063d860ae0)<br>
+
+ </p><p>
+ <h4>February 16, 2012</h4>
+ added example programs
+(revision bf0b06c8913d)<br>
+
+ </p><p>
+ <h4>July 21, 2011</h4>
+ new interruption model,
+generalized JMM proof of DRF guarantee,
+allow class Object to declare methods and fields,
+simplified subtyping relation,
+corrected division and modulo implementation
+(revision 46e4181ed142)<br>
+
+ </p><p>
+ <h4>February 2, 2011</h4>
+ simplified code generator setup
+new random scheduler
+(revision 3059dafd013f)<br>
+
+ </p><p>
+ <h4>December 16, 2010</h4>
+ improved version of the Java memory model, also for bytecode
+executable scheduler for source code semantics
+(revision 1f41c1842f5a)<br>
+
+ </p><p>
+ <h4>October 15, 2010</h4>
+ preliminary version of the Java memory model for source code
+(revision 02fee0ef3ca2)<br>
+
+ </p><p>
+ <h4>June 28, 2010</h4>
+ new thread interruption model
+(revision c0440d0a1177)<br>
+
+ </p><p>
+ <h4>June 8, 2010</h4>
+ added thread interruption;
+new abstract memory model with sequential consistency as implementation
+(revision 0cb9e8dbd78d)<br>
+
+ </p><p>
+ <h4>November 30, 2009</h4>
+ extended compiler correctness proof to infinite and deadlocking computations
+(revision e50282397435)<br>
+
+ </p><p>
+ <h4>April 27, 2009</h4>
+ added verified compiler from source code to bytecode;
+encapsulate native methods in separate semantics
+(revision e4f26541e58a)<br>
+
+ </p><p>
+ <h4>April 23, 2008</h4>
+ added bytecode formalisation with arrays and threads, added thread joins
+(revision f74a8be156a7)<br>
+
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/programming-languages/language-definitions">Computer science/Programming languages/Language definitions</a></li></ul>
<h3>Theories of JinjaThreads</h3>
<ul>
<li><a href="../theories/jinjathreads/#Set_without_equal">Set_without_equal</a></li>
<li><a href="../theories/jinjathreads/#Set_Monad">Set_Monad</a></li>
<li><a href="../theories/jinjathreads/#JT_ICF">JT_ICF</a></li>
<li><a href="../theories/jinjathreads/#Auxiliary">Auxiliary</a></li>
<li><a href="../theories/jinjathreads/#Basic_Main">Basic_Main</a></li>
<li><a href="../theories/jinjathreads/#FWState">FWState</a></li>
<li><a href="../theories/jinjathreads/#FWLock">FWLock</a></li>
<li><a href="../theories/jinjathreads/#FWLocking">FWLocking</a></li>
<li><a href="../theories/jinjathreads/#FWThread">FWThread</a></li>
<li><a href="../theories/jinjathreads/#FWWait">FWWait</a></li>
<li><a href="../theories/jinjathreads/#FWCondAction">FWCondAction</a></li>
<li><a href="../theories/jinjathreads/#FWWellform">FWWellform</a></li>
<li><a href="../theories/jinjathreads/#FWLockingThread">FWLockingThread</a></li>
<li><a href="../theories/jinjathreads/#FWInterrupt">FWInterrupt</a></li>
<li><a href="../theories/jinjathreads/#FWSemantics">FWSemantics</a></li>
<li><a href="../theories/jinjathreads/#FWProgressAux">FWProgressAux</a></li>
<li><a href="../theories/jinjathreads/#FWDeadlock">FWDeadlock</a></li>
<li><a href="../theories/jinjathreads/#FWProgress">FWProgress</a></li>
<li><a href="../theories/jinjathreads/#FWLifting">FWLifting</a></li>
<li><a href="../theories/jinjathreads/#LTS">LTS</a></li>
<li><a href="../theories/jinjathreads/#FWLTS">FWLTS</a></li>
<li><a href="../theories/jinjathreads/#Bisimulation">Bisimulation</a></li>
<li><a href="../theories/jinjathreads/#FWBisimulation">FWBisimulation</a></li>
<li><a href="../theories/jinjathreads/#FWBisimDeadlock">FWBisimDeadlock</a></li>
<li><a href="../theories/jinjathreads/#FWLiftingSem">FWLiftingSem</a></li>
<li><a href="../theories/jinjathreads/#FWInitFinLift">FWInitFinLift</a></li>
<li><a href="../theories/jinjathreads/#FWBisimLift">FWBisimLift</a></li>
<li><a href="../theories/jinjathreads/#Semilat">Semilat</a></li>
<li><a href="../theories/jinjathreads/#Err">Err</a></li>
<li><a href="../theories/jinjathreads/#Opt">Opt</a></li>
<li><a href="../theories/jinjathreads/#Product">Product</a></li>
<li><a href="../theories/jinjathreads/#Listn">Listn</a></li>
<li><a href="../theories/jinjathreads/#Semilattices">Semilattices</a></li>
<li><a href="../theories/jinjathreads/#Typing_Framework">Typing_Framework</a></li>
<li><a href="../theories/jinjathreads/#SemilatAlg">SemilatAlg</a></li>
<li><a href="../theories/jinjathreads/#Typing_Framework_err">Typing_Framework_err</a></li>
<li><a href="../theories/jinjathreads/#Kildall">Kildall</a></li>
<li><a href="../theories/jinjathreads/#LBVSpec">LBVSpec</a></li>
<li><a href="../theories/jinjathreads/#LBVCorrect">LBVCorrect</a></li>
<li><a href="../theories/jinjathreads/#LBVComplete">LBVComplete</a></li>
<li><a href="../theories/jinjathreads/#Abstract_BV">Abstract_BV</a></li>
<li><a href="../theories/jinjathreads/#Type">Type</a></li>
<li><a href="../theories/jinjathreads/#Decl">Decl</a></li>
<li><a href="../theories/jinjathreads/#TypeRel">TypeRel</a></li>
<li><a href="../theories/jinjathreads/#Value">Value</a></li>
<li><a href="../theories/jinjathreads/#Exceptions">Exceptions</a></li>
<li><a href="../theories/jinjathreads/#SystemClasses">SystemClasses</a></li>
<li><a href="../theories/jinjathreads/#Heap">Heap</a></li>
<li><a href="../theories/jinjathreads/#Observable_Events">Observable_Events</a></li>
<li><a href="../theories/jinjathreads/#StartConfig">StartConfig</a></li>
<li><a href="../theories/jinjathreads/#Conform">Conform</a></li>
<li><a href="../theories/jinjathreads/#ExternalCall">ExternalCall</a></li>
<li><a href="../theories/jinjathreads/#WellForm">WellForm</a></li>
<li><a href="../theories/jinjathreads/#ExternalCallWF">ExternalCallWF</a></li>
<li><a href="../theories/jinjathreads/#ConformThreaded">ConformThreaded</a></li>
<li><a href="../theories/jinjathreads/#BinOp">BinOp</a></li>
<li><a href="../theories/jinjathreads/#SemiType">SemiType</a></li>
<li><a href="../theories/jinjathreads/#Common_Main">Common_Main</a></li>
<li><a href="../theories/jinjathreads/#State">State</a></li>
<li><a href="../theories/jinjathreads/#Expr">Expr</a></li>
<li><a href="../theories/jinjathreads/#JHeap">JHeap</a></li>
<li><a href="../theories/jinjathreads/#SmallStep">SmallStep</a></li>
<li><a href="../theories/jinjathreads/#WWellForm">WWellForm</a></li>
<li><a href="../theories/jinjathreads/#WellType">WellType</a></li>
<li><a href="../theories/jinjathreads/#DefAss">DefAss</a></li>
<li><a href="../theories/jinjathreads/#JWellForm">JWellForm</a></li>
<li><a href="../theories/jinjathreads/#Threaded">Threaded</a></li>
<li><a href="../theories/jinjathreads/#WellTypeRT">WellTypeRT</a></li>
<li><a href="../theories/jinjathreads/#Progress">Progress</a></li>
<li><a href="../theories/jinjathreads/#DefAssPreservation">DefAssPreservation</a></li>
<li><a href="../theories/jinjathreads/#TypeSafe">TypeSafe</a></li>
<li><a href="../theories/jinjathreads/#ProgressThreaded">ProgressThreaded</a></li>
<li><a href="../theories/jinjathreads/#Deadlocked">Deadlocked</a></li>
<li><a href="../theories/jinjathreads/#Annotate">Annotate</a></li>
<li><a href="../theories/jinjathreads/#J_Main">J_Main</a></li>
<li><a href="../theories/jinjathreads/#JVMState">JVMState</a></li>
<li><a href="../theories/jinjathreads/#JVMInstructions">JVMInstructions</a></li>
<li><a href="../theories/jinjathreads/#JVMHeap">JVMHeap</a></li>
<li><a href="../theories/jinjathreads/#JVMExecInstr">JVMExecInstr</a></li>
<li><a href="../theories/jinjathreads/#JVMExceptions">JVMExceptions</a></li>
<li><a href="../theories/jinjathreads/#JVMExec">JVMExec</a></li>
<li><a href="../theories/jinjathreads/#JVMDefensive">JVMDefensive</a></li>
<li><a href="../theories/jinjathreads/#JVMThreaded">JVMThreaded</a></li>
<li><a href="../theories/jinjathreads/#JVM_Main">JVM_Main</a></li>
<li><a href="../theories/jinjathreads/#JVM_SemiType">JVM_SemiType</a></li>
<li><a href="../theories/jinjathreads/#Effect">Effect</a></li>
<li><a href="../theories/jinjathreads/#BVSpec">BVSpec</a></li>
<li><a href="../theories/jinjathreads/#BVConform">BVConform</a></li>
<li><a href="../theories/jinjathreads/#BVSpecTypeSafe">BVSpecTypeSafe</a></li>
<li><a href="../theories/jinjathreads/#BVNoTypeError">BVNoTypeError</a></li>
<li><a href="../theories/jinjathreads/#BVProgressThreaded">BVProgressThreaded</a></li>
<li><a href="../theories/jinjathreads/#JVMDeadlocked">JVMDeadlocked</a></li>
<li><a href="../theories/jinjathreads/#EffectMono">EffectMono</a></li>
<li><a href="../theories/jinjathreads/#TF_JVM">TF_JVM</a></li>
<li><a href="../theories/jinjathreads/#LBVJVM">LBVJVM</a></li>
<li><a href="../theories/jinjathreads/#BVExec">BVExec</a></li>
<li><a href="../theories/jinjathreads/#BCVExec">BCVExec</a></li>
<li><a href="../theories/jinjathreads/#BV_Main">BV_Main</a></li>
<li><a href="../theories/jinjathreads/#CallExpr">CallExpr</a></li>
<li><a href="../theories/jinjathreads/#J0">J0</a></li>
<li><a href="../theories/jinjathreads/#J0Bisim">J0Bisim</a></li>
<li><a href="../theories/jinjathreads/#J1State">J1State</a></li>
<li><a href="../theories/jinjathreads/#J1Heap">J1Heap</a></li>
<li><a href="../theories/jinjathreads/#J1">J1</a></li>
<li><a href="../theories/jinjathreads/#J1Deadlock">J1Deadlock</a></li>
<li><a href="../theories/jinjathreads/#PCompiler">PCompiler</a></li>
<li><a href="../theories/jinjathreads/#Compiler2">Compiler2</a></li>
<li><a href="../theories/jinjathreads/#Exception_Tables">Exception_Tables</a></li>
<li><a href="../theories/jinjathreads/#J1WellType">J1WellType</a></li>
<li><a href="../theories/jinjathreads/#J1WellForm">J1WellForm</a></li>
<li><a href="../theories/jinjathreads/#TypeComp">TypeComp</a></li>
<li><a href="../theories/jinjathreads/#JVMTau">JVMTau</a></li>
<li><a href="../theories/jinjathreads/#Execs">Execs</a></li>
<li><a href="../theories/jinjathreads/#J1JVMBisim">J1JVMBisim</a></li>
<li><a href="../theories/jinjathreads/#J1JVM">J1JVM</a></li>
<li><a href="../theories/jinjathreads/#JVMJ1">JVMJ1</a></li>
<li><a href="../theories/jinjathreads/#Correctness2">Correctness2</a></li>
<li><a href="../theories/jinjathreads/#ListIndex">ListIndex</a></li>
<li><a href="../theories/jinjathreads/#Compiler1">Compiler1</a></li>
<li><a href="../theories/jinjathreads/#J0J1Bisim">J0J1Bisim</a></li>
<li><a href="../theories/jinjathreads/#Correctness1Threaded">Correctness1Threaded</a></li>
<li><a href="../theories/jinjathreads/#Correctness1">Correctness1</a></li>
<li><a href="../theories/jinjathreads/#JJ1WellForm">JJ1WellForm</a></li>
<li><a href="../theories/jinjathreads/#Compiler">Compiler</a></li>
<li><a href="../theories/jinjathreads/#Correctness">Correctness</a></li>
<li><a href="../theories/jinjathreads/#Preprocessor">Preprocessor</a></li>
<li><a href="../theories/jinjathreads/#Compiler_Main">Compiler_Main</a></li>
<li><a href="../theories/jinjathreads/#MM">MM</a></li>
<li><a href="../theories/jinjathreads/#SC">SC</a></li>
<li><a href="../theories/jinjathreads/#SC_Interp">SC_Interp</a></li>
<li><a href="../theories/jinjathreads/#SC_Collections">SC_Collections</a></li>
<li><a href="../theories/jinjathreads/#Orders">Orders</a></li>
<li><a href="../theories/jinjathreads/#JMM_Spec">JMM_Spec</a></li>
<li><a href="../theories/jinjathreads/#JMM_DRF">JMM_DRF</a></li>
<li><a href="../theories/jinjathreads/#SC_Legal">SC_Legal</a></li>
<li><a href="../theories/jinjathreads/#Non_Speculative">Non_Speculative</a></li>
<li><a href="../theories/jinjathreads/#SC_Completion">SC_Completion</a></li>
<li><a href="../theories/jinjathreads/#HB_Completion">HB_Completion</a></li>
<li><a href="../theories/jinjathreads/#JMM_Heap">JMM_Heap</a></li>
<li><a href="../theories/jinjathreads/#JMM_Framework">JMM_Framework</a></li>
<li><a href="../theories/jinjathreads/#JMM_Typesafe">JMM_Typesafe</a></li>
<li><a href="../theories/jinjathreads/#JMM_Common">JMM_Common</a></li>
<li><a href="../theories/jinjathreads/#JMM_J">JMM_J</a></li>
<li><a href="../theories/jinjathreads/#DRF_J">DRF_J</a></li>
<li><a href="../theories/jinjathreads/#JMM_JVM">JMM_JVM</a></li>
<li><a href="../theories/jinjathreads/#DRF_JVM">DRF_JVM</a></li>
<li><a href="../theories/jinjathreads/#JMM_Type">JMM_Type</a></li>
<li><a href="../theories/jinjathreads/#JMM_Compiler">JMM_Compiler</a></li>
<li><a href="../theories/jinjathreads/#JMM_Type2">JMM_Type2</a></li>
<li><a href="../theories/jinjathreads/#JMM_Interp">JMM_Interp</a></li>
<li><a href="../theories/jinjathreads/#JMM_Typesafe2">JMM_Typesafe2</a></li>
<li><a href="../theories/jinjathreads/#JMM_J_Typesafe">JMM_J_Typesafe</a></li>
<li><a href="../theories/jinjathreads/#JMM_JVM_Typesafe">JMM_JVM_Typesafe</a></li>
<li><a href="../theories/jinjathreads/#JMM_Compiler_Type2">JMM_Compiler_Type2</a></li>
<li><a href="../theories/jinjathreads/#JMM">JMM</a></li>
<li><a href="../theories/jinjathreads/#MM_Main">MM_Main</a></li>
<li><a href="../theories/jinjathreads/#State_Refinement">State_Refinement</a></li>
<li><a href="../theories/jinjathreads/#Scheduler">Scheduler</a></li>
<li><a href="../theories/jinjathreads/#Random_Scheduler">Random_Scheduler</a></li>
<li><a href="../theories/jinjathreads/#Round_Robin">Round_Robin</a></li>
<li><a href="../theories/jinjathreads/#SC_Schedulers">SC_Schedulers</a></li>
<li><a href="../theories/jinjathreads/#TypeRelRefine">TypeRelRefine</a></li>
<li><a href="../theories/jinjathreads/#PCompilerRefine">PCompilerRefine</a></li>
<li><a href="../theories/jinjathreads/#J_Execute">J_Execute</a></li>
<li><a href="../theories/jinjathreads/#ExternalCall_Execute">ExternalCall_Execute</a></li>
<li><a href="../theories/jinjathreads/#JVMExec_Execute2">JVMExec_Execute2</a></li>
<li><a href="../theories/jinjathreads/#JVM_Execute2">JVM_Execute2</a></li>
<li><a href="../theories/jinjathreads/#Code_Generation">Code_Generation</a></li>
<li><a href="../theories/jinjathreads/#JVMExec_Execute">JVMExec_Execute</a></li>
<li><a href="../theories/jinjathreads/#JVM_Execute">JVM_Execute</a></li>
<li><a href="../theories/jinjathreads/#ToString">ToString</a></li>
<li><a href="../theories/jinjathreads/#Java2Jinja">Java2Jinja</a></li>
<li><a href="../theories/jinjathreads/#Execute_Main">Execute_Main</a></li>
<li><a href="../theories/jinjathreads/#ApprenticeChallenge">ApprenticeChallenge</a></li>
<li><a href="../theories/jinjathreads/#BufferExample">BufferExample</a></li>
<li><a href="../theories/jinjathreads/#Examples_Main">Examples_Main</a></li>
<li><a href="../theories/jinjathreads/#JinjaThreads">JinjaThreads</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Automatic_Refinement.html">Automatic Data Refinement</a></li><li><a href="../entries/Binomial-Heaps.html">Binomial Heaps and Skew Binomial Heaps</a></li><li><a href="../entries/Coinductive.html">Coinductive</a></li><li><a href="../entries/Collections.html">Collections Framework</a></li><li><a href="../entries/FinFun.html">Code Generation for Functions as Data</a></li><li><a href="../entries/Finger-Trees.html">Finger Trees</a></li><li><a href="../entries/Native_Word.html">Native Word</a></li><li><a href="../entries/Refine_Monadic.html">Refinement for Monadic Programs</a></li><li><a href="../entries/Trie.html">Trie</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/JinjaThreads/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/JinjaThreads/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/JinjaThreads/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">JinjaThreads-AFP</p><pre id="copy-text">@article{JinjaThreads-AFP,
author = {Andreas Lochbihler},
title = {Jinja with Threads},
journal = {Archive of Formal Proofs},
month = {December},
year = {2007},
note = {\url{https://isa-afp.org/entries/JinjaThreads.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-JinjaThreads-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2018-08-17.tar.gz">Aug 17, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2013-12-11.tar.gz">Dec 11, 2013</a>: Isabelle2013-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2013-11-17.tar.gz">Nov 17, 2013</a>: Isabelle2013-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2013-02-16.tar.gz">Feb 16, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2012-05-26.tar.gz">May 26, 2012</a>: Isabelle2012
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2011-10-12.tar.gz">Oct 12, 2011</a>: Isabelle2011-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2011-10-11.tar.gz">Oct 11, 2011</a>: Isabelle2011-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2011-02-11.tar.gz">Feb 11, 2011</a>: Isabelle2011
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2010-07-02.tar.gz">Jul 2, 2010</a>: Isabelle2009-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2009-12-12.tar.gz">Dec 12, 2009</a>: Isabelle2009-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2009-04-30.tar.gz">Apr 30, 2009</a>: Isabelle2009
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2009-04-29.tar.gz">Apr 29, 2009</a>: Isabelle2009
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2008-06-10.tar.gz">Jun 10, 2008</a>: Isabelle2008
</li><li>
<a href="https://www.isa-afp.org/release/afp-JinjaThreads-2007-12-03.tar.gz">Dec 3, 2007</a>: Isabelle2007
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Jordan_Normal_Form.html b/web/entries/Jordan_Normal_Form.html
--- a/web/entries/Jordan_Normal_Form.html
+++ b/web/entries/Jordan_Normal_Form.html
@@ -1,237 +1,236 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Matrices, Jordan Normal Forms, and Spectral Radius Theory - Archive of Formal Proofs</title><meta name="description" content=" Matrix interpretations are useful as measure functions in termination proving. In order to use these interpretations also for complexity analysis, the..."><meta property="og:title" content="Matrices, Jordan Normal Forms, and Spectral Radius Theory" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Jordan_Normal_Form.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2015-08-21T00:00:00+00:00" />
<meta property="article:modified_time" content="2015-08-21T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Matrices, Jordan Normal Forms, and Spectral Radius Theory"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>M</span>atrices, <span class='first'>J</span>ordan <span class='first'>N</span>ormal <span class='first'>F</span>orms, and <span class='first'>S</span>pectral <span class='first'>R</span>adius <span class='first'>T</span>heory</h1>
<div>
<p><a href="../authors/thiemann">René Thiemann</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsicmVuZSIsInRoaWVtYW5uIl19">📧</a> and <a href="../authors/yamada">Akihisa Yamada</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsiYWtpaGlzYSIsInlhbWFkYSJdfQ==">📧</a>
with contributions from <a href="../authors/bentkamp">Alexander Bentkamp</a> <a class="obfuscated" data="eyJob3N0IjpbImdtYWlsIiwiY29tIl0sInVzZXIiOlsiYmVudGthbXAiXX0=">📧</a>
</p>
<p class="date">August 21, 2015</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process"><p>
Matrix interpretations are useful as measure functions in termination proving. In order to use these interpretations also for complexity analysis, the growth rate of matrix powers has to examined. Here, we formalized a central result of spectral radius theory, namely that the growth rate is polynomially bounded if and only if the spectral radius of a matrix is at most one.
</p><p>
To formally prove this result we first studied the growth rates of matrices in Jordan normal form, and prove the result that every complex matrix has a Jordan normal form using a constructive prove via Schur decomposition.
</p><p>
The whole development is based on a new abstract type for matrices, which is also executable by a suitable setup of the code generator. It completely subsumes our former AFP-entry on executable matrices, and its main advantage is its close connection to the HMA-representation which allowed us to easily adapt existing proofs on determinants.
</p><p>
All the results have been applied to improve CeTA, our certifier to validate termination and complexity proof certificates.
</p></div>BSD License<h3>Change history</h3><p>
<h4>April 17, 2018</h4>
Integrated lemmas from deep-learning AFP-entry of Alexander Bentkamp
</p><p>
<h4>January 7, 2016</h4>
Added Schur-decomposition, Gram-Schmidt orthogonalization, uniqueness of Jordan normal forms<br/>
-
</p><h3>Topics</h3>
<ul><li><a href="../topics/mathematics/algebra">Mathematics/Algebra</a></li></ul>
<h3>Theories of Jordan_Normal_Form</h3>
<ul>
<li><a href="../theories/jordan_normal_form/#Missing_Misc">Missing_Misc</a></li>
<li><a href="../theories/jordan_normal_form/#Missing_Ring">Missing_Ring</a></li>
<li><a href="../theories/jordan_normal_form/#Conjugate">Conjugate</a></li>
<li><a href="../theories/jordan_normal_form/#Matrix">Matrix</a></li>
<li><a href="../theories/jordan_normal_form/#Matrix_IArray_Impl">Matrix_IArray_Impl</a></li>
<li><a href="../theories/jordan_normal_form/#Gauss_Jordan_Elimination">Gauss_Jordan_Elimination</a></li>
<li><a href="../theories/jordan_normal_form/#Gauss_Jordan_IArray_Impl">Gauss_Jordan_IArray_Impl</a></li>
<li><a href="../theories/jordan_normal_form/#Column_Operations">Column_Operations</a></li>
<li><a href="../theories/jordan_normal_form/#Determinant">Determinant</a></li>
<li><a href="../theories/jordan_normal_form/#Determinant_Impl">Determinant_Impl</a></li>
<li><a href="../theories/jordan_normal_form/#Show_Matrix">Show_Matrix</a></li>
<li><a href="../theories/jordan_normal_form/#Char_Poly">Char_Poly</a></li>
<li><a href="../theories/jordan_normal_form/#Jordan_Normal_Form">Jordan_Normal_Form</a></li>
<li><a href="../theories/jordan_normal_form/#Missing_VectorSpace">Missing_VectorSpace</a></li>
<li><a href="../theories/jordan_normal_form/#VS_Connect">VS_Connect</a></li>
<li><a href="../theories/jordan_normal_form/#Gram_Schmidt">Gram_Schmidt</a></li>
<li><a href="../theories/jordan_normal_form/#Schur_Decomposition">Schur_Decomposition</a></li>
<li><a href="../theories/jordan_normal_form/#Jordan_Normal_Form_Existence">Jordan_Normal_Form_Existence</a></li>
<li><a href="../theories/jordan_normal_form/#Matrix_Impl">Matrix_Impl</a></li>
<li><a href="../theories/jordan_normal_form/#Strassen_Algorithm">Strassen_Algorithm</a></li>
<li><a href="../theories/jordan_normal_form/#Strassen_Algorithm_Code">Strassen_Algorithm_Code</a></li>
<li><a href="../theories/jordan_normal_form/#Matrix_Comparison">Matrix_Comparison</a></li>
<li><a href="../theories/jordan_normal_form/#Ring_Hom_Matrix">Ring_Hom_Matrix</a></li>
<li><a href="../theories/jordan_normal_form/#Derivation_Bound">Derivation_Bound</a></li>
<li><a href="../theories/jordan_normal_form/#Complexity_Carrier">Complexity_Carrier</a></li>
<li><a href="../theories/jordan_normal_form/#Show_Arctic">Show_Arctic</a></li>
<li><a href="../theories/jordan_normal_form/#Matrix_Complexity">Matrix_Complexity</a></li>
<li><a href="../theories/jordan_normal_form/#Matrix_Kernel">Matrix_Kernel</a></li>
<li><a href="../theories/jordan_normal_form/#Jordan_Normal_Form_Uniqueness">Jordan_Normal_Form_Uniqueness</a></li>
<li><a href="../theories/jordan_normal_form/#Spectral_Radius">Spectral_Radius</a></li>
<li><a href="../theories/jordan_normal_form/#DL_Missing_List">DL_Missing_List</a></li>
<li><a href="../theories/jordan_normal_form/#DL_Rank">DL_Rank</a></li>
<li><a href="../theories/jordan_normal_form/#DL_Missing_Sublist">DL_Missing_Sublist</a></li>
<li><a href="../theories/jordan_normal_form/#DL_Submatrix">DL_Submatrix</a></li>
<li><a href="../theories/jordan_normal_form/#DL_Rank_Submatrix">DL_Rank_Submatrix</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Polynomial_Factorization.html">Polynomial Factorization</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Simplicial_complexes_and_boolean_functions.html">Simplicial Complexes and Boolean functions</a></li><li><a href="../entries/Complex_Bounded_Operators.html">Complex Bounded Operators</a></li><li><a href="../entries/Modular_arithmetic_LLL_and_HNF_algorithms.html">Two algorithms based on modular arithmetic: lattice basis reduction and Hermite normal form computation</a></li><li><a href="../entries/Isabelle_Marries_Dirac.html">Isabelle Marries Dirac: a Library for Quantum Computation and Quantum Information</a></li><li><a href="../entries/Linear_Programming.html">Linear Programming</a></li><li><a href="../entries/QHLProver.html">Quantum Hoare Logic</a></li><li><a href="../entries/Farkas.html">Farkas' Lemma and Motzkin&rsquo;s Transposition Theorem</a></li><li><a href="../entries/Stochastic_Matrices.html">Stochastic Matrices and the Perron-Frobenius Theorem</a></li><li><a href="../entries/Subresultants.html">Subresultants</a></li><li><a href="../entries/Deep_Learning.html">Expressiveness of Deep Learning</a></li><li><a href="../entries/Perron_Frobenius.html">Perron-Frobenius Theorem for Spectral Radius Analysis</a></li><li><a href="../entries/Groebner_Bases.html">Gröbner Bases Theory</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/Perron_Frobenius.html">Perron-Frobenius Theorem for Spectral Radius Analysis</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Jordan_Normal_Form/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Jordan_Normal_Form/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Jordan_Normal_Form/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Jordan_Normal_Form-AFP</p><pre id="copy-text">@article{Jordan_Normal_Form-AFP,
author = {René Thiemann and Akihisa Yamada},
title = {Matrices, Jordan Normal Forms, and Spectral Radius Theory},
journal = {Archive of Formal Proofs},
month = {August},
year = {2015},
note = {\url{https://isa-afp.org/entries/Jordan_Normal_Form.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Jordan_Normal_Form-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Jordan_Normal_Form-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Jordan_Normal_Form-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Jordan_Normal_Form-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Jordan_Normal_Form-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Jordan_Normal_Form-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Jordan_Normal_Form-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Jordan_Normal_Form-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Jordan_Normal_Form-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Jordan_Normal_Form-2015-08-23.tar.gz">Aug 23, 2015</a>: Isabelle2015
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Khovanskii_Theorem.html b/web/entries/Khovanskii_Theorem.html
new file mode 100644
--- /dev/null
+++ b/web/entries/Khovanskii_Theorem.html
@@ -0,0 +1,177 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1"><title>Khovanskii&#x27;s Theorem - Archive of Formal Proofs</title><meta name="description" content="We formalise the proof of an important theorem in additive
+combinatorics due to Khovanskii, attesting that the cardinality of the
+set of all sums of $n$..."><meta property="og:title" content="Khovanskii&amp;#x27;s Theorem" />
+<meta property="og:description" content="" />
+<meta property="og:type" content="article" />
+<meta property="og:url" content="/entries/Khovanskii_Theorem.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
+<meta property="article:published_time" content="2022-09-02T00:00:00+00:00" />
+<meta property="article:modified_time" content="2022-09-02T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
+
+<meta name="twitter:card" content="summary_large_image"/>
+<meta name="twitter:image" content="/images/afp.png"/>
+
+<meta name="twitter:title" content="Khovanskii&amp;#x27;s Theorem"/>
+<meta name="twitter:description" content=""/>
+
+
+ <link rel="stylesheet" type="text/css" href="../css/front.min.css">
+
+ <link rel="icon" href="../images/favicon.ico" type="image/icon">
+ <script>
+ MathJax = {
+ tex: {
+ inlineMath: [['$', '$'], ['\\(', '\\)']]
+ },
+ processEscapes: true,
+ svg: {
+ fontCache: 'global'
+ }
+ };
+ </script>
+ <script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
+ <script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
+ <script src="../js/flexsearch.bundle.js"></script>
+ <script src="../js/scroll-spy.js"></script>
+ <script src="../js/theory.js"></script>
+ <script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
+</head>
+
+
+<body class='mathjax_ignore '>
+ <aside>
+ <div id="menu-toggle">
+ <input id="toggle" type="checkbox" />
+ <label for="toggle">
+ <span>menu</span>
+ <img src="../images/menu.svg" alt="Menu" />
+ </label>
+
+ <a href="../" class='logo-link'>
+ <img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
+ </a>
+
+ <a href="../search"><img src="../images/search.svg" alt="Search" /></a>
+ <nav id="menu">
+ <div>
+ <a href="../" class='logo-link'>
+ <img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
+ </a>
+ <ul>
+ <a href="../"><li >Home</li></a>
+ <a href="../topics/"><li >Topics</li></a>
+ <a href="../download/"><li >Download</li></a>
+ <a href="../help/"><li >Help</li></a>
+ <a href="../submission/"><li >Submission</li></a>
+ <a href="../statistics/"><li >Statistics</li></a>
+ <a href="../about/"><li >About</li></a>
+ </ul>
+ </div>
+ </nav>
+</div>
+ </aside>
+
+ <div
+ class='content entries'><header>
+ <form autocomplete="off" action="../search">
+ <div class='form-container'>
+ <input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
+ id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
+ <datalist id="autocomplete">
+ </datalist>
+ </div>
+ </form>
+ <h1 >
+ <span class='first'>K</span>hovanskii&#x27;s <span class='first'>T</span>heorem</h1>
+ <div>
+
+ <p><a href="../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> <a href="https://www.cl.cam.ac.uk/~ak2110/">🌐</a> and <a href="../authors/paulson">Lawrence C. Paulson</a>
+ </p>
+
+
+ <p class="date">September 2, 2022</p>
+
+ </div>
+</header><div><main><h3>Abstract</h3>
+
+ <div class="abstract mathjax_process">We formalise the proof of an important theorem in additive
+combinatorics due to Khovanskii, attesting that the cardinality of the
+set of all sums of $n$ many elements of $A$, where $A$ is a finite
+subset of an abelian group, is a polynomial in $n$ for all
+sufficiently large $n$. We follow a proof due to Nathanson and Ruzsa
+as presented in the notes “Introduction to Additive Combinatorics” by
+Timothy Gowers for the University of Cambridge.</div>BSD License<h3>Topics</h3>
+ <ul><li><a href="../topics/mathematics/combinatorics">Mathematics/Combinatorics</a></li></ul>
+ <h3>Theories of Khovanskii_Theorem</h3>
+ <ul>
+ <li><a href="../theories/khovanskii_theorem/#FiniteProduct">FiniteProduct</a></li>
+ <li><a href="../theories/khovanskii_theorem/#For_2022">For_2022</a></li>
+ <li><a href="../theories/khovanskii_theorem/#Khovanskii">Khovanskii</a></li></ul><div class="flex-wrap">
+ <div>
+ <h3>Depends On</h3>
+ <ul class="horizontal-list"><li><a href="../entries/Bernoulli.html">Bernoulli Numbers</a></li><li><a href="../entries/Jacobson_Basic_Algebra.html">A Case Study in Basic Algebra</a></li><li><a href="../entries/Pluennecke_Ruzsa_Inequality.html">The Plünnecke-Ruzsa Inequality</a></li></ul>
+ </div>
+
+ <div>
+ <h3>Related Entries</h3>
+ <ul class="horizontal-list">
+
+ <li><a href="../entries/Padic_Ints.html">Hensel&rsquo;s Lemma for the p-adic Integers</a></li>
+
+ <li><a href="../entries/Banach_Steinhaus.html">Banach-Steinhaus Theorem</a></li>
+
+ </ul>
+ </div>
+
+ </div>
+</main>
+
+<nav class='links'>
+ <a class='popup-button' href="#cite-popup">Cite</a>
+ <a class='popup-button' href="#download-popup">Download</a>
+ <h4>PDFs</h4>
+ <a href="https://www.isa-afp.org/browser_info/current/AFP/Khovanskii_Theorem/outline.pdf">Proof
+ outline</a>
+ <a href="https://www.isa-afp.org/browser_info/current/AFP/Khovanskii_Theorem/document.pdf">Proof
+ document</a>
+ <a href="https://www.isa-afp.org/browser_info/current/AFP/Khovanskii_Theorem/session_graph.pdf">Dependencies</a></nav>
+
+<div id="cite-popup" class="overlay">
+ <a class="cancel" href="#"></a>
+ <div class="popup">
+ <h2>Cite</h2>
+ <a class="close" href="#">&times;</a>
+ <div>
+ <p style="display:none;" id="bibtex-filename">Khovanskii_Theorem-AFP</p><pre id="copy-text">@article{Khovanskii_Theorem-AFP,
+ author = {Angeliki Koutsoukou-Argyraki and Lawrence C. Paulson},
+ title = {Khovanskii&#39;s Theorem},
+ journal = {Archive of Formal Proofs},
+ month = {September},
+ year = {2022},
+ note = {\url{https://isa-afp.org/entries/Khovanskii_Theorem.html},
+ Formal proof development},
+ ISSN = {2150-914x},
+}</pre>
+ <button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
+ </div>
+ </div>
+</div>
+
+<div id="download-popup" class="overlay">
+ <a class="cancel" href="#"></a>
+ <div class="popup">
+ <h2>Download</h2>
+ <a class="close" href="#">&times;</a>
+ <a href="https://www.isa-afp.org/release//afp-Khovanskii_Theorem-current.tar.gz" download>Download latest</a>
+
+ </div>
+</div>
+ </div>
+ </div>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/web/entries/LLL_Basis_Reduction.html b/web/entries/LLL_Basis_Reduction.html
--- a/web/entries/LLL_Basis_Reduction.html
+++ b/web/entries/LLL_Basis_Reduction.html
@@ -1,208 +1,207 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>A verified LLL algorithm - Archive of Formal Proofs</title><meta name="description" content="The Lenstra-Lenstra-Lovász basis reduction algorithm, also known as
LLL algorithm, is an algorithm to find a basis with short, nearly
orthogonal vectors of..."><meta property="og:title" content="A verified LLL algorithm" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/LLL_Basis_Reduction.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2018-02-02T00:00:00+00:00" />
<meta property="article:modified_time" content="2018-02-02T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="A verified LLL algorithm"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>A</span> <span class='first'>V</span>erified <span class='first'>L</span><span class='first'>L</span><span class='first'>L</span> <span class='first'>A</span>lgorithm</h1>
<div>
<p><a href="../authors/bottesch">Ralph Bottesch</a>, <a href="../authors/divason">Jose Divasón</a> <a href="https://www.unirioja.es/cu/jodivaso/">🌐</a>, <a href="../authors/haslbeck">Max W. Haslbeck</a> <a href="http://cl-informatik.uibk.ac.at/users/mhaslbeck/">🌐</a>, <a href="../authors/joosten">Sebastiaan J. C. Joosten</a> <a href="https://sjcjoosten.nl/">🌐</a>, <a href="../authors/thiemann">René Thiemann</a> <a href="http://cl-informatik.uibk.ac.at/users/thiemann/">🌐</a> and <a href="../authors/yamada">Akihisa Yamada</a>
</p>
<p class="date">February 2, 2018</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">The Lenstra-Lenstra-Lovász basis reduction algorithm, also known as
LLL algorithm, is an algorithm to find a basis with short, nearly
orthogonal vectors of an integer lattice. Thereby, it can also be seen
as an approximation to solve the shortest vector problem (SVP), which
is an NP-hard problem, where the approximation quality solely depends
on the dimension of the lattice, but not the lattice itself. The
algorithm also possesses many applications in diverse fields of
computer science, from cryptanalysis to number theory, but it is
specially well-known since it was used to implement the first
polynomial-time algorithm to factor polynomials. In this work we
present the first mechanized soundness proof of the LLL algorithm to
compute short vectors in lattices. The formalization follows a
textbook by von zur Gathen and Gerhard.</div>BSD License<h3>Change history</h3><p>
<h4>May 25, 2018</h4>
Integrated much faster LLL implementation based on integer arithmetic (Bottesch, Haslbeck, Thiemann)
</p><p>
<h4>April 16, 2018</h4>
Integrated formal complexity bounds (Haslbeck, Thiemann)
-
</p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/algorithms/mathematical">Computer science/Algorithms/Mathematical</a></li><li><a href="../topics/mathematics/algebra">Mathematics/Algebra</a></li></ul>
<h3>Theories of LLL_Basis_Reduction</h3>
<ul>
<li><a href="../theories/lll_basis_reduction/#Missing_Lemmas">Missing_Lemmas</a></li>
<li><a href="../theories/lll_basis_reduction/#More_IArray">More_IArray</a></li>
<li><a href="../theories/lll_basis_reduction/#Norms">Norms</a></li>
<li><a href="../theories/lll_basis_reduction/#Int_Rat_Operations">Int_Rat_Operations</a></li>
<li><a href="../theories/lll_basis_reduction/#Cost">Cost</a></li>
<li><a href="../theories/lll_basis_reduction/#List_Representation">List_Representation</a></li>
<li><a href="../theories/lll_basis_reduction/#Gram_Schmidt_2">Gram_Schmidt_2</a></li>
<li><a href="../theories/lll_basis_reduction/#Gram_Schmidt_Int">Gram_Schmidt_Int</a></li>
<li><a href="../theories/lll_basis_reduction/#LLL">LLL</a></li>
<li><a href="../theories/lll_basis_reduction/#LLL_Impl">LLL_Impl</a></li>
<li><a href="../theories/lll_basis_reduction/#LLL_Complexity">LLL_Complexity</a></li>
<li><a href="../theories/lll_basis_reduction/#LLL_Number_Bounds">LLL_Number_Bounds</a></li>
<li><a href="../theories/lll_basis_reduction/#LLL_Certification">LLL_Certification</a></li>
<li><a href="../theories/lll_basis_reduction/#FPLLL_Solver">FPLLL_Solver</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Algebraic_Numbers.html">Algebraic Numbers in Isabelle/HOL</a></li><li><a href="../entries/Berlekamp_Zassenhaus.html">The Factorization Algorithm of Berlekamp and Zassenhaus</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Modular_arithmetic_LLL_and_HNF_algorithms.html">Two algorithms based on modular arithmetic: lattice basis reduction and Hermite normal form computation</a></li><li><a href="../entries/Linear_Inequalities.html">Linear Inequalities</a></li><li><a href="../entries/LLL_Factorization.html">A verified factorization algorithm for integer polynomials with polynomial complexity</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/LLL_Basis_Reduction/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/LLL_Basis_Reduction/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/LLL_Basis_Reduction/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">LLL_Basis_Reduction-AFP</p><pre id="copy-text">@article{LLL_Basis_Reduction-AFP,
author = {Ralph Bottesch and Jose Divasón and Max W. Haslbeck and Sebastiaan J. C. Joosten and René Thiemann and Akihisa Yamada},
title = {A verified LLL algorithm},
journal = {Archive of Formal Proofs},
month = {February},
year = {2018},
note = {\url{https://isa-afp.org/entries/LLL_Basis_Reduction.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-LLL_Basis_Reduction-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-LLL_Basis_Reduction-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-LLL_Basis_Reduction-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-LLL_Basis_Reduction-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-LLL_Basis_Reduction-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-LLL_Basis_Reduction-2018-09-07.tar.gz">Sep 7, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-LLL_Basis_Reduction-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-LLL_Basis_Reduction-2018-02-03.tar.gz">Feb 3, 2018</a>: Isabelle2017
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/LTL.html b/web/entries/LTL.html
--- a/web/entries/LTL.html
+++ b/web/entries/LTL.html
@@ -1,202 +1,206 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Linear Temporal Logic - Archive of Formal Proofs</title><meta name="description" content="This theory provides a formalisation of linear temporal logic (LTL)
and unifies previous formalisations within the AFP. This entry
establishes syntax and..."><meta property="og:title" content="Linear Temporal Logic" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/LTL.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2016-03-01T00:00:00+00:00" />
<meta property="article:modified_time" content="2016-03-01T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Linear Temporal Logic"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>L</span>inear <span class='first'>T</span>emporal <span class='first'>L</span>ogic</h1>
<div>
<p><a href="../authors/sickert">Salomon Sickert</a> <a href="https://www7.in.tum.de/~sickert">🌐</a>
with contributions from <a href="../authors/seidl">Benedikt Seidl</a> <a class="obfuscated" data="eyJob3N0IjpbInR1bSIsImRlIl0sInVzZXIiOlsiYmVuZWRpa3QiLCJzZWlkbCJdfQ==">📧</a>
</p>
<p class="date">March 1, 2016</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">This theory provides a formalisation of linear temporal logic (LTL)
and unifies previous formalisations within the AFP. This entry
establishes syntax and semantics for this logic and decouples it from
existing entries, yielding a common environment for theories reasoning
about LTL. Furthermore a parser written in SML and an executable
-simplifier are provided.</div>BSD License<h3>Topics</h3>
+simplifier are provided.</div>BSD License<h3>Change history</h3><p>
+ <h4>March 12, 2019</h4>
+ Support for additional operators, implementation of common equivalence relations,
+definition of syntactic fragments of LTL and the minimal disjunctive normal form. <br>
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/logic/general-logic/temporal-logic">Logic/General logic/Temporal logic</a></li><li><a href="../topics/computer-science/automata-and-formal-languages">Computer science/Automata and formal languages</a></li></ul>
<h3>Theories of LTL</h3>
<ul>
<li><a href="../theories/ltl/#LTL">LTL</a></li>
<li><a href="../theories/ltl/#Rewriting">Rewriting</a></li>
<li><a href="../theories/ltl/#Equivalence_Relations">Equivalence_Relations</a></li>
<li><a href="../theories/ltl/#Disjunctive_Normal_Form">Disjunctive_Normal_Form</a></li>
<li><a href="../theories/ltl/#Code_Equations">Code_Equations</a></li>
<li><a href="../theories/ltl/#Example">Example</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Boolean_Expression_Checkers.html">Boolean Expression Checkers</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/LTL_Normal_Form.html">An Efficient Normalisation Procedure for Linear Temporal Logic: Isabelle/HOL Formalisation</a></li><li><a href="../entries/LTL_Master_Theorem.html">A Compositional and Unified Translation of LTL into ω-Automata</a></li><li><a href="../entries/LTL_to_DRA.html">Converting Linear Temporal Logic to Deterministic (Generalized) Rabin Automata</a></li><li><a href="../entries/LTL_to_GBA.html">Converting Linear-Time Temporal Logic to Generalized Büchi Automata</a></li><li><a href="../entries/Promela.html">Promela Formalization</a></li><li><a href="../entries/Stuttering_Equivalence.html">Stuttering Equivalence</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/MFOTL_Monitor.html">Formalization of a Monitoring Algorithm for Metric First-Order Temporal Logic</a></li>
<li><a href="../entries/LTL_Master_Theorem.html">A Compositional and Unified Translation of LTL into ω-Automata</a></li>
<li><a href="../entries/RefinementReactive.html">Formalization of Refinement Calculus for Reactive Systems</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/LTL/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/LTL/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/LTL/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">LTL-AFP</p><pre id="copy-text">@article{LTL-AFP,
author = {Salomon Sickert},
title = {Linear Temporal Logic},
journal = {Archive of Formal Proofs},
month = {March},
year = {2016},
note = {\url{https://isa-afp.org/entries/LTL.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-LTL-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-LTL-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-LTL-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-LTL-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-LTL-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-LTL-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-LTL-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-LTL-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-LTL-2016-03-02.tar.gz">Mar 2, 2016</a>: Isabelle2016
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/LTL_to_DRA.html b/web/entries/LTL_to_DRA.html
--- a/web/entries/LTL_to_DRA.html
+++ b/web/entries/LTL_to_DRA.html
@@ -1,201 +1,200 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Converting Linear Temporal Logic to Deterministic (Generalized) Rabin Automata - Archive of Formal Proofs</title><meta name="description" content="Recently, Javier Esparza and Jan Kretinsky proposed a new method directly translating linear temporal logic (LTL) formulas to deterministic (generalized)..."><meta property="og:title" content="Converting Linear Temporal Logic to Deterministic (Generalized) Rabin Automata" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/LTL_to_DRA.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2015-09-04T00:00:00+00:00" />
<meta property="article:modified_time" content="2015-09-04T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Converting Linear Temporal Logic to Deterministic (Generalized) Rabin Automata"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>onverting <span class='first'>L</span>inear <span class='first'>T</span>emporal <span class='first'>L</span>ogic to <span class='first'>D</span>eterministic (<span class='first'>G</span>eneralized) <span class='first'>R</span>abin <span class='first'>A</span>utomata</h1>
<div>
<p><a href="../authors/sickert">Salomon Sickert</a> <a class="obfuscated" data="eyJob3N0IjpbInR1bSIsImRlIl0sInVzZXIiOlsicyIsInNpY2tlcnQiXX0=">📧</a>
</p>
<p class="date">September 4, 2015</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">Recently, Javier Esparza and Jan Kretinsky proposed a new method directly translating linear temporal logic (LTL) formulas to deterministic (generalized) Rabin automata. Compared to the existing approaches of constructing a non-deterministic Buechi-automaton in the first step and then applying a determinization procedure (e.g. some variant of Safra's construction) in a second step, this new approach preservers a relation between the formula and the states of the resulting automaton. While the old approach produced a monolithic structure, the new method is compositional. Furthermore, in some cases the resulting automata are much smaller than the automata generated by existing approaches. In order to ensure the correctness of the construction, this entry contains a complete formalisation and verification of the translation. Furthermore from this basis executable code is generated.</div>BSD License<h3>Change history</h3><p>
<h4>March 24, 2016</h4>
Make use of the LTL entry and include the simplifier.
</p><p>
<h4>September 23, 2015</h4>
Enable code export for the eager unfolding optimisation and reduce running time of the generated tool. Moreover, add support for the mlton SML compiler.<br>
-
</p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/automata-and-formal-languages">Computer science/Automata and formal languages</a></li></ul>
<h3>Theories of LTL_to_DRA</h3>
<ul>
<li><a href="../theories/ltl_to_dra/#Preliminaries2">Preliminaries2</a></li>
<li><a href="../theories/ltl_to_dra/#Map2">Map2</a></li>
<li><a href="../theories/ltl_to_dra/#Mapping2">Mapping2</a></li>
<li><a href="../theories/ltl_to_dra/#DTS">DTS</a></li>
<li><a href="../theories/ltl_to_dra/#Semi_Mojmir">Semi_Mojmir</a></li>
<li><a href="../theories/ltl_to_dra/#Mojmir">Mojmir</a></li>
<li><a href="../theories/ltl_to_dra/#Rabin">Rabin</a></li>
<li><a href="../theories/ltl_to_dra/#List2">List2</a></li>
<li><a href="../theories/ltl_to_dra/#Mojmir_Rabin">Mojmir_Rabin</a></li>
<li><a href="../theories/ltl_to_dra/#LTL_FGXU">LTL_FGXU</a></li>
<li><a href="../theories/ltl_to_dra/#af">af</a></li>
<li><a href="../theories/ltl_to_dra/#Logical_Characterization">Logical_Characterization</a></li>
<li><a href="../theories/ltl_to_dra/#LTL_Rabin">LTL_Rabin</a></li>
<li><a href="../theories/ltl_to_dra/#LTL_Rabin_Unfold_Opt">LTL_Rabin_Unfold_Opt</a></li>
<li><a href="../theories/ltl_to_dra/#LTL_Compat">LTL_Compat</a></li>
<li><a href="../theories/ltl_to_dra/#LTL_Impl">LTL_Impl</a></li>
<li><a href="../theories/ltl_to_dra/#af_Impl">af_Impl</a></li>
<li><a href="../theories/ltl_to_dra/#Mojmir_Rabin_Impl">Mojmir_Rabin_Impl</a></li>
<li><a href="../theories/ltl_to_dra/#LTL_Rabin_Impl">LTL_Rabin_Impl</a></li>
<li><a href="../theories/ltl_to_dra/#Export_Code">Export_Code</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Boolean_Expression_Checkers.html">Boolean Expression Checkers</a></li><li><a href="../entries/KBPs.html">Knowledge-based programs</a></li><li><a href="../entries/LTL.html">Linear Temporal Logic</a></li><li><a href="../entries/List-Index.html">List Index</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/LTL_to_DRA/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/LTL_to_DRA/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/LTL_to_DRA/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">LTL_to_DRA-AFP</p><pre id="copy-text">@article{LTL_to_DRA-AFP,
author = {Salomon Sickert},
title = {Converting Linear Temporal Logic to Deterministic (Generalized) Rabin Automata},
journal = {Archive of Formal Proofs},
month = {September},
year = {2015},
note = {\url{https://isa-afp.org/entries/LTL_to_DRA.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-LTL_to_DRA-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-LTL_to_DRA-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-LTL_to_DRA-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-LTL_to_DRA-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-LTL_to_DRA-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-LTL_to_DRA-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-LTL_to_DRA-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-LTL_to_DRA-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-LTL_to_DRA-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-LTL_to_DRA-2015-09-04.tar.gz">Sep 4, 2015</a>: Isabelle2015
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Launchbury.html b/web/entries/Launchbury.html
--- a/web/entries/Launchbury.html
+++ b/web/entries/Launchbury.html
@@ -1,250 +1,249 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>The Correctness of Launchbury&#39;s Natural Semantics for Lazy Evaluation - Archive of Formal Proofs</title><meta name="description" content="In his seminal paper &#34;Natural Semantics for Lazy Evaluation&#34;, John Launchbury proves his semantics correct with respect to a denotational semantics, and..."><meta property="og:title" content="The Correctness of Launchbury&#39;s Natural Semantics for Lazy Evaluation" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Launchbury.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2013-01-31T00:00:00+00:00" />
<meta property="article:modified_time" content="2013-01-31T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="The Correctness of Launchbury&#39;s Natural Semantics for Lazy Evaluation"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>T</span>he <span class='first'>C</span>orrectness of <span class='first'>L</span>aunchbury's <span class='first'>N</span>atural <span class='first'>S</span>emantics for <span class='first'>L</span>azy <span class='first'>E</span>valuation</h1>
<div>
<p><a href="../authors/breitner">Joachim Breitner</a> <a href="http://pp.ipd.kit.edu/~breitner">🌐</a>
</p>
<p class="date">January 31, 2013</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">In his seminal paper "Natural Semantics for Lazy Evaluation", John Launchbury proves his semantics correct with respect to a denotational semantics, and outlines an adequacy proof. We have formalized both semantics and machine-checked the correctness proof, clarifying some details. Furthermore, we provide a new and more direct adequacy proof that does not require intermediate operational semantics.</div>BSD License<h3>Change history</h3><p>
<h4>March 16, 2015</h4>
Booleans and if-then-else added to syntax and semantics, making this entry suitable to be used by the entry "Call_Arity".
</p><p>
<h4>May 24, 2014</h4>
Added the proof of adequacy, as well as simplified and improved the existing proofs. Adjusted abstract accordingly.
-
</p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/programming-languages/lambda-calculi">Computer science/Programming languages/Lambda calculi</a></li><li><a href="../topics/computer-science/semantics-and-reasoning">Computer science/Semantics and reasoning</a></li></ul>
<h3>Theories of Launchbury</h3>
<ul>
<li><a href="../theories/launchbury/#AList-Utils">AList-Utils</a></li>
<li><a href="../theories/launchbury/#HOLCF-Join">HOLCF-Join</a></li>
<li><a href="../theories/launchbury/#HOLCF-Join-Classes">HOLCF-Join-Classes</a></li>
<li><a href="../theories/launchbury/#Env">Env</a></li>
<li><a href="../theories/launchbury/#Pointwise">Pointwise</a></li>
<li><a href="../theories/launchbury/#HOLCF-Utils">HOLCF-Utils</a></li>
<li><a href="../theories/launchbury/#EvalHeap">EvalHeap</a></li>
<li><a href="../theories/launchbury/#Nominal-Utils">Nominal-Utils</a></li>
<li><a href="../theories/launchbury/#AList-Utils-Nominal">AList-Utils-Nominal</a></li>
<li><a href="../theories/launchbury/#Nominal-HOLCF">Nominal-HOLCF</a></li>
<li><a href="../theories/launchbury/#Env-HOLCF">Env-HOLCF</a></li>
<li><a href="../theories/launchbury/#HasESem">HasESem</a></li>
<li><a href="../theories/launchbury/#Iterative">Iterative</a></li>
<li><a href="../theories/launchbury/#Env-Nominal">Env-Nominal</a></li>
<li><a href="../theories/launchbury/#HeapSemantics">HeapSemantics</a></li>
<li><a href="../theories/launchbury/#Vars">Vars</a></li>
<li><a href="../theories/launchbury/#Terms">Terms</a></li>
<li><a href="../theories/launchbury/#AbstractDenotational">AbstractDenotational</a></li>
<li><a href="../theories/launchbury/#Substitution">Substitution</a></li>
<li><a href="../theories/launchbury/#Abstract-Denotational-Props">Abstract-Denotational-Props</a></li>
<li><a href="../theories/launchbury/#Value">Value</a></li>
<li><a href="../theories/launchbury/#Value-Nominal">Value-Nominal</a></li>
<li><a href="../theories/launchbury/#Denotational">Denotational</a></li>
<li><a href="../theories/launchbury/#Launchbury">Launchbury</a></li>
<li><a href="../theories/launchbury/#CorrectnessOriginal">CorrectnessOriginal</a></li>
<li><a href="../theories/launchbury/#Mono-Nat-Fun">Mono-Nat-Fun</a></li>
<li><a href="../theories/launchbury/#C">C</a></li>
<li><a href="../theories/launchbury/#CValue">CValue</a></li>
<li><a href="../theories/launchbury/#CValue-Nominal">CValue-Nominal</a></li>
<li><a href="../theories/launchbury/#HOLCF-Meet">HOLCF-Meet</a></li>
<li><a href="../theories/launchbury/#C-Meet">C-Meet</a></li>
<li><a href="../theories/launchbury/#C-restr">C-restr</a></li>
<li><a href="../theories/launchbury/#ResourcedDenotational">ResourcedDenotational</a></li>
<li><a href="../theories/launchbury/#CorrectnessResourced">CorrectnessResourced</a></li>
<li><a href="../theories/launchbury/#ResourcedAdequacy">ResourcedAdequacy</a></li>
<li><a href="../theories/launchbury/#ValueSimilarity">ValueSimilarity</a></li>
<li><a href="../theories/launchbury/#Denotational-Related">Denotational-Related</a></li>
<li><a href="../theories/launchbury/#Adequacy">Adequacy</a></li>
<li><a href="../theories/launchbury/#EverythingAdequacy">EverythingAdequacy</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/FinFun.html">Code Generation for Functions as Data</a></li><li><a href="../entries/Nominal2.html">Nominal 2</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Call_Arity.html">The Safety of Call Arity</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/TESL_Language.html">A Formal Development of a Polychronous Polytimed Coordination Language</a></li>
<li><a href="../entries/QHLProver.html">Quantum Hoare Logic</a></li>
<li><a href="../entries/HyperCTL.html">A shallow embedding of HyperCTL*</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Launchbury/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Launchbury/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Launchbury/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Launchbury-AFP</p><pre id="copy-text">@article{Launchbury-AFP,
author = {Joachim Breitner},
title = {The Correctness of Launchbury&#39;s Natural Semantics for Lazy Evaluation},
journal = {Archive of Formal Proofs},
month = {January},
year = {2013},
note = {\url{https://isa-afp.org/entries/Launchbury.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Launchbury-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Launchbury-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Launchbury-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Launchbury-2020-04-18.tar.gz">Apr 18, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Launchbury-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Launchbury-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Launchbury-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Launchbury-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Launchbury-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Launchbury-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Launchbury-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Launchbury-2014-05-25.tar.gz">May 25, 2014</a>: Isabelle2013-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Launchbury-2014-05-24.tar.gz">May 24, 2014</a>: Isabelle2013-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Launchbury-2013-12-11.tar.gz">Dec 11, 2013</a>: Isabelle2013-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Launchbury-2013-11-17.tar.gz">Nov 17, 2013</a>: Isabelle2013-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Launchbury-2013-02-25.tar.gz">Feb 25, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-Launchbury-2013-02-24.tar.gz">Feb 24, 2013</a>: Isabelle2013
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/MDP-Algorithms.html b/web/entries/MDP-Algorithms.html
--- a/web/entries/MDP-Algorithms.html
+++ b/web/entries/MDP-Algorithms.html
@@ -1,183 +1,182 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Verified Algorithms for Solving Markov Decision Processes - Archive of Formal Proofs</title><meta name="description" content="We present a formalization of algorithms for solving Markov Decision
Processes (MDPs) with formal guarantees on the optimality of their
solutions. In..."><meta property="og:title" content="Verified Algorithms for Solving Markov Decision Processes" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/MDP-Algorithms.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2021-12-16T00:00:00+00:00" />
<meta property="article:modified_time" content="2021-12-16T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Verified Algorithms for Solving Markov Decision Processes"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>V</span>erified <span class='first'>A</span>lgorithms for <span class='first'>S</span>olving <span class='first'>M</span>arkov <span class='first'>D</span>ecision <span class='first'>P</span>rocesses</h1>
<div>
<p><a href="../authors/schaeffeler">Maximilian Schäffeler</a> <a class="obfuscated" data="eyJob3N0IjpbImluIiwidHVtIiwiZGUiXSwidXNlciI6WyJzY2hhZWZmbSJdfQ==">📧</a> and <a href="../authors/abdulaziz">Mohammad Abdulaziz</a> <a class="obfuscated" data="eyJob3N0IjpbImluIiwidHVtIiwiZGUiXSwidXNlciI6WyJtb2hhbW1hZCIsImFiZHVsYXppeiJdfQ==">📧</a>
</p>
<p class="date">December 16, 2021</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We present a formalization of algorithms for solving Markov Decision
Processes (MDPs) with formal guarantees on the optimality of their
solutions. In particular we build on our analysis of the Bellman
operator for discounted infinite horizon MDPs. From the iterator rule
on the Bellman operator we directly derive executable value iteration
and policy iteration algorithms to iteratively solve finite MDPs. We
also prove correct optimized versions of value iteration that use
matrix splittings to improve the convergence rate. In particular, we
formally verify Gauss-Seidel value iteration and modified policy
iteration. The algorithms are evaluated on two standard examples from
the literature, namely, inventory management and gridworld. Our
formalization covers most of chapter 6 in Puterman's book
"Markov Decision Processes: Discrete Stochastic Dynamic
Programming".</div>BSD License<h3>Topics</h3>
<ul><li><a href="../topics/mathematics/probability-theory">Mathematics/Probability theory</a></li><li><a href="../topics/computer-science/algorithms">Computer science/Algorithms</a></li></ul>
<h3>Theories of MDP-Algorithms</h3>
<ul>
<li><a href="../theories/mdp-algorithms/#Value_Iteration">Value_Iteration</a></li>
<li><a href="../theories/mdp-algorithms/#Policy_Iteration">Policy_Iteration</a></li>
<li><a href="../theories/mdp-algorithms/#Modified_Policy_Iteration">Modified_Policy_Iteration</a></li>
<li><a href="../theories/mdp-algorithms/#Matrix_Util">Matrix_Util</a></li>
<li><a href="../theories/mdp-algorithms/#Blinfun_Matrix">Blinfun_Matrix</a></li>
<li><a href="../theories/mdp-algorithms/#Splitting_Methods">Splitting_Methods</a></li>
<li><a href="../theories/mdp-algorithms/#Algorithms">Algorithms</a></li>
<li><a href="../theories/mdp-algorithms/#Code_DP">Code_DP</a></li>
<li><a href="../theories/mdp-algorithms/#Code_Mod">Code_Mod</a></li>
- <li><a href="../theories/mdp-algorithms/#Code_Real_Approx_By_Float_Fix">Code_Real_Approx_By_Float_Fix</a></li>
<li><a href="../theories/mdp-algorithms/#Code_Inventory">Code_Inventory</a></li>
<li><a href="../theories/mdp-algorithms/#Code_Gridworld">Code_Gridworld</a></li>
<li><a href="../theories/mdp-algorithms/#Examples">Examples</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Gauss_Jordan.html">Gauss-Jordan Algorithm and Its Applications</a></li><li><a href="../entries/MDP-Rewards.html">Markov Decision Processes with Rewards</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/MDP-Algorithms/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/MDP-Algorithms/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/MDP-Algorithms/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">MDP-Algorithms-AFP</p><pre id="copy-text">@article{MDP-Algorithms-AFP,
author = {Maximilian Schäffeler and Mohammad Abdulaziz},
title = {Verified Algorithms for Solving Markov Decision Processes},
journal = {Archive of Formal Proofs},
month = {December},
year = {2021},
note = {\url{https://isa-afp.org/entries/MDP-Algorithms.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-MDP-Algorithms-current.tar.gz" download>Download latest</a>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/MFMC_Countable.html b/web/entries/MFMC_Countable.html
--- a/web/entries/MFMC_Countable.html
+++ b/web/entries/MFMC_Countable.html
@@ -1,213 +1,227 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>A Formal Proof of the Max-Flow Min-Cut Theorem for Countable Networks - Archive of Formal Proofs</title><meta name="description" content="This article formalises a proof of the maximum-flow minimal-cut theorem for networks with countably many edges. A network is a directed graph with..."><meta property="og:title" content="A Formal Proof of the Max-Flow Min-Cut Theorem for Countable Networks" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/MFMC_Countable.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2016-05-09T00:00:00+00:00" />
<meta property="article:modified_time" content="2016-05-09T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="A Formal Proof of the Max-Flow Min-Cut Theorem for Countable Networks"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>A</span> <span class='first'>F</span>ormal <span class='first'>P</span>roof of the <span class='first'>M</span>ax-<span class='first'>F</span>low <span class='first'>M</span>in-<span class='first'>C</span>ut <span class='first'>T</span>heorem for <span class='first'>C</span>ountable <span class='first'>N</span>etworks</h1>
<div>
<p><a href="../authors/lochbihler">Andreas Lochbihler</a> <a href="http://www.andreas-lochbihler.de/">🌐</a>
</p>
<p class="date">May 9, 2016</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">This article formalises a proof of the maximum-flow minimal-cut
theorem for networks with countably many edges. A network is a
directed graph with non-negative real-valued edge labels and two
dedicated vertices, the source and the sink. A flow in a network
assigns non-negative real numbers to the edges such that for all
vertices except for the source and the sink, the sum of values on
incoming edges equals the sum of values on outgoing edges. A cut is a
subset of the vertices which contains the source, but not the sink.
Our theorem states that in every network, there is a flow and a cut
such that the flow saturates all the edges going out of the cut and is
zero on all the incoming edges. The proof is based on the paper
<emph>The Max-Flow Min-Cut theorem for countable networks</emph> by
Aharoni et al. Additionally, we prove a characterisation of the
lifting operation for relations on discrete probability distributions,
which leads to a concise proof of its distributivity over relation
-composition.</div>BSD License<h3>Topics</h3>
+composition.</div>BSD License<h3>Change history</h3><p>
+ <h4>August 13, 2021</h4>
+ generalize the derivation of the characterisation for the relator of discrete probability distributions to work for the bounded and unbounded MFMC theorem
+(revision 3c85bb52bbe6)<br>
+ </p><p>
+ <h4>December 19, 2020</h4>
+ simpler proof of linkability for bounded unhindered bipartite webs, leading to a simpler proof for networks with bounded out-capacities
+(revision 93ca33f4d915)<br>
+
+ </p><p>
+ <h4>September 6, 2017</h4>
+ derive characterisation for the lifting operation on discrete distributions from finite version of the max-flow min-cut theorem
+(revision a7a198f5bab0)<br>
+
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/mathematics/graph-theory">Mathematics/Graph theory</a></li></ul>
<h3>Theories of MFMC_Countable</h3>
<ul>
<li><a href="../theories/mfmc_countable/#MFMC_Misc">MFMC_Misc</a></li>
<li><a href="../theories/mfmc_countable/#MFMC_Finite">MFMC_Finite</a></li>
<li><a href="../theories/mfmc_countable/#Matrix_For_Marginals">Matrix_For_Marginals</a></li>
<li><a href="../theories/mfmc_countable/#MFMC_Network">MFMC_Network</a></li>
<li><a href="../theories/mfmc_countable/#MFMC_Web">MFMC_Web</a></li>
<li><a href="../theories/mfmc_countable/#MFMC_Reduction">MFMC_Reduction</a></li>
<li><a href="../theories/mfmc_countable/#MFMC_Bounded">MFMC_Bounded</a></li>
<li><a href="../theories/mfmc_countable/#MFMC_Flow_Attainability">MFMC_Flow_Attainability</a></li>
<li><a href="../theories/mfmc_countable/#MFMC_Unbounded">MFMC_Unbounded</a></li>
<li><a href="../theories/mfmc_countable/#Max_Flow_Min_Cut_Countable">Max_Flow_Min_Cut_Countable</a></li>
<li><a href="../theories/mfmc_countable/#Rel_PMF_Characterisation">Rel_PMF_Characterisation</a></li>
<li><a href="../theories/mfmc_countable/#Rel_PMF_Characterisation_MFMC">Rel_PMF_Characterisation_MFMC</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/EdmondsKarp_Maxflow.html">Formalizing the Edmonds-Karp Algorithm</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Probabilistic_While.html">Probabilistic while loop</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/Randomised_BSTs.html">Randomised Binary Search Trees</a></li>
<li><a href="../entries/Sturm_Sequences.html">Sturm&rsquo;s Theorem</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/MFMC_Countable/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/MFMC_Countable/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/MFMC_Countable/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">MFMC_Countable-AFP</p><pre id="copy-text">@article{MFMC_Countable-AFP,
author = {Andreas Lochbihler},
title = {A Formal Proof of the Max-Flow Min-Cut Theorem for Countable Networks},
journal = {Archive of Formal Proofs},
month = {May},
year = {2016},
note = {\url{https://isa-afp.org/entries/MFMC_Countable.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-MFMC_Countable-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-MFMC_Countable-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-MFMC_Countable-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-MFMC_Countable-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-MFMC_Countable-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-MFMC_Countable-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-MFMC_Countable-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-MFMC_Countable-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-MFMC_Countable-2016-05-09.tar.gz">May 9, 2016</a>: Isabelle2016
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/MFOTL_Monitor.html b/web/entries/MFOTL_Monitor.html
--- a/web/entries/MFOTL_Monitor.html
+++ b/web/entries/MFOTL_Monitor.html
@@ -1,204 +1,208 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Formalization of a Monitoring Algorithm for Metric First-Order Temporal Logic - Archive of Formal Proofs</title><meta name="description" content="A monitor is a runtime verification tool that solves the following problem: Given a stream of time-stamped events and a policy formulated in a..."><meta property="og:title" content="Formalization of a Monitoring Algorithm for Metric First-Order Temporal Logic" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/MFOTL_Monitor.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2019-07-04T00:00:00+00:00" />
<meta property="article:modified_time" content="2019-07-04T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Formalization of a Monitoring Algorithm for Metric First-Order Temporal Logic"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>F</span>ormalization of a <span class='first'>M</span>onitoring <span class='first'>A</span>lgorithm for <span class='first'>M</span>etric <span class='first'>F</span>irst-<span class='first'>O</span>rder <span class='first'>T</span>emporal <span class='first'>L</span>ogic</h1>
<div>
<p><a href="../authors/schneider">Joshua Schneider</a> <a class="obfuscated" data="eyJob3N0IjpbImluZiIsImV0aHoiLCJjaCJdLCJ1c2VyIjpbImpvc2h1YSIsInNjaG5laWRlciJdfQ==">📧</a> and <a href="../authors/traytel">Dmitriy Traytel</a> <a href="https://traytel.bitbucket.io/">🌐</a>
</p>
<p class="date">July 4, 2019</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">A monitor is a runtime verification tool that solves the following
problem: Given a stream of time-stamped events and a policy formulated
in a specification language, decide whether the policy is satisfied at
every point in the stream. We verify the correctness of an executable
monitor for specifications given as formulas in metric first-order
temporal logic (MFOTL), an expressive extension of linear temporal
logic with real-time constraints and first-order quantification. The
verified monitor implements a simplified variant of the algorithm used
in the efficient MonPoly monitoring tool. The formalization is
presented in a <a href="https://doi.org/10.1007/978-3-030-32079-9_18">RV
2019 paper</a>, which also compares the output of the verified
monitor to that of other monitoring tools on randomly generated
inputs. This case study revealed several errors in the optimized but
-unverified tools.</div>BSD License<h3>Topics</h3>
+unverified tools.</div>BSD License<h3>Change history</h3><p>
+ <h4>August 13, 2020</h4>
+ added the formalization of the abstract slicing framework and joint data
+slicer (revision b1639ed541b7)<br>
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/algorithms">Computer science/Algorithms</a></li><li><a href="../topics/logic/general-logic/temporal-logic">Logic/General logic/Temporal logic</a></li><li><a href="../topics/computer-science/automata-and-formal-languages">Computer science/Automata and formal languages</a></li></ul>
<h3>Theories of MFOTL_Monitor</h3>
<ul>
<li><a href="../theories/mfotl_monitor/#Trace">Trace</a></li>
<li><a href="../theories/mfotl_monitor/#Table">Table</a></li>
<li><a href="../theories/mfotl_monitor/#Abstract_Monitor">Abstract_Monitor</a></li>
<li><a href="../theories/mfotl_monitor/#Interval">Interval</a></li>
<li><a href="../theories/mfotl_monitor/#MFOTL">MFOTL</a></li>
<li><a href="../theories/mfotl_monitor/#Monitor">Monitor</a></li>
<li><a href="../theories/mfotl_monitor/#Slicing">Slicing</a></li>
<li><a href="../theories/mfotl_monitor/#Monitor_Code">Monitor_Code</a></li>
<li><a href="../theories/mfotl_monitor/#Examples">Examples</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Containers.html">Light-weight Containers</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/MFODL_Monitor_Optimized.html">Formalization of an Optimized Monitoring Algorithm for Metric First-Order Dynamic Logic with Aggregations</a></li><li><a href="../entries/Generic_Join.html">Formalization of Multiway-Join Algorithms</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/MFODL_Monitor_Optimized.html">Formalization of an Optimized Monitoring Algorithm for Metric First-Order Dynamic Logic with Aggregations</a></li>
<li><a href="../entries/LTL_Master_Theorem.html">A Compositional and Unified Translation of LTL into ω-Automata</a></li>
<li><a href="../entries/LTL.html">Linear Temporal Logic</a></li>
<li><a href="../entries/RefinementReactive.html">Formalization of Refinement Calculus for Reactive Systems</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/MFOTL_Monitor/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/MFOTL_Monitor/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/MFOTL_Monitor/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">MFOTL_Monitor-AFP</p><pre id="copy-text">@article{MFOTL_Monitor-AFP,
author = {Joshua Schneider and Dmitriy Traytel},
title = {Formalization of a Monitoring Algorithm for Metric First-Order Temporal Logic},
journal = {Archive of Formal Proofs},
month = {July},
year = {2019},
note = {\url{https://isa-afp.org/entries/MFOTL_Monitor.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-MFOTL_Monitor-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-MFOTL_Monitor-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-MFOTL_Monitor-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-MFOTL_Monitor-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-MFOTL_Monitor-2019-07-05.tar.gz">Jul 5, 2019</a>: Isabelle2019
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Modal_Logics_for_NTS.html b/web/entries/Modal_Logics_for_NTS.html
--- a/web/entries/Modal_Logics_for_NTS.html
+++ b/web/entries/Modal_Logics_for_NTS.html
@@ -1,211 +1,215 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Modal Logics for Nominal Transition Systems - Archive of Formal Proofs</title><meta name="description" content="We formalize a uniform semantic substrate for a wide variety of
process calculi where states and action labels can be from arbitrary
nominal sets. A..."><meta property="og:title" content="Modal Logics for Nominal Transition Systems" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Modal_Logics_for_NTS.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2016-10-25T00:00:00+00:00" />
<meta property="article:modified_time" content="2016-10-25T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Modal Logics for Nominal Transition Systems"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>M</span>odal <span class='first'>L</span>ogics for <span class='first'>N</span>ominal <span class='first'>T</span>ransition <span class='first'>S</span>ystems</h1>
<div>
<p><a href="../authors/weber">Tjark Weber</a> <a class="obfuscated" data="eyJob3N0IjpbIml0IiwidXUiLCJzZSJdLCJ1c2VyIjpbInRqYXJrIiwid2ViZXIiXX0=">📧</a>, <a href="../authors/eriksson">Lars-Henrik Eriksson</a> <a class="obfuscated" data="eyJob3N0IjpbIml0IiwidXUiLCJzZSJdLCJ1c2VyIjpbImxoZSJdfQ==">📧</a>, <a href="../authors/parrow">Joachim Parrow</a> <a class="obfuscated" data="eyJob3N0IjpbIml0IiwidXUiLCJzZSJdLCJ1c2VyIjpbImpvYWNoaW0iLCJwYXJyb3ciXX0=">📧</a>, <a href="../authors/borgstroem">Johannes Borgström</a> <a class="obfuscated" data="eyJob3N0IjpbIml0IiwidXUiLCJzZSJdLCJ1c2VyIjpbImpvaGFubmVzIiwiYm9yZ3N0cm9tIl19">📧</a> and <a href="../authors/gutkovas">Ramunas Gutkovas</a> <a class="obfuscated" data="eyJob3N0IjpbIml0IiwidXUiLCJzZSJdLCJ1c2VyIjpbInJhbXVuYXMiLCJndXRrb3ZhcyJdfQ==">📧</a>
</p>
<p class="date">October 25, 2016</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We formalize a uniform semantic substrate for a wide variety of
process calculi where states and action labels can be from arbitrary
nominal sets. A Hennessy-Milner logic for these systems is defined,
and proved adequate for bisimulation equivalence. A main novelty is
the construction of an infinitary nominal data type to model formulas
with (finitely supported) infinite conjunctions and actions that may
contain binding names. The logic is generalized to treat different
bisimulation variants such as early, late and open in a systematic
-way.</div>BSD License<h3>Topics</h3>
+way.</div>BSD License<h3>Change history</h3><p>
+ <h4>January 29, 2017</h4>
+ Formalization of weak bisimilarity added
+(revision c87cc2057d9c)
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/concurrency/process-calculi">Computer science/Concurrency/Process calculi</a></li><li><a href="../topics/logic/general-logic/modal-logic">Logic/General logic/Modal logic</a></li></ul>
<h3>Theories of Modal_Logics_for_NTS</h3>
<ul>
<li><a href="../theories/modal_logics_for_nts/#Nominal_Bounded_Set">Nominal_Bounded_Set</a></li>
<li><a href="../theories/modal_logics_for_nts/#Nominal_Wellfounded">Nominal_Wellfounded</a></li>
<li><a href="../theories/modal_logics_for_nts/#Residual">Residual</a></li>
<li><a href="../theories/modal_logics_for_nts/#Transition_System">Transition_System</a></li>
<li><a href="../theories/modal_logics_for_nts/#Formula">Formula</a></li>
<li><a href="../theories/modal_logics_for_nts/#Validity">Validity</a></li>
<li><a href="../theories/modal_logics_for_nts/#Logical_Equivalence">Logical_Equivalence</a></li>
<li><a href="../theories/modal_logics_for_nts/#Bisimilarity_Implies_Equivalence">Bisimilarity_Implies_Equivalence</a></li>
<li><a href="../theories/modal_logics_for_nts/#Equivalence_Implies_Bisimilarity">Equivalence_Implies_Bisimilarity</a></li>
<li><a href="../theories/modal_logics_for_nts/#Disjunction">Disjunction</a></li>
<li><a href="../theories/modal_logics_for_nts/#Expressive_Completeness">Expressive_Completeness</a></li>
<li><a href="../theories/modal_logics_for_nts/#FS_Set">FS_Set</a></li>
<li><a href="../theories/modal_logics_for_nts/#FL_Transition_System">FL_Transition_System</a></li>
<li><a href="../theories/modal_logics_for_nts/#FL_Formula">FL_Formula</a></li>
<li><a href="../theories/modal_logics_for_nts/#FL_Validity">FL_Validity</a></li>
<li><a href="../theories/modal_logics_for_nts/#FL_Logical_Equivalence">FL_Logical_Equivalence</a></li>
<li><a href="../theories/modal_logics_for_nts/#FL_Bisimilarity_Implies_Equivalence">FL_Bisimilarity_Implies_Equivalence</a></li>
<li><a href="../theories/modal_logics_for_nts/#FL_Equivalence_Implies_Bisimilarity">FL_Equivalence_Implies_Bisimilarity</a></li>
<li><a href="../theories/modal_logics_for_nts/#L_Transform">L_Transform</a></li>
<li><a href="../theories/modal_logics_for_nts/#Weak_Transition_System">Weak_Transition_System</a></li>
<li><a href="../theories/modal_logics_for_nts/#Weak_Formula">Weak_Formula</a></li>
<li><a href="../theories/modal_logics_for_nts/#Weak_Validity">Weak_Validity</a></li>
<li><a href="../theories/modal_logics_for_nts/#Weak_Logical_Equivalence">Weak_Logical_Equivalence</a></li>
<li><a href="../theories/modal_logics_for_nts/#Weak_Bisimilarity_Implies_Equivalence">Weak_Bisimilarity_Implies_Equivalence</a></li>
<li><a href="../theories/modal_logics_for_nts/#Weak_Equivalence_Implies_Bisimilarity">Weak_Equivalence_Implies_Bisimilarity</a></li>
<li><a href="../theories/modal_logics_for_nts/#Weak_Expressive_Completeness">Weak_Expressive_Completeness</a></li>
<li><a href="../theories/modal_logics_for_nts/#S_Transform">S_Transform</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Nominal2.html">Nominal 2</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Modal_Logics_for_NTS/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Modal_Logics_for_NTS/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Modal_Logics_for_NTS/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Modal_Logics_for_NTS-AFP</p><pre id="copy-text">@article{Modal_Logics_for_NTS-AFP,
author = {Tjark Weber and Lars-Henrik Eriksson and Joachim Parrow and Johannes Borgström and Ramunas Gutkovas},
title = {Modal Logics for Nominal Transition Systems},
journal = {Archive of Formal Proofs},
month = {October},
year = {2016},
note = {\url{https://isa-afp.org/entries/Modal_Logics_for_NTS.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Modal_Logics_for_NTS-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Modal_Logics_for_NTS-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Modal_Logics_for_NTS-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Modal_Logics_for_NTS-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Modal_Logics_for_NTS-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Modal_Logics_for_NTS-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Modal_Logics_for_NTS-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Modal_Logics_for_NTS-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Modal_Logics_for_NTS-2016-10-27.tar.gz">Oct 27, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Modal_Logics_for_NTS-2016-10-25.tar.gz">Oct 25, 2016</a>: Isabelle2016
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/MonoidalCategory.html b/web/entries/MonoidalCategory.html
--- a/web/entries/MonoidalCategory.html
+++ b/web/entries/MonoidalCategory.html
@@ -1,201 +1,220 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Monoidal Categories - Archive of Formal Proofs</title><meta name="description" content=" Building on the formalization of basic category theory set out in the author&#39;s previous AFP article, the present article formalizes some basic aspects of..."><meta property="og:title" content="Monoidal Categories" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/MonoidalCategory.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2017-05-04T00:00:00+00:00" />
<meta property="article:modified_time" content="2017-05-04T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Monoidal Categories"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>M</span>onoidal <span class='first'>C</span>ategories</h1>
<div>
<p><a href="../authors/stark">Eugene W. Stark</a> <a class="obfuscated" data="eyJob3N0IjpbImNzIiwic3Rvbnlicm9vayIsImVkdSJdLCJ1c2VyIjpbInN0YXJrIl19">📧</a>
</p>
<p class="date">May 4, 2017</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process"><p>
Building on the formalization of basic category theory set out in the
author's previous AFP article, the present article formalizes
some basic aspects of the theory of monoidal categories. Among the
notions defined here are monoidal category, monoidal functor, and
equivalence of monoidal categories. The main theorems formalized are
MacLane's coherence theorem and the constructions of the free
monoidal category and free strict monoidal category generated by a
given category. The coherence theorem is proved syntactically, using
a structurally recursive approach to reduction of terms that might
have some novel aspects. We also give proofs of some results given by
Etingof et al, which may prove useful in a formal setting. In
particular, we show that the left and right unitors need not be taken
as given data in the definition of monoidal category, nor does the
definition of monoidal functor need to take as given a specific
isomorphism expressing the preservation of the unit object. Our
definitions of monoidal category and monoidal functor are stated so as
to take advantage of the economy afforded by these facts.
</p><p>
Revisions made subsequent to the first version of this article added
material on cartesian monoidal categories; showing that the underlying
category of a cartesian monoidal category is a cartesian category, and
that every cartesian category extends to a cartesian monoidal
category.
-</p></div>BSD License<h3>Topics</h3>
+</p></div>BSD License<h3>Change history</h3><p>
+ <h4>July 10, 2020</h4>
+ Added new material on cartesian monoidal categories.
+(revision 06640f317a79)<br>
+ </p><p>
+ <h4>February 15, 2020</h4>
+ Cosmetic improvements.
+(revision a51840d36867)<br>
+
+ </p><p>
+ <h4>May 29, 2018</h4>
+ Modifications required due to 'Category3' changes. Introduced notation for "in hom".
+(revision 8318366d4575)<br>
+
+ </p><p>
+ <h4>May 18, 2017</h4>
+ Integrated material from MonoidalCategory/Category3Adapter into Category3/ and deleted adapter.
+(revision 015543cdd069)<br>
+
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/mathematics/category-theory">Mathematics/Category theory</a></li></ul>
<h3>Theories of MonoidalCategory</h3>
<ul>
<li><a href="../theories/monoidalcategory/#MonoidalCategory">MonoidalCategory</a></li>
<li><a href="../theories/monoidalcategory/#MonoidalFunctor">MonoidalFunctor</a></li>
<li><a href="../theories/monoidalcategory/#FreeMonoidalCategory">FreeMonoidalCategory</a></li>
<li><a href="../theories/monoidalcategory/#CartesianMonoidalCategory">CartesianMonoidalCategory</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Category3.html">Category Theory with Adjunctions and Limits</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Bicategory.html">Bicategories</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/MonoidalCategory/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/MonoidalCategory/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/MonoidalCategory/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">MonoidalCategory-AFP</p><pre id="copy-text">@article{MonoidalCategory-AFP,
author = {Eugene W. Stark},
title = {Monoidal Categories},
journal = {Archive of Formal Proofs},
month = {May},
year = {2017},
note = {\url{https://isa-afp.org/entries/MonoidalCategory.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-MonoidalCategory-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-MonoidalCategory-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-MonoidalCategory-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-MonoidalCategory-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-MonoidalCategory-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-MonoidalCategory-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-MonoidalCategory-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-MonoidalCategory-2017-05-05.tar.gz">May 5, 2017</a>: Isabelle2016-1
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Monomorphic_Monad.html b/web/entries/Monomorphic_Monad.html
--- a/web/entries/Monomorphic_Monad.html
+++ b/web/entries/Monomorphic_Monad.html
@@ -1,184 +1,189 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Effect polymorphism in higher-order logic - Archive of Formal Proofs</title><meta name="description" content="The notion of a monad cannot be expressed within higher-order logic
(HOL) due to type system restrictions. We show that if a monad is used
with values of..."><meta property="og:title" content="Effect polymorphism in higher-order logic" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Monomorphic_Monad.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2017-05-05T00:00:00+00:00" />
<meta property="article:modified_time" content="2017-05-05T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Effect polymorphism in higher-order logic"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>E</span>ffect <span class='first'>P</span>olymorphism in <span class='first'>H</span>igher-<span class='first'>O</span>rder <span class='first'>L</span>ogic</h1>
<div>
<p><a href="../authors/lochbihler">Andreas Lochbihler</a> <a href="http://www.andreas-lochbihler.de/">🌐</a>
</p>
<p class="date">May 5, 2017</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">The notion of a monad cannot be expressed within higher-order logic
(HOL) due to type system restrictions. We show that if a monad is used
with values of only one type, this notion can be formalised in HOL.
Based on this idea, we develop a library of effect specifications and
implementations of monads and monad transformers. Hence, we can
abstract over the concrete monad in HOL definitions and thus use the
same definition for different (combinations of) effects. We illustrate
the usefulness of effect polymorphism with a monadic interpreter for a
-simple language.</div>BSD License<h3>Topics</h3>
+simple language.</div>BSD License<h3>Change history</h3><p>
+ <h4>February 15, 2018</h4>
+ added further specifications and implementations of non-determinism;
+more examples
+(revision bc5399eea78e)<br>
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/functional-programming">Computer science/Functional programming</a></li></ul>
<h3>Theories of Monomorphic_Monad</h3>
<ul>
<li><a href="../theories/monomorphic_monad/#Monomorphic_Monad">Monomorphic_Monad</a></li>
<li><a href="../theories/monomorphic_monad/#Monad_Overloading">Monad_Overloading</a></li>
<li><a href="../theories/monomorphic_monad/#Interpreter">Interpreter</a></li>
<li><a href="../theories/monomorphic_monad/#Just_Do_It_Examples">Just_Do_It_Examples</a></li></ul><div class="flex-wrap">
<div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/CryptHOL.html">CryptHOL</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Monomorphic_Monad/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Monomorphic_Monad/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Monomorphic_Monad/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Monomorphic_Monad-AFP</p><pre id="copy-text">@article{Monomorphic_Monad-AFP,
author = {Andreas Lochbihler},
title = {Effect polymorphism in higher-order logic},
journal = {Archive of Formal Proofs},
month = {May},
year = {2017},
note = {\url{https://isa-afp.org/entries/Monomorphic_Monad.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Monomorphic_Monad-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Monomorphic_Monad-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Monomorphic_Monad-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Monomorphic_Monad-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Monomorphic_Monad-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Monomorphic_Monad-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Monomorphic_Monad-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Monomorphic_Monad-2017-05-11.tar.gz">May 11, 2017</a>: Isabelle2016-1
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Native_Word.html b/web/entries/Native_Word.html
--- a/web/entries/Native_Word.html
+++ b/web/entries/Native_Word.html
@@ -1,226 +1,247 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Native Word - Archive of Formal Proofs</title><meta name="description" content="This entry makes machine words and machine arithmetic available for code generation from Isabelle/HOL. It provides a common abstraction that hides the..."><meta property="og:title" content="Native Word" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Native_Word.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2013-09-17T00:00:00+00:00" />
<meta property="article:modified_time" content="2013-09-17T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Native Word"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>N</span>ative <span class='first'>W</span>ord</h1>
<div>
<p><a href="../authors/lochbihler">Andreas Lochbihler</a> <a href="http://www.andreas-lochbihler.de/">🌐</a>
with contributions from <a href="../authors/lammich">Peter Lammich</a> <a href="http://www21.in.tum.de/~lammich">🌐</a>
</p>
<p class="date">September 17, 2013</p>
</div>
</header><div><main><h3>Abstract</h3>
- <div class="abstract mathjax_process">This entry makes machine words and machine arithmetic available for code generation from Isabelle/HOL. It provides a common abstraction that hides the differences between the different target languages. The code generator maps these operations to the APIs of the target languages. Apart from that, we extend the available bit operations on types int and integer, and map them to the operations in the target languages.</div>BSD License<h3>Topics</h3>
+ <div class="abstract mathjax_process">This entry makes machine words and machine arithmetic available for code generation from Isabelle/HOL. It provides a common abstraction that hides the differences between the different target languages. The code generator maps these operations to the APIs of the target languages. Apart from that, we extend the available bit operations on types int and integer, and map them to the operations in the target languages.</div>BSD License<h3>Change history</h3><p>
+ <h4>July 15, 2018</h4>
+ added cast operators for default-size words (revision fc1f1fb8dd30)<br>
+ </p><p>
+ <h4>September 2, 2017</h4>
+ added 64-bit words (revision c89f86244e3c)<br>
+ </p><p>
+ <h4>October 6, 2014</h4>
+ proper test setup with compilation and execution of tests in all target languages
+(revision 5d7a1c9ae047)<br>
+
+ </p><p>
+ <h4>March 31, 2014</h4>
+ added words of default size in the target language (by Peter Lammich)
+(revision 25caf5065833)<br>
+
+ </p><p>
+ <h4>November 6, 2013</h4>
+ added conversion function between native words and characters
+(revision fd23d9a7fe3a)<br>
+
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/data-structures">Computer science/Data structures</a></li></ul>
<h3>Theories of Native_Word</h3>
<ul>
<li><a href="../theories/native_word/#Code_Target_Word_Base">Code_Target_Word_Base</a></li>
<li><a href="../theories/native_word/#Word_Type_Copies">Word_Type_Copies</a></li>
<li><a href="../theories/native_word/#Code_Int_Integer_Conversion">Code_Int_Integer_Conversion</a></li>
<li><a href="../theories/native_word/#Code_Target_Integer_Bit">Code_Target_Integer_Bit</a></li>
<li><a href="../theories/native_word/#Uint64">Uint64</a></li>
<li><a href="../theories/native_word/#Uint32">Uint32</a></li>
<li><a href="../theories/native_word/#Uint16">Uint16</a></li>
<li><a href="../theories/native_word/#Uint8">Uint8</a></li>
<li><a href="../theories/native_word/#Uint">Uint</a></li>
<li><a href="../theories/native_word/#Native_Cast">Native_Cast</a></li>
<li><a href="../theories/native_word/#Native_Cast_Uint">Native_Cast_Uint</a></li>
<li><a href="../theories/native_word/#Native_Word_Imperative_HOL">Native_Word_Imperative_HOL</a></li>
<li><a href="../theories/native_word/#Native_Word_Test">Native_Word_Test</a></li>
<li><a href="../theories/native_word/#Code_Target_Int_Bit">Code_Target_Int_Bit</a></li>
<li><a href="../theories/native_word/#Native_Word_Test_Emu">Native_Word_Test_Emu</a></li>
<li><a href="../theories/native_word/#Native_Word_Test_PolyML">Native_Word_Test_PolyML</a></li>
<li><a href="../theories/native_word/#Native_Word_Test_PolyML2">Native_Word_Test_PolyML2</a></li>
<li><a href="../theories/native_word/#Native_Word_Test_PolyML64">Native_Word_Test_PolyML64</a></li>
<li><a href="../theories/native_word/#Native_Word_Test_Scala">Native_Word_Test_Scala</a></li>
<li><a href="../theories/native_word/#Native_Word_Test_GHC">Native_Word_Test_GHC</a></li>
<li><a href="../theories/native_word/#Native_Word_Test_MLton">Native_Word_Test_MLton</a></li>
<li><a href="../theories/native_word/#Native_Word_Test_MLton2">Native_Word_Test_MLton2</a></li>
<li><a href="../theories/native_word/#Native_Word_Test_OCaml">Native_Word_Test_OCaml</a></li>
<li><a href="../theories/native_word/#Native_Word_Test_OCaml2">Native_Word_Test_OCaml2</a></li>
<li><a href="../theories/native_word/#Native_Word_Test_SMLNJ">Native_Word_Test_SMLNJ</a></li>
<li><a href="../theories/native_word/#Native_Word_Test_SMLNJ2">Native_Word_Test_SMLNJ2</a></li>
<li><a href="../theories/native_word/#Uint_Userguide">Uint_Userguide</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Word_Lib.html">Finite Machine Word Library</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/FSM_Tests.html">Verified Complete Test Strategies for Finite State Machines</a></li><li><a href="../entries/MiniSail.html">MiniSail - A kernel language for the ISA specification language SAIL</a></li><li><a href="../entries/Mersenne_Primes.html">Mersenne primes and the Lucas–Lehmer test</a></li><li><a href="../entries/WebAssembly.html">WebAssembly</a></li><li><a href="../entries/Iptables_Semantics.html">Iptables Semantics</a></li><li><a href="../entries/ROBDD.html">Algorithms for Reduced Ordered Binary Decision Diagrams</a></li><li><a href="../entries/Separation_Logic_Imperative_HOL.html">A Separation Logic Framework for Imperative HOL</a></li><li><a href="../entries/Datatype_Order_Generator.html">Generating linear orders for datatypes</a></li><li><a href="../entries/Collections.html">Collections Framework</a></li><li><a href="../entries/JinjaThreads.html">Jinja with Threads</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/Containers.html">Light-weight Containers</a></li>
<li><a href="../entries/CakeML_Codegen.html">A Verified Code Generator from Isabelle/HOL to CakeML</a></li>
<li><a href="../entries/XML.html">XML</a></li>
<li><a href="../entries/Imperative_Insertion_Sort.html">Imperative Insertion Sort</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Native_Word/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Native_Word/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Native_Word/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Native_Word-AFP</p><pre id="copy-text">@article{Native_Word-AFP,
author = {Andreas Lochbihler},
title = {Native Word},
journal = {Archive of Formal Proofs},
month = {September},
year = {2013},
note = {\url{https://isa-afp.org/entries/Native_Word.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Native_Word-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Native_Word-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Native_Word-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Native_Word-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Native_Word-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Native_Word-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Native_Word-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Native_Word-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Native_Word-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Native_Word-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Native_Word-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Native_Word-2013-12-11.tar.gz">Dec 11, 2013</a>: Isabelle2013-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Native_Word-2013-11-17.tar.gz">Nov 17, 2013</a>: Isabelle2013-1
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Network_Security_Policy_Verification.html b/web/entries/Network_Security_Policy_Verification.html
--- a/web/entries/Network_Security_Policy_Verification.html
+++ b/web/entries/Network_Security_Policy_Verification.html
@@ -1,286 +1,290 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Network Security Policy Verification - Archive of Formal Proofs</title><meta name="description" content="We present a unified theory for verifying network security policies. A security policy is represented as directed graph. To check high-level security..."><meta property="og:title" content="Network Security Policy Verification" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Network_Security_Policy_Verification.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2014-07-04T00:00:00+00:00" />
<meta property="article:modified_time" content="2014-07-04T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Network Security Policy Verification"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>N</span>etwork <span class='first'>S</span>ecurity <span class='first'>P</span>olicy <span class='first'>V</span>erification</h1>
<div>
<p><a href="../authors/diekmann">Cornelius Diekmann</a> <a href="http://net.in.tum.de/~diekmann">🌐</a>
</p>
<p class="date">July 4, 2014</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We present a unified theory for verifying network security policies.
A security policy is represented as directed graph.
To check high-level security goals, security invariants over the policy are
expressed. We cover monotonic security invariants, i.e. prohibiting more does not harm
security. We provide the following contributions for the security invariant theory.
<ul>
<li>Secure auto-completion of scenario-specific knowledge, which eases usability.</li>
<li>Security violations can be repaired by tightening the policy iff the
security invariants hold for the deny-all policy.</li>
<li>An algorithm to compute a security policy.</li>
<li>A formalization of stateful connection semantics in network security mechanisms.</li>
<li>An algorithm to compute a secure stateful implementation of a policy.</li>
<li>An executable implementation of all the theory.</li>
<li>Examples, ranging from an aircraft cabin data network to the analysis
of a large real-world firewall.</li>
<li>More examples: A fully automated translation of high-level security goals to both
firewall and SDN configurations (see Examples/Distributed_WebApp.thy).</li>
</ul>
For a detailed description, see
<ul>
<li>C. Diekmann, A. Korsten, and G. Carle.
<a href="http://www.net.in.tum.de/fileadmin/bibtex/publications/papers/diekmann2015mansdnnfv.pdf">Demonstrating
topoS: Theorem-prover-based synthesis of secure network configurations.</a>
In 2nd International Workshop on Management of SDN and NFV Systems, manSDN/NFV, Barcelona, Spain, November 2015.</li>
<li>C. Diekmann, S.-A. Posselt, H. Niedermayer, H. Kinkelin, O. Hanka, and G. Carle.
<a href="http://www.net.in.tum.de/pub/diekmann/forte14.pdf">Verifying Security Policies using Host Attributes.</a>
In FORTE, 34th IFIP International Conference on Formal Techniques for Distributed Objects,
Components and Systems, Berlin, Germany, June 2014.</li>
<li>C. Diekmann, L. Hupel, and G. Carle. Directed Security Policies:
<a href="http://rvg.web.cse.unsw.edu.au/eptcs/paper.cgi?ESSS2014.3">A Stateful Network Implementation.</a>
In J. Pang and Y. Liu, editors, Engineering Safety and Security Systems,
volume 150 of Electronic Proceedings in Theoretical Computer Science,
pages 20-34, Singapore, May 2014. Open Publishing Association.</li>
-</ul></div>BSD License<h3>Topics</h3>
+</ul></div>BSD License<h3>Change history</h3><p>
+ <h4>April 14, 2015</h4>
+ Added Distributed WebApp example and improved graphviz visualization
+(revision 4dde08ca2ab8)<br>
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/security">Computer science/Security</a></li></ul>
<h3>Theories of Network_Security_Policy_Verification</h3>
<ul>
<li><a href="../theories/network_security_policy_verification/#ML_GraphViz">ML_GraphViz</a></li>
<li><a href="../theories/network_security_policy_verification/#ML_GraphViz_Disable">ML_GraphViz_Disable</a></li>
<li><a href="../theories/network_security_policy_verification/#FiniteGraph">FiniteGraph</a></li>
<li><a href="../theories/network_security_policy_verification/#FiniteListGraph">FiniteListGraph</a></li>
<li><a href="../theories/network_security_policy_verification/#TopoS_Util">TopoS_Util</a></li>
<li><a href="../theories/network_security_policy_verification/#Efficient_Distinct">Efficient_Distinct</a></li>
<li><a href="../theories/network_security_policy_verification/#FiniteListGraph_Impl">FiniteListGraph_Impl</a></li>
<li><a href="../theories/network_security_policy_verification/#TopoS_Vertices">TopoS_Vertices</a></li>
<li><a href="../theories/network_security_policy_verification/#TopoS_Interface">TopoS_Interface</a></li>
<li><a href="../theories/network_security_policy_verification/#TopoS_withOffendingFlows">TopoS_withOffendingFlows</a></li>
<li><a href="../theories/network_security_policy_verification/#TopoS_ENF">TopoS_ENF</a></li>
<li><a href="../theories/network_security_policy_verification/#vertex_example_simps">vertex_example_simps</a></li>
<li><a href="../theories/network_security_policy_verification/#TopoS_Helper">TopoS_Helper</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_Subnets2">SINVAR_Subnets2</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_BLPstrict">SINVAR_BLPstrict</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_Tainting">SINVAR_Tainting</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_BLPbasic">SINVAR_BLPbasic</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_TaintingTrusted">SINVAR_TaintingTrusted</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_BLPtrusted">SINVAR_BLPtrusted</a></li>
<li><a href="../theories/network_security_policy_verification/#Analysis_Tainting">Analysis_Tainting</a></li>
<li><a href="../theories/network_security_policy_verification/#TopoS_Interface_impl">TopoS_Interface_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_BLPbasic_impl">SINVAR_BLPbasic_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_Subnets">SINVAR_Subnets</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_Subnets_impl">SINVAR_Subnets_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_DomainHierarchyNG">SINVAR_DomainHierarchyNG</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_DomainHierarchyNG_impl">SINVAR_DomainHierarchyNG_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_BLPtrusted_impl">SINVAR_BLPtrusted_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_SecGwExt">SINVAR_SecGwExt</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_SecGwExt_impl">SINVAR_SecGwExt_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_Sink">SINVAR_Sink</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_Sink_impl">SINVAR_Sink_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_SubnetsInGW">SINVAR_SubnetsInGW</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_SubnetsInGW_impl">SINVAR_SubnetsInGW_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_CommunicationPartners">SINVAR_CommunicationPartners</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_CommunicationPartners_impl">SINVAR_CommunicationPartners_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_NoRefl">SINVAR_NoRefl</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_NoRefl_impl">SINVAR_NoRefl_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_Tainting_impl">SINVAR_Tainting_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_TaintingTrusted_impl">SINVAR_TaintingTrusted_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_Dependability">SINVAR_Dependability</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_Dependability_impl">SINVAR_Dependability_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_NonInterference">SINVAR_NonInterference</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_NonInterference_impl">SINVAR_NonInterference_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_ACLcommunicateWith">SINVAR_ACLcommunicateWith</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_ACLnotCommunicateWith">SINVAR_ACLnotCommunicateWith</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_ACLnotCommunicateWith_impl">SINVAR_ACLnotCommunicateWith_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_ACLcommunicateWith_impl">SINVAR_ACLcommunicateWith_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_Dependability_norefl">SINVAR_Dependability_norefl</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_Dependability_norefl_impl">SINVAR_Dependability_norefl_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#TopoS_Library">TopoS_Library</a></li>
<li><a href="../theories/network_security_policy_verification/#TopoS_Composition_Theory">TopoS_Composition_Theory</a></li>
<li><a href="../theories/network_security_policy_verification/#TopoS_Stateful_Policy">TopoS_Stateful_Policy</a></li>
<li><a href="../theories/network_security_policy_verification/#TopoS_Composition_Theory_impl">TopoS_Composition_Theory_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#TopoS_Stateful_Policy_Algorithm">TopoS_Stateful_Policy_Algorithm</a></li>
<li><a href="../theories/network_security_policy_verification/#TopoS_Stateful_Policy_impl">TopoS_Stateful_Policy_impl</a></li>
<li><a href="../theories/network_security_policy_verification/#METASINVAR_SystemBoundary">METASINVAR_SystemBoundary</a></li>
<li><a href="../theories/network_security_policy_verification/#TopoS_Impl">TopoS_Impl</a></li>
<li><a href="../theories/network_security_policy_verification/#Network_Security_Policy_Verification">Network_Security_Policy_Verification</a></li>
<li><a href="../theories/network_security_policy_verification/#Example_BLP">Example_BLP</a></li>
<li><a href="../theories/network_security_policy_verification/#TopoS_generateCode">TopoS_generateCode</a></li>
<li><a href="../theories/network_security_policy_verification/#attic">attic</a></li>
<li><a href="../theories/network_security_policy_verification/#Impl_List_Playground_ChairNetwork">Impl_List_Playground_ChairNetwork</a></li>
<li><a href="../theories/network_security_policy_verification/#Impl_List_Playground_statefulpolicycompliance">Impl_List_Playground_statefulpolicycompliance</a></li>
<li><a href="../theories/network_security_policy_verification/#Example">Example</a></li>
<li><a href="../theories/network_security_policy_verification/#Example_NetModel">Example_NetModel</a></li>
<li><a href="../theories/network_security_policy_verification/#Example_Forte14">Example_Forte14</a></li>
<li><a href="../theories/network_security_policy_verification/#Distributed_WebApp">Distributed_WebApp</a></li>
<li><a href="../theories/network_security_policy_verification/#I8_SSH_Landscape">I8_SSH_Landscape</a></li>
<li><a href="../theories/network_security_policy_verification/#Impl_List_Playground">Impl_List_Playground</a></li>
<li><a href="../theories/network_security_policy_verification/#Impl_List_Playground_ChairNetwork_statefulpolicy_example">Impl_List_Playground_ChairNetwork_statefulpolicy_example</a></li>
<li><a href="../theories/network_security_policy_verification/#CryptoDB">CryptoDB</a></li>
<li><a href="../theories/network_security_policy_verification/#IDEM">IDEM</a></li>
<li><a href="../theories/network_security_policy_verification/#MeasrDroid">MeasrDroid</a></li>
<li><a href="../theories/network_security_policy_verification/#SINVAR_Examples">SINVAR_Examples</a></li>
<li><a href="../theories/network_security_policy_verification/#Imaginary_Factory_Network">Imaginary_Factory_Network</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Automatic_Refinement.html">Automatic Data Refinement</a></li><li><a href="../entries/Transitive-Closure.html">Executable Transitive Closures of Finite Relations</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Network_Security_Policy_Verification/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Network_Security_Policy_Verification/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Network_Security_Policy_Verification/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Network_Security_Policy_Verification-AFP</p><pre id="copy-text">@article{Network_Security_Policy_Verification-AFP,
author = {Cornelius Diekmann},
title = {Network Security Policy Verification},
journal = {Archive of Formal Proofs},
month = {July},
year = {2014},
note = {\url{https://isa-afp.org/entries/Network_Security_Policy_Verification.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Network_Security_Policy_Verification-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Network_Security_Policy_Verification-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Network_Security_Policy_Verification-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Network_Security_Policy_Verification-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Network_Security_Policy_Verification-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Network_Security_Policy_Verification-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Network_Security_Policy_Verification-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Network_Security_Policy_Verification-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Network_Security_Policy_Verification-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Network_Security_Policy_Verification-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Network_Security_Policy_Verification-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Network_Security_Policy_Verification-2014-07-09.tar.gz">Jul 9, 2014</a>: Isabelle2013-2
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Number_Theoretic_Transform.html b/web/entries/Number_Theoretic_Transform.html
new file mode 100644
--- /dev/null
+++ b/web/entries/Number_Theoretic_Transform.html
@@ -0,0 +1,187 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1"><title>Number Theoretic Transform - Archive of Formal Proofs</title><meta name="description" content="This entry contains an Isabelle formalization of the Number Theoretic Transform (NTT) which is the analogue to a Discrete Fourier Transform (DFT) over a..."><meta property="og:title" content="Number Theoretic Transform" />
+<meta property="og:description" content="" />
+<meta property="og:type" content="article" />
+<meta property="og:url" content="/entries/Number_Theoretic_Transform.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
+<meta property="article:published_time" content="2022-08-18T00:00:00+00:00" />
+<meta property="article:modified_time" content="2022-08-18T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
+
+<meta name="twitter:card" content="summary_large_image"/>
+<meta name="twitter:image" content="/images/afp.png"/>
+
+<meta name="twitter:title" content="Number Theoretic Transform"/>
+<meta name="twitter:description" content=""/>
+
+
+ <link rel="stylesheet" type="text/css" href="../css/front.min.css">
+
+ <link rel="icon" href="../images/favicon.ico" type="image/icon">
+ <script>
+ MathJax = {
+ tex: {
+ inlineMath: [['$', '$'], ['\\(', '\\)']]
+ },
+ processEscapes: true,
+ svg: {
+ fontCache: 'global'
+ }
+ };
+ </script>
+ <script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
+ <script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
+ <script src="../js/flexsearch.bundle.js"></script>
+ <script src="../js/scroll-spy.js"></script>
+ <script src="../js/theory.js"></script>
+ <script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
+</head>
+
+
+<body class='mathjax_ignore '>
+ <aside>
+ <div id="menu-toggle">
+ <input id="toggle" type="checkbox" />
+ <label for="toggle">
+ <span>menu</span>
+ <img src="../images/menu.svg" alt="Menu" />
+ </label>
+
+ <a href="../" class='logo-link'>
+ <img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
+ </a>
+
+ <a href="../search"><img src="../images/search.svg" alt="Search" /></a>
+ <nav id="menu">
+ <div>
+ <a href="../" class='logo-link'>
+ <img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
+ </a>
+ <ul>
+ <a href="../"><li >Home</li></a>
+ <a href="../topics/"><li >Topics</li></a>
+ <a href="../download/"><li >Download</li></a>
+ <a href="../help/"><li >Help</li></a>
+ <a href="../submission/"><li >Submission</li></a>
+ <a href="../statistics/"><li >Statistics</li></a>
+ <a href="../about/"><li >About</li></a>
+ </ul>
+ </div>
+ </nav>
+</div>
+ </aside>
+
+ <div
+ class='content entries'><header>
+ <form autocomplete="off" action="../search">
+ <div class='form-container'>
+ <input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
+ id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
+ <datalist id="autocomplete">
+ </datalist>
+ </div>
+ </form>
+ <h1 >
+ <span class='first'>N</span>umber <span class='first'>T</span>heoretic <span class='first'>T</span>ransform</h1>
+ <div>
+
+ <p><a href="../authors/ammer">Thomas Ammer</a> and <a href="../authors/kreuzer">Katharina Kreuzer</a>
+ </p>
+
+
+ <p class="date">August 18, 2022</p>
+
+ </div>
+</header><div><main><h3>Abstract</h3>
+
+ <div class="abstract mathjax_process"><p>This entry contains an Isabelle formalization of the
+<em>Number Theoretic Transform (NTT)</em> which is the
+analogue to a <em>Discrete Fourier Transform (DFT)</em>
+over a finite field. Roots of unity in the complex numbers are
+replaced by those in a finite field. </p><p>First, we
+define both <em>NTT</em> and the inverse transform
+<em>INTT</em> in Isabelle and prove them to be mutually
+inverse. </p><p><em>DFT</em> can be
+efficiently computed by the recursive <em>Fast Fourier Transform
+(FFT)</em>. In our formalization, this algorithm is adapted to
+the setting of the <em>NTT</em>: We implement a
+<em>Fast Number Theoretic Transform (FNTT)</em> based on
+the Butterfly scheme by Cooley and Tukey. Additionally, we provide an
+inverse transform <em>IFNTT</em> and prove it mutually
+inverse to <em>FNTT</em>. </p><p> Afterwards,
+a recursive formalization of the <em>FNTT</em> running
+time is examined and the famous $O(n \log n)$ bounds
+are proven.</p></div>BSD License<h3>Topics</h3>
+ <ul><li><a href="../topics/computer-science/algorithms/mathematical">Computer science/Algorithms/Mathematical</a></li></ul>
+ <h3>Theories of Number_Theoretic_Transform</h3>
+ <ul>
+ <li><a href="../theories/number_theoretic_transform/#Preliminary_Lemmas">Preliminary_Lemmas</a></li>
+ <li><a href="../theories/number_theoretic_transform/#NTT">NTT</a></li>
+ <li><a href="../theories/number_theoretic_transform/#Butterfly">Butterfly</a></li></ul><div class="flex-wrap">
+ <div>
+ <h3>Depends On</h3>
+ <ul class="horizontal-list"><li><a href="../entries/Berlekamp_Zassenhaus.html">The Factorization Algorithm of Berlekamp and Zassenhaus</a></li></ul>
+ </div><div>
+ <h3>Used by</h3>
+ <ul class="horizontal-list"><li><a href="../entries/CRYSTALS-Kyber.html">CRYSTALS-Kyber</a></li></ul>
+ </div>
+
+ <div>
+ <h3>Related Entries</h3>
+ <ul class="horizontal-list">
+
+ <li><a href="../entries/CRYSTALS-Kyber.html">CRYSTALS-Kyber</a></li>
+
+ </ul>
+ </div>
+
+ </div>
+</main>
+
+<nav class='links'>
+ <a class='popup-button' href="#cite-popup">Cite</a>
+ <a class='popup-button' href="#download-popup">Download</a>
+ <h4>PDFs</h4>
+ <a href="https://www.isa-afp.org/browser_info/current/AFP/Number_Theoretic_Transform/outline.pdf">Proof
+ outline</a>
+ <a href="https://www.isa-afp.org/browser_info/current/AFP/Number_Theoretic_Transform/document.pdf">Proof
+ document</a>
+ <a href="https://www.isa-afp.org/browser_info/current/AFP/Number_Theoretic_Transform/session_graph.pdf">Dependencies</a></nav>
+
+<div id="cite-popup" class="overlay">
+ <a class="cancel" href="#"></a>
+ <div class="popup">
+ <h2>Cite</h2>
+ <a class="close" href="#">&times;</a>
+ <div>
+ <p style="display:none;" id="bibtex-filename">Number_Theoretic_Transform-AFP</p><pre id="copy-text">@article{Number_Theoretic_Transform-AFP,
+ author = {Thomas Ammer and Katharina Kreuzer},
+ title = {Number Theoretic Transform},
+ journal = {Archive of Formal Proofs},
+ month = {August},
+ year = {2022},
+ note = {\url{https://isa-afp.org/entries/Number_Theoretic_Transform.html},
+ Formal proof development},
+ ISSN = {2150-914x},
+}</pre>
+ <button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
+ </div>
+ </div>
+</div>
+
+<div id="download-popup" class="overlay">
+ <a class="cancel" href="#"></a>
+ <div class="popup">
+ <h2>Download</h2>
+ <a class="close" href="#">&times;</a>
+ <a href="https://www.isa-afp.org/release//afp-Number_Theoretic_Transform-current.tar.gz" download>Download latest</a>
+
+ </div>
+</div>
+ </div>
+ </div>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/web/entries/Optics.html b/web/entries/Optics.html
--- a/web/entries/Optics.html
+++ b/web/entries/Optics.html
@@ -1,196 +1,205 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Optics - Archive of Formal Proofs</title><meta name="description" content="Lenses provide an abstract interface for manipulating data types through spatially-separated views. They are defined abstractly in terms of two functions,..."><meta property="og:title" content="Optics" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Optics.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2017-05-25T00:00:00+00:00" />
<meta property="article:modified_time" content="2017-05-25T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Optics"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>O</span>ptics</h1>
<div>
<p><a href="../authors/fosters">Simon Foster</a> <a class="obfuscated" data="eyJob3N0IjpbInlvcmsiLCJhYyIsInVrIl0sInVzZXIiOlsic2ltb24iLCJmb3N0ZXIiXX0=">📧</a> and <a href="../authors/zeyda">Frank Zeyda</a> <a class="obfuscated" data="eyJob3N0IjpbInlvcmsiLCJhYyIsInVrIl0sInVzZXIiOlsiZnJhbmsiLCJ6ZXlkYSJdfQ==">📧</a>
</p>
<p class="date">May 25, 2017</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">Lenses provide an abstract interface for manipulating data types
through spatially-separated views. They are defined abstractly in
terms of two functions, <em>get</em>, the return a value
from the source type, and <em>put</em> that updates the
value. We mechanise the underlying theory of lenses, in terms of an
algebraic hierarchy of lenses, including well-behaved and very
well-behaved lenses, each lens class being characterised by a set of
lens laws. We also mechanise a lens algebra in Isabelle that enables
their composition and comparison, so as to allow construction of
complex lenses. This is accompanied by a large library of algebraic
laws. Moreover we also show how the lens classes can be applied by
-instantiating them with a number of Isabelle data types.</div>BSD License<h3>Topics</h3>
+instantiating them with a number of Isabelle data types.</div>BSD License<h3>Change history</h3><p>
+ <h4>March 2, 2020</h4>
+ Added partial bijective and symmetric lenses.
+Improved alphabet command generating additional lenses and results.
+Several additional lens relations, including observational equivalence.
+Additional theorems throughout.
+Adaptations for Isabelle 2020.
+(revision 44e2e5c)<br>
+
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/functional-programming">Computer science/Functional programming</a></li><li><a href="../topics/mathematics/algebra">Mathematics/Algebra</a></li></ul>
<h3>Theories of Optics</h3>
<ul>
<li><a href="../theories/optics/#Interp">Interp</a></li>
<li><a href="../theories/optics/#Two">Two</a></li>
<li><a href="../theories/optics/#Lens_Laws">Lens_Laws</a></li>
<li><a href="../theories/optics/#Lens_Algebra">Lens_Algebra</a></li>
<li><a href="../theories/optics/#Lens_Order">Lens_Order</a></li>
<li><a href="../theories/optics/#Lens_Symmetric">Lens_Symmetric</a></li>
<li><a href="../theories/optics/#Lens_Instances">Lens_Instances</a></li>
<li><a href="../theories/optics/#Lenses">Lenses</a></li>
<li><a href="../theories/optics/#Prisms">Prisms</a></li>
<li><a href="../theories/optics/#Channel_Type">Channel_Type</a></li>
<li><a href="../theories/optics/#Dataspace">Dataspace</a></li>
<li><a href="../theories/optics/#Scenes">Scenes</a></li>
<li><a href="../theories/optics/#Optics">Optics</a></li>
<li><a href="../theories/optics/#Lens_Record_Example">Lens_Record_Example</a></li>
<li><a href="../theories/optics/#Lens_State">Lens_State</a></li></ul><div class="flex-wrap">
<div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/UTP.html">Isabelle/UTP: Mechanised Theory Engineering for Unifying Theories of Programming</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Optics/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Optics/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Optics/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Optics-AFP</p><pre id="copy-text">@article{Optics-AFP,
author = {Simon Foster and Frank Zeyda},
title = {Optics},
journal = {Archive of Formal Proofs},
month = {May},
year = {2017},
note = {\url{https://isa-afp.org/entries/Optics.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Optics-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Optics-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Optics-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Optics-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Optics-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Optics-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Optics-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Optics-2017-06-01.tar.gz">Jun 1, 2017</a>: Isabelle2016-1
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Ordinary_Differential_Equations.html b/web/entries/Ordinary_Differential_Equations.html
--- a/web/entries/Ordinary_Differential_Equations.html
+++ b/web/entries/Ordinary_Differential_Equations.html
@@ -1,306 +1,303 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Ordinary Differential Equations - Archive of Formal Proofs</title><meta name="description" content="Session Ordinary-Differential-Equations formalizes ordinary differential equations (ODEs) and initial value problems. This work comprises proofs for local..."><meta property="og:title" content="Ordinary Differential Equations" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Ordinary_Differential_Equations.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2012-04-26T00:00:00+00:00" />
<meta property="article:modified_time" content="2012-04-26T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Ordinary Differential Equations"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>O</span>rdinary <span class='first'>D</span>ifferential <span class='first'>E</span>quations</h1>
<div>
<p><a href="../authors/immler">Fabian Immler</a> <a href="https://home.in.tum.de/~immler/">🌐</a> and <a href="../authors/hoelzl">Johannes Hölzl</a> <a href="http://home.in.tum.de/~hoelzl">🌐</a>
</p>
<p class="date">April 26, 2012</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process"><p>Session Ordinary-Differential-Equations formalizes ordinary differential equations (ODEs) and initial value
problems. This work comprises proofs for local and global existence of unique solutions
(Picard-Lindelöf theorem). Moreover, it contains a formalization of the (continuous or even
differentiable) dependency of the flow on initial conditions as the <i>flow</i> of ODEs.</p>
<p>
Not in the generated document are the following sessions:
<ul>
<li> HOL-ODE-Numerics:
Rigorous numerical algorithms for computing enclosures of solutions based on Runge-Kutta methods
and affine arithmetic. Reachability analysis with splitting and reduction at hyperplanes.</li>
<li> HOL-ODE-Examples:
Applications of the numerical algorithms to concrete systems of ODEs.</li>
<li> Lorenz_C0, Lorenz_C1:
Verified algorithms for checking C1-information according to Tucker's proof,
computation of C0-information.</li>
</ul>
</p></div>BSD License<h3>Change history</h3><p>
<h4>September 20, 2017</h4>
added Poincare map and propagation of variational equation in
reachability analysis, verified algorithms for C1-information and computations
for C0-information of the Lorenz attractor.
</p><p>
<h4>August 3, 2016</h4>
numerical algorithms for reachability analysis (using second-order Runge-Kutta methods, splitting, and reduction) implemented using Lammich's framework for automatic refinement<br>
-
</p><p>
<h4>April 14, 2016</h4>
added flow and variational equation<br>
-
</p><p>
<h4>February 13, 2014</h4>
added an implementation of the Euler method based on affine arithmetic<br>
-
</p><h3>Topics</h3>
<ul><li><a href="../topics/mathematics/analysis">Mathematics/Analysis</a></li></ul>
<h3>Theories of Ordinary_Differential_Equations</h3>
<ul>
<li><a href="../theories/ordinary_differential_equations/#ODE_Auxiliarities">ODE_Auxiliarities</a></li>
<li><a href="../theories/ordinary_differential_equations/#MVT_Ex">MVT_Ex</a></li>
<li><a href="../theories/ordinary_differential_equations/#Vector_Derivative_On">Vector_Derivative_On</a></li>
<li><a href="../theories/ordinary_differential_equations/#Interval_Integral_HK">Interval_Integral_HK</a></li>
<li><a href="../theories/ordinary_differential_equations/#Gronwall">Gronwall</a></li>
<li><a href="../theories/ordinary_differential_equations/#Initial_Value_Problem">Initial_Value_Problem</a></li>
<li><a href="../theories/ordinary_differential_equations/#Picard_Lindeloef_Qualitative">Picard_Lindeloef_Qualitative</a></li>
<li><a href="../theories/ordinary_differential_equations/#Bounded_Linear_Operator">Bounded_Linear_Operator</a></li>
<li><a href="../theories/ordinary_differential_equations/#Multivariate_Taylor">Multivariate_Taylor</a></li>
<li><a href="../theories/ordinary_differential_equations/#Flow">Flow</a></li>
<li><a href="../theories/ordinary_differential_equations/#Upper_Lower_Solution">Upper_Lower_Solution</a></li>
<li><a href="../theories/ordinary_differential_equations/#Poincare_Map">Poincare_Map</a></li>
<li><a href="../theories/ordinary_differential_equations/#Reachability_Analysis">Reachability_Analysis</a></li>
<li><a href="../theories/ordinary_differential_equations/#Flow_Congs">Flow_Congs</a></li>
<li><a href="../theories/ordinary_differential_equations/#Cones">Cones</a></li>
<li><a href="../theories/ordinary_differential_equations/#Linear_ODE">Linear_ODE</a></li>
<li><a href="../theories/ordinary_differential_equations/#ODE_Analysis">ODE_Analysis</a></li></ul>
<h3>Theories of HOL-ODE-Numerics</h3>
<ul>
<li><a href="../theories/hol-ode-numerics/#GenCF_No_Comp">GenCF_No_Comp</a></li>
<li><a href="../theories/hol-ode-numerics/#Refine_Dflt_No_Comp">Refine_Dflt_No_Comp</a></li>
<li><a href="../theories/hol-ode-numerics/#Autoref_Misc">Autoref_Misc</a></li>
<li><a href="../theories/hol-ode-numerics/#Weak_Set">Weak_Set</a></li>
<li><a href="../theories/hol-ode-numerics/#Enclosure_Operations">Enclosure_Operations</a></li>
<li><a href="../theories/hol-ode-numerics/#Refine_Vector_List">Refine_Vector_List</a></li>
<li><a href="../theories/hol-ode-numerics/#Transfer_Analysis">Transfer_Analysis</a></li>
<li><a href="../theories/hol-ode-numerics/#Transfer_ODE">Transfer_ODE</a></li>
<li><a href="../theories/hol-ode-numerics/#Transfer_Euclidean_Space_Vector">Transfer_Euclidean_Space_Vector</a></li>
<li><a href="../theories/hol-ode-numerics/#Refine_Hyperplane">Refine_Hyperplane</a></li>
<li><a href="../theories/hol-ode-numerics/#Refine_Unions">Refine_Unions</a></li>
<li><a href="../theories/hol-ode-numerics/#Refine_Intersection">Refine_Intersection</a></li>
<li><a href="../theories/hol-ode-numerics/#Refine_Invar">Refine_Invar</a></li>
<li><a href="../theories/hol-ode-numerics/#Refine_Interval">Refine_Interval</a></li>
<li><a href="../theories/hol-ode-numerics/#Refine_Info">Refine_Info</a></li>
<li><a href="../theories/hol-ode-numerics/#Abstract_Rigorous_Numerics">Abstract_Rigorous_Numerics</a></li>
<li><a href="../theories/hol-ode-numerics/#Refine_Rigorous_Numerics">Refine_Rigorous_Numerics</a></li>
<li><a href="../theories/hol-ode-numerics/#Refine_Rigorous_Numerics_Aform">Refine_Rigorous_Numerics_Aform</a></li>
<li><a href="../theories/hol-ode-numerics/#Concrete_Rigorous_Numerics">Concrete_Rigorous_Numerics</a></li>
<li><a href="../theories/hol-ode-numerics/#Refine_String">Refine_String</a></li>
<li><a href="../theories/hol-ode-numerics/#Refine_Folds">Refine_Folds</a></li>
<li><a href="../theories/hol-ode-numerics/#One_Step_Method">One_Step_Method</a></li>
<li><a href="../theories/hol-ode-numerics/#Runge_Kutta">Runge_Kutta</a></li>
<li><a href="../theories/hol-ode-numerics/#Abstract_Reachability_Analysis">Abstract_Reachability_Analysis</a></li>
<li><a href="../theories/hol-ode-numerics/#Concrete_Reachability_Analysis">Concrete_Reachability_Analysis</a></li>
<li><a href="../theories/hol-ode-numerics/#Refine_Parallel">Refine_Parallel</a></li>
<li><a href="../theories/hol-ode-numerics/#Refine_Default">Refine_Default</a></li>
<li><a href="../theories/hol-ode-numerics/#Refine_Phantom">Refine_Phantom</a></li>
<li><a href="../theories/hol-ode-numerics/#Refine_ScaleR2">Refine_ScaleR2</a></li>
<li><a href="../theories/hol-ode-numerics/#Abstract_Reachability_Analysis_C1">Abstract_Reachability_Analysis_C1</a></li>
<li><a href="../theories/hol-ode-numerics/#Concrete_Reachability_Analysis_C1">Concrete_Reachability_Analysis_C1</a></li>
<li><a href="../theories/hol-ode-numerics/#Refine_Reachability_Analysis">Refine_Reachability_Analysis</a></li>
<li><a href="../theories/hol-ode-numerics/#Refine_Reachability_Analysis_C1">Refine_Reachability_Analysis_C1</a></li>
<li><a href="../theories/hol-ode-numerics/#Init_ODE_Solver">Init_ODE_Solver</a></li>
<li><a href="../theories/hol-ode-numerics/#Example_Utilities">Example_Utilities</a></li>
<li><a href="../theories/hol-ode-numerics/#ODE_Numerics">ODE_Numerics</a></li></ul>
<h3>Theories of Lorenz_Approximation</h3>
<ul>
<li><a href="../theories/lorenz_approximation/#Result_Elements">Result_Elements</a></li>
<li><a href="../theories/lorenz_approximation/#Result_File_Coarse">Result_File_Coarse</a></li>
<li><a href="../theories/lorenz_approximation/#Lorenz_Approximation">Lorenz_Approximation</a></li></ul>
<h3>Theories of HOL-ODE-Examples</h3>
<ul>
<li><a href="../theories/hol-ode-examples/#Examples_Integral">Examples_Integral</a></li>
<li><a href="../theories/hol-ode-examples/#Examples_One_Step_Method">Examples_One_Step_Method</a></li>
<li><a href="../theories/hol-ode-examples/#Examples_Poincare_Map">Examples_Poincare_Map</a></li>
<li><a href="../theories/hol-ode-examples/#ODE_Examples">ODE_Examples</a></li></ul>
<h3>Theories of HOL-ODE-ARCH-COMP</h3>
<ul>
<li><a href="../theories/hol-ode-arch-comp/#Examples_ARCH_COMP">Examples_ARCH_COMP</a></li></ul>
<h3>Theories of Lorenz_C0</h3>
<ul>
<li><a href="../theories/lorenz_c0/#Lorenz_C0">Lorenz_C0</a></li></ul>
<h3>Theories of Lorenz_C1</h3>
<ul>
<li><a href="../theories/lorenz_c1/#Lorenz_C1">Lorenz_C1</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Affine_Arithmetic.html">Affine Arithmetic</a></li><li><a href="../entries/List-Index.html">List Index</a></li><li><a href="../entries/Triangle.html">Basic Geometric Properties of Triangles</a></li><li><a href="../entries/Collections.html">Collections Framework</a></li><li><a href="../entries/Deriving.html">Deriving class instances for datatypes</a></li><li><a href="../entries/Ordinary_Differential_Equations.html">Ordinary Differential Equations</a></li><li><a href="../entries/Show.html">Haskell&rsquo;s Show Class in Isabelle/HOL</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Hybrid_Systems_VCs.html">Verification Components for Hybrid Systems</a></li><li><a href="../entries/Differential_Dynamic_Logic.html">Differential Dynamic Logic</a></li><li><a href="../entries/Ordinary_Differential_Equations.html">Ordinary Differential Equations</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/Matrices_for_ODEs.html">Matrices for ODEs</a></li>
<li><a href="../entries/Poincare_Bendixson.html">The Poincaré-Bendixson Theorem</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Ordinary_Differential_Equations/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Ordinary_Differential_Equations/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Ordinary_Differential_Equations/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Ordinary_Differential_Equations-AFP</p><pre id="copy-text">@article{Ordinary_Differential_Equations-AFP,
author = {Fabian Immler and Johannes Hölzl},
title = {Ordinary Differential Equations},
journal = {Archive of Formal Proofs},
month = {April},
year = {2012},
note = {\url{https://isa-afp.org/entries/Ordinary_Differential_Equations.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Ordinary_Differential_Equations-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Ordinary_Differential_Equations-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Ordinary_Differential_Equations-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Ordinary_Differential_Equations-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Ordinary_Differential_Equations-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Ordinary_Differential_Equations-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Ordinary_Differential_Equations-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Ordinary_Differential_Equations-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Ordinary_Differential_Equations-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Ordinary_Differential_Equations-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Ordinary_Differential_Equations-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Ordinary_Differential_Equations-2013-12-11.tar.gz">Dec 11, 2013</a>: Isabelle2013-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Ordinary_Differential_Equations-2013-11-17.tar.gz">Nov 17, 2013</a>: Isabelle2013-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Ordinary_Differential_Equations-2013-02-16.tar.gz">Feb 16, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-Ordinary_Differential_Equations-2012-05-24.tar.gz">May 24, 2012</a>: Isabelle2012
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Perron_Frobenius.html b/web/entries/Perron_Frobenius.html
--- a/web/entries/Perron_Frobenius.html
+++ b/web/entries/Perron_Frobenius.html
@@ -1,218 +1,227 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Perron-Frobenius Theorem for Spectral Radius Analysis - Archive of Formal Proofs</title><meta name="description" content="The spectral radius of a matrix A is the maximum norm of all eigenvalues of A. In previous work we already formalized that for a complex matrix A, the..."><meta property="og:title" content="Perron-Frobenius Theorem for Spectral Radius Analysis" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Perron_Frobenius.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2016-05-20T00:00:00+00:00" />
<meta property="article:modified_time" content="2016-05-20T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Perron-Frobenius Theorem for Spectral Radius Analysis"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>P</span>erron-<span class='first'>F</span>robenius <span class='first'>T</span>heorem for <span class='first'>S</span>pectral <span class='first'>R</span>adius <span class='first'>A</span>nalysis</h1>
<div>
<p><a href="../authors/divason">Jose Divasón</a> <a href="https://www.unirioja.es/cu/jodivaso/">🌐</a>, <a href="../authors/kuncar">Ondřej Kunčar</a> <a href="http://www21.in.tum.de/~kuncar/">🌐</a>, <a href="../authors/thiemann">René Thiemann</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsicmVuZSIsInRoaWVtYW5uIl19">📧</a> and <a href="../authors/yamada">Akihisa Yamada</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsiYWtpaGlzYSIsInlhbWFkYSJdfQ==">📧</a>
</p>
<p class="date">May 20, 2016</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process"><p>The spectral radius of a matrix A is the maximum norm of all
eigenvalues of A. In previous work we already formalized that for a
complex matrix A, the values in A<sup>n</sup> grow polynomially in n
if and only if the spectral radius is at most one. One problem with
the above characterization is the determination of all
<em>complex</em> eigenvalues. In case A contains only non-negative
real values, a simplification is possible with the help of the
Perron&ndash;Frobenius theorem, which tells us that it suffices to consider only
the <em>real</em> eigenvalues of A, i.e., applying Sturm's method can
decide the polynomial growth of A<sup>n</sup>. </p><p> We formalize
the Perron&ndash;Frobenius theorem based on a proof via Brouwer's fixpoint
theorem, which is available in the HOL multivariate analysis (HMA)
library. Since the results on the spectral radius is based on matrices
in the Jordan normal form (JNF) library, we further develop a
connection which allows us to easily transfer theorems between HMA and
JNF. With this connection we derive the combined result: if A is a
non-negative real matrix, and no real eigenvalue of A is strictly
-larger than one, then A<sup>n</sup> is polynomially bounded in n. </p></div>BSD License<h3>Topics</h3>
+larger than one, then A<sup>n</sup> is polynomially bounded in n. </p></div>BSD License<h3>Change history</h3><p>
+ <h4>May 17, 2018</h4>
+ prove conjecture of CPP'18 paper: Jordan blocks of spectral radius have maximum size
+(revision ffdb3794e5d5)
+ </p><p>
+ <h4>October 18, 2017</h4>
+ added Perron-Frobenius theorem for irreducible matrices with generalization
+(revision bda1f1ce8a1c)<br/>
+
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/mathematics/algebra">Mathematics/Algebra</a></li></ul>
<h3>Theories of Perron_Frobenius</h3>
<ul>
<li><a href="../theories/perron_frobenius/#Cancel_Card_Constraint">Cancel_Card_Constraint</a></li>
<li><a href="../theories/perron_frobenius/#Bij_Nat">Bij_Nat</a></li>
<li><a href="../theories/perron_frobenius/#HMA_Connect">HMA_Connect</a></li>
<li><a href="../theories/perron_frobenius/#Perron_Frobenius_Aux">Perron_Frobenius_Aux</a></li>
<li><a href="../theories/perron_frobenius/#Perron_Frobenius">Perron_Frobenius</a></li>
<li><a href="../theories/perron_frobenius/#Roots_Unity">Roots_Unity</a></li>
<li><a href="../theories/perron_frobenius/#Perron_Frobenius_Irreducible">Perron_Frobenius_Irreducible</a></li>
<li><a href="../theories/perron_frobenius/#Perron_Frobenius_General">Perron_Frobenius_General</a></li>
<li><a href="../theories/perron_frobenius/#Spectral_Radius_Theory">Spectral_Radius_Theory</a></li>
<li><a href="../theories/perron_frobenius/#Spectral_Radius_Largest_Jordan_Block">Spectral_Radius_Largest_Jordan_Block</a></li>
<li><a href="../theories/perron_frobenius/#Hom_Gauss_Jordan">Hom_Gauss_Jordan</a></li>
<li><a href="../theories/perron_frobenius/#Spectral_Radius_Theory_2">Spectral_Radius_Theory_2</a></li>
<li><a href="../theories/perron_frobenius/#Check_Matrix_Growth">Check_Matrix_Growth</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Jordan_Normal_Form.html">Matrices, Jordan Normal Forms, and Spectral Radius Theory</a></li><li><a href="../entries/Polynomial_Factorization.html">Polynomial Factorization</a></li><li><a href="../entries/Rank_Nullity_Theorem.html">Rank-Nullity Theorem in Linear Algebra</a></li><li><a href="../entries/Sturm_Sequences.html">Sturm&rsquo;s Theorem</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Smith_Normal_Form.html">A verified algorithm for computing the Smith normal form of a matrix</a></li><li><a href="../entries/LLL_Factorization.html">A verified factorization algorithm for integer polynomials with polynomial complexity</a></li><li><a href="../entries/Stochastic_Matrices.html">Stochastic Matrices and the Perron-Frobenius Theorem</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/Stochastic_Matrices.html">Stochastic Matrices and the Perron-Frobenius Theorem</a></li>
<li><a href="../entries/Cayley_Hamilton.html">The Cayley-Hamilton Theorem</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Perron_Frobenius/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Perron_Frobenius/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Perron_Frobenius/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Perron_Frobenius-AFP</p><pre id="copy-text">@article{Perron_Frobenius-AFP,
author = {Jose Divasón and Ondřej Kunčar and René Thiemann and Akihisa Yamada},
title = {Perron-Frobenius Theorem for Spectral Radius Analysis},
journal = {Archive of Formal Proofs},
month = {May},
year = {2016},
note = {\url{https://isa-afp.org/entries/Perron_Frobenius.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Perron_Frobenius-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Perron_Frobenius-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Perron_Frobenius-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Perron_Frobenius-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Perron_Frobenius-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Perron_Frobenius-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Perron_Frobenius-2017-10-18.tar.gz">Oct 18, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Perron_Frobenius-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Perron_Frobenius-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Perron_Frobenius-2016-05-20.tar.gz">May 20, 2016</a>: Isabelle2016
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Pluennecke_Ruzsa_Inequality.html b/web/entries/Pluennecke_Ruzsa_Inequality.html
--- a/web/entries/Pluennecke_Ruzsa_Inequality.html
+++ b/web/entries/Pluennecke_Ruzsa_Inequality.html
@@ -1,175 +1,180 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>The Plünnecke-Ruzsa Inequality - Archive of Formal Proofs</title><meta name="description" content="We formalise Plünnecke&#39;s inequality and the Plünnecke-Ruzsa
inequality, following the notes by Timothy Gowers: &#34;Introduction
to Additive Combinatorics&#34;..."><meta property="og:title" content="The Plünnecke-Ruzsa Inequality" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Pluennecke_Ruzsa_Inequality.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2022-05-26T00:00:00+00:00" />
<meta property="article:modified_time" content="2022-05-26T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="The Plünnecke-Ruzsa Inequality"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>T</span>he <span class='first'>P</span>lünnecke-<span class='first'>R</span>uzsa <span class='first'>I</span>nequality</h1>
<div>
<p><a href="../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> <a href="https://www.cl.cam.ac.uk/~ak2110/">🌐</a> and <a href="../authors/paulson">Lawrence C. Paulson</a>
</p>
<p class="date">May 26, 2022</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We formalise Plünnecke's inequality and the Plünnecke-Ruzsa
inequality, following the notes by Timothy Gowers: "Introduction
to Additive Combinatorics" (2022) for the University of
Cambridge. To this end, we first introduce basic definitions and prove
elementary facts on sumsets and difference sets. Then, we show two
versions of the Ruzsa triangle inequality. We follow with a proof due
to Petridis.</div>BSD License<h3>Topics</h3>
<ul><li><a href="../topics/mathematics/combinatorics">Mathematics/Combinatorics</a></li></ul>
<h3>Theories of Pluennecke_Ruzsa_Inequality</h3>
<ul>
<li><a href="../theories/pluennecke_ruzsa_inequality/#Pluennecke_Ruzsa_Inequality">Pluennecke_Ruzsa_Inequality</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Jacobson_Basic_Algebra.html">A Case Study in Basic Algebra</a></li></ul>
+ </div><div>
+ <h3>Used by</h3>
+ <ul class="horizontal-list"><li><a href="../entries/Khovanskii_Theorem.html">Khovanskii's Theorem</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
+ <li><a href="../entries/Khovanskii_Theorem.html">Khovanskii's Theorem</a></li>
+
<li><a href="../entries/Padic_Ints.html">Hensel&rsquo;s Lemma for the p-adic Integers</a></li>
<li><a href="../entries/Banach_Steinhaus.html">Banach-Steinhaus Theorem</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Pluennecke_Ruzsa_Inequality/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Pluennecke_Ruzsa_Inequality/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Pluennecke_Ruzsa_Inequality/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Pluennecke_Ruzsa_Inequality-AFP</p><pre id="copy-text">@article{Pluennecke_Ruzsa_Inequality-AFP,
author = {Angeliki Koutsoukou-Argyraki and Lawrence C. Paulson},
title = {The Plünnecke-Ruzsa Inequality},
journal = {Archive of Formal Proofs},
month = {May},
year = {2022},
note = {\url{https://isa-afp.org/entries/Pluennecke_Ruzsa_Inequality.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Pluennecke_Ruzsa_Inequality-current.tar.gz" download>Download latest</a>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Polynomials.html b/web/entries/Polynomials.html
--- a/web/entries/Polynomials.html
+++ b/web/entries/Polynomials.html
@@ -1,251 +1,249 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Executable Multivariate Polynomials - Archive of Formal Proofs</title><meta name="description" content="We define multivariate polynomials over arbitrary (ordered) semirings in combination with (executable) operations like addition, multiplication, and..."><meta property="og:title" content="Executable Multivariate Polynomials" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Polynomials.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2010-08-10T00:00:00+00:00" />
<meta property="article:modified_time" content="2010-08-10T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Executable Multivariate Polynomials"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>E</span>xecutable <span class='first'>M</span>ultivariate <span class='first'>P</span>olynomials</h1>
<div>
<p><a href="../authors/sternagel">Christian Sternagel</a> <a class="obfuscated" data="eyJob3N0IjpbImdtYWlsIiwiY29tIl0sInVzZXIiOlsiYyIsInN0ZXJuYWdlbCJdfQ==">📧</a>, <a href="../authors/thiemann">René Thiemann</a> <a href="http://cl-informatik.uibk.ac.at/users/thiemann/">🌐</a>, <a href="../authors/maletzky">Alexander Maletzky</a> <a href="https://risc.jku.at/m/alexander-maletzky/">🌐</a>, <a href="../authors/immler">Fabian Immler</a> <a href="https://home.in.tum.de/~immler/">🌐</a>, <a href="../authors/haftmann">Florian Haftmann</a> <a href="http://isabelle.in.tum.de/~haftmann">🌐</a>, <a href="../authors/lochbihler">Andreas Lochbihler</a> <a href="http://www.andreas-lochbihler.de/">🌐</a> and <a href="../authors/bentkamp">Alexander Bentkamp</a> <a class="obfuscated" data="eyJob3N0IjpbImdtYWlsIiwiY29tIl0sInVzZXIiOlsiYmVudGthbXAiXX0=">📧</a>
</p>
<p class="date">August 10, 2010</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We define multivariate polynomials over arbitrary (ordered) semirings in
combination with (executable) operations like addition, multiplication,
and substitution. We also define (weak) monotonicity of polynomials and
comparison of polynomials where we provide standard estimations like
absolute positiveness or the more recent approach of Neurauter, Zankl,
and Middeldorp. Moreover, it is proven that strongly normalizing
(monotone) orders can be lifted to strongly normalizing (monotone) orders
over polynomials. Our formalization was performed as part of the <a
href="http://cl-informatik.uibk.ac.at/software/ceta">IsaFoR/CeTA-system</a>
which contains several termination techniques. The provided theories have
been essential to formalize polynomial interpretations.
<p>
This formalization also contains an abstract representation as coefficient functions with finite
support and a type of power-products. If this type is ordered by a linear (term) ordering, various
additional notions, such as leading power-product, leading coefficient etc., are introduced as
well. Furthermore, a lot of generic properties of, and functions on, multivariate polynomials are
formalized, including the substitution and evaluation homomorphisms, embeddings of polynomial rings
into larger rings (i.e. with one additional indeterminate), homogenization and dehomogenization of
polynomials, and the canonical isomorphism between R[X,Y] and R[X][Y].</div><a href="https://isa-afp.org/LICENSE.LGPL">GNU Lesser General Public License (LGPL)</a><h3>Change history</h3><p>
<h4>April 18, 2019</h4>
Added material about polynomials whose power-products are represented themselves
by polynomial mappings.
</p><p>
<h4>January 23, 2018</h4>
Added authors Haftmann, Lochbihler after incorporating
their formalization of multivariate polynomials based on Polynomial mappings.
Moved material from Bentkamp's entry "Deep Learning".<br>
</p><p>
<h4>October 28, 2016</h4>
Added abstract representation of polynomials and authors Maletzky/Immler.<br>
-
</p><p>
<h4>September 17, 2010</h4>
Moved theories on arbitrary (ordered) semirings to Abstract Rewriting.<br>
-
</p><h3>Topics</h3>
<ul><li><a href="../topics/mathematics/analysis">Mathematics/Analysis</a></li><li><a href="../topics/mathematics/algebra">Mathematics/Algebra</a></li><li><a href="../topics/computer-science/algorithms/mathematical">Computer science/Algorithms/Mathematical</a></li></ul>
<h3>Theories of Polynomials</h3>
<ul>
<li><a href="../theories/polynomials/#Utils">Utils</a></li>
<li><a href="../theories/polynomials/#MPoly_Type">MPoly_Type</a></li>
<li><a href="../theories/polynomials/#More_MPoly_Type">More_MPoly_Type</a></li>
<li><a href="../theories/polynomials/#Power_Products">Power_Products</a></li>
<li><a href="../theories/polynomials/#More_Modules">More_Modules</a></li>
<li><a href="../theories/polynomials/#MPoly_Type_Class">MPoly_Type_Class</a></li>
<li><a href="../theories/polynomials/#MPoly_Type_Class_Ordered">MPoly_Type_Class_Ordered</a></li>
<li><a href="../theories/polynomials/#Poly_Mapping_Finite_Map">Poly_Mapping_Finite_Map</a></li>
<li><a href="../theories/polynomials/#MPoly_Type_Class_FMap">MPoly_Type_Class_FMap</a></li>
<li><a href="../theories/polynomials/#PP_Type">PP_Type</a></li>
<li><a href="../theories/polynomials/#OAlist">OAlist</a></li>
<li><a href="../theories/polynomials/#OAlist_Poly_Mapping">OAlist_Poly_Mapping</a></li>
<li><a href="../theories/polynomials/#Term_Order">Term_Order</a></li>
<li><a href="../theories/polynomials/#MPoly_Type_Class_OAlist">MPoly_Type_Class_OAlist</a></li>
<li><a href="../theories/polynomials/#Quasi_PM_Power_Products">Quasi_PM_Power_Products</a></li>
<li><a href="../theories/polynomials/#MPoly_PM">MPoly_PM</a></li>
<li><a href="../theories/polynomials/#MPoly_Type_Univariate">MPoly_Type_Univariate</a></li>
<li><a href="../theories/polynomials/#Polynomials">Polynomials</a></li>
<li><a href="../theories/polynomials/#Show_Polynomials">Show_Polynomials</a></li>
<li><a href="../theories/polynomials/#NZM">NZM</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Abstract-Rewriting.html">Abstract Rewriting</a></li><li><a href="../entries/Matrix.html">Executable Matrix Operations on Matrices of Arbitrary Dimensions</a></li><li><a href="../entries/Show.html">Haskell&rsquo;s Show Class in Isabelle/HOL</a></li><li><a href="../entries/Well_Quasi_Orders.html">Well-Quasi-Orders</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Factor_Algebraic_Polynomial.html">Factorization of Polynomials with Algebraic Coefficients</a></li><li><a href="../entries/Virtual_Substitution.html">Verified Quadratic Virtual Substitution for Real Arithmetic</a></li><li><a href="../entries/PAC_Checker.html">Practical Algebraic Calculus Checker</a></li><li><a href="../entries/Symmetric_Polynomials.html">Symmetric Polynomials</a></li><li><a href="../entries/Lambda_Free_KBOs.html">Formalization of Knuth–Bendix Orders for Lambda-Free Higher-Order Terms</a></li><li><a href="../entries/Deep_Learning.html">Expressiveness of Deep Learning</a></li><li><a href="../entries/Groebner_Bases.html">Gröbner Bases Theory</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Polynomials/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Polynomials/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Polynomials/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Polynomials-AFP</p><pre id="copy-text">@article{Polynomials-AFP,
author = {Christian Sternagel and René Thiemann and Alexander Maletzky and Fabian Immler and Florian Haftmann and Andreas Lochbihler and Alexander Bentkamp},
title = {Executable Multivariate Polynomials},
journal = {Archive of Formal Proofs},
month = {August},
year = {2010},
note = {\url{https://isa-afp.org/entries/Polynomials.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Polynomials-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Polynomials-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Polynomials-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Polynomials-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Polynomials-2020-01-14.tar.gz">Jan 14, 2020</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Polynomials-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Polynomials-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Polynomials-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Polynomials-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Polynomials-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Polynomials-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Polynomials-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Polynomials-2013-12-11.tar.gz">Dec 11, 2013</a>: Isabelle2013-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Polynomials-2013-11-17.tar.gz">Nov 17, 2013</a>: Isabelle2013-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Polynomials-2013-02-16.tar.gz">Feb 16, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-Polynomials-2012-05-24.tar.gz">May 24, 2012</a>: Isabelle2012
</li><li>
<a href="https://www.isa-afp.org/release/afp-Polynomials-2011-10-11.tar.gz">Oct 11, 2011</a>: Isabelle2011-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Polynomials-2011-02-11.tar.gz">Feb 11, 2011</a>: Isabelle2011
</li><li>
<a href="https://www.isa-afp.org/release/afp-Polynomials-2010-08-11.tar.gz">Aug 11, 2010</a>: Isabelle2009-2
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Probabilistic_While.html b/web/entries/Probabilistic_While.html
--- a/web/entries/Probabilistic_While.html
+++ b/web/entries/Probabilistic_While.html
@@ -1,185 +1,189 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Probabilistic while loop - Archive of Formal Proofs</title><meta name="description" content="This AFP entry defines a probabilistic while operator based on
sub-probability mass functions and formalises zero-one laws and variant
rules for..."><meta property="og:title" content="Probabilistic while loop" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Probabilistic_While.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2017-05-05T00:00:00+00:00" />
<meta property="article:modified_time" content="2017-05-05T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Probabilistic while loop"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>P</span>robabilistic <span class='first'>W</span>hile <span class='first'>L</span>oop</h1>
<div>
<p><a href="../authors/lochbihler">Andreas Lochbihler</a> <a href="http://www.andreas-lochbihler.de/">🌐</a>
</p>
<p class="date">May 5, 2017</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">This AFP entry defines a probabilistic while operator based on
sub-probability mass functions and formalises zero-one laws and variant
rules for probabilistic loop termination. As applications, we
implement probabilistic algorithms for the Bernoulli, geometric and
arbitrary uniform distributions that only use fair coin flips, and
-prove them correct and terminating with probability 1.</div>BSD License<h3>Topics</h3>
+prove them correct and terminating with probability 1.</div>BSD License<h3>Change history</h3><p>
+ <h4>February 2, 2018</h4>
+ Added a proof that probabilistic conditioning can be implemented by repeated sampling.
+(revision 305867c4e911)<br>
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/functional-programming">Computer science/Functional programming</a></li><li><a href="../topics/mathematics/probability-theory">Mathematics/Probability theory</a></li><li><a href="../topics/computer-science/algorithms">Computer science/Algorithms</a></li></ul>
<h3>Theories of Probabilistic_While</h3>
<ul>
<li><a href="../theories/probabilistic_while/#While_SPMF">While_SPMF</a></li>
<li><a href="../theories/probabilistic_while/#Bernoulli">Bernoulli</a></li>
<li><a href="../theories/probabilistic_while/#Geometric">Geometric</a></li>
<li><a href="../theories/probabilistic_while/#Fast_Dice_Roll">Fast_Dice_Roll</a></li>
<li><a href="../theories/probabilistic_while/#Resampling">Resampling</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/MFMC_Countable.html">A Formal Proof of the Max-Flow Min-Cut Theorem for Countable Networks</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/CryptHOL.html">CryptHOL</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Probabilistic_While/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Probabilistic_While/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Probabilistic_While/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Probabilistic_While-AFP</p><pre id="copy-text">@article{Probabilistic_While-AFP,
author = {Andreas Lochbihler},
title = {Probabilistic while loop},
journal = {Archive of Formal Proofs},
month = {May},
year = {2017},
note = {\url{https://isa-afp.org/entries/Probabilistic_While.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Probabilistic_While-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Probabilistic_While-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Probabilistic_While-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Probabilistic_While-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Probabilistic_While-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Probabilistic_While-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Probabilistic_While-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Probabilistic_While-2017-05-11.tar.gz">May 11, 2017</a>: Isabelle2016-1
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Regular-Sets.html b/web/entries/Regular-Sets.html
--- a/web/entries/Regular-Sets.html
+++ b/web/entries/Regular-Sets.html
@@ -1,217 +1,216 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Regular Sets and Expressions - Archive of Formal Proofs</title><meta name="description" content="This is a library of constructions on regular expressions and languages. It provides the operations of concatenation, Kleene star and derivative on..."><meta property="og:title" content="Regular Sets and Expressions" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Regular-Sets.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2010-05-12T00:00:00+00:00" />
<meta property="article:modified_time" content="2010-05-12T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Regular Sets and Expressions"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>R</span>egular <span class='first'>S</span>ets and <span class='first'>E</span>xpressions</h1>
<div>
<p><a href="../authors/krauss">Alexander Krauss</a> <a href="http://www.in.tum.de/~krauss">🌐</a> and <a href="../authors/nipkow">Tobias Nipkow</a> <a href="https://www.in.tum.de/~nipkow/">🌐</a>
with contributions from <a href="../authors/eberl">Manuel Eberl</a> <a href="https://pruvisto.org/">🌐</a> and <a href="../authors/urban">Christian Urban</a> <a href="https://nms.kcl.ac.uk/christian.urban/">🌐</a>
</p>
<p class="date">May 12, 2010</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">This is a library of constructions on regular expressions and languages. It provides the operations of concatenation, Kleene star and derivative on languages. Regular expressions and their meaning are defined. An executable equivalence checker for regular expressions is verified; it does not need automata but works directly on regular expressions. <i>By mapping regular expressions to binary relations, an automatic and complete proof method for (in)equalities of binary relations over union, concatenation and (reflexive) transitive closure is obtained.</i> <P> Extended regular expressions with complement and intersection are also defined and an equivalence checker is provided.</div>BSD License<h3>Change history</h3><p>
<h4>May 10, 2012</h4>
Tobias Nipkow added equivalence checking with partial derivatives
</p><p>
<h4>August 26, 2011</h4>
Christian Urban added a theory about derivatives and partial derivatives of regular expressions<br>
-
</p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/automata-and-formal-languages">Computer science/Automata and formal languages</a></li></ul><h3>Related Publications</h3>
<ul><li>
Krauss, A., & Nipkow, T. (2011). Proof Pearl: Regular Expression Equivalence and Relation Algebra. Journal of Automated Reasoning, 49(1), 95–106. <a href="https://doi.org/10.1007/s10817-011-9223-4">https://doi.org/10.1007/s10817-011-9223-4</a>
</li><li>
<a href="https://www.in.tum.de/~nipkow/pubs/jar12.html">Open access</a>
</li></ul>
<h3>Theories of Regular-Sets</h3>
<ul>
<li><a href="../theories/regular-sets/#Regular_Set">Regular_Set</a></li>
<li><a href="../theories/regular-sets/#Regular_Exp">Regular_Exp</a></li>
<li><a href="../theories/regular-sets/#NDerivative">NDerivative</a></li>
<li><a href="../theories/regular-sets/#Equivalence_Checking">Equivalence_Checking</a></li>
<li><a href="../theories/regular-sets/#Relation_Interpretation">Relation_Interpretation</a></li>
<li><a href="../theories/regular-sets/#Regexp_Method">Regexp_Method</a></li>
<li><a href="../theories/regular-sets/#Regexp_Constructions">Regexp_Constructions</a></li>
<li><a href="../theories/regular-sets/#Derivatives">Derivatives</a></li>
<li><a href="../theories/regular-sets/#pEquivalence_Checking">pEquivalence_Checking</a></li>
<li><a href="../theories/regular-sets/#Regular_Exp2">Regular_Exp2</a></li>
<li><a href="../theories/regular-sets/#Equivalence_Checking2">Equivalence_Checking2</a></li></ul><div class="flex-wrap">
<div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Quick_Sort_Cost.html">The number of comparisons in QuickSort</a></li><li><a href="../entries/Lambda_Free_KBOs.html">Formalization of Knuth–Bendix Orders for Lambda-Free Higher-Order Terms</a></li><li><a href="../entries/Posix-Lexing.html">POSIX Lexing with Derivatives of Regular Expressions</a></li><li><a href="../entries/List_Update.html">Analysis of List Update Algorithms</a></li><li><a href="../entries/Finite_Automata_HF.html">Finite Automata in Hereditarily Finite Set Theory</a></li><li><a href="../entries/Regex_Equivalence.html">Unified Decision Procedures for Regular Expression Equivalence</a></li><li><a href="../entries/Coinductive_Languages.html">A Codatatype of Formal Languages</a></li><li><a href="../entries/Containers.html">Light-weight Containers</a></li><li><a href="../entries/Transitive-Closure-II.html">Executable Transitive Closures</a></li><li><a href="../entries/Myhill-Nerode.html">The Myhill-Nerode Theorem Based on Regular Expressions</a></li><li><a href="../entries/Abstract-Rewriting.html">Abstract Rewriting</a></li><li><a href="../entries/Functional-Automata.html">Functional Automata</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Regular-Sets/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Regular-Sets/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Regular-Sets/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Regular-Sets-AFP</p><pre id="copy-text">@article{Regular-Sets-AFP,
author = {Alexander Krauss and Tobias Nipkow},
title = {Regular Sets and Expressions},
journal = {Archive of Formal Proofs},
month = {May},
year = {2010},
note = {\url{https://isa-afp.org/entries/Regular-Sets.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Regular-Sets-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Regular-Sets-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Regular-Sets-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Regular-Sets-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Regular-Sets-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Regular-Sets-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Regular-Sets-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Regular-Sets-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Regular-Sets-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Regular-Sets-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Regular-Sets-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Regular-Sets-2013-12-11.tar.gz">Dec 11, 2013</a>: Isabelle2013-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Regular-Sets-2013-11-17.tar.gz">Nov 17, 2013</a>: Isabelle2013-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Regular-Sets-2013-03-02.tar.gz">Mar 2, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-Regular-Sets-2013-02-16.tar.gz">Feb 16, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-Regular-Sets-2012-05-24.tar.gz">May 24, 2012</a>: Isabelle2012
</li><li>
<a href="https://www.isa-afp.org/release/afp-Regular-Sets-2011-10-11.tar.gz">Oct 11, 2011</a>: Isabelle2011-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Regular-Sets-2011-02-11.tar.gz">Feb 11, 2011</a>: Isabelle2011
</li><li>
<a href="https://www.isa-afp.org/release/afp-Regular-Sets-2010-07-01.tar.gz">Jul 1, 2010</a>: Isabelle2009-2
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Relational_Disjoint_Set_Forests.html b/web/entries/Relational_Disjoint_Set_Forests.html
--- a/web/entries/Relational_Disjoint_Set_Forests.html
+++ b/web/entries/Relational_Disjoint_Set_Forests.html
@@ -1,174 +1,178 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Relational Disjoint-Set Forests - Archive of Formal Proofs</title><meta name="description" content="We give a simple relation-algebraic semantics of read and write
operations on associative arrays. The array operations seamlessly
integrate with..."><meta property="og:title" content="Relational Disjoint-Set Forests" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Relational_Disjoint_Set_Forests.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2020-08-26T00:00:00+00:00" />
<meta property="article:modified_time" content="2020-08-26T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Relational Disjoint-Set Forests"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>R</span>elational <span class='first'>D</span>isjoint-<span class='first'>S</span>et <span class='first'>F</span>orests</h1>
<div>
<p><a href="../authors/guttmann">Walter Guttmann</a> <a href="https://www.cosc.canterbury.ac.nz/walter.guttmann/">🌐</a>
</p>
<p class="date">August 26, 2020</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We give a simple relation-algebraic semantics of read and write
operations on associative arrays. The array operations seamlessly
integrate with assignments in the Hoare-logic library. Using relation
algebras and Kleene algebras we verify the correctness of an
array-based implementation of disjoint-set forests with a naive union
-operation and a find operation with path compression.</div>BSD License<h3>Topics</h3>
+operation and a find operation with path compression.</div>BSD License<h3>Change history</h3><p>
+ <h4>June 19, 2021</h4>
+ added path halving, path splitting, relational Peano structures, union by rank
+(revision 98c7aa03457d)
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/data-structures">Computer science/Data structures</a></li></ul>
<h3>Theories of Relational_Disjoint_Set_Forests</h3>
<ul>
<li><a href="../theories/relational_disjoint_set_forests/#Disjoint_Set_Forests">Disjoint_Set_Forests</a></li>
<li><a href="../theories/relational_disjoint_set_forests/#More_Disjoint_Set_Forests">More_Disjoint_Set_Forests</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Stone_Kleene_Relation_Algebras.html">Stone-Kleene Relation Algebras</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Relational_Minimum_Spanning_Trees.html">Relational Minimum Spanning Tree Algorithms</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Relational_Disjoint_Set_Forests/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Relational_Disjoint_Set_Forests/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Relational_Disjoint_Set_Forests/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Relational_Disjoint_Set_Forests-AFP</p><pre id="copy-text">@article{Relational_Disjoint_Set_Forests-AFP,
author = {Walter Guttmann},
title = {Relational Disjoint-Set Forests},
journal = {Archive of Formal Proofs},
month = {August},
year = {2020},
note = {\url{https://isa-afp.org/entries/Relational_Disjoint_Set_Forests.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Relational_Disjoint_Set_Forests-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Relational_Disjoint_Set_Forests-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Relational_Disjoint_Set_Forests-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Relational_Disjoint_Set_Forests-2020-08-26.tar.gz">Aug 26, 2020</a>: Isabelle2020
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Residuated_Lattices.html b/web/entries/Residuated_Lattices.html
--- a/web/entries/Residuated_Lattices.html
+++ b/web/entries/Residuated_Lattices.html
@@ -1,208 +1,208 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Residuated Lattices - Archive of Formal Proofs</title><meta name="description" content="The theory of residuated lattices, first proposed by Ward and Dilworth, is
formalised in Isabelle/HOL. This includes concepts of residuated functions;..."><meta property="og:title" content="Residuated Lattices" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Residuated_Lattices.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2015-04-15T00:00:00+00:00" />
<meta property="article:modified_time" content="2015-04-15T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Residuated Lattices"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>R</span>esiduated <span class='first'>L</span>attices</h1>
<div>
<p><a href="../authors/gomes">Victor B. F. Gomes</a> <a class="obfuscated" data="eyJob3N0IjpbInNoZWZmaWVsZCIsImFjIiwidWsiXSwidXNlciI6WyJ2Ym9yZ2VzZmVycmVpcmFnb21lczEiXX0=">📧</a> and <a href="../authors/struth">Georg Struth</a> <a class="obfuscated" data="eyJob3N0IjpbInNoZWZmaWVsZCIsImFjIiwidWsiXSwidXNlciI6WyJnIiwic3RydXRoIl19">📧</a>
</p>
<p class="date">April 15, 2015</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">The theory of residuated lattices, first proposed by Ward and Dilworth, is
formalised in Isabelle/HOL. This includes concepts of residuated functions;
their adjoints and conjugates. It also contains necessary and sufficient
conditions for the existence of these operations in an arbitrary lattice.
The mathematical components for residuated lattices are linked to the AFP
entry for relation algebra. In particular, we prove Jonsson and Tsinakis
conditions for a residuated boolean algebra to form a relation algebra.</div>BSD License<h3>Topics</h3>
<ul><li><a href="../topics/mathematics/algebra">Mathematics/Algebra</a></li></ul>
<h3>Theories of Residuated_Lattices</h3>
<ul>
<li><a href="../theories/residuated_lattices/#Residuated_Lattices">Residuated_Lattices</a></li>
<li><a href="../theories/residuated_lattices/#Residuated_Boolean_Algebras">Residuated_Boolean_Algebras</a></li>
<li><a href="../theories/residuated_lattices/#Involutive_Residuated">Involutive_Residuated</a></li>
<li><a href="../theories/residuated_lattices/#Action_Algebra">Action_Algebra</a></li>
<li><a href="../theories/residuated_lattices/#Action_Algebra_Models">Action_Algebra_Models</a></li>
<li><a href="../theories/residuated_lattices/#Residuated_Relation_Algebra">Residuated_Relation_Algebra</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Relation_Algebra.html">Relation Algebra</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
+ <li><a href="../entries/Hales_Jewett.html">The Hales–Jewett Theorem</a></li>
+
<li><a href="../entries/Irrationals_From_THEBOOK.html">Irrational numbers from THE BOOK</a></li>
<li><a href="../entries/BD_Security_Compositional.html">Compositional BD Security</a></li>
<li><a href="../entries/Core_SC_DOM.html">The Safely Composable DOM</a></li>
<li><a href="../entries/Goedel_Incompleteness.html">An Abstract Formalization of Gödel&rsquo;s Incompleteness Theorems</a></li>
- <li><a href="../entries/Goedel_HFSet_Semantic.html">From Abstract to Concrete Gödel&rsquo;s Incompleteness Theorems—Part I</a></li>
-
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Residuated_Lattices/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Residuated_Lattices/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Residuated_Lattices/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Residuated_Lattices-AFP</p><pre id="copy-text">@article{Residuated_Lattices-AFP,
author = {Victor B. F. Gomes and Georg Struth},
title = {Residuated Lattices},
journal = {Archive of Formal Proofs},
month = {April},
year = {2015},
note = {\url{https://isa-afp.org/entries/Residuated_Lattices.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Residuated_Lattices-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Residuated_Lattices-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Residuated_Lattices-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Residuated_Lattices-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Residuated_Lattices-2019-06-28.tar.gz">Jun 28, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Residuated_Lattices-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Residuated_Lattices-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Residuated_Lattices-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Residuated_Lattices-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Residuated_Lattices-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Residuated_Lattices-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Residuated_Lattices-2015-04-16.tar.gz">Apr 16, 2015</a>: Isabelle2014
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Resolution_FOL.html b/web/entries/Resolution_FOL.html
--- a/web/entries/Resolution_FOL.html
+++ b/web/entries/Resolution_FOL.html
@@ -1,218 +1,218 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>The Resolution Calculus for First-Order Logic - Archive of Formal Proofs</title><meta name="description" content="This theory is a formalization of the resolution calculus for first-order logic. It is proven sound and complete. The soundness proof uses the substitution..."><meta property="og:title" content="The Resolution Calculus for First-Order Logic" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Resolution_FOL.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2016-06-30T00:00:00+00:00" />
<meta property="article:modified_time" content="2016-06-30T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="The Resolution Calculus for First-Order Logic"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>T</span>he <span class='first'>R</span>esolution <span class='first'>C</span>alculus for <span class='first'>F</span>irst-<span class='first'>O</span>rder <span class='first'>L</span>ogic</h1>
<div>
<p><a href="../authors/schlichtkrull">Anders Schlichtkrull</a> <a href="https://people.compute.dtu.dk/andschl/">🌐</a>
</p>
<p class="date">June 30, 2016</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">This theory is a formalization of the resolution calculus for
first-order logic. It is proven sound and complete. The soundness
proof uses the substitution lemma, which shows a correspondence
between substitutions and updates to an environment. The completeness
proof uses semantic trees, i.e. trees whose paths are partial Herbrand
interpretations. It employs Herbrand's theorem in a formulation which
states that an unsatisfiable set of clauses has a finite closed
semantic tree. It also uses the lifting lemma which lifts resolution
derivation steps from the ground world up to the first-order world.
The theory is presented in a paper in the Journal of Automated Reasoning
[Sch18] which extends a paper presented at the International Conference
on Interactive Theorem Proving [Sch16]. An earlier version was
presented in an MSc thesis [Sch15]. The formalization mostly follows
textbooks by Ben-Ari [BA12], Chang and Lee [CL73], and Leitsch [Lei97].
The theory is part of the IsaFoL project [IsaFoL]. <p>
<a name="Sch18"></a>[Sch18] Anders Schlichtkrull. "Formalization of the
Resolution Calculus for First-Order Logic". Journal of Automated
Reasoning, 2018.<br> <a name="Sch16"></a>[Sch16] Anders
Schlichtkrull. "Formalization of the Resolution Calculus for First-Order
Logic". In: ITP 2016. Vol. 9807. LNCS. Springer, 2016.<br>
<a name="Sch15"></a>[Sch15] Anders Schlichtkrull. <a href="https://people.compute.dtu.dk/andschl/Thesis.pdf">
"Formalization of Resolution Calculus in Isabelle"</a>.
<a href="https://people.compute.dtu.dk/andschl/Thesis.pdf">https://people.compute.dtu.dk/andschl/Thesis.pdf</a>.
MSc thesis. Technical University of Denmark, 2015.<br>
<a name="BA12"></a>[BA12] Mordechai Ben-Ari. <i>Mathematical Logic for
Computer Science</i>. 3rd. Springer, 2012.<br> <a
name="CL73"></a>[CL73] Chin-Liang Chang and Richard Char-Tung Lee.
<i>Symbolic Logic and Mechanical Theorem Proving</i>. 1st. Academic
Press, Inc., 1973.<br> <a name="Lei97"></a>[Lei97] Alexander
Leitsch. <i>The Resolution Calculus</i>. Texts in theoretical computer
science. Springer, 1997.<br> <a name="IsaFoL"></a>[IsaFoL]
IsaFoL authors. <a href="https://bitbucket.org/jasmin_blanchette/isafol">
IsaFoL: Isabelle Formalization of Logic</a>.
<a href="https://bitbucket.org/jasmin_blanchette/isafol">https://bitbucket.org/jasmin_blanchette/isafol</a>.</div>BSD License<h3>Change history</h3><p>
<h4>March 20, 2018</h4>
- added a concrete instance of the unification and completeness theorems using the First-Order Terms AFP-entry from IsaFoR as described in the papers
+ added a concrete instance of the unification and completeness theorems using the First-Order Terms AFP-entry from IsaFoR as described in the papers
</p><p>
<h4>January 24, 2018</h4>
- added several new versions of the soundness and completeness theorems as described in the paper
+ added several new versions of the soundness and completeness theorems as described in the paper
</p><h3>Topics</h3>
<ul><li><a href="../topics/logic/general-logic/mechanization-of-proofs">Logic/General logic/Mechanization of proofs</a></li></ul>
<h3>Theories of Resolution_FOL</h3>
<ul>
<li><a href="../theories/resolution_fol/#TermsAndLiterals">TermsAndLiterals</a></li>
<li><a href="../theories/resolution_fol/#Tree">Tree</a></li>
<li><a href="../theories/resolution_fol/#Resolution">Resolution</a></li>
<li><a href="../theories/resolution_fol/#Completeness">Completeness</a></li>
<li><a href="../theories/resolution_fol/#Examples">Examples</a></li>
<li><a href="../theories/resolution_fol/#Unification_Theorem">Unification_Theorem</a></li>
<li><a href="../theories/resolution_fol/#Completeness_Instance">Completeness_Instance</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/First_Order_Terms.html">First-Order Terms</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Resolution_FOL/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Resolution_FOL/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Resolution_FOL/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Resolution_FOL-AFP</p><pre id="copy-text">@article{Resolution_FOL-AFP,
author = {Anders Schlichtkrull},
title = {The Resolution Calculus for First-Order Logic},
journal = {Archive of Formal Proofs},
month = {June},
year = {2016},
note = {\url{https://isa-afp.org/entries/Resolution_FOL.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Resolution_FOL-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Resolution_FOL-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Resolution_FOL-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Resolution_FOL-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Resolution_FOL-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Resolution_FOL-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Resolution_FOL-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Resolution_FOL-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Resolution_FOL-2016-06-30.tar.gz">Jun 30, 2016</a>: Isabelle2016
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Show.html b/web/entries/Show.html
--- a/web/entries/Show.html
+++ b/web/entries/Show.html
@@ -1,216 +1,215 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Haskell&#39;s Show Class in Isabelle/HOL - Archive of Formal Proofs</title><meta name="description" content="We implemented a type class for &#34;to-string&#34; functions, similar to
Haskell&#39;s Show class. Moreover, we provide instantiations for Isabelle/HOL&#39;s
standard..."><meta property="og:title" content="Haskell&#39;s Show Class in Isabelle/HOL" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Show.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2014-07-29T00:00:00+00:00" />
<meta property="article:modified_time" content="2014-07-29T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Haskell&#39;s Show Class in Isabelle/HOL"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>H</span>askell's <span class='first'>S</span>how <span class='first'>C</span>lass in <span class='first'>I</span>sabelle/<span class='first'>H</span><span class='first'>O</span><span class='first'>L</span></h1>
<div>
<p><a href="../authors/sternagel">Christian Sternagel</a> <a class="obfuscated" data="eyJob3N0IjpbImdtYWlsIiwiY29tIl0sInVzZXIiOlsiYyIsInN0ZXJuYWdlbCJdfQ==">📧</a> and <a href="../authors/thiemann">René Thiemann</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsicmVuZSIsInRoaWVtYW5uIl19">📧</a>
</p>
<p class="date">July 29, 2014</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We implemented a type class for "to-string" functions, similar to
Haskell's Show class. Moreover, we provide instantiations for Isabelle/HOL's
standard types like bool, prod, sum, nats, ints, and rats. It is further
possible, to automatically derive show functions for arbitrary user defined
datatypes similar to Haskell's "deriving Show".</div><a href="https://isa-afp.org/LICENSE.LGPL">GNU Lesser General Public License (LGPL)</a><h3>Change history</h3><p>
<h4>April 10, 2015</h4>
Moved development for old-style datatypes into subdirectory
"Old_Datatype".<br>
</p><p>
<h4>March 11, 2015</h4>
Adapted development to new-style (BNF-based) datatypes.<br>
-
</p><h3>Topics</h3>
<ul><li><a href="../topics/computer-science/functional-programming">Computer science/Functional programming</a></li></ul>
<h3>Theories of Show</h3>
<ul>
<li><a href="../theories/show/#Show">Show</a></li>
<li><a href="../theories/show/#Show_Instances">Show_Instances</a></li>
<li><a href="../theories/show/#Show_Poly">Show_Poly</a></li>
<li><a href="../theories/show/#Show_Real">Show_Real</a></li>
<li><a href="../theories/show/#Show_Complex">Show_Complex</a></li>
<li><a href="../theories/show/#Show_Real_Impl">Show_Real_Impl</a></li></ul>
<h3>Theories of Old_Datatype_Show</h3>
<ul>
<li><a href="../theories/old_datatype_show/#Old_Show">Old_Show</a></li>
<li><a href="../theories/old_datatype_show/#Old_Show_Generator">Old_Show_Generator</a></li>
<li><a href="../theories/old_datatype_show/#Old_Show_Instances">Old_Show_Instances</a></li>
<li><a href="../theories/old_datatype_show/#Old_Show_Examples">Old_Show_Examples</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Deriving.html">Deriving class instances for datatypes</a></li><li><a href="../entries/Datatype_Order_Generator.html">Generating linear orders for datatypes</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/MiniSail.html">MiniSail - A kernel language for the ISA specification language SAIL</a></li><li><a href="../entries/Modular_arithmetic_LLL_and_HNF_algorithms.html">Two algorithms based on modular arithmetic: lattice basis reduction and Hermite normal form computation</a></li><li><a href="../entries/AI_Planning_Languages_Semantics.html">AI Planning Languages Semantics</a></li><li><a href="../entries/CakeML_Codegen.html">A Verified Code Generator from Isabelle/HOL to CakeML</a></li><li><a href="../entries/Monad_Memo_DP.html">Monadification, Memoization and Dynamic Programming</a></li><li><a href="../entries/CakeML.html">CakeML</a></li><li><a href="../entries/Dict_Construction.html">Dictionary Construction</a></li><li><a href="../entries/Berlekamp_Zassenhaus.html">The Factorization Algorithm of Berlekamp and Zassenhaus</a></li><li><a href="../entries/Polynomial_Factorization.html">Polynomial Factorization</a></li><li><a href="../entries/Formula_Derivatives.html">Derivatives of Logical Formulas</a></li><li><a href="../entries/Certification_Monads.html">Certification Monads</a></li><li><a href="../entries/XML.html">XML</a></li><li><a href="../entries/Affine_Arithmetic.html">Affine Arithmetic</a></li><li><a href="../entries/Real_Impl.html">Implementing field extensions of the form Q[sqrt(b)]</a></li><li><a href="../entries/Ordinary_Differential_Equations.html">Ordinary Differential Equations</a></li><li><a href="../entries/Polynomials.html">Executable Multivariate Polynomials</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/Separation_Algebra.html">Separation Algebra</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Show/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Show/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Show/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Show-AFP</p><pre id="copy-text">@article{Show-AFP,
author = {Christian Sternagel and René Thiemann},
title = {Haskell&#39;s Show Class in Isabelle/HOL},
journal = {Archive of Formal Proofs},
month = {July},
year = {2014},
note = {\url{https://isa-afp.org/entries/Show.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Show-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Show-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Show-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Show-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Show-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Show-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Show-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Show-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Show-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Show-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Show-2014-08-29.tar.gz">Aug 29, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Show-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Sqrt_Babylonian.html b/web/entries/Sqrt_Babylonian.html
--- a/web/entries/Sqrt_Babylonian.html
+++ b/web/entries/Sqrt_Babylonian.html
@@ -1,203 +1,202 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Computing N-th Roots using the Babylonian Method - Archive of Formal Proofs</title><meta name="description" content="We implement the Babylonian method to compute n-th roots of numbers.
We provide precise algorithms for naturals, integers and rationals, and
offer an..."><meta property="og:title" content="Computing N-th Roots using the Babylonian Method" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Sqrt_Babylonian.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2013-01-03T00:00:00+00:00" />
<meta property="article:modified_time" content="2013-01-03T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Computing N-th Roots using the Babylonian Method"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>omputing <span class='first'>N</span>-<span class='first'>T</span>h <span class='first'>R</span>oots <span class='first'>U</span>sing the <span class='first'>B</span>abylonian <span class='first'>M</span>ethod</h1>
<div>
<p><a href="../authors/thiemann">René Thiemann</a> <a class="obfuscated" data="eyJob3N0IjpbInVpYmsiLCJhYyIsImF0Il0sInVzZXIiOlsicmVuZSIsInRoaWVtYW5uIl19">📧</a>
</p>
<p class="date">January 3, 2013</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We implement the Babylonian method to compute n-th roots of numbers.
We provide precise algorithms for naturals, integers and rationals, and
offer an approximation algorithm for square roots over linear ordered fields. Moreover, there
are precise algorithms to compute the floor and the ceiling of n-th roots.</div><a href="https://isa-afp.org/LICENSE.LGPL">GNU Lesser General Public License (LGPL)</a><h3>Change history</h3><p>
<h4>July 11, 2014</h4>
Moved NthRoot_Impl from Real-Impl to this entry.
</p><p>
<h4>October 16, 2013</h4>
Added algorithms to compute floor and ceiling of sqrt of integers.
-
</p><h3>Topics</h3>
<ul><li><a href="../topics/mathematics/analysis">Mathematics/Analysis</a></li></ul>
<h3>Theories of Sqrt_Babylonian</h3>
<ul>
<li><a href="../theories/sqrt_babylonian/#Sqrt_Babylonian_Auxiliary">Sqrt_Babylonian_Auxiliary</a></li>
<li><a href="../theories/sqrt_babylonian/#Log_Impl">Log_Impl</a></li>
<li><a href="../theories/sqrt_babylonian/#NthRoot_Impl">NthRoot_Impl</a></li>
<li><a href="../theories/sqrt_babylonian/#Sqrt_Babylonian">Sqrt_Babylonian</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Cauchy.html">Cauchy&rsquo;s Mean Theorem and the Cauchy-Schwarz Inequality</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Polynomial_Factorization.html">Polynomial Factorization</a></li><li><a href="../entries/Polynomial_Interpolation.html">Polynomial Interpolation</a></li><li><a href="../entries/QR_Decomposition.html">QR Decomposition</a></li><li><a href="../entries/Real_Impl.html">Implementing field extensions of the form Q[sqrt(b)]</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Sqrt_Babylonian/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Sqrt_Babylonian/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Sqrt_Babylonian/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Sqrt_Babylonian-AFP</p><pre id="copy-text">@article{Sqrt_Babylonian-AFP,
author = {René Thiemann},
title = {Computing N-th Roots using the Babylonian Method},
journal = {Archive of Formal Proofs},
month = {January},
year = {2013},
note = {\url{https://isa-afp.org/entries/Sqrt_Babylonian.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Sqrt_Babylonian-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Sqrt_Babylonian-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Sqrt_Babylonian-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Sqrt_Babylonian-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Sqrt_Babylonian-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Sqrt_Babylonian-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Sqrt_Babylonian-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Sqrt_Babylonian-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Sqrt_Babylonian-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Sqrt_Babylonian-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Sqrt_Babylonian-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Sqrt_Babylonian-2013-12-11.tar.gz">Dec 11, 2013</a>: Isabelle2013-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Sqrt_Babylonian-2013-11-17.tar.gz">Nov 17, 2013</a>: Isabelle2013-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Sqrt_Babylonian-2013-02-16.tar.gz">Feb 16, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-Sqrt_Babylonian-2013-01-04.tar.gz">Jan 4, 2013</a>: Isabelle2012
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Stone_Relation_Algebras.html b/web/entries/Stone_Relation_Algebras.html
--- a/web/entries/Stone_Relation_Algebras.html
+++ b/web/entries/Stone_Relation_Algebras.html
@@ -1,187 +1,191 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Stone Relation Algebras - Archive of Formal Proofs</title><meta name="description" content="We develop Stone relation algebras, which generalise relation algebras
by replacing the underlying Boolean algebra structure with a Stone
algebra. We show..."><meta property="og:title" content="Stone Relation Algebras" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Stone_Relation_Algebras.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2017-02-07T00:00:00+00:00" />
<meta property="article:modified_time" content="2017-02-07T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Stone Relation Algebras"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>S</span>tone <span class='first'>R</span>elation <span class='first'>A</span>lgebras</h1>
<div>
<p><a href="../authors/guttmann">Walter Guttmann</a> <a href="https://www.cosc.canterbury.ac.nz/walter.guttmann/">🌐</a>
</p>
<p class="date">February 7, 2017</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We develop Stone relation algebras, which generalise relation algebras
by replacing the underlying Boolean algebra structure with a Stone
algebra. We show that finite matrices over extended real numbers form
an instance. As a consequence, relation-algebraic concepts and methods
can be used for reasoning about weighted graphs. We also develop a
fixpoint calculus and apply it to compare different definitions of
-reflexive-transitive closures in semirings.</div>BSD License<h3>Topics</h3>
+reflexive-transitive closures in semirings.</div>BSD License<h3>Change history</h3><p>
+ <h4>July 5, 2017</h4>
+ generalised extended reals to linear orders
+(revision b8e703159177)
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/mathematics/algebra">Mathematics/Algebra</a></li></ul>
<h3>Theories of Stone_Relation_Algebras</h3>
<ul>
<li><a href="../theories/stone_relation_algebras/#Fixpoints">Fixpoints</a></li>
<li><a href="../theories/stone_relation_algebras/#Semirings">Semirings</a></li>
<li><a href="../theories/stone_relation_algebras/#Relation_Algebras">Relation_Algebras</a></li>
<li><a href="../theories/stone_relation_algebras/#Relation_Subalgebras">Relation_Subalgebras</a></li>
<li><a href="../theories/stone_relation_algebras/#Matrix_Relation_Algebras">Matrix_Relation_Algebras</a></li>
<li><a href="../theories/stone_relation_algebras/#Linear_Order_Matrices">Linear_Order_Matrices</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Stone_Algebras.html">Stone Algebras</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Stone_Kleene_Relation_Algebras.html">Stone-Kleene Relation Algebras</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Stone_Relation_Algebras/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Stone_Relation_Algebras/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Stone_Relation_Algebras/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Stone_Relation_Algebras-AFP</p><pre id="copy-text">@article{Stone_Relation_Algebras-AFP,
author = {Walter Guttmann},
title = {Stone Relation Algebras},
journal = {Archive of Formal Proofs},
month = {February},
year = {2017},
note = {\url{https://isa-afp.org/entries/Stone_Relation_Algebras.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Stone_Relation_Algebras-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Stone_Relation_Algebras-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Stone_Relation_Algebras-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Stone_Relation_Algebras-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Stone_Relation_Algebras-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Stone_Relation_Algebras-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Stone_Relation_Algebras-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Stone_Relation_Algebras-2017-02-09.tar.gz">Feb 9, 2017</a>: Isabelle2016-1
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Szpilrajn.html b/web/entries/Szpilrajn.html
--- a/web/entries/Szpilrajn.html
+++ b/web/entries/Szpilrajn.html
@@ -1,168 +1,171 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Order Extension and Szpilrajn&#39;s Extension Theorem - Archive of Formal Proofs</title><meta name="description" content="This entry is concerned with the principle of order extension, i.e. the extension of an order relation to a total order relation.
To this end, we prove a..."><meta property="og:title" content="Order Extension and Szpilrajn&#39;s Extension Theorem" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Szpilrajn.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2019-07-27T00:00:00+00:00" />
<meta property="article:modified_time" content="2019-07-27T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Order Extension and Szpilrajn&#39;s Extension Theorem"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>O</span>rder <span class='first'>E</span>xtension and <span class='first'>S</span>zpilrajn's <span class='first'>E</span>xtension <span class='first'>T</span>heorem</h1>
<div>
<p><a href="../authors/zeller">Peter Zeller</a> <a class="obfuscated" data="eyJob3N0IjpbImNzIiwidW5pLWtsIiwiZGUiXSwidXNlciI6WyJwX3plbGxlciJdfQ==">📧</a> and <a href="../authors/stevens">Lukas Stevens</a> <a href="https://www21.in.tum.de/team/stevensl">🌐</a>
</p>
<p class="date">July 27, 2019</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">This entry is concerned with the principle of order extension, i.e. the extension of an order relation to a total order relation.
To this end, we prove a more general version of Szpilrajn's extension theorem employing terminology from the book "Consistency, Choice, and Rationality" by Bossert and Suzumura.
-We also formalize theorem 2.7 of their book.</div>BSD License<h3>Topics</h3>
+We also formalize theorem 2.7 of their book.</div>BSD License<h3>Change history</h3><p>
+ <h4>March 22, 2021</h4>
+ (by Lukas Stevens) generalise Szpilrajn's extension theorem and add material from the book "Consistency, Choice, and Rationality"
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/mathematics/order">Mathematics/Order</a></li></ul>
<h3>Theories of Szpilrajn</h3>
<ul>
<li><a href="../theories/szpilrajn/#Szpilrajn">Szpilrajn</a></li></ul><div class="flex-wrap">
<div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Combinatorics_Words_Lyndon.html">Lyndon words</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Szpilrajn/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Szpilrajn/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Szpilrajn/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Szpilrajn-AFP</p><pre id="copy-text">@article{Szpilrajn-AFP,
author = {Peter Zeller and Lukas Stevens},
title = {Order Extension and Szpilrajn&#39;s Extension Theorem},
journal = {Archive of Formal Proofs},
month = {July},
year = {2019},
note = {\url{https://isa-afp.org/entries/Szpilrajn.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Szpilrajn-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Szpilrajn-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Szpilrajn-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Szpilrajn-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Szpilrajn-2019-07-28.tar.gz">Jul 28, 2019</a>: Isabelle2019
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Transitive_Models.html b/web/entries/Transitive_Models.html
--- a/web/entries/Transitive_Models.html
+++ b/web/entries/Transitive_Models.html
@@ -1,203 +1,209 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Transitive Models of Fragments of ZFC - Archive of Formal Proofs</title><meta name="description" content="We extend the ZF-Constructibility library by relativizing theories of
the Isabelle/ZF and Delta System Lemma sessions to a transitive class.
We also..."><meta property="og:title" content="Transitive Models of Fragments of ZFC" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Transitive_Models.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2022-03-03T00:00:00+00:00" />
<meta property="article:modified_time" content="2022-03-03T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Transitive Models of Fragments of ZFC"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>T</span>ransitive <span class='first'>M</span>odels of <span class='first'>F</span>ragments of <span class='first'>Z</span><span class='first'>F</span><span class='first'>C</span></h1>
<div>
<p><a href="../authors/gunther">Emmanuel Gunther</a> <a class="obfuscated" data="eyJob3N0IjpbImZhbWFmIiwidW5jIiwiZWR1IiwiYXIiXSwidXNlciI6WyJndW50aGVyIl19">📧</a>, <a href="../authors/pagano">Miguel Pagano</a> <a href="https://cs.famaf.unc.edu.ar/~mpagano/">🌐</a>, <a href="../authors/terraf">Pedro Sánchez Terraf</a> <a href="https://cs.famaf.unc.edu.ar/~pedro/home_en.html">🌐</a> and <a href="../authors/steinberg">Matías Steinberg</a> <a class="obfuscated" data="eyJob3N0IjpbIm1pIiwidW5jIiwiZWR1IiwiYXIiXSwidXNlciI6WyJtYXRpYXMiLCJzdGVpbmJlcmciXX0=">📧</a>
</p>
<p class="date">March 3, 2022</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">We extend the ZF-Constructibility library by relativizing theories of
the Isabelle/ZF and Delta System Lemma sessions to a transitive class.
We also relativize Paulson's work on Aleph and our former
treatment of the Axiom of Dependent Choices. This work is a
prerrequisite to our formalization of the independence of the
Continuum Hypothesis.</div>BSD License<h3>Topics</h3>
<ul><li><a href="../topics/logic/set-theory">Logic/Set theory</a></li></ul>
<h3>Theories of Transitive_Models</h3>
<ul>
+ <li><a href="../theories/transitive_models/#Utils">Utils</a></li>
<li><a href="../theories/transitive_models/#Nat_Miscellanea">Nat_Miscellanea</a></li>
<li><a href="../theories/transitive_models/#ZF_Miscellanea">ZF_Miscellanea</a></li>
<li><a href="../theories/transitive_models/#Renaming">Renaming</a></li>
- <li><a href="../theories/transitive_models/#Utils">Utils</a></li>
<li><a href="../theories/transitive_models/#Renaming_Auto">Renaming_Auto</a></li>
<li><a href="../theories/transitive_models/#M_Basic_No_Repl">M_Basic_No_Repl</a></li>
+ <li><a href="../theories/transitive_models/#Eclose_Absolute">Eclose_Absolute</a></li>
<li><a href="../theories/transitive_models/#Recursion_Thms">Recursion_Thms</a></li>
+ <li><a href="../theories/transitive_models/#Datatype_absolute">Datatype_absolute</a></li>
+ <li><a href="../theories/transitive_models/#Internalize">Internalize</a></li>
+ <li><a href="../theories/transitive_models/#Rec_Separation">Rec_Separation</a></li>
+ <li><a href="../theories/transitive_models/#Satisfies_absolute">Satisfies_absolute</a></li>
+ <li><a href="../theories/transitive_models/#DPow_absolute">DPow_absolute</a></li>
<li><a href="../theories/transitive_models/#Synthetic_Definition">Synthetic_Definition</a></li>
<li><a href="../theories/transitive_models/#Internalizations">Internalizations</a></li>
<li><a href="../theories/transitive_models/#Least">Least</a></li>
<li><a href="../theories/transitive_models/#Higher_Order_Constructs">Higher_Order_Constructs</a></li>
<li><a href="../theories/transitive_models/#Relativization">Relativization</a></li>
<li><a href="../theories/transitive_models/#Discipline_Base">Discipline_Base</a></li>
<li><a href="../theories/transitive_models/#Arities">Arities</a></li>
<li><a href="../theories/transitive_models/#Discipline_Function">Discipline_Function</a></li>
<li><a href="../theories/transitive_models/#Lambda_Replacement">Lambda_Replacement</a></li>
<li><a href="../theories/transitive_models/#Discipline_Cardinal">Discipline_Cardinal</a></li>
<li><a href="../theories/transitive_models/#Univ_Relative">Univ_Relative</a></li>
<li><a href="../theories/transitive_models/#Cardinal_Relative">Cardinal_Relative</a></li>
<li><a href="../theories/transitive_models/#CardinalArith_Relative">CardinalArith_Relative</a></li>
<li><a href="../theories/transitive_models/#Aleph_Relative">Aleph_Relative</a></li>
<li><a href="../theories/transitive_models/#Cardinal_AC_Relative">Cardinal_AC_Relative</a></li>
<li><a href="../theories/transitive_models/#FiniteFun_Relative">FiniteFun_Relative</a></li>
<li><a href="../theories/transitive_models/#ZF_Library_Relative">ZF_Library_Relative</a></li>
<li><a href="../theories/transitive_models/#Replacement_Lepoll">Replacement_Lepoll</a></li>
<li><a href="../theories/transitive_models/#Cardinal_Library_Relative">Cardinal_Library_Relative</a></li>
<li><a href="../theories/transitive_models/#Delta_System_Relative">Delta_System_Relative</a></li>
<li><a href="../theories/transitive_models/#Pointed_DC_Relative">Pointed_DC_Relative</a></li>
<li><a href="../theories/transitive_models/#Partial_Functions_Relative">Partial_Functions_Relative</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Delta_System_Lemma.html">Cofinality and the Delta System Lemma</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Independence_CH.html">The Independence of the Continuum Hypothesis in Isabelle/ZF</a></li></ul>
</div>
<div>
<h3>Related Entries</h3>
<ul class="horizontal-list">
<li><a href="../entries/Independence_CH.html">The Independence of the Continuum Hypothesis in Isabelle/ZF</a></li>
</ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Transitive_Models-AFP</p><pre id="copy-text">@article{Transitive_Models-AFP,
author = {Emmanuel Gunther and Miguel Pagano and Pedro Sánchez Terraf and Matías Steinberg},
title = {Transitive Models of Fragments of ZFC},
journal = {Archive of Formal Proofs},
month = {March},
year = {2022},
note = {\url{https://isa-afp.org/entries/Transitive_Models.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Transitive_Models-current.tar.gz" download>Download latest</a>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Universal_Turing_Machine.html b/web/entries/Universal_Turing_Machine.html
--- a/web/entries/Universal_Turing_Machine.html
+++ b/web/entries/Universal_Turing_Machine.html
@@ -1,181 +1,227 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1"><title>Universal Turing Machine - Archive of Formal Proofs</title><meta name="description" content="We formalise results from computability theory: recursive functions,
-undecidability of the halting problem, and the existence of a
-universal Turing..."><meta property="og:title" content="Universal Turing Machine" />
+ <meta name="viewport" content="width=device-width, initial-scale=1"><title>Universal Turing Machine - Archive of Formal Proofs</title><meta name="description" content="This entry formalises results from computability theory: recursive functions, undecidability of the halting problem, and the existence of a universal..."><meta property="og:title" content="Universal Turing Machine" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Universal_Turing_Machine.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2019-02-08T00:00:00+00:00" />
<meta property="article:modified_time" content="2019-02-08T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Universal Turing Machine"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>U</span>niversal <span class='first'>T</span>uring <span class='first'>M</span>achine</h1>
<div>
- <p><a href="../authors/xu">Jian Xu</a>, <a href="../authors/zhangx">Xingyuan Zhang</a>, <a href="../authors/urban">Christian Urban</a> <a href="https://nms.kcl.ac.uk/christian.urban/">🌐</a> and <a href="../authors/joosten">Sebastiaan J. C. Joosten</a> <a href="https://sjcjoosten.nl/">🌐</a>
+ <p><a href="../authors/xu">Jian Xu</a>, <a href="../authors/zhangx">Xingyuan Zhang</a>, <a href="../authors/urban">Christian Urban</a> <a href="https://nms.kcl.ac.uk/christian.urban/">🌐</a>, <a href="../authors/joosten">Sebastiaan J. C. Joosten</a> <a href="https://sjcjoosten.nl/">🌐</a> and <a href="../authors/regensburger">Franz Regensburger</a> <a href="https://www.thi.de/suche/mitarbeiter/prof-dr-rer-nat-franz-regensburger">🌐</a>
</p>
<p class="date">February 8, 2019</p>
</div>
</header><div><main><h3>Abstract</h3>
- <div class="abstract mathjax_process">We formalise results from computability theory: recursive functions,
+ <div class="abstract mathjax_process">This entry formalises results from computability theory: recursive functions,
undecidability of the halting problem, and the existence of a
universal Turing machine. This formalisation is the AFP entry
corresponding to the paper Mechanising Turing Machines and Computability Theory
-in Isabelle/HOL, ITP 2013.</div>BSD License<h3>Topics</h3>
+in Isabelle/HOL, ITP 2013. The main book used for this formalisation is
+by Boolos, Burgess, and Jeffrey on <i>Computability and Logic</i>.
+
+Joosten contributed mainly by making the files ready for the
+AFP. His need for a formalisation of Turing Machines arose from
+realising that the current formalisation of saturation graphs
+(also in the AFP) was missing a key undecidability result
+present in his paper on <i>Finding models through graph saturation</i>.
+
+Regensburger contributed by adding definitions for
+concepts like Turing Decidability, Turing Computability and Turing Reducibility
+for problem reduction. He also enhanced the result about the
+undecidability of the General Halting Problem given in the original AFP entry
+by first proving the undecidability of the Special Halting Problem and then
+proving its reducibility to the general problem. The original version of this
+AFP entry did only prove a weak form of the undecidability theorem.
+The main motivation behind this contribution is to make the AFP entry
+accessible for bachelor and master students.</div>BSD License<h3>Change history</h3><p>
+ <h4>September 7, 2022</h4>
+ Franz Regensburger added substantial material and made some modifications.<br>
+
+ </p><p>
+ <h4>January 16, 2019</h4>
+ Sebastiaan Joosten made the code ready for the AFP.<br>
+
+ </p><h3>Topics</h3>
<ul><li><a href="../topics/logic/computability">Logic/Computability</a></li><li><a href="../topics/computer-science/automata-and-formal-languages">Computer science/Automata and formal languages</a></li></ul>
<h3>Theories of Universal_Turing_Machine</h3>
<ul>
<li><a href="../theories/universal_turing_machine/#Turing">Turing</a></li>
+ <li><a href="../theories/universal_turing_machine/#Turing_aux">Turing_aux</a></li>
+ <li><a href="../theories/universal_turing_machine/#BlanksDoNotMatter">BlanksDoNotMatter</a></li>
+ <li><a href="../theories/universal_turing_machine/#ComposableTMs">ComposableTMs</a></li>
+ <li><a href="../theories/universal_turing_machine/#ComposedTMs">ComposedTMs</a></li>
+ <li><a href="../theories/universal_turing_machine/#Numerals">Numerals</a></li>
+ <li><a href="../theories/universal_turing_machine/#Numerals_Ex">Numerals_Ex</a></li>
<li><a href="../theories/universal_turing_machine/#Turing_Hoare">Turing_Hoare</a></li>
- <li><a href="../theories/universal_turing_machine/#Uncomputable">Uncomputable</a></li>
+ <li><a href="../theories/universal_turing_machine/#SemiIdTM">SemiIdTM</a></li>
+ <li><a href="../theories/universal_turing_machine/#Turing_HaltingConditions">Turing_HaltingConditions</a></li>
+ <li><a href="../theories/universal_turing_machine/#OneStrokeTM">OneStrokeTM</a></li>
+ <li><a href="../theories/universal_turing_machine/#WeakCopyTM">WeakCopyTM</a></li>
+ <li><a href="../theories/universal_turing_machine/#StrongCopyTM">StrongCopyTM</a></li>
+ <li><a href="../theories/universal_turing_machine/#TuringDecidable">TuringDecidable</a></li>
+ <li><a href="../theories/universal_turing_machine/#TuringReducible">TuringReducible</a></li>
+ <li><a href="../theories/universal_turing_machine/#SimpleGoedelEncoding">SimpleGoedelEncoding</a></li>
+ <li><a href="../theories/universal_turing_machine/#HaltingProblems_K_H">HaltingProblems_K_H</a></li>
+ <li><a href="../theories/universal_turing_machine/#HaltingProblems_K_aux">HaltingProblems_K_aux</a></li>
+ <li><a href="../theories/universal_turing_machine/#TuringComputable">TuringComputable</a></li>
+ <li><a href="../theories/universal_turing_machine/#DitherTM">DitherTM</a></li>
+ <li><a href="../theories/universal_turing_machine/#CopyTM">CopyTM</a></li>
+ <li><a href="../theories/universal_turing_machine/#TuringUnComputable_H2">TuringUnComputable_H2</a></li>
+ <li><a href="../theories/universal_turing_machine/#TuringUnComputable_H2_original">TuringUnComputable_H2_original</a></li>
<li><a href="../theories/universal_turing_machine/#Abacus_Mopup">Abacus_Mopup</a></li>
<li><a href="../theories/universal_turing_machine/#Abacus">Abacus</a></li>
- <li><a href="../theories/universal_turing_machine/#Abacus_Defs">Abacus_Defs</a></li>
- <li><a href="../theories/universal_turing_machine/#Rec_Def">Rec_Def</a></li>
+ <li><a href="../theories/universal_turing_machine/#Abacus_alt_Compile">Abacus_alt_Compile</a></li>
<li><a href="../theories/universal_turing_machine/#Abacus_Hoare">Abacus_Hoare</a></li>
+ <li><a href="../theories/universal_turing_machine/#Rec_Def">Rec_Def</a></li>
+ <li><a href="../theories/universal_turing_machine/#Rec_Ex">Rec_Ex</a></li>
<li><a href="../theories/universal_turing_machine/#Recursive">Recursive</a></li>
- <li><a href="../theories/universal_turing_machine/#Recs">Recs</a></li>
+ <li><a href="../theories/universal_turing_machine/#Recs_alt_Def">Recs_alt_Def</a></li>
+ <li><a href="../theories/universal_turing_machine/#Recs_alt_Ex">Recs_alt_Ex</a></li>
<li><a href="../theories/universal_turing_machine/#UF">UF</a></li>
- <li><a href="../theories/universal_turing_machine/#UTM">UTM</a></li></ul><div class="flex-wrap">
+ <li><a href="../theories/universal_turing_machine/#UTM">UTM</a></li>
+ <li><a href="../theories/universal_turing_machine/#GeneratedCode">GeneratedCode</a></li></ul><div class="flex-wrap">
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Universal_Turing_Machine-AFP</p><pre id="copy-text">@article{Universal_Turing_Machine-AFP,
- author = {Jian Xu and Xingyuan Zhang and Christian Urban and Sebastiaan J. C. Joosten},
+ author = {Jian Xu and Xingyuan Zhang and Christian Urban and Sebastiaan J. C. Joosten and Franz Regensburger},
title = {Universal Turing Machine},
journal = {Archive of Formal Proofs},
month = {February},
year = {2019},
note = {\url{https://isa-afp.org/entries/Universal_Turing_Machine.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Universal_Turing_Machine-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Universal_Turing_Machine-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Universal_Turing_Machine-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Universal_Turing_Machine-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Universal_Turing_Machine-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Universal_Turing_Machine-2019-02-12.tar.gz">Feb 12, 2019</a>: Isabelle2018
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/Well_Quasi_Orders.html b/web/entries/Well_Quasi_Orders.html
--- a/web/entries/Well_Quasi_Orders.html
+++ b/web/entries/Well_Quasi_Orders.html
@@ -1,241 +1,238 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Well-Quasi-Orders - Archive of Formal Proofs</title><meta name="description" content="Based on Isabelle/HOL&#39;s type class for preorders, we introduce a type class for well-quasi-orders (wqo) which is characterized by the absence of &#34;bad&#34;..."><meta property="og:title" content="Well-Quasi-Orders" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/entries/Well_Quasi_Orders.html" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="entries" />
<meta property="article:published_time" content="2012-04-13T00:00:00+00:00" />
<meta property="article:modified_time" content="2012-04-13T00:00:00+00:00" /><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Well-Quasi-Orders"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>W</span>ell-<span class='first'>Q</span>uasi-<span class='first'>O</span>rders</h1>
<div>
<p><a href="../authors/sternagel">Christian Sternagel</a> <a class="obfuscated" data="eyJob3N0IjpbImdtYWlsIiwiY29tIl0sInVzZXIiOlsiYyIsInN0ZXJuYWdlbCJdfQ==">📧</a>
</p>
<p class="date">April 13, 2012</p>
</div>
</header><div><main><h3>Abstract</h3>
<div class="abstract mathjax_process">Based on Isabelle/HOL's type class for preorders,
we introduce a type class for well-quasi-orders (wqo)
which is characterized by the absence of "bad" sequences
(our proofs are along the lines of the proof of Nash-Williams,
from which we also borrow terminology). Our main results are
instantiations for the product type, the list type, and a type of finite trees,
which (almost) directly follow from our proofs of (1) Dickson's Lemma, (2)
Higman's Lemma, and (3) Kruskal's Tree Theorem. More concretely:
<ul>
<li>If the sets A and B are wqo then their Cartesian product is wqo.</li>
<li>If the set A is wqo then the set of finite lists over A is wqo.</li>
<li>If the set A is wqo then the set of finite trees over A is wqo.</li>
</ul>
The research was funded by the Austrian Science Fund (FWF): J3202.</div>BSD License<h3>Change history</h3><p>
<h4>June 8, 2017</h4>
Proved (classical) equivalence to inductive definition of
almost-full relations according to the ITP 2012 paper "Stop When You Are
Almost-Full" by Vytiniotis, Coquand, and Wahlstedt.
</p><p>
<h4>January 3, 2016</h4>
An alternative proof of Higman's lemma by open induction.<br>
-
</p><p>
<h4>July 9, 2014</h4>
Simplified proofs of Higman's lemma and Kruskal's tree theorem,
based on homogeneous sequences.<br>
</p><p>
<h4>May 16, 2013</h4>
Simplified construction of minimal bad sequences.<br>
-
</p><p>
<h4>December 19, 2012</h4>
New variant of Kruskal's tree theorem for terms (as opposed to
variadic terms, i.e., trees), plus finite version of the tree theorem as
corollary.<br>
</p><p>
<h4>June 11, 2012</h4>
Added Kruskal's Tree Theorem.<br>
-
</p><h3>Topics</h3>
<ul><li><a href="../topics/mathematics/combinatorics">Mathematics/Combinatorics</a></li></ul>
<h3>Theories of Well_Quasi_Orders</h3>
<ul>
<li><a href="../theories/well_quasi_orders/#Infinite_Sequences">Infinite_Sequences</a></li>
<li><a href="../theories/well_quasi_orders/#Minimal_Elements">Minimal_Elements</a></li>
<li><a href="../theories/well_quasi_orders/#Least_Enum">Least_Enum</a></li>
<li><a href="../theories/well_quasi_orders/#Almost_Full">Almost_Full</a></li>
<li><a href="../theories/well_quasi_orders/#Minimal_Bad_Sequences">Minimal_Bad_Sequences</a></li>
<li><a href="../theories/well_quasi_orders/#Higman_OI">Higman_OI</a></li>
<li><a href="../theories/well_quasi_orders/#Almost_Full_Relations">Almost_Full_Relations</a></li>
<li><a href="../theories/well_quasi_orders/#Well_Quasi_Orders">Well_Quasi_Orders</a></li>
<li><a href="../theories/well_quasi_orders/#Kruskal">Kruskal</a></li>
<li><a href="../theories/well_quasi_orders/#Kruskal_Examples">Kruskal_Examples</a></li>
<li><a href="../theories/well_quasi_orders/#Wqo_Instances">Wqo_Instances</a></li>
<li><a href="../theories/well_quasi_orders/#Multiset_Extension">Multiset_Extension</a></li>
<li><a href="../theories/well_quasi_orders/#Wqo_Multiset">Wqo_Multiset</a></li></ul><div class="flex-wrap">
<div>
<h3>Depends On</h3>
<ul class="horizontal-list"><li><a href="../entries/Abstract-Rewriting.html">Abstract Rewriting</a></li><li><a href="../entries/Open_Induction.html">Open Induction</a></li></ul>
</div><div>
<h3>Used by</h3>
<ul class="horizontal-list"><li><a href="../entries/Saturation_Framework_Extensions.html">Extensions to the Comprehensive Framework for Saturation Theorem Proving</a></li><li><a href="../entries/Saturation_Framework.html">A Comprehensive Framework for Saturation Theorem Proving</a></li><li><a href="../entries/Decreasing-Diagrams-II.html">Decreasing Diagrams II</a></li><li><a href="../entries/Myhill-Nerode.html">The Myhill-Nerode Theorem Based on Regular Expressions</a></li><li><a href="../entries/Polynomials.html">Executable Multivariate Polynomials</a></li></ul>
</div>
</div>
</main>
<nav class='links'>
<a class='popup-button' href="#cite-popup">Cite</a>
<a class='popup-button' href="#download-popup">Download</a>
<h4>PDFs</h4>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Well_Quasi_Orders/outline.pdf">Proof
outline</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Well_Quasi_Orders/document.pdf">Proof
document</a>
<a href="https://www.isa-afp.org/browser_info/current/AFP/Well_Quasi_Orders/session_graph.pdf">Dependencies</a></nav>
<div id="cite-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Cite</h2>
<a class="close" href="#">&times;</a>
<div>
<p style="display:none;" id="bibtex-filename">Well_Quasi_Orders-AFP</p><pre id="copy-text">@article{Well_Quasi_Orders-AFP,
author = {Christian Sternagel},
title = {Well-Quasi-Orders},
journal = {Archive of Formal Proofs},
month = {April},
year = {2012},
note = {\url{https://isa-afp.org/entries/Well_Quasi_Orders.html},
Formal proof development},
ISSN = {2150-914x},
}</pre>
<button id="copy-bibtex">Copy</button> <a id="download-bibtex">Download</a>
</div>
</div>
</div>
<div id="download-popup" class="overlay">
<a class="cancel" href="#"></a>
<div class="popup">
<h2>Download</h2>
<a class="close" href="#">&times;</a>
<a href="https://www.isa-afp.org/release//afp-Well_Quasi_Orders-current.tar.gz" download>Download latest</a>
<p>Older releases:</p>
<ul><li>
<a href="https://www.isa-afp.org/release/afp-Well_Quasi_Orders-2021-12-14.tar.gz">Dec 14, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Well_Quasi_Orders-2021-02-23.tar.gz">Feb 23, 2021</a>: Isabelle2021
</li><li>
<a href="https://www.isa-afp.org/release/afp-Well_Quasi_Orders-2020-04-20.tar.gz">Apr 20, 2020</a>: Isabelle2020
</li><li>
<a href="https://www.isa-afp.org/release/afp-Well_Quasi_Orders-2019-06-11.tar.gz">Jun 11, 2019</a>: Isabelle2019
</li><li>
<a href="https://www.isa-afp.org/release/afp-Well_Quasi_Orders-2018-08-16.tar.gz">Aug 16, 2018</a>: Isabelle2018
</li><li>
<a href="https://www.isa-afp.org/release/afp-Well_Quasi_Orders-2017-10-10.tar.gz">Oct 10, 2017</a>: Isabelle2017
</li><li>
<a href="https://www.isa-afp.org/release/afp-Well_Quasi_Orders-2016-12-17.tar.gz">Dec 17, 2016</a>: Isabelle2016-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Well_Quasi_Orders-2016-02-22.tar.gz">Feb 22, 2016</a>: Isabelle2016
</li><li>
<a href="https://www.isa-afp.org/release/afp-Well_Quasi_Orders-2015-05-27.tar.gz">May 27, 2015</a>: Isabelle2015
</li><li>
<a href="https://www.isa-afp.org/release/afp-Well_Quasi_Orders-2014-08-28.tar.gz">Aug 28, 2014</a>: Isabelle2014
</li><li>
<a href="https://www.isa-afp.org/release/afp-Well_Quasi_Orders-2013-12-11.tar.gz">Dec 11, 2013</a>: Isabelle2013-2
</li><li>
<a href="https://www.isa-afp.org/release/afp-Well_Quasi_Orders-2013-11-17.tar.gz">Nov 17, 2013</a>: Isabelle2013-1
</li><li>
<a href="https://www.isa-afp.org/release/afp-Well_Quasi_Orders-2013-02-16.tar.gz">Feb 16, 2013</a>: Isabelle2013
</li><li>
<a href="https://www.isa-afp.org/release/afp-Well_Quasi_Orders-2012-05-24.tar.gz">May 24, 2012</a>: Isabelle2012
</li></ul>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/index.html b/web/entries/index.html
--- a/web/entries/index.html
+++ b/web/entries/index.html
@@ -1,4999 +1,5027 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Archive of Formal Proofs</title><meta name="description" content=""><link rel="alternate" type="application/rss+xml" href="../entries/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="Entries" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/entries/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Entries"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon">
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
processEscapes: true,
svg: {
fontCache: 'global'
}
};
</script>
<script id="MathJax-script" async src="../js/mathjax/es5/tex-mml-chtml.js"></script>
<script src="../js/entries.js"></script><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content entries'><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>E</span>ntries</h1>
<div>
</div>
</header><div><h2 class="head">2022</h2><article class="entry">
<div class="item-text">
+ <h5><a class="title" href="../entries/CRYSTALS-Kyber.html">CRYSTALS-Kyber</a></h5> <br>by <a href="../authors/kreuzer">Katharina Kreuzer</a></div>
+ <span class="date">
+ Sep 08
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="../entries/Hales_Jewett.html">The Hales–Jewett Theorem</a></h5> <br>by <a href="../authors/sulejmani">Ujkan Sulejmani</a>, <a href="../authors/eberl">Manuel Eberl</a> and <a href="../authors/kreuzer">Katharina Kreuzer</a></div>
+ <span class="date">
+ Sep 02
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="../entries/Khovanskii_Theorem.html">Khovanskii&#39;s Theorem</a></h5> <br>by <a href="../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="../authors/paulson">Lawrence C. Paulson</a></div>
+ <span class="date">
+ Sep 02
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="../entries/Number_Theoretic_Transform.html">Number Theoretic Transform</a></h5> <br>by <a href="../authors/ammer">Thomas Ammer</a> and <a href="../authors/kreuzer">Katharina Kreuzer</a></div>
+ <span class="date">
+ Aug 18
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
<h5><a class="title" href="../entries/Involutions2Squares.html">From THE BOOK: Two Squares via Involutions</a></h5> <br>by <a href="../authors/bortin">Maksym Bortin</a></div>
<span class="date">
Aug 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/FSM_Tests.html">Verified Complete Test Strategies for Finite State Machines</a></h5> <br>by <a href="../authors/sachtleben">Robert Sachtleben</a></div>
<span class="date">
Aug 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Nano_JSON.html">Nano JSON: Working with JSON formatted data in Isabelle/HOL and Isabelle/ML</a></h5> <br>by <a href="../authors/brucker">Achim D. Brucker</a></div>
<span class="date">
Jul 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Commuting_Hermitian.html">Simultaneous diagonalization of pairwise commuting Hermitian matrices</a></h5> <br>by <a href="../authors/echenim">Mnacho Echenim</a></div>
<span class="date">
Jul 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Solidity.html">Isabelle/Solidity: A deep Embedding of Solidity in Isabelle/HOL</a></h5> <br>by <a href="../authors/marmsoler">Diego Marmsoler</a> and <a href="../authors/brucker">Achim D. Brucker</a></div>
<span class="date">
Jul 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Weighted_Arithmetic_Geometric_Mean.html">Pólya’s Proof of the Weighted Arithmetic–Geometric Mean Inequality</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jul 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/IMP_Compiler_Reuse.html">A Reuse-Based Multi-Stage Compiler Verification for Language IMP</a></h5> <br>by <a href="../authors/noce">Pasquale Noce</a></div>
<span class="date">
Jul 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Real_Time_Deque.html">Real-Time Double-Ended Queue</a></h5> <br>by <a href="../authors/toth">Balazs Toth</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Boolos_Curious_Inference.html">Boolos&#39;s Curious Inference in Isabelle/HOL</a></h5> <br>by <a href="../authors/ketland">Jeffrey Ketland</a></div>
<span class="date">
Jun 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/IsaNet.html">IsaNet: Formalization of a Verification Framework for Secure Data Plane Protocols</a></h5> <br>by <a href="../authors/klenze">Tobias Klenze</a> and <a href="../authors/sprenger">Christoph Sprenger</a></div>
<span class="date">
Jun 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Finite_Fields.html">Finite Fields</a></h5> <br>by <a href="../authors/karayel">Emin Karayel</a></div>
<span class="date">
Jun 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/DPRM_Theorem.html">Diophantine Equations and the DPRM Theorem</a></h5> <br>by <a href="../authors/bayer">Jonas Bayer</a>, <a href="../authors/david">Marco David</a>, <a href="../authors/stock">Benedikt Stock</a>, <a href="../authors/pal">Abhik Pal</a>, <a href="../authors/matiyasevich">Yuri Matiyasevich</a> and <a href="../authors/schleicher">Dierk Schleicher</a></div>
<span class="date">
Jun 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Rewrite_Properties_Reduction.html">Reducing Rewrite Properties to Properties on Ground Terms</a></h5> <br>by <a href="../authors/lochmann">Alexander Lochmann</a></div>
<span class="date">
Jun 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Combinable_Wands.html">A Restricted Definition of the Magic Wand to Soundly Combine Fractions of a Wand</a></h5> <br>by <a href="../authors/dardinier">Thibault Dardinier</a></div>
<span class="date">
May 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Pluennecke_Ruzsa_Inequality.html">The Plünnecke-Ruzsa Inequality</a></h5> <br>by <a href="../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
May 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Package_logic.html">Formalization of a Framework for the Sound Automation of Magic Wands</a></h5> <br>by <a href="../authors/dardinier">Thibault Dardinier</a></div>
<span class="date">
May 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Clique_and_Monotone_Circuits.html">Clique is not solvable by monotone circuits of polynomial size</a></h5> <br>by <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
May 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Fishers_Inequality.html">Fisher&#39;s Inequality: Linear Algebraic Proof Techniques for Combinatorics</a></h5> <br>by <a href="../authors/edmonds">Chelsea Edmonds</a> and <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Apr 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Multiset_Ordering_NPC.html">The Generalized Multiset Ordering is NP-Complete</a></h5> <br>by <a href="../authors/thiemann">René Thiemann</a> and <a href="../authors/schmidinger">Lukas Schmidinger</a></div>
<span class="date">
Apr 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Digit_Expansions.html">Digit Expansions</a></h5> <br>by <a href="../authors/bayer">Jonas Bayer</a>, <a href="../authors/david">Marco David</a>, <a href="../authors/pal">Abhik Pal</a> and <a href="../authors/stock">Benedikt Stock</a></div>
<span class="date">
Apr 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Sophomores_Dream.html">The Sophomore&#39;s Dream</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Apr 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Frequency_Moments.html">Formalization of Randomized Approximation Algorithms for Frequency Moments</a></h5> <br>by <a href="../authors/karayel">Emin Karayel</a></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Prefix_Free_Code_Combinators.html">A Combinator Library for Prefix-Free Codes</a></h5> <br>by <a href="../authors/karayel">Emin Karayel</a></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Dedekind_Real.html">Constructing the Reals as Dedekind Cuts of Rationals</a></h5> <br>by <a href="../authors/fleuriot">Jacques D. Fleuriot</a> and <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Mar 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Ackermanns_not_PR.html">Ackermann&#39;s Function Is Not Primitive Recursive</a></h5> <br>by <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Mar 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/FOL_Seq_Calc3.html">A Naive Prover for First-Order Logic</a></h5> <br>by <a href="../authors/from">Asta Halkjær From</a></div>
<span class="date">
Mar 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Cotangent_PFD_Formula.html">A Proof from THE BOOK: The Partial Fraction Expansion of the Cotangent</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Mar 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Independence_CH.html">The Independence of the Continuum Hypothesis in Isabelle/ZF</a></h5> <br>by <a href="../authors/gunther">Emmanuel Gunther</a>, <a href="../authors/pagano">Miguel Pagano</a>, <a href="../authors/terraf">Pedro Sánchez Terraf</a> and <a href="../authors/steinberg">Matías Steinberg</a></div>
<span class="date">
Mar 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Transitive_Models.html">Transitive Models of Fragments of ZFC</a></h5> <br>by <a href="../authors/gunther">Emmanuel Gunther</a>, <a href="../authors/pagano">Miguel Pagano</a>, <a href="../authors/terraf">Pedro Sánchez Terraf</a> and <a href="../authors/steinberg">Matías Steinberg</a></div>
<span class="date">
Mar 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/ResiduatedTransitionSystem.html">Residuated Transition Systems</a></h5> <br>by <a href="../authors/stark">Eugene W. Stark</a></div>
<span class="date">
Feb 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Universal_Hash_Families.html">Universal Hash Families</a></h5> <br>by <a href="../authors/karayel">Emin Karayel</a></div>
<span class="date">
Feb 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Wetzels_Problem.html">Wetzel&#39;s Problem and the Continuum Hypothesis</a></h5> <br>by <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Feb 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Eval_FO.html">First-Order Query Evaluation</a></h5> <br>by <a href="../authors/raszyk">Martin Raszyk</a></div>
<span class="date">
Feb 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/VYDRA_MDL.html">Multi-Head Monitoring of Metric Dynamic Logic</a></h5> <br>by <a href="../authors/raszyk">Martin Raszyk</a></div>
<span class="date">
Feb 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Equivalence_Relation_Enumeration.html">Enumeration of Equivalence Relations</a></h5> <br>by <a href="../authors/karayel">Emin Karayel</a></div>
<span class="date">
Feb 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Quasi_Borel_Spaces.html">Quasi-Borel Spaces</a></h5> <br>by <a href="../authors/hirata">Michikazu Hirata</a>, <a href="../authors/minamide">Yasuhiko Minamide</a> and <a href="../authors/sato">Tetsuya Sato</a></div>
<span class="date">
Feb 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/LP_Duality.html">Duality of Linear Programming</a></h5> <br>by <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Feb 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/FO_Theory_Rewriting.html">First-Order Theory of Rewriting</a></h5> <br>by <a href="../authors/lochmann">Alexander Lochmann</a> and <a href="../authors/felgenhauer">Bertram Felgenhauer</a></div>
<span class="date">
Feb 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Youngs_Inequality.html">Young&#39;s Inequality for Increasing Functions</a></h5> <br>by <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Jan 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/FOL_Seq_Calc2.html">A Sequent Calculus Prover for First-Order Logic with Functions</a></h5> <br>by <a href="../authors/from">Asta Halkjær From</a> and <a href="../authors/jacobsen">Frederik Krogsdal Jacobsen</a></div>
<span class="date">
Jan 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Interpolation_Polynomials_HOL_Algebra.html">Interpolation Polynomials (in HOL-Algebra)</a></h5> <br>by <a href="../authors/karayel">Emin Karayel</a></div>
<span class="date">
Jan 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Median_Method.html">Median Method</a></h5> <br>by <a href="../authors/karayel">Emin Karayel</a></div>
<span class="date">
Jan 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Actuarial_Mathematics.html">Actuarial Mathematics</a></h5> <br>by <a href="../authors/ito">Yosuke Ito</a></div>
<span class="date">
Jan 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Irrationals_From_THEBOOK.html">Irrational numbers from THE BOOK</a></h5> <br>by <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Jan 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Knights_Tour.html">Knight&#39;s Tour Revisited Revisited</a></h5> <br>by <a href="../authors/koller">Lukas Koller</a></div>
<span class="date">
Jan 04
</span>
</article>
<h2 class="head">2021</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Hyperdual.html">Hyperdual Numbers and Forward Differentiation</a></h5> <br>by <a href="../authors/smola">Filip Smola</a> and <a href="../authors/fleuriot">Jacques D. Fleuriot</a></div>
<span class="date">
Dec 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Gale_Shapley.html">Gale-Shapley Algorithm</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Dec 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Roth_Arithmetic_Progressions.html">Roth&#39;s Theorem on Arithmetic Progressions</a></h5> <br>by <a href="../authors/edmonds">Chelsea Edmonds</a>, <a href="../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/MDP-Algorithms.html">Verified Algorithms for Solving Markov Decision Processes</a></h5> <br>by <a href="../authors/schaeffeler">Maximilian Schäffeler</a> and <a href="../authors/abdulaziz">Mohammad Abdulaziz</a></div>
<span class="date">
Dec 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/MDP-Rewards.html">Markov Decision Processes with Rewards</a></h5> <br>by <a href="../authors/schaeffeler">Maximilian Schäffeler</a> and <a href="../authors/abdulaziz">Mohammad Abdulaziz</a></div>
<span class="date">
Dec 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Regular_Tree_Relations.html">Regular Tree Relations</a></h5> <br>by <a href="../authors/lochmann">Alexander Lochmann</a>, <a href="../authors/felgenhauer">Bertram Felgenhauer</a>, <a href="../authors/sternagel">Christian Sternagel</a>, <a href="../authors/thiemann">René Thiemann</a> and <a href="../authors/sternagelt">Thomas Sternagel</a></div>
<span class="date">
Dec 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Simplicial_complexes_and_boolean_functions.html">Simplicial Complexes and Boolean functions</a></h5> <br>by <a href="../authors/aransay">Jesús Aransay</a>, <a href="../authors/campo">Alejandro del Campo</a> and <a href="../authors/michaelis">Julius Michaelis</a></div>
<span class="date">
Nov 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Van_Emde_Boas_Trees.html">van Emde Boas Trees</a></h5> <br>by <a href="../authors/ammer">Thomas Ammer</a> and <a href="../authors/lammich">Peter Lammich</a></div>
<span class="date">
Nov 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Foundation_of_geometry.html">Foundation of geometry in planes, and some complements: Excluding the parallel axioms</a></h5> <br>by <a href="../authors/iwama">Fumiya Iwama</a></div>
<span class="date">
Nov 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Hahn_Jordan_Decomposition.html">The Hahn and Jordan Decomposition Theorems</a></h5> <br>by <a href="../authors/cousin">Marie Cousin</a>, <a href="../authors/echenim">Mnacho Echenim</a> and <a href="../authors/guiol">Hervé Guiol</a></div>
<span class="date">
Nov 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Real_Power.html">Real Exponents as the Limits of Sequences of Rational Exponents</a></h5> <br>by <a href="../authors/fleuriot">Jacques D. Fleuriot</a></div>
<span class="date">
Nov 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Factor_Algebraic_Polynomial.html">Factorization of Polynomials with Algebraic Coefficients</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a> and <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Nov 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/SimplifiedOntologicalArgument.html">Exploring Simplified Variants of Gödel’s Ontological Argument in Isabelle/HOL</a></h5> <br>by <a href="../authors/benzmueller">Christoph Benzmüller</a></div>
<span class="date">
Nov 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/PAL.html">Automating Public Announcement Logic and the Wise Men Puzzle in Isabelle/HOL</a></h5> <br>by <a href="../authors/benzmueller">Christoph Benzmüller</a> and <a href="../authors/reiche">Sebastian Reiche</a></div>
<span class="date">
Nov 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Szemeredi_Regularity.html">Szemerédi&#39;s Regularity Lemma</a></h5> <br>by <a href="../authors/edmonds">Chelsea Edmonds</a>, <a href="../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Nov 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Registers.html">Quantum and Classical Registers</a></h5> <br>by <a href="../authors/unruh">Dominique Unruh</a></div>
<span class="date">
Oct 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Belief_Revision.html">Belief Revision Theory</a></h5> <br>by <a href="../authors/fouillard">Valentin Fouillard</a>, <a href="../authors/taha">Safouan Taha</a>, <a href="../authors/boulanger">Frédéric Boulanger</a> and <a href="../authors/sabouret">Nicolas Sabouret</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/X86_Semantics.html">X86 instruction semantics and basic block symbolic execution</a></h5> <br>by <a href="../authors/verbeek">Freek Verbeek</a>, <a href="../authors/bharadwaj">Abhijith Bharadwaj</a>, <a href="../authors/bockenek">Joshua Bockenek</a>, <a href="../authors/roessle">Ian Roessle</a>, <a href="../authors/weerwag">Timmy Weerwag</a> and <a href="../authors/ravindran">Binoy Ravindran</a></div>
<span class="date">
Oct 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Correctness_Algebras.html">Algebras for Iteration, Infinite Executions and Correctness of Sequential Computations</a></h5> <br>by <a href="../authors/guttmann">Walter Guttmann</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Virtual_Substitution.html">Verified Quadratic Virtual Substitution for Real Arithmetic</a></h5> <br>by <a href="../authors/scharager">Matias Scharager</a>, <a href="../authors/cordwell">Katherine Cordwell</a>, <a href="../authors/mitsch">Stefan Mitsch</a> and <a href="../authors/platzer">André Platzer</a></div>
<span class="date">
Oct 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/FOL_Axiomatic.html">Soundness and Completeness of an Axiomatic System for First-Order Logic</a></h5> <br>by <a href="../authors/from">Asta Halkjær From</a></div>
<span class="date">
Sep 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Complex_Bounded_Operators.html">Complex Bounded Operators</a></h5> <br>by <a href="../authors/caballero">José Manuel Rodríguez Caballero</a> and <a href="../authors/unruh">Dominique Unruh</a></div>
<span class="date">
Sep 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Weighted_Path_Order.html">A Formalization of Weighted Path Orders and Recursive Path Orders</a></h5> <br>by <a href="../authors/sternagel">Christian Sternagel</a>, <a href="../authors/thiemann">René Thiemann</a> and <a href="../authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Intro_Dest_Elim.html">IDE: Introduction, Destruction, Elimination</a></h5> <br>by <a href="../authors/milehins">Mihails Milehins</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Types_To_Sets_Extension.html">Extension of Types-To-Sets</a></h5> <br>by <a href="../authors/milehins">Mihails Milehins</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Conditional_Transfer_Rule.html">Conditional Transfer Rule</a></h5> <br>by <a href="../authors/milehins">Mihails Milehins</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Conditional_Simplification.html">Conditional Simplification</a></h5> <br>by <a href="../authors/milehins">Mihails Milehins</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CZH_Universal_Constructions.html">Category Theory for ZFC in HOL III: Universal Constructions</a></h5> <br>by <a href="../authors/milehins">Mihails Milehins</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CZH_Elementary_Categories.html">Category Theory for ZFC in HOL II: Elementary Theory of 1-Categories</a></h5> <br>by <a href="../authors/milehins">Mihails Milehins</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CZH_Foundations.html">Category Theory for ZFC in HOL I: Foundations: Design Patterns, Set Theory, Digraphs, Semicategories</a></h5> <br>by <a href="../authors/milehins">Mihails Milehins</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Dominance_CHK.html">A data flow analysis algorithm for computing dominators</a></h5> <br>by <a href="../authors/jiang">Nan Jiang</a></div>
<span class="date">
Sep 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Cubic_Quartic_Equations.html">Solving Cubic and Quartic Equations</a></h5> <br>by <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Sep 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Logging_Independent_Anonymity.html">Logging-independent Message Anonymity in the Relational Method</a></h5> <br>by <a href="../authors/noce">Pasquale Noce</a></div>
<span class="date">
Aug 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Three_Circles.html">The Theorem of Three Circles</a></h5> <br>by <a href="../authors/thomson">Fox Thomson</a> and <a href="../authors/li">Wenda Li</a></div>
<span class="date">
Aug 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Fresh_Identifiers.html">Fresh identifiers</a></h5> <br>by <a href="../authors/popescu">Andrei Popescu</a> and <a href="../authors/bauereiss">Thomas Bauereiss</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CoSMeDis.html">CoSMeDis: A confidentiality-verified distributed social media platform</a></h5> <br>by <a href="../authors/bauereiss">Thomas Bauereiss</a> and <a href="../authors/popescu">Andrei Popescu</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CoSMed.html">CoSMed: A confidentiality-verified social media platform</a></h5> <br>by <a href="../authors/bauereiss">Thomas Bauereiss</a> and <a href="../authors/popescu">Andrei Popescu</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/BD_Security_Compositional.html">Compositional BD Security</a></h5> <br>by <a href="../authors/bauereiss">Thomas Bauereiss</a> and <a href="../authors/popescu">Andrei Popescu</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CoCon.html">CoCon: A Confidentiality-Verified Conference Management System</a></h5> <br>by <a href="../authors/popescu">Andrei Popescu</a>, <a href="../authors/lammich">Peter Lammich</a> and <a href="../authors/bauereiss">Thomas Bauereiss</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Design_Theory.html">Combinatorial Design Theory</a></h5> <br>by <a href="../authors/edmonds">Chelsea Edmonds</a> and <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Aug 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Relational_Forests.html">Relational Forests</a></h5> <br>by <a href="../authors/guttmann">Walter Guttmann</a></div>
<span class="date">
Aug 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Schutz_Spacetime.html">Schutz&#39; Independent Axioms for Minkowski Spacetime</a></h5> <br>by <a href="../authors/schmoetten">Richard Schmoetten</a>, <a href="../authors/palmer">Jake Palmer</a> and <a href="../authors/fleuriot">Jacques D. Fleuriot</a></div>
<span class="date">
Jul 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Finitely_Generated_Abelian_Groups.html">Finitely Generated Abelian Groups</a></h5> <br>by <a href="../authors/thommes">Joseph Thommes</a> and <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jul 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/SpecCheck.html">SpecCheck - Specification-Based Testing for Isabelle/ML</a></h5> <br>by <a href="../authors/kappelmann">Kevin Kappelmann</a>, <a href="../authors/bulwahn">Lukas Bulwahn</a> and <a href="../authors/willenbrink">Sebastian Willenbrink</a></div>
<span class="date">
Jul 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Van_der_Waerden.html">Van der Waerden&#39;s Theorem</a></h5> <br>by <a href="../authors/kreuzer">Katharina Kreuzer</a> and <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jun 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/MiniSail.html">MiniSail - A kernel language for the ISA specification language SAIL</a></h5> <br>by <a href="../authors/wassell">Mark Wassell</a></div>
<span class="date">
Jun 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Public_Announcement_Logic.html">Public Announcement Logic</a></h5> <br>by <a href="../authors/from">Asta Halkjær From</a></div>
<span class="date">
Jun 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/IMP_Compiler.html">A Shorter Compiler Correctness Proof for Language IMP</a></h5> <br>by <a href="../authors/noce">Pasquale Noce</a></div>
<span class="date">
Jun 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Combinatorics_Words_Lyndon.html">Lyndon words</a></h5> <br>by <a href="../authors/holub">Štěpán Holub</a> and <a href="../authors/starosta">Štěpán Starosta</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Combinatorics_Words_Graph_Lemma.html">Graph Lemma</a></h5> <br>by <a href="../authors/holub">Štěpán Holub</a> and <a href="../authors/starosta">Štěpán Starosta</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Combinatorics_Words.html">Combinatorics on Words Basics</a></h5> <br>by <a href="../authors/holub">Štěpán Holub</a>, <a href="../authors/raska">Martin Raška</a> and <a href="../authors/starosta">Štěpán Starosta</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Regression_Test_Selection.html">Regression Test Selection</a></h5> <br>by <a href="../authors/mansky">Susannah Mansky</a></div>
<span class="date">
Apr 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Lifting_the_Exponent.html">Lifting the Exponent</a></h5> <br>by <a href="../authors/kadzioka">Maya Kądziołka</a></div>
<span class="date">
Apr 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Metalogic_ProofChecker.html">Isabelle&#39;s Metalogic: Formalization and Proof Checker</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a> and <a href="../authors/rosskopf">Simon Roßkopf</a></div>
<span class="date">
Apr 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/BenOr_Kozen_Reif.html">The BKR Decision Procedure for Univariate Real Arithmetic</a></h5> <br>by <a href="../authors/cordwell">Katherine Cordwell</a>, <a href="../authors/tan">Yong Kiam Tan</a> and <a href="../authors/platzer">André Platzer</a></div>
<span class="date">
Apr 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/GaleStewart_Games.html">Gale-Stewart Games</a></h5> <br>by <a href="../authors/joosten">Sebastiaan J. C. Joosten</a></div>
<span class="date">
Apr 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Progress_Tracking.html">Formalization of Timely Dataflow&#39;s Progress Tracking Protocol</a></h5> <br>by <a href="../authors/brun">Matthias Brun</a>, <a href="../authors/decova">Sára Decova</a>, <a href="../authors/lattuada">Andrea Lattuada</a> and <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Apr 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/IFC_Tracking.html">Information Flow Control via Dependency Tracking</a></h5> <br>by <a href="../authors/nordhoff">Benedikt Nordhoff</a></div>
<span class="date">
Apr 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Grothendieck_Schemes.html">Grothendieck&#39;s Schemes in Algebraic Geometry</a></h5> <br>by <a href="../authors/bordg">Anthony Bordg</a>, <a href="../authors/paulson">Lawrence C. Paulson</a> and <a href="../authors/li">Wenda Li</a></div>
<span class="date">
Mar 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Padic_Ints.html">Hensel&#39;s Lemma for the p-adic Integers</a></h5> <br>by <a href="../authors/crighton">Aaron Crighton</a></div>
<span class="date">
Mar 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Constructive_Cryptography_CM.html">Constructive Cryptography in HOL: the Communication Modeling Aspect</a></h5> <br>by <a href="../authors/lochbihler">Andreas Lochbihler</a> and <a href="../authors/sefidgar">S. Reza Sefidgar</a></div>
<span class="date">
Mar 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Modular_arithmetic_LLL_and_HNF_algorithms.html">Two algorithms based on modular arithmetic: lattice basis reduction and Hermite normal form computation</a></h5> <br>by <a href="../authors/bottesch">Ralph Bottesch</a>, <a href="../authors/divason">Jose Divasón</a> and <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Mar 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Hermite_Lindemann.html">The Hermite–Lindemann–Weierstraß Transcendence Theorem</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Mar 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Projective_Measurements.html">Quantum projective measurements and the CHSH inequality</a></h5> <br>by <a href="../authors/echenim">Mnacho Echenim</a></div>
<span class="date">
Mar 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Mereology.html">Mereology</a></h5> <br>by <a href="../authors/blumson">Ben Blumson</a></div>
<span class="date">
Mar 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Sunflowers.html">The Sunflower Lemma of Erdős and Rado</a></h5> <br>by <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Feb 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/BTree.html">A Verified Imperative Implementation of B-Trees</a></h5> <br>by <a href="../authors/muendler">Niels Mündler</a></div>
<span class="date">
Feb 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Formal_Puiseux_Series.html">Formal Puiseux Series</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Feb 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Laws_of_Large_Numbers.html">The Laws of Large Numbers</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Feb 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/IsaGeoCoq.html">Tarski&#39;s Parallel Postulate implies the 5th Postulate of Euclid, the Postulate of Playfair and the original Parallel Postulate of Euclid</a></h5> <br>by <a href="../authors/coghetto">Roland Coghetto</a></div>
<span class="date">
Jan 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Blue_Eyes.html">Solution to the xkcd Blue Eyes puzzle</a></h5> <br>by <a href="../authors/kadzioka">Maya Kądziołka</a></div>
<span class="date">
Jan 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Hood_Melville_Queue.html">Hood-Melville Queue</a></h5> <br>by <a href="../authors/londono">Alejandro Gómez-Londoño</a></div>
<span class="date">
Jan 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/JinjaDCI.html">JinjaDCI: a Java semantics with dynamic class initialization</a></h5> <br>by <a href="../authors/mansky">Susannah Mansky</a></div>
<span class="date">
Jan 11
</span>
</article>
<h2 class="head">2020</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Delta_System_Lemma.html">Cofinality and the Delta System Lemma</a></h5> <br>by <a href="../authors/terraf">Pedro Sánchez Terraf</a></div>
<span class="date">
Dec 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Topological_Semantics.html">Topological semantics for paraconsistent and paracomplete logics</a></h5> <br>by <a href="../authors/fuenmayor">David Fuenmayor</a></div>
<span class="date">
Dec 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Relational_Minimum_Spanning_Trees.html">Relational Minimum Spanning Tree Algorithms</a></h5> <br>by <a href="../authors/guttmann">Walter Guttmann</a> and <a href="../authors/brien">Nicolas Robinson-O&rsquo;Brien</a></div>
<span class="date">
Dec 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Interpreter_Optimizations.html">Inline Caching and Unboxing Optimization for Interpreters</a></h5> <br>by <a href="../authors/desharnais">Martin Desharnais</a></div>
<span class="date">
Dec 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Relational_Method.html">The Relational Method with Message Anonymity for the Verification of Cryptographic Protocols</a></h5> <br>by <a href="../authors/noce">Pasquale Noce</a></div>
<span class="date">
Dec 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Isabelle_Marries_Dirac.html">Isabelle Marries Dirac: a Library for Quantum Computation and Quantum Information</a></h5> <br>by <a href="../authors/bordg">Anthony Bordg</a>, <a href="../authors/lachnitt">Hanna Lachnitt</a> and <a href="../authors/he">Yijun He</a></div>
<span class="date">
Nov 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CSP_RefTK.html">The HOL-CSP Refinement Toolkit</a></h5> <br>by <a href="../authors/taha">Safouan Taha</a>, <a href="../authors/wolff">Burkhart Wolff</a> and <a href="../authors/ye">Lina Ye</a></div>
<span class="date">
Nov 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Verified_SAT_Based_AI_Planning.html">Verified SAT-Based AI Planning</a></h5> <br>by <a href="../authors/abdulaziz">Mohammad Abdulaziz</a> and <a href="../authors/kurz">Friedrich Kurz</a></div>
<span class="date">
Oct 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/AI_Planning_Languages_Semantics.html">AI Planning Languages Semantics</a></h5> <br>by <a href="../authors/abdulaziz">Mohammad Abdulaziz</a> and <a href="../authors/lammich">Peter Lammich</a></div>
<span class="date">
Oct 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Physical_Quantities.html">A Sound Type System for Physical Quantities, Units, and Measurements</a></h5> <br>by <a href="../authors/fosters">Simon Foster</a> and <a href="../authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Oct 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Finite-Map-Extras.html">Finite Map Extras</a></h5> <br>by <a href="../authors/diaz">Javier Díaz</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Core_SC_DOM.html">The Safely Composable DOM</a></h5> <br>by <a href="../authors/brucker">Achim D. Brucker</a> and <a href="../authors/herzberg">Michael Herzberg</a></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/DOM_Components.html">A Formalization of Web Components</a></h5> <br>by <a href="../authors/brucker">Achim D. Brucker</a> and <a href="../authors/herzberg">Michael Herzberg</a></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/SC_DOM_Components.html">A Formalization of Safely Composable Web Components</a></h5> <br>by <a href="../authors/brucker">Achim D. Brucker</a> and <a href="../authors/herzberg">Michael Herzberg</a></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Shadow_SC_DOM.html">A Formal Model of the Safely Composable Document Object Model with Shadow Roots</a></h5> <br>by <a href="../authors/brucker">Achim D. Brucker</a> and <a href="../authors/herzberg">Michael Herzberg</a></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Shadow_DOM.html">A Formal Model of the Document Object Model with Shadow Roots</a></h5> <br>by <a href="../authors/brucker">Achim D. Brucker</a> and <a href="../authors/herzberg">Michael Herzberg</a></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Syntax_Independent_Logic.html">Syntax-Independent Logic Infrastructure</a></h5> <br>by <a href="../authors/popescu">Andrei Popescu</a> and <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Robinson_Arithmetic.html">Robinson Arithmetic</a></h5> <br>by <a href="../authors/popescu">Andrei Popescu</a> and <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Goedel_HFSet_Semanticless.html">From Abstract to Concrete Gödel&#39;s Incompleteness Theorems—Part II</a></h5> <br>by <a href="../authors/popescu">Andrei Popescu</a> and <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Goedel_HFSet_Semantic.html">From Abstract to Concrete Gödel&#39;s Incompleteness Theorems—Part I</a></h5> <br>by <a href="../authors/popescu">Andrei Popescu</a> and <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Goedel_Incompleteness.html">An Abstract Formalization of Gödel&#39;s Incompleteness Theorems</a></h5> <br>by <a href="../authors/popescu">Andrei Popescu</a> and <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Extended_Finite_State_Machine_Inference.html">Inference of Extended Finite State Machines</a></h5> <br>by <a href="../authors/foster">Michael Foster</a>, <a href="../authors/brucker">Achim D. Brucker</a>, <a href="../authors/taylor">Ramsay G. Taylor</a> and <a href="../authors/derrick">John Derrick</a></div>
<span class="date">
Sep 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Extended_Finite_State_Machines.html">A Formal Model of Extended Finite State Machines</a></h5> <br>by <a href="../authors/foster">Michael Foster</a>, <a href="../authors/brucker">Achim D. Brucker</a>, <a href="../authors/taylor">Ramsay G. Taylor</a> and <a href="../authors/derrick">John Derrick</a></div>
<span class="date">
Sep 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Inductive_Inference.html">Some classical results in inductive inference of recursive functions</a></h5> <br>by <a href="../authors/balbach">Frank J. Balbach</a></div>
<span class="date">
Aug 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/PAC_Checker.html">Practical Algebraic Calculus Checker</a></h5> <br>by <a href="../authors/fleury">Mathias Fleury</a> and <a href="../authors/kaufmann">Daniela Kaufmann</a></div>
<span class="date">
Aug 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Relational_Disjoint_Set_Forests.html">Relational Disjoint-Set Forests</a></h5> <br>by <a href="../authors/guttmann">Walter Guttmann</a></div>
<span class="date">
Aug 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/BirdKMP.html">Putting the `K&#39; into Bird&#39;s derivation of Knuth-Morris-Pratt string matching</a></h5> <br>by <a href="../authors/gammie">Peter Gammie</a></div>
<span class="date">
Aug 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Saturation_Framework_Extensions.html">Extensions to the Comprehensive Framework for Saturation Theorem Proving</a></h5> <br>by <a href="../authors/blanchette">Jasmin Christian Blanchette</a> and <a href="../authors/tourret">Sophie Tourret</a></div>
<span class="date">
Aug 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Amicable_Numbers.html">Amicable Numbers</a></h5> <br>by <a href="../authors/argyraki">Angeliki Koutsoukou-Argyraki</a></div>
<span class="date">
Aug 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Ordinal_Partitions.html">Ordinal Partitions</a></h5> <br>by <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Aug 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Chandy_Lamport.html">A Formal Proof of The Chandy--Lamport Distributed Snapshot Algorithm</a></h5> <br>by <a href="../authors/fiedler">Ben Fiedler</a> and <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Jul 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Relational_Paths.html">Relational Characterisations of Paths</a></h5> <br>by <a href="../authors/guttmann">Walter Guttmann</a> and <a href="../authors/hoefner">Peter Höfner</a></div>
<span class="date">
Jul 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Safe_Distance.html">A Formally Verified Checker of the Safe Distance Traffic Rules for Autonomous Vehicles</a></h5> <br>by <a href="../authors/rizaldi">Albert Rizaldi</a> and <a href="../authors/immler">Fabian Immler</a></div>
<span class="date">
Jun 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Smith_Normal_Form.html">A verified algorithm for computing the Smith normal form of a matrix</a></h5> <br>by <a href="../authors/divason">Jose Divasón</a></div>
<span class="date">
May 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Nash_Williams.html">The Nash-Williams Partition Theorem</a></h5> <br>by <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
May 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Knuth_Bendix_Order.html">A Formalization of Knuth–Bendix Orders</a></h5> <br>by <a href="../authors/sternagel">Christian Sternagel</a> and <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
May 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Irrational_Series_Erdos_Straus.html">Irrationality Criteria for Series by Erdős and Straus</a></h5> <br>by <a href="../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="../authors/li">Wenda Li</a></div>
<span class="date">
May 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Recursion-Addition.html">Recursion Theorem in ZF</a></h5> <br>by <a href="../authors/dunaev">Georgy Dunaev</a></div>
<span class="date">
May 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/LTL_Normal_Form.html">An Efficient Normalisation Procedure for Linear Temporal Logic: Isabelle/HOL Formalisation</a></h5> <br>by <a href="../authors/sickert">Salomon Sickert</a></div>
<span class="date">
May 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Forcing.html">Formalization of Forcing in Isabelle/ZF</a></h5> <br>by <a href="../authors/gunther">Emmanuel Gunther</a>, <a href="../authors/pagano">Miguel Pagano</a> and <a href="../authors/terraf">Pedro Sánchez Terraf</a></div>
<span class="date">
May 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Banach_Steinhaus.html">Banach-Steinhaus Theorem</a></h5> <br>by <a href="../authors/unruh">Dominique Unruh</a> and <a href="../authors/caballero">José Manuel Rodríguez Caballero</a></div>
<span class="date">
May 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Attack_Trees.html">Attack Trees in Isabelle for GDPR compliance of IoT healthcare systems</a></h5> <br>by <a href="../authors/kammueller">Florian Kammüller</a></div>
<span class="date">
Apr 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Lambert_W.html">The Lambert W Function on the Reals</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Apr 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Power_Sum_Polynomials.html">Power Sum Polynomials</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Apr 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Gaussian_Integers.html">Gaussian Integers</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Apr 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Matrices_for_ODEs.html">Matrices for ODEs</a></h5> <br>by <a href="../authors/munive">Jonathan Julian Huerta y Munive</a></div>
<span class="date">
Apr 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/ADS_Functor.html">Authenticated Data Structures As Functors</a></h5> <br>by <a href="../authors/lochbihler">Andreas Lochbihler</a> and <a href="../authors/maric">Ognjen Marić</a></div>
<span class="date">
Apr 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Sliding_Window_Algorithm.html">Formalization of an Algorithm for Greedily Computing Associative Aggregations on Sliding Windows</a></h5> <br>by <a href="../authors/heimes">Lukas Heimes</a>, <a href="../authors/traytel">Dmitriy Traytel</a> and <a href="../authors/schneider">Joshua Schneider</a></div>
<span class="date">
Apr 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/MFODL_Monitor_Optimized.html">Formalization of an Optimized Monitoring Algorithm for Metric First-Order Dynamic Logic with Aggregations</a></h5> <br>by <a href="../authors/dardinier">Thibault Dardinier</a>, <a href="../authors/heimes">Lukas Heimes</a>, <a href="../authors/raszyk">Martin Raszyk</a>, <a href="../authors/schneider">Joshua Schneider</a> and <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Apr 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Saturation_Framework.html">A Comprehensive Framework for Saturation Theorem Proving</a></h5> <br>by <a href="../authors/tourret">Sophie Tourret</a></div>
<span class="date">
Apr 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Stateful_Protocol_Composition_and_Typing.html">Stateful Protocol Composition and Typing</a></h5> <br>by <a href="../authors/hess">Andreas V. Hess</a>, <a href="../authors/moedersheim">Sebastian Mödersheim</a> and <a href="../authors/brucker">Achim D. Brucker</a></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Automated_Stateful_Protocol_Verification.html">Automated Stateful Protocol Verification</a></h5> <br>by <a href="../authors/hess">Andreas V. Hess</a>, <a href="../authors/moedersheim">Sebastian Mödersheim</a>, <a href="../authors/brucker">Achim D. Brucker</a> and <a href="../authors/schlichtkrull">Anders Schlichtkrull</a></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Lucas_Theorem.html">Lucas&#39;s Theorem</a></h5> <br>by <a href="../authors/edmonds">Chelsea Edmonds</a></div>
<span class="date">
Apr 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/WOOT_Strong_Eventual_Consistency.html">Strong Eventual Consistency of the Collaborative Editing Framework WOOT</a></h5> <br>by <a href="../authors/karayel">Emin Karayel</a> and <a href="../authors/gonzalez">Edgar Gonzàlez</a></div>
<span class="date">
Mar 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Furstenberg_Topology.html">Furstenberg&#39;s topology and his proof of the infinitude of primes</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Mar 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Relational-Incorrectness-Logic.html">An Under-Approximate Relational Logic</a></h5> <br>by <a href="../authors/murray">Toby Murray</a></div>
<span class="date">
Mar 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Hello_World.html">Hello World</a></h5> <br>by <a href="../authors/diekmann">Cornelius Diekmann</a> and <a href="../authors/hupel">Lars Hupel</a></div>
<span class="date">
Mar 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Goodstein_Lambda.html">Implementing the Goodstein Function in λ-Calculus</a></h5> <br>by <a href="../authors/felgenhauer">Bertram Felgenhauer</a></div>
<span class="date">
Feb 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/VeriComp.html">A Generic Framework for Verified Compilers</a></h5> <br>by <a href="../authors/desharnais">Martin Desharnais</a></div>
<span class="date">
Feb 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Arith_Prog_Rel_Primes.html">Arithmetic progressions and relative primes</a></h5> <br>by <a href="../authors/caballero">José Manuel Rodríguez Caballero</a></div>
<span class="date">
Feb 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Subset_Boolean_Algebras.html">A Hierarchy of Algebras for Boolean Subsets</a></h5> <br>by <a href="../authors/guttmann">Walter Guttmann</a> and <a href="../authors/moeller">Bernhard Möller</a></div>
<span class="date">
Jan 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Mersenne_Primes.html">Mersenne primes and the Lucas–Lehmer test</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jan 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Approximation_Algorithms.html">Verified Approximation Algorithms</a></h5> <br>by <a href="../authors/essmann">Robin Eßmann</a>, <a href="../authors/nipkow">Tobias Nipkow</a>, <a href="../authors/robillard">Simon Robillard</a> and <a href="../authors/sulejmani">Ujkan Sulejmani</a></div>
<span class="date">
Jan 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Closest_Pair_Points.html">Closest Pair of Points Algorithms</a></h5> <br>by <a href="../authors/rau">Martin Rau</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jan 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Skip_Lists.html">Skip Lists</a></h5> <br>by <a href="../authors/haslbeck">Max W. Haslbeck</a> and <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jan 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Bicategory.html">Bicategories</a></h5> <br>by <a href="../authors/stark">Eugene W. Stark</a></div>
<span class="date">
Jan 06
</span>
</article>
<h2 class="head">2019</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Zeta_3_Irrational.html">The Irrationality of ζ(3)</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Hybrid_Logic.html">Formalizing a Seligman-Style Tableau System for Hybrid Logic</a></h5> <br>by <a href="../authors/from">Asta Halkjær From</a></div>
<span class="date">
Dec 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Poincare_Bendixson.html">The Poincaré-Bendixson Theorem</a></h5> <br>by <a href="../authors/immler">Fabian Immler</a> and <a href="../authors/tan">Yong Kiam Tan</a></div>
<span class="date">
Dec 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Poincare_Disc.html">Poincaré Disc Model</a></h5> <br>by <a href="../authors/simic">Danijela Simić</a>, <a href="../authors/maricf">Filip Marić</a> and <a href="../authors/boutry">Pierre Boutry</a></div>
<span class="date">
Dec 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Complex_Geometry.html">Complex Geometry</a></h5> <br>by <a href="../authors/maricf">Filip Marić</a> and <a href="../authors/simic">Danijela Simić</a></div>
<span class="date">
Dec 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Gauss_Sums.html">Gauss Sums and the Pólya–Vinogradov Inequality</a></h5> <br>by <a href="../authors/raya">Rodrigo Raya</a> and <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Generalized_Counting_Sort.html">An Efficient Generalization of Counting Sort for Large, possibly Infinite Key Ranges</a></h5> <br>by <a href="../authors/noce">Pasquale Noce</a></div>
<span class="date">
Dec 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Interval_Arithmetic_Word32.html">Interval Arithmetic on 32-bit Words</a></h5> <br>by <a href="../authors/bohrer">Rose Bohrer</a></div>
<span class="date">
Nov 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/ZFC_in_HOL.html">Zermelo Fraenkel Set Theory in Higher-Order Logic</a></h5> <br>by <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Oct 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Isabelle_C.html">Isabelle/C</a></h5> <br>by <a href="../authors/tuong">Frédéric Tuong</a> and <a href="../authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Oct 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/VerifyThis2019.html">VerifyThis 2019 -- Polished Isabelle Solutions</a></h5> <br>by <a href="../authors/lammich">Peter Lammich</a> and <a href="../authors/wimmer">Simon Wimmer</a></div>
<span class="date">
Oct 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Aristotles_Assertoric_Syllogistic.html">Aristotle&#39;s Assertoric Syllogistic</a></h5> <br>by <a href="../authors/argyraki">Angeliki Koutsoukou-Argyraki</a></div>
<span class="date">
Oct 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Sigma_Commit_Crypto.html">Sigma Protocols and Commitment Schemes</a></h5> <br>by <a href="../authors/butler">David Butler</a> and <a href="../authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
Oct 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Clean.html">Clean - An Abstract Imperative Programming Language and its Theory</a></h5> <br>by <a href="../authors/tuong">Frédéric Tuong</a> and <a href="../authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Oct 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Generic_Join.html">Formalization of Multiway-Join Algorithms</a></h5> <br>by <a href="../authors/dardinier">Thibault Dardinier</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Hybrid_Systems_VCs.html">Verification Components for Hybrid Systems</a></h5> <br>by <a href="../authors/munive">Jonathan Julian Huerta y Munive</a></div>
<span class="date">
Sep 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Fourier.html">Fourier Series</a></h5> <br>by <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Jacobson_Basic_Algebra.html">A Case Study in Basic Algebra</a></h5> <br>by <a href="../authors/ballarin">Clemens Ballarin</a></div>
<span class="date">
Aug 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Adaptive_State_Counting.html">Formalisation of an Adaptive State Counting Algorithm</a></h5> <br>by <a href="../authors/sachtleben">Robert Sachtleben</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Laplace_Transform.html">Laplace Transform</a></h5> <br>by <a href="../authors/immler">Fabian Immler</a></div>
<span class="date">
Aug 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Linear_Programming.html">Linear Programming</a></h5> <br>by <a href="../authors/parsert">Julian Parsert</a> and <a href="../authors/kaliszyk">Cezary Kaliszyk</a></div>
<span class="date">
Aug 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/C2KA_DistributedSystems.html">Communicating Concurrent Kleene Algebra for Distributed Systems Specification</a></h5> <br>by <a href="../authors/buyse">Maxime Buyse</a> and <a href="../authors/jaskolka">Jason Jaskolka</a></div>
<span class="date">
Aug 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/IMO2019.html">Selected Problems from the International Mathematical Olympiad 2019</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Aug 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Stellar_Quorums.html">Stellar Quorum Systems</a></h5> <br>by <a href="../authors/losa">Giuliano Losa</a></div>
<span class="date">
Aug 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/TESL_Language.html">A Formal Development of a Polychronous Polytimed Coordination Language</a></h5> <br>by <a href="../authors/van">Hai Nguyen Van</a>, <a href="../authors/boulanger">Frédéric Boulanger</a> and <a href="../authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Jul 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Szpilrajn.html">Order Extension and Szpilrajn&#39;s Extension Theorem</a></h5> <br>by <a href="../authors/zeller">Peter Zeller</a> and <a href="../authors/stevens">Lukas Stevens</a></div>
<span class="date">
Jul 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/FOL_Seq_Calc1.html">A Sequent Calculus for First-Order Logic</a></h5> <br>by <a href="../authors/from">Asta Halkjær From</a></div>
<span class="date">
Jul 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CakeML_Codegen.html">A Verified Code Generator from Isabelle/HOL to CakeML</a></h5> <br>by <a href="../authors/hupel">Lars Hupel</a></div>
<span class="date">
Jul 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/MFOTL_Monitor.html">Formalization of a Monitoring Algorithm for Metric First-Order Temporal Logic</a></h5> <br>by <a href="../authors/schneider">Joshua Schneider</a> and <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Jul 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Complete_Non_Orders.html">Complete Non-Orders and Fixed Points</a></h5> <br>by <a href="../authors/yamada">Akihisa Yamada</a> and <a href="../authors/dubut">Jérémy Dubut</a></div>
<span class="date">
Jun 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Prim_Dijkstra_Simple.html">Purely Functional, Simple, and Efficient Implementation of Prim and Dijkstra</a></h5> <br>by <a href="../authors/lammich">Peter Lammich</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Priority_Search_Trees.html">Priority Search Trees</a></h5> <br>by <a href="../authors/lammich">Peter Lammich</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Linear_Inequalities.html">Linear Inequalities</a></h5> <br>by <a href="../authors/bottesch">Ralph Bottesch</a>, <a href="../authors/reynaud">Alban Reynaud</a> and <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Jun 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Nullstellensatz.html">Hilbert&#39;s Nullstellensatz</a></h5> <br>by <a href="../authors/maletzky">Alexander Maletzky</a></div>
<span class="date">
Jun 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Groebner_Macaulay.html">Gröbner Bases, Macaulay Matrices and Dubé&#39;s Degree Bounds</a></h5> <br>by <a href="../authors/maletzky">Alexander Maletzky</a></div>
<span class="date">
Jun 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/IMP2_Binary_Heap.html">Binary Heaps for IMP2</a></h5> <br>by <a href="../authors/griebel">Simon Griebel</a></div>
<span class="date">
Jun 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Differential_Game_Logic.html">Differential Game Logic</a></h5> <br>by <a href="../authors/platzer">André Platzer</a></div>
<span class="date">
Jun 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/KD_Tree.html">Multidimensional Binary Search Trees</a></h5> <br>by <a href="../authors/rau">Martin Rau</a></div>
<span class="date">
May 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/LambdaAuth.html">Formalization of Generic Authenticated Data Structures</a></h5> <br>by <a href="../authors/brun">Matthias Brun</a> and <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
May 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Multi_Party_Computation.html">Multi-Party Computation</a></h5> <br>by <a href="../authors/aspinall">David Aspinall</a> and <a href="../authors/butler">David Butler</a></div>
<span class="date">
May 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/HOL-CSP.html">HOL-CSP Version 2.0</a></h5> <br>by <a href="../authors/taha">Safouan Taha</a>, <a href="../authors/ye">Lina Ye</a> and <a href="../authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Apr 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/LTL_Master_Theorem.html">A Compositional and Unified Translation of LTL into ω-Automata</a></h5> <br>by <a href="../authors/seidl">Benedikt Seidl</a> and <a href="../authors/sickert">Salomon Sickert</a></div>
<span class="date">
Apr 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Binding_Syntax_Theory.html">A General Theory of Syntax with Bindings</a></h5> <br>by <a href="../authors/gheri">Lorenzo Gheri</a> and <a href="../authors/popescu">Andrei Popescu</a></div>
<span class="date">
Apr 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Transcendence_Series_Hancl_Rucki.html">The Transcendence of Certain Infinite Series</a></h5> <br>by <a href="../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="../authors/li">Wenda Li</a></div>
<span class="date">
Mar 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/QHLProver.html">Quantum Hoare Logic</a></h5> <br>by <a href="../authors/liu">Junyi Liu</a>, <a href="../authors/zhan">Bohua Zhan</a>, <a href="../authors/wang">Shuling Wang</a>, <a href="../authors/ying">Shenggang Ying</a>, <a href="../authors/liut">Tao Liu</a>, <a href="../authors/liy">Yangjia Li</a>, <a href="../authors/yingm">Mingsheng Ying</a> and <a href="../authors/zhann">Naijun Zhan</a></div>
<span class="date">
Mar 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Safe_OCL.html">Safe OCL</a></h5> <br>by <a href="../authors/nikiforov">Denis Nikiforov</a></div>
<span class="date">
Mar 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Prime_Distribution_Elementary.html">Elementary Facts About the Distribution of Primes</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Feb 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Kruskal.html">Kruskal&#39;s Algorithm for Minimum Spanning Forest</a></h5> <br>by <a href="../authors/haslbeckm">Maximilian P. L. Haslbeck</a>, <a href="../authors/lammich">Peter Lammich</a> and <a href="../authors/biendarra">Julian Biendarra</a></div>
<span class="date">
Feb 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Probabilistic_Prime_Tests.html">Probabilistic Primality Testing</a></h5> <br>by <a href="../authors/stuewe">Daniel Stüwe</a> and <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Feb 11
</span>
</article>
<article class="entry">
<div class="item-text">
- <h5><a class="title" href="../entries/Universal_Turing_Machine.html">Universal Turing Machine</a></h5> <br>by <a href="../authors/xu">Jian Xu</a>, <a href="../authors/zhangx">Xingyuan Zhang</a>, <a href="../authors/urban">Christian Urban</a> and <a href="../authors/joosten">Sebastiaan J. C. Joosten</a></div>
+ <h5><a class="title" href="../entries/Universal_Turing_Machine.html">Universal Turing Machine</a></h5> <br>by <a href="../authors/xu">Jian Xu</a>, <a href="../authors/zhangx">Xingyuan Zhang</a>, <a href="../authors/urban">Christian Urban</a>, <a href="../authors/joosten">Sebastiaan J. C. Joosten</a> and <a href="../authors/regensburger">Franz Regensburger</a></div>
<span class="date">
Feb 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/List_Inversions.html">The Inversions of a List</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Feb 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/UTP.html">Isabelle/UTP: Mechanised Theory Engineering for Unifying Theories of Programming</a></h5> <br>by <a href="../authors/fosters">Simon Foster</a>, <a href="../authors/zeyda">Frank Zeyda</a>, <a href="../authors/nemouchi">Yakoub Nemouchi</a>, <a href="../authors/ribeiro">Pedro Ribeiro</a> and <a href="../authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Feb 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Farkas.html">Farkas&#39; Lemma and Motzkin&#39;s Transposition Theorem</a></h5> <br>by <a href="../authors/bottesch">Ralph Bottesch</a>, <a href="../authors/haslbeck">Max W. Haslbeck</a> and <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Jan 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/IMP2.html">IMP2 – Simple Program Verification in Isabelle/HOL</a></h5> <br>by <a href="../authors/lammich">Peter Lammich</a> and <a href="../authors/wimmer">Simon Wimmer</a></div>
<span class="date">
Jan 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Higher_Order_Terms.html">An Algebra for Higher-Order Terms</a></h5> <br>by <a href="../authors/hupel">Lars Hupel</a></div>
<span class="date">
Jan 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Store_Buffer_Reduction.html">A Reduction Theorem for Store Buffers</a></h5> <br>by <a href="../authors/cohen">Ernie Cohen</a> and <a href="../authors/schirmer">Norbert Schirmer</a></div>
<span class="date">
Jan 07
</span>
</article>
<h2 class="head">2018</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Core_DOM.html">A Formal Model of the Document Object Model</a></h5> <br>by <a href="../authors/brucker">Achim D. Brucker</a> and <a href="../authors/herzberg">Michael Herzberg</a></div>
<span class="date">
Dec 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Concurrent_Revisions.html">Formalization of Concurrent Revisions</a></h5> <br>by <a href="../authors/overbeek">Roy Overbeek</a></div>
<span class="date">
Dec 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Auto2_Imperative_HOL.html">Verifying Imperative Programs using Auto2</a></h5> <br>by <a href="../authors/zhan">Bohua Zhan</a></div>
<span class="date">
Dec 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Constructive_Cryptography.html">Constructive Cryptography in HOL</a></h5> <br>by <a href="../authors/lochbihler">Andreas Lochbihler</a> and <a href="../authors/sefidgar">S. Reza Sefidgar</a></div>
<span class="date">
Dec 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Transformer_Semantics.html">Transformer Semantics</a></h5> <br>by <a href="../authors/struth">Georg Struth</a></div>
<span class="date">
Dec 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Quantales.html">Quantales</a></h5> <br>by <a href="../authors/struth">Georg Struth</a></div>
<span class="date">
Dec 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Order_Lattice_Props.html">Properties of Orderings and Lattices</a></h5> <br>by <a href="../authors/struth">Georg Struth</a></div>
<span class="date">
Dec 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Graph_Saturation.html">Graph Saturation</a></h5> <br>by <a href="../authors/joosten">Sebastiaan J. C. Joosten</a></div>
<span class="date">
Nov 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Functional_Ordered_Resolution_Prover.html">A Verified Functional Implementation of Bachmair and Ganzinger&#39;s Ordered Resolution Prover</a></h5> <br>by <a href="../authors/schlichtkrull">Anders Schlichtkrull</a>, <a href="../authors/blanchette">Jasmin Christian Blanchette</a> and <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Nov 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Auto2_HOL.html">Auto2 Prover</a></h5> <br>by <a href="../authors/zhan">Bohua Zhan</a></div>
<span class="date">
Nov 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Matroids.html">Matroids</a></h5> <br>by <a href="../authors/keinholz">Jonas Keinholz</a></div>
<span class="date">
Nov 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Generic_Deriving.html">Deriving generic class instances for datatypes</a></h5> <br>by <a href="../authors/raedle">Jonas Rädle</a> and <a href="../authors/hupel">Lars Hupel</a></div>
<span class="date">
Nov 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/GewirthPGCProof.html">Formalisation and Evaluation of Alan Gewirth&#39;s Proof for the Principle of Generic Consistency in Isabelle/HOL</a></h5> <br>by <a href="../authors/fuenmayor">David Fuenmayor</a> and <a href="../authors/benzmueller">Christoph Benzmüller</a></div>
<span class="date">
Oct 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Epistemic_Logic.html">Epistemic Logic: Completeness of Modal Logics</a></h5> <br>by <a href="../authors/from">Asta Halkjær From</a></div>
<span class="date">
Oct 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Smooth_Manifolds.html">Smooth Manifolds</a></h5> <br>by <a href="../authors/immler">Fabian Immler</a> and <a href="../authors/zhan">Bohua Zhan</a></div>
<span class="date">
Oct 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Randomised_BSTs.html">Randomised Binary Search Trees</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Lambda_Free_EPO.html">Formalization of the Embedding Path Order for Lambda-Free Higher-Order Terms</a></h5> <br>by <a href="../authors/bentkamp">Alexander Bentkamp</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Factored_Transition_System_Bounding.html">Upper Bounding Diameters of State Spaces of Factored Transition Systems</a></h5> <br>by <a href="../authors/kurz">Friedrich Kurz</a> and <a href="../authors/abdulaziz">Mohammad Abdulaziz</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Pi_Transcendental.html">The Transcendence of π</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Symmetric_Polynomials.html">Symmetric Polynomials</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Sep 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Signature_Groebner.html">Signature-Based Gröbner Basis Algorithms</a></h5> <br>by <a href="../authors/maletzky">Alexander Maletzky</a></div>
<span class="date">
Sep 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Prime_Number_Theorem.html">The Prime Number Theorem</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a> and <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Sep 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Aggregation_Algebras.html">Aggregation Algebras</a></h5> <br>by <a href="../authors/guttmann">Walter Guttmann</a></div>
<span class="date">
Sep 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Octonions.html">Octonions</a></h5> <br>by <a href="../authors/argyraki">Angeliki Koutsoukou-Argyraki</a></div>
<span class="date">
Sep 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Quaternions.html">Quaternions</a></h5> <br>by <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Sep 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Budan_Fourier.html">The Budan-Fourier Theorem and Counting Real Roots with Multiplicity</a></h5> <br>by <a href="../authors/li">Wenda Li</a></div>
<span class="date">
Sep 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Simplex.html">An Incremental Simplex Algorithm with Unsatisfiable Core Generation</a></h5> <br>by <a href="../authors/maricf">Filip Marić</a>, <a href="../authors/spasic">Mirko Spasić</a> and <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Aug 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Minsky_Machines.html">Minsky Machines</a></h5> <br>by <a href="../authors/felgenhauer">Bertram Felgenhauer</a></div>
<span class="date">
Aug 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/DiscretePricing.html">Pricing in discrete financial models</a></h5> <br>by <a href="../authors/echenim">Mnacho Echenim</a></div>
<span class="date">
Jul 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Neumann_Morgenstern_Utility.html">Von-Neumann-Morgenstern Utility Theorem</a></h5> <br>by <a href="../authors/parsert">Julian Parsert</a> and <a href="../authors/kaliszyk">Cezary Kaliszyk</a></div>
<span class="date">
Jul 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Pell.html">Pell&#39;s Equation</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jun 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Localization_Ring.html">The Localization of a Commutative Ring</a></h5> <br>by <a href="../authors/bordg">Anthony Bordg</a></div>
<span class="date">
Jun 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Projective_Geometry.html">Projective Geometry</a></h5> <br>by <a href="../authors/bordg">Anthony Bordg</a></div>
<span class="date">
Jun 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Partial_Order_Reduction.html">Partial Order Reduction</a></h5> <br>by <a href="../authors/brunner">Julian Brunner</a></div>
<span class="date">
Jun 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Optimal_BST.html">Optimal Binary Search Trees</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a> and <a href="../authors/somogyi">Dániel Somogyi</a></div>
<span class="date">
May 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Hidden_Markov_Models.html">Hidden Markov Models</a></h5> <br>by <a href="../authors/wimmer">Simon Wimmer</a></div>
<span class="date">
May 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Probabilistic_Timed_Automata.html">Probabilistic Timed Automata</a></h5> <br>by <a href="../authors/wimmer">Simon Wimmer</a> and <a href="../authors/hoelzl">Johannes Hölzl</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Irrationality_J_Hancl.html">Irrational Rapidly Convergent Series</a></h5> <br>by <a href="../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="../authors/li">Wenda Li</a></div>
<span class="date">
May 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/AxiomaticCategoryTheory.html">Axiom Systems for Category Theory in Free Logic</a></h5> <br>by <a href="../authors/benzmueller">Christoph Benzmüller</a> and <a href="../authors/scott">Dana Scott</a></div>
<span class="date">
May 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Monad_Memo_DP.html">Monadification, Memoization and Dynamic Programming</a></h5> <br>by <a href="../authors/wimmer">Simon Wimmer</a>, <a href="../authors/hu">Shuwei Hu</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
May 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/OpSets.html">OpSets: Sequential Specifications for Replicated Datatypes</a></h5> <br>by <a href="../authors/kleppmann">Martin Kleppmann</a>, <a href="../authors/gomes">Victor B. F. Gomes</a>, <a href="../authors/mulligan">Dominic P. Mulligan</a> and <a href="../authors/beresford">Alastair R. Beresford</a></div>
<span class="date">
May 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Modular_Assembly_Kit_Security.html">An Isabelle/HOL Formalization of the Modular Assembly Kit for Security Properties</a></h5> <br>by <a href="../authors/bracevac">Oliver Bračevac</a>, <a href="../authors/gay">Richard Gay</a>, <a href="../authors/grewe">Sylvia Grewe</a>, <a href="../authors/mantel">Heiko Mantel</a>, <a href="../authors/sudbrock">Henning Sudbrock</a> and <a href="../authors/tasch">Markus Tasch</a></div>
<span class="date">
May 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/WebAssembly.html">WebAssembly</a></h5> <br>by <a href="../authors/watt">Conrad Watt</a></div>
<span class="date">
Apr 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/VerifyThis2018.html">VerifyThis 2018 - Polished Isabelle Solutions</a></h5> <br>by <a href="../authors/lammich">Peter Lammich</a> and <a href="../authors/wimmer">Simon Wimmer</a></div>
<span class="date">
Apr 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/BNF_CC.html">Bounded Natural Functors with Covariance and Contravariance</a></h5> <br>by <a href="../authors/lochbihler">Andreas Lochbihler</a> and <a href="../authors/schneider">Joshua Schneider</a></div>
<span class="date">
Apr 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Fishburn_Impossibility.html">The Incompatibility of Fishburn-Strategyproofness and Pareto-Efficiency</a></h5> <br>by <a href="../authors/brandt">Felix Brandt</a>, <a href="../authors/eberl">Manuel Eberl</a>, <a href="../authors/saile">Christian Saile</a> and <a href="../authors/stricker">Christian Stricker</a></div>
<span class="date">
Mar 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Weight_Balanced_Trees.html">Weight-Balanced Trees</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a> and <a href="../authors/dirix">Stefan Dirix</a></div>
<span class="date">
Mar 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CakeML.html">CakeML</a></h5> <br>by <a href="../authors/hupel">Lars Hupel</a> and <a href="../authors/zhang">Yu Zhang</a></div>
<span class="date">
Mar 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Architectural_Design_Patterns.html">A Theory of Architectural Design Patterns</a></h5> <br>by <a href="../authors/marmsoler">Diego Marmsoler</a></div>
<span class="date">
Mar 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Hoare_Time.html">Hoare Logics for Time Bounds</a></h5> <br>by <a href="../authors/haslbeckm">Maximilian P. L. Haslbeck</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Feb 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Treaps.html">Treaps</a></h5> <br>by <a href="../authors/haslbeck">Max W. Haslbeck</a>, <a href="../authors/eberl">Manuel Eberl</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Feb 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Error_Function.html">The Error Function</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Feb 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/First_Order_Terms.html">First-Order Terms</a></h5> <br>by <a href="../authors/sternagel">Christian Sternagel</a> and <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Feb 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/LLL_Factorization.html">A verified factorization algorithm for integer polynomials with polynomial complexity</a></h5> <br>by <a href="../authors/divason">Jose Divasón</a>, <a href="../authors/joosten">Sebastiaan J. C. Joosten</a>, <a href="../authors/thiemann">René Thiemann</a> and <a href="../authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Feb 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/LLL_Basis_Reduction.html">A verified LLL algorithm</a></h5> <br>by <a href="../authors/bottesch">Ralph Bottesch</a>, <a href="../authors/divason">Jose Divasón</a>, <a href="../authors/haslbeck">Max W. Haslbeck</a>, <a href="../authors/joosten">Sebastiaan J. C. Joosten</a>, <a href="../authors/thiemann">René Thiemann</a> and <a href="../authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Feb 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Ordered_Resolution_Prover.html">Formalization of Bachmair and Ganzinger&#39;s Ordered Resolution Prover</a></h5> <br>by <a href="../authors/schlichtkrull">Anders Schlichtkrull</a>, <a href="../authors/blanchette">Jasmin Christian Blanchette</a>, <a href="../authors/traytel">Dmitriy Traytel</a> and <a href="../authors/waldmann">Uwe Waldmann</a></div>
<span class="date">
Jan 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Gromov_Hyperbolicity.html">Gromov Hyperbolicity</a></h5> <br>by <a href="../authors/gouezel">Sebastien Gouezel</a></div>
<span class="date">
Jan 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Green.html">An Isabelle/HOL formalisation of Green&#39;s Theorem</a></h5> <br>by <a href="../authors/abdulaziz">Mohammad Abdulaziz</a> and <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Jan 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Taylor_Models.html">Taylor Models</a></h5> <br>by <a href="../authors/traut">Christoph Traut</a> and <a href="../authors/immler">Fabian Immler</a></div>
<span class="date">
Jan 08
</span>
</article>
<h2 class="head">2017</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Falling_Factorial_Sum.html">The Falling Factorial of a Sum</a></h5> <br>by <a href="../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Dec 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Median_Of_Medians_Selection.html">The Median-of-Medians Selection Algorithm</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Mason_Stothers.html">The Mason–Stothers Theorem</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Dirichlet_L.html">Dirichlet L-Functions and Dirichlet&#39;s Theorem</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/BNF_Operations.html">Operations on Bounded Natural Functors</a></h5> <br>by <a href="../authors/blanchette">Jasmin Christian Blanchette</a>, <a href="../authors/popescu">Andrei Popescu</a> and <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Dec 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Knuth_Morris_Pratt.html">The string search algorithm by Knuth, Morris and Pratt</a></h5> <br>by <a href="../authors/hellauer">Fabian Hellauer</a> and <a href="../authors/lammich">Peter Lammich</a></div>
<span class="date">
Dec 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Stochastic_Matrices.html">Stochastic Matrices and the Perron-Frobenius Theorem</a></h5> <br>by <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Nov 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/IMAP-CRDT.html">The IMAP CmRDT</a></h5> <br>by <a href="../authors/jungnickel">Tim Jungnickel</a>, <a href="../authors/oldenburg">Lennart Oldenburg</a> and <a href="../authors/loibl">Matthias Loibl</a></div>
<span class="date">
Nov 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Hybrid_Multi_Lane_Spatial_Logic.html">Hybrid Multi-Lane Spatial Logic</a></h5> <br>by <a href="../authors/linker">Sven Linker</a></div>
<span class="date">
Nov 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Kuratowski_Closure_Complement.html">The Kuratowski Closure-Complement Theorem</a></h5> <br>by <a href="../authors/gammie">Peter Gammie</a> and <a href="../authors/gioiosa">Gianpaolo Gioiosa</a></div>
<span class="date">
Oct 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Transition_Systems_and_Automata.html">Transition Systems and Automata</a></h5> <br>by <a href="../authors/brunner">Julian Brunner</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Buchi_Complementation.html">Büchi Complementation</a></h5> <br>by <a href="../authors/brunner">Julian Brunner</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Winding_Number_Eval.html">Evaluate Winding Numbers through Cauchy Indices</a></h5> <br>by <a href="../authors/li">Wenda Li</a></div>
<span class="date">
Oct 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Count_Complex_Roots.html">Count the Number of Complex Roots</a></h5> <br>by <a href="../authors/li">Wenda Li</a></div>
<span class="date">
Oct 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Diophantine_Eqns_Lin_Hom.html">Homogeneous Linear Diophantine Equations</a></h5> <br>by <a href="../authors/messner">Florian Messner</a>, <a href="../authors/parsert">Julian Parsert</a>, <a href="../authors/schoepf">Jonas Schöpf</a> and <a href="../authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Oct 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Zeta_Function.html">The Hurwitz and Riemann ζ Functions</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Linear_Recurrences.html">Linear Recurrences</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Dirichlet_Series.html">Dirichlet Series</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Lowe_Ontological_Argument.html">Computer-assisted Reconstruction and Assessment of E. J. Lowe&#39;s Modal Ontological Argument</a></h5> <br>by <a href="../authors/fuenmayor">David Fuenmayor</a> and <a href="../authors/benzmueller">Christoph Benzmüller</a></div>
<span class="date">
Sep 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/PLM.html">Representation and Partial Automation of the Principia Logico-Metaphysica in Isabelle/HOL</a></h5> <br>by <a href="../authors/kirchner">Daniel Kirchner</a></div>
<span class="date">
Sep 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/AnselmGod.html">Anselm&#39;s God in Isabelle/HOL</a></h5> <br>by <a href="../authors/blumson">Ben Blumson</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/First_Welfare_Theorem.html">Microeconomics and the First Welfare Theorem</a></h5> <br>by <a href="../authors/parsert">Julian Parsert</a> and <a href="../authors/kaliszyk">Cezary Kaliszyk</a></div>
<span class="date">
Sep 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Root_Balanced_Tree.html">Root-Balanced Tree</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Aug 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Orbit_Stabiliser.html">Orbit-Stabiliser Theorem with Application to Rotational Symmetries</a></h5> <br>by <a href="../authors/raedle">Jonas Rädle</a></div>
<span class="date">
Aug 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/LambdaMu.html">The LambdaMu-calculus</a></h5> <br>by <a href="../authors/matache">Cristina Matache</a>, <a href="../authors/gomes">Victor B. F. Gomes</a> and <a href="../authors/mulligan">Dominic P. Mulligan</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Stewart_Apollonius.html">Stewart&#39;s Theorem and Apollonius&#39; Theorem</a></h5> <br>by <a href="../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Jul 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/DynamicArchitectures.html">Dynamic Architectures</a></h5> <br>by <a href="../authors/marmsoler">Diego Marmsoler</a></div>
<span class="date">
Jul 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Decl_Sem_Fun_PL.html">Declarative Semantics for Functional Languages</a></h5> <br>by <a href="../authors/siek">Jeremy Siek</a></div>
<span class="date">
Jul 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/HOLCF-Prelude.html">HOLCF-Prelude</a></h5> <br>by <a href="../authors/breitner">Joachim Breitner</a>, <a href="../authors/huffman">Brian Huffman</a>, <a href="../authors/mitchell">Neil Mitchell</a> and <a href="../authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Jul 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Minkowskis_Theorem.html">Minkowski&#39;s Theorem</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jul 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Name_Carrying_Type_Inference.html">Verified Metatheory and Type Inference for a Name-Carrying Simply-Typed Lambda Calculus</a></h5> <br>by <a href="../authors/rawson">Michael Rawson</a></div>
<span class="date">
Jul 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CRDT.html">A framework for establishing Strong Eventual Consistency for Conflict-free Replicated Datatypes</a></h5> <br>by <a href="../authors/gomes">Victor B. F. Gomes</a>, <a href="../authors/kleppmann">Martin Kleppmann</a>, <a href="../authors/mulligan">Dominic P. Mulligan</a> and <a href="../authors/beresford">Alastair R. Beresford</a></div>
<span class="date">
Jul 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Stone_Kleene_Relation_Algebras.html">Stone-Kleene Relation Algebras</a></h5> <br>by <a href="../authors/guttmann">Walter Guttmann</a></div>
<span class="date">
Jul 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Propositional_Proof_Systems.html">Propositional Proof Systems</a></h5> <br>by <a href="../authors/michaelis">Julius Michaelis</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/PSemigroupsConvolution.html">Partial Semigroups and Convolution Algebras</a></h5> <br>by <a href="../authors/dongol">Brijesh Dongol</a>, <a href="../authors/gomes">Victor B. F. Gomes</a>, <a href="../authors/hayes">Ian J. Hayes</a> and <a href="../authors/struth">Georg Struth</a></div>
<span class="date">
Jun 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Buffons_Needle.html">Buffon&#39;s Needle Problem</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jun 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Prpu_Maxflow.html">Formalizing Push-Relabel Algorithms</a></h5> <br>by <a href="../authors/lammich">Peter Lammich</a> and <a href="../authors/sefidgar">S. Reza Sefidgar</a></div>
<span class="date">
Jun 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Flow_Networks.html">Flow Networks and the Min-Cut-Max-Flow Theorem</a></h5> <br>by <a href="../authors/lammich">Peter Lammich</a> and <a href="../authors/sefidgar">S. Reza Sefidgar</a></div>
<span class="date">
Jun 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Optics.html">Optics</a></h5> <br>by <a href="../authors/fosters">Simon Foster</a> and <a href="../authors/zeyda">Frank Zeyda</a></div>
<span class="date">
May 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Dict_Construction.html">Dictionary Construction</a></h5> <br>by <a href="../authors/hupel">Lars Hupel</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Security_Protocol_Refinement.html">Developing Security Protocols by Refinement</a></h5> <br>by <a href="../authors/sprenger">Christoph Sprenger</a> and <a href="../authors/somaini">Ivano Somaini</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Floyd_Warshall.html">The Floyd-Warshall Algorithm for Shortest Paths</a></h5> <br>by <a href="../authors/wimmer">Simon Wimmer</a> and <a href="../authors/lammich">Peter Lammich</a></div>
<span class="date">
May 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Probabilistic_While.html">Probabilistic while loop</a></h5> <br>by <a href="../authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Monad_Normalisation.html">Monad normalisation</a></h5> <br>by <a href="../authors/schneider">Joshua Schneider</a>, <a href="../authors/eberl">Manuel Eberl</a> and <a href="../authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Game_Based_Crypto.html">Game-based cryptography in HOL</a></h5> <br>by <a href="../authors/lochbihler">Andreas Lochbihler</a>, <a href="../authors/sefidgar">S. Reza Sefidgar</a> and <a href="../authors/bhatt">Bhargav Bhatt</a></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Monomorphic_Monad.html">Effect polymorphism in higher-order logic</a></h5> <br>by <a href="../authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CryptHOL.html">CryptHOL</a></h5> <br>by <a href="../authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/MonoidalCategory.html">Monoidal Categories</a></h5> <br>by <a href="../authors/stark">Eugene W. Stark</a></div>
<span class="date">
May 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Types_Tableaus_and_Goedels_God.html">Types, Tableaus and Gödel’s God in Isabelle/HOL</a></h5> <br>by <a href="../authors/fuenmayor">David Fuenmayor</a> and <a href="../authors/benzmueller">Christoph Benzmüller</a></div>
<span class="date">
May 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/LocalLexing.html">Local Lexing</a></h5> <br>by <a href="../authors/obua">Steven Obua</a></div>
<span class="date">
Apr 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Constructor_Funs.html">Constructor Functions</a></h5> <br>by <a href="../authors/hupel">Lars Hupel</a></div>
<span class="date">
Apr 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Lazy_Case.html">Lazifying case constants</a></h5> <br>by <a href="../authors/hupel">Lars Hupel</a></div>
<span class="date">
Apr 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Subresultants.html">Subresultants</a></h5> <br>by <a href="../authors/joosten">Sebastiaan J. C. Joosten</a>, <a href="../authors/thiemann">René Thiemann</a> and <a href="../authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Apr 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Random_BSTs.html">Expected Shape of Random Binary Search Trees</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Apr 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Quick_Sort_Cost.html">The number of comparisons in QuickSort</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Mar 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Comparison_Sort_Lower_Bound.html">Lower bound on comparison-based sorting algorithms</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Mar 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Euler_MacLaurin.html">The Euler–MacLaurin Formula</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Mar 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Elliptic_Curves_Group_Law.html">The Group Law for Elliptic Curves</a></h5> <br>by <a href="../authors/berghofer">Stefan Berghofer</a></div>
<span class="date">
Feb 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Menger.html">Menger&#39;s Theorem</a></h5> <br>by <a href="../authors/dittmann">Christoph Dittmann</a></div>
<span class="date">
Feb 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Differential_Dynamic_Logic.html">Differential Dynamic Logic</a></h5> <br>by <a href="../authors/bohrer">Rose Bohrer</a></div>
<span class="date">
Feb 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Abstract_Soundness.html">Abstract Soundness</a></h5> <br>by <a href="../authors/blanchette">Jasmin Christian Blanchette</a>, <a href="../authors/popescu">Andrei Popescu</a> and <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Feb 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Stone_Relation_Algebras.html">Stone Relation Algebras</a></h5> <br>by <a href="../authors/guttmann">Walter Guttmann</a></div>
<span class="date">
Feb 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Key_Agreement_Strong_Adversaries.html">Refining Authenticated Key Agreement with Strong Adversaries</a></h5> <br>by <a href="../authors/lallemand">Joseph Lallemand</a> and <a href="../authors/sprenger">Christoph Sprenger</a></div>
<span class="date">
Jan 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Bernoulli.html">Bernoulli Numbers</a></h5> <br>by <a href="../authors/bulwahn">Lukas Bulwahn</a> and <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jan 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Minimal_SSA.html">Minimal Static Single Assignment Form</a></h5> <br>by <a href="../authors/wagner">Max Wagner</a> and <a href="../authors/lohner">Denis Lohner</a></div>
<span class="date">
Jan 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Bertrands_Postulate.html">Bertrand&#39;s postulate</a></h5> <br>by <a href="../authors/biendarra">Julian Biendarra</a> and <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jan 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/E_Transcendental.html">The Transcendence of e</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jan 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/UPF_Firewall.html">Formal Network Models and Their Application to Firewall Policies</a></h5> <br>by <a href="../authors/brucker">Achim D. Brucker</a>, <a href="../authors/bruegger">Lukas Brügger</a> and <a href="../authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Jan 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Password_Authentication_Protocol.html">Verification of a Diffie-Hellman Password-based Authentication Protocol by Extending the Inductive Method</a></h5> <br>by <a href="../authors/noce">Pasquale Noce</a></div>
<span class="date">
Jan 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/FOL_Harrison.html">First-Order Logic According to Harrison</a></h5> <br>by <a href="../authors/jensen">Alexander Birch Jensen</a>, <a href="../authors/schlichtkrull">Anders Schlichtkrull</a> and <a href="../authors/villadsen">Jørgen Villadsen</a></div>
<span class="date">
Jan 01
</span>
</article>
<h2 class="head">2016</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Concurrent_Ref_Alg.html">Concurrent Refinement Algebra and Rely Quotients</a></h5> <br>by <a href="../authors/fell">Julian Fell</a>, <a href="../authors/hayes">Ian J. Hayes</a> and <a href="../authors/velykis">Andrius Velykis</a></div>
<span class="date">
Dec 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Twelvefold_Way.html">The Twelvefold Way</a></h5> <br>by <a href="../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Dec 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Proof_Strategy_Language.html">Proof Strategy Language</a></h5> <br>by <a href="../authors/nagashima">Yutaka Nagashima</a></div>
<span class="date">
Dec 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Paraconsistency.html">Paraconsistency</a></h5> <br>by <a href="../authors/schlichtkrull">Anders Schlichtkrull</a> and <a href="../authors/villadsen">Jørgen Villadsen</a></div>
<span class="date">
Dec 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Complx.html">COMPLX: A Verification Framework for Concurrent Imperative Programs</a></h5> <br>by <a href="../authors/amani">Sidney Amani</a>, <a href="../authors/andronick">June Andronick</a>, <a href="../authors/bortin">Maksym Bortin</a>, <a href="../authors/lewis">Corey Lewis</a>, <a href="../authors/rizkallah">Christine Rizkallah</a> and <a href="../authors/tuongj">Joseph Tuong</a></div>
<span class="date">
Nov 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Abs_Int_ITP2012.html">Abstract Interpretation of Annotated Commands</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Nov 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Separata.html">Separata: Isabelle tactics for Separation Algebra</a></h5> <br>by <a href="../authors/hou">Zhe Hou</a>, <a href="../authors/sanan">David Sanan</a>, <a href="../authors/tiu">Alwen Tiu</a>, <a href="../authors/gore">Rajeev Gore</a> and <a href="../authors/clouston">Ranald Clouston</a></div>
<span class="date">
Nov 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Nested_Multisets_Ordinals.html">Formalization of Nested Multisets, Hereditary Multisets, and Syntactic Ordinals</a></h5> <br>by <a href="../authors/blanchette">Jasmin Christian Blanchette</a>, <a href="../authors/fleury">Mathias Fleury</a> and <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Nov 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Lambda_Free_KBOs.html">Formalization of Knuth–Bendix Orders for Lambda-Free Higher-Order Terms</a></h5> <br>by <a href="../authors/becker">Heiko Becker</a>, <a href="../authors/blanchette">Jasmin Christian Blanchette</a>, <a href="../authors/waldmann">Uwe Waldmann</a> and <a href="../authors/wand">Daniel Wand</a></div>
<span class="date">
Nov 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Deep_Learning.html">Expressiveness of Deep Learning</a></h5> <br>by <a href="../authors/bentkamp">Alexander Bentkamp</a></div>
<span class="date">
Nov 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Modal_Logics_for_NTS.html">Modal Logics for Nominal Transition Systems</a></h5> <br>by <a href="../authors/weber">Tjark Weber</a>, <a href="../authors/eriksson">Lars-Henrik Eriksson</a>, <a href="../authors/parrow">Joachim Parrow</a>, <a href="../authors/borgstroem">Johannes Borgström</a> and <a href="../authors/gutkovas">Ramunas Gutkovas</a></div>
<span class="date">
Oct 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Stable_Matching.html">Stable Matching</a></h5> <br>by <a href="../authors/gammie">Peter Gammie</a></div>
<span class="date">
Oct 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/LOFT.html">LOFT — Verified Migration of Linux Firewalls to SDN</a></h5> <br>by <a href="../authors/michaelis">Julius Michaelis</a> and <a href="../authors/diekmann">Cornelius Diekmann</a></div>
<span class="date">
Oct 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Source_Coding_Theorem.html">Source Coding Theorem</a></h5> <br>by <a href="../authors/hibon">Quentin Hibon</a> and <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/SPARCv8.html">A formal model for the SPARCv8 ISA and a proof of non-interference for the LEON3 processor</a></h5> <br>by <a href="../authors/hou">Zhe Hou</a>, <a href="../authors/sanan">David Sanan</a>, <a href="../authors/tiu">Alwen Tiu</a> and <a href="../authors/liuy">Yang Liu</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Berlekamp_Zassenhaus.html">The Factorization Algorithm of Berlekamp and Zassenhaus</a></h5> <br>by <a href="../authors/divason">Jose Divasón</a>, <a href="../authors/joosten">Sebastiaan J. C. Joosten</a>, <a href="../authors/thiemann">René Thiemann</a> and <a href="../authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Oct 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Chord_Segments.html">Intersecting Chords Theorem</a></h5> <br>by <a href="../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Oct 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Lp.html">Lp spaces</a></h5> <br>by <a href="../authors/gouezel">Sebastien Gouezel</a></div>
<span class="date">
Oct 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Fisher_Yates.html">Fisher–Yates shuffle</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Sep 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Allen_Calculus.html">Allen&#39;s Interval Calculus</a></h5> <br>by <a href="../authors/ghourabi">Fadoua Ghourabi</a></div>
<span class="date">
Sep 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Lambda_Free_RPOs.html">Formalization of Recursive Path Orders for Lambda-Free Higher-Order Terms</a></h5> <br>by <a href="../authors/blanchette">Jasmin Christian Blanchette</a>, <a href="../authors/waldmann">Uwe Waldmann</a> and <a href="../authors/wand">Daniel Wand</a></div>
<span class="date">
Sep 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Iptables_Semantics.html">Iptables Semantics</a></h5> <br>by <a href="../authors/diekmann">Cornelius Diekmann</a> and <a href="../authors/hupel">Lars Hupel</a></div>
<span class="date">
Sep 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Stone_Algebras.html">Stone Algebras</a></h5> <br>by <a href="../authors/guttmann">Walter Guttmann</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/SuperCalc.html">A Variant of the Superposition Calculus</a></h5> <br>by <a href="../authors/peltier">Nicolas Peltier</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Stirling_Formula.html">Stirling&#39;s formula</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Sep 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Routing.html">Routing</a></h5> <br>by <a href="../authors/michaelis">Julius Michaelis</a> and <a href="../authors/diekmann">Cornelius Diekmann</a></div>
<span class="date">
Aug 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Simple_Firewall.html">Simple Firewall</a></h5> <br>by <a href="../authors/diekmann">Cornelius Diekmann</a>, <a href="../authors/michaelis">Julius Michaelis</a> and <a href="../authors/haslbeck">Max W. Haslbeck</a></div>
<span class="date">
Aug 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/InfPathElimination.html">Infeasible Paths Elimination by Symbolic Execution Techniques: Proof of Correctness and Preservation of Paths</a></h5> <br>by <a href="../authors/aissat">Romain Aissat</a>, <a href="../authors/voisin">Frederic Voisin</a> and <a href="../authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Aug 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/EdmondsKarp_Maxflow.html">Formalizing the Edmonds-Karp Algorithm</a></h5> <br>by <a href="../authors/lammich">Peter Lammich</a> and <a href="../authors/sefidgar">S. Reza Sefidgar</a></div>
<span class="date">
Aug 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Refine_Imperative_HOL.html">The Imperative Refinement Framework</a></h5> <br>by <a href="../authors/lammich">Peter Lammich</a></div>
<span class="date">
Aug 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Ptolemys_Theorem.html">Ptolemy&#39;s Theorem</a></h5> <br>by <a href="../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Aug 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Surprise_Paradox.html">Surprise Paradox</a></h5> <br>by <a href="../authors/breitner">Joachim Breitner</a></div>
<span class="date">
Jul 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Pairing_Heap.html">Pairing Heap</a></h5> <br>by <a href="../authors/brinkop">Hauke Brinkop</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jul 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/DFS_Framework.html">A Framework for Verifying Depth-First Search Algorithms</a></h5> <br>by <a href="../authors/lammich">Peter Lammich</a> and <a href="../authors/neumann">René Neumann</a></div>
<span class="date">
Jul 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Buildings.html">Chamber Complexes, Coxeter Systems, and Buildings</a></h5> <br>by <a href="../authors/sylvestre">Jeremy Sylvestre</a></div>
<span class="date">
Jul 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Rewriting_Z.html">The Z Property</a></h5> <br>by <a href="../authors/felgenhauer">Bertram Felgenhauer</a>, <a href="../authors/nagele">Julian Nagele</a>, <a href="../authors/oostrom">Vincent van Oostrom</a> and <a href="../authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Jun 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Resolution_FOL.html">The Resolution Calculus for First-Order Logic</a></h5> <br>by <a href="../authors/schlichtkrull">Anders Schlichtkrull</a></div>
<span class="date">
Jun 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/IP_Addresses.html">IP Addresses</a></h5> <br>by <a href="../authors/diekmann">Cornelius Diekmann</a>, <a href="../authors/michaelis">Julius Michaelis</a> and <a href="../authors/hupel">Lars Hupel</a></div>
<span class="date">
Jun 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Dependent_SIFUM_Refinement.html">Compositional Security-Preserving Refinement for Concurrent Imperative Programs</a></h5> <br>by <a href="../authors/murray">Toby Murray</a>, <a href="../authors/sison">Robert Sison</a>, <a href="../authors/pierzchalski">Edward Pierzchalski</a> and <a href="../authors/rizkallah">Christine Rizkallah</a></div>
<span class="date">
Jun 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Category3.html">Category Theory with Adjunctions and Limits</a></h5> <br>by <a href="../authors/stark">Eugene W. Stark</a></div>
<span class="date">
Jun 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Card_Multisets.html">Cardinality of Multisets</a></h5> <br>by <a href="../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Jun 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Dependent_SIFUM_Type_Systems.html">A Dependent Security Type System for Concurrent Imperative Programs</a></h5> <br>by <a href="../authors/murray">Toby Murray</a>, <a href="../authors/sison">Robert Sison</a>, <a href="../authors/pierzchalski">Edward Pierzchalski</a> and <a href="../authors/rizkallah">Christine Rizkallah</a></div>
<span class="date">
Jun 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Catalan_Numbers.html">Catalan Numbers</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jun 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Algebraic_VCs.html">Program Construction and Verification Components Based on Kleene Algebra</a></h5> <br>by <a href="../authors/gomes">Victor B. F. Gomes</a> and <a href="../authors/struth">Georg Struth</a></div>
<span class="date">
Jun 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Noninterference_Concurrent_Composition.html">Conservation of CSP Noninterference Security under Concurrent Composition</a></h5> <br>by <a href="../authors/noce">Pasquale Noce</a></div>
<span class="date">
Jun 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Word_Lib.html">Finite Machine Word Library</a></h5> <br>by <a href="../authors/beeren">Joel Beeren</a>, <a href="../authors/fernandez">Matthew Fernandez</a>, <a href="../authors/gao">Xin Gao</a>, <a href="../authors/klein">Gerwin Klein</a>, <a href="../authors/kolanski">Rafal Kolanski</a>, <a href="../authors/lim">Japheth Lim</a>, <a href="../authors/lewis">Corey Lewis</a>, <a href="../authors/matichuk">Daniel Matichuk</a> and <a href="../authors/sewell">Thomas Sewell</a></div>
<span class="date">
Jun 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Tree_Decomposition.html">Tree Decomposition</a></h5> <br>by <a href="../authors/dittmann">Christoph Dittmann</a></div>
<span class="date">
May 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Posix-Lexing.html">POSIX Lexing with Derivatives of Regular Expressions</a></h5> <br>by <a href="../authors/ausaf">Fahad Ausaf</a>, <a href="../authors/dyckhoff">Roy Dyckhoff</a> and <a href="../authors/urban">Christian Urban</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Card_Equiv_Relations.html">Cardinality of Equivalence Relations</a></h5> <br>by <a href="../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Incredible_Proof_Machine.html">The meta theory of the Incredible Proof Machine</a></h5> <br>by <a href="../authors/breitner">Joachim Breitner</a> and <a href="../authors/lohner">Denis Lohner</a></div>
<span class="date">
May 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Perron_Frobenius.html">Perron-Frobenius Theorem for Spectral Radius Analysis</a></h5> <br>by <a href="../authors/divason">Jose Divasón</a>, <a href="../authors/kuncar">Ondřej Kunčar</a>, <a href="../authors/thiemann">René Thiemann</a> and <a href="../authors/yamada">Akihisa Yamada</a></div>
<span class="date">
May 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/FLP.html">A Constructive Proof for FLP</a></h5> <br>by <a href="../authors/bisping">Benjamin Bisping</a>, <a href="../authors/brodmann">Paul-David Brodmann</a>, <a href="../authors/jungnickel">Tim Jungnickel</a>, <a href="../authors/rickmann">Christina Rickmann</a>, <a href="../authors/seidler">Henning Seidler</a>, <a href="../authors/stueber">Anke Stüber</a>, <a href="../authors/weidner">Arno Wilhelm-Weidner</a>, <a href="../authors/peters">Kirstin Peters</a> and <a href="../authors/nestmann">Uwe Nestmann</a></div>
<span class="date">
May 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/MFMC_Countable.html">A Formal Proof of the Max-Flow Min-Cut Theorem for Countable Networks</a></h5> <br>by <a href="../authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
May 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Randomised_Social_Choice.html">Randomised Social Choice Theory</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/SDS_Impossibility.html">The Incompatibility of SD-Efficiency and SD-Strategy-Proofness</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
May 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Bell_Numbers_Spivey.html">Spivey&#39;s Generalized Recurrence for Bell Numbers</a></h5> <br>by <a href="../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
May 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Groebner_Bases.html">Gröbner Bases Theory</a></h5> <br>by <a href="../authors/immler">Fabian Immler</a> and <a href="../authors/maletzky">Alexander Maletzky</a></div>
<span class="date">
May 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/No_FTL_observers.html">No Faster-Than-Light Observers</a></h5> <br>by <a href="../authors/stannett">Mike Stannett</a> and <a href="../authors/nemeti">István Németi</a></div>
<span class="date">
Apr 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/ROBDD.html">Algorithms for Reduced Ordered Binary Decision Diagrams</a></h5> <br>by <a href="../authors/michaelis">Julius Michaelis</a>, <a href="../authors/haslbeck">Max W. Haslbeck</a>, <a href="../authors/lammich">Peter Lammich</a> and <a href="../authors/hupel">Lars Hupel</a></div>
<span class="date">
Apr 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CYK.html">A formalisation of the Cocke-Younger-Kasami algorithm</a></h5> <br>by <a href="../authors/bortin">Maksym Bortin</a></div>
<span class="date">
Apr 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Noninterference_Sequential_Composition.html">Conservation of CSP Noninterference Security under Sequential Composition</a></h5> <br>by <a href="../authors/noce">Pasquale Noce</a></div>
<span class="date">
Apr 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/KAD.html">Kleene Algebras with Domain</a></h5> <br>by <a href="../authors/gomes">Victor B. F. Gomes</a>, <a href="../authors/guttmann">Walter Guttmann</a>, <a href="../authors/hoefner">Peter Höfner</a>, <a href="../authors/struth">Georg Struth</a> and <a href="../authors/weber">Tjark Weber</a></div>
<span class="date">
Apr 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/PropResPI.html">Propositional Resolution and Prime Implicates Generation</a></h5> <br>by <a href="../authors/peltier">Nicolas Peltier</a></div>
<span class="date">
Mar 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Timed_Automata.html">Timed Automata</a></h5> <br>by <a href="../authors/wimmer">Simon Wimmer</a></div>
<span class="date">
Mar 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Cartan_FP.html">The Cartan Fixed Point Theorems</a></h5> <br>by <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Mar 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/LTL.html">Linear Temporal Logic</a></h5> <br>by <a href="../authors/sickert">Salomon Sickert</a></div>
<span class="date">
Mar 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/List_Update.html">Analysis of List Update Algorithms</a></h5> <br>by <a href="../authors/haslbeckm">Maximilian P. L. Haslbeck</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Feb 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Formal_SSA.html">Verified Construction of Static Single Assignment Form</a></h5> <br>by <a href="../authors/ullrich">Sebastian Ullrich</a> and <a href="../authors/lohner">Denis Lohner</a></div>
<span class="date">
Feb 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Polynomial_Interpolation.html">Polynomial Interpolation</a></h5> <br>by <a href="../authors/thiemann">René Thiemann</a> and <a href="../authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Jan 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Polynomial_Factorization.html">Polynomial Factorization</a></h5> <br>by <a href="../authors/thiemann">René Thiemann</a> and <a href="../authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Jan 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Knot_Theory.html">Knot Theory</a></h5> <br>by <a href="../authors/prathamesh">T.V.H. Prathamesh</a></div>
<span class="date">
Jan 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Matrix_Tensor.html">Tensor Product of Matrices</a></h5> <br>by <a href="../authors/prathamesh">T.V.H. Prathamesh</a></div>
<span class="date">
Jan 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Card_Number_Partitions.html">Cardinality of Number Partitions</a></h5> <br>by <a href="../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Jan 14
</span>
</article>
<h2 class="head">2015</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Prime_Harmonic_Series.html">The Divergence of the Prime Harmonic Series</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Liouville_Numbers.html">Liouville numbers</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Descartes_Sign_Rule.html">Descartes&#39; Rule of Signs</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Triangle.html">Basic Geometric Properties of Triangles</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Stern_Brocot.html">The Stern-Brocot Tree</a></h5> <br>by <a href="../authors/gammie">Peter Gammie</a> and <a href="../authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
Dec 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Applicative_Lifting.html">Applicative Lifting</a></h5> <br>by <a href="../authors/lochbihler">Andreas Lochbihler</a> and <a href="../authors/schneider">Joshua Schneider</a></div>
<span class="date">
Dec 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Algebraic_Numbers.html">Algebraic Numbers in Isabelle/HOL</a></h5> <br>by <a href="../authors/thiemann">René Thiemann</a>, <a href="../authors/yamada">Akihisa Yamada</a> and <a href="../authors/joosten">Sebastiaan J. C. Joosten</a></div>
<span class="date">
Dec 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Card_Partitions.html">Cardinality of Set Partitions</a></h5> <br>by <a href="../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Dec 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Latin_Square.html">Latin Square</a></h5> <br>by <a href="../authors/bentkamp">Alexander Bentkamp</a></div>
<span class="date">
Dec 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Ergodic_Theory.html">Ergodic Theory</a></h5> <br>by <a href="../authors/gouezel">Sebastien Gouezel</a></div>
<span class="date">
Dec 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Euler_Partition.html">Euler&#39;s Partition Theorem</a></h5> <br>by <a href="../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Nov 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/TortoiseHare.html">The Tortoise and Hare Algorithm</a></h5> <br>by <a href="../authors/gammie">Peter Gammie</a></div>
<span class="date">
Nov 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Planarity_Certificates.html">Planarity Certificates</a></h5> <br>by <a href="../authors/noschinski">Lars Noschinski</a></div>
<span class="date">
Nov 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Parity_Game.html">Positional Determinacy of Parity Games</a></h5> <br>by <a href="../authors/dittmann">Christoph Dittmann</a></div>
<span class="date">
Nov 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Isabelle_Meta_Model.html">A Meta-Model for the Isabelle API</a></h5> <br>by <a href="../authors/tuong">Frédéric Tuong</a> and <a href="../authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/LTL_to_DRA.html">Converting Linear Temporal Logic to Deterministic (Generalized) Rabin Automata</a></h5> <br>by <a href="../authors/sickert">Salomon Sickert</a></div>
<span class="date">
Sep 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Jordan_Normal_Form.html">Matrices, Jordan Normal Forms, and Spectral Radius Theory</a></h5> <br>by <a href="../authors/thiemann">René Thiemann</a> and <a href="../authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Aug 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Decreasing-Diagrams-II.html">Decreasing Diagrams II</a></h5> <br>by <a href="../authors/felgenhauer">Bertram Felgenhauer</a></div>
<span class="date">
Aug 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Noninterference_Inductive_Unwinding.html">The Inductive Unwinding Theorem for CSP Noninterference Security</a></h5> <br>by <a href="../authors/noce">Pasquale Noce</a></div>
<span class="date">
Aug 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Rep_Fin_Groups.html">Representations of Finite Groups</a></h5> <br>by <a href="../authors/sylvestre">Jeremy Sylvestre</a></div>
<span class="date">
Aug 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Encodability_Process_Calculi.html">Analysing and Comparing Encodability Criteria for Process Calculi</a></h5> <br>by <a href="../authors/peters">Kirstin Peters</a> and <a href="../authors/glabbeek">Rob van Glabbeek</a></div>
<span class="date">
Aug 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Case_Labeling.html">Generating Cases from Labeled Subgoals</a></h5> <br>by <a href="../authors/noschinski">Lars Noschinski</a></div>
<span class="date">
Jul 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Akra_Bazzi.html">The Akra-Bazzi theorem and the Master theorem</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jul 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Landau_Symbols.html">Landau Symbols</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jul 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Hermite.html">Hermite Normal Form</a></h5> <br>by <a href="../authors/divason">Jose Divasón</a> and <a href="../authors/aransay">Jesús Aransay</a></div>
<span class="date">
Jul 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Derangements.html">Derangements Formula</a></h5> <br>by <a href="../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Jun 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Noninterference_Ipurge_Unwinding.html">The Ipurge Unwinding Theorem for CSP Noninterference Security</a></h5> <br>by <a href="../authors/noce">Pasquale Noce</a></div>
<span class="date">
Jun 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Noninterference_Generic_Unwinding.html">The Generic Unwinding Theorem for CSP Noninterference Security</a></h5> <br>by <a href="../authors/noce">Pasquale Noce</a></div>
<span class="date">
Jun 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/List_Interleaving.html">Reasoning about Lists via List Interleaving</a></h5> <br>by <a href="../authors/noce">Pasquale Noce</a></div>
<span class="date">
Jun 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Multirelations.html">Binary Multirelations</a></h5> <br>by <a href="../authors/furusawa">Hitoshi Furusawa</a> and <a href="../authors/struth">Georg Struth</a></div>
<span class="date">
Jun 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Dynamic_Tables.html">Parameterized Dynamic Tables</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Formula_Derivatives.html">Derivatives of Logical Formulas</a></h5> <br>by <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Probabilistic_System_Zoo.html">A Zoo of Probabilistic Systems</a></h5> <br>by <a href="../authors/hoelzl">Johannes Hölzl</a>, <a href="../authors/lochbihler">Andreas Lochbihler</a> and <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
May 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Vickrey_Clarke_Groves.html">VCG - Combinatorial Vickrey-Clarke-Groves Auctions</a></h5> <br>by <a href="../authors/caminati">Marco B. Caminati</a>, <a href="../authors/kerber">Manfred Kerber</a>, <a href="../authors/lange">Christoph Lange</a> and <a href="../authors/rowat">Colin Rowat</a></div>
<span class="date">
Apr 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Residuated_Lattices.html">Residuated Lattices</a></h5> <br>by <a href="../authors/gomes">Victor B. F. Gomes</a> and <a href="../authors/struth">Georg Struth</a></div>
<span class="date">
Apr 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/ConcurrentGC.html">Relaxing Safely: Verified On-the-Fly Garbage Collection for x86-TSO</a></h5> <br>by <a href="../authors/gammie">Peter Gammie</a>, <a href="../authors/hosking">Tony Hosking</a> and <a href="../authors/engelhardt">Kai Engelhardt</a></div>
<span class="date">
Apr 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/ConcurrentIMP.html">Concurrent IMP</a></h5> <br>by <a href="../authors/gammie">Peter Gammie</a></div>
<span class="date">
Apr 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Trie.html">Trie</a></h5> <br>by <a href="../authors/lochbihler">Andreas Lochbihler</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Mar 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Consensus_Refined.html">Consensus Refined</a></h5> <br>by <a href="../authors/maric">Ognjen Marić</a> and <a href="../authors/sprenger">Christoph Sprenger</a></div>
<span class="date">
Mar 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Deriving.html">Deriving class instances for datatypes</a></h5> <br>by <a href="../authors/sternagel">Christian Sternagel</a> and <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Mar 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Call_Arity.html">The Safety of Call Arity</a></h5> <br>by <a href="../authors/breitner">Joachim Breitner</a></div>
<span class="date">
Feb 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/QR_Decomposition.html">QR Decomposition</a></h5> <br>by <a href="../authors/divason">Jose Divasón</a> and <a href="../authors/aransay">Jesús Aransay</a></div>
<span class="date">
Feb 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Echelon_Form.html">Echelon Form</a></h5> <br>by <a href="../authors/divason">Jose Divasón</a> and <a href="../authors/aransay">Jesús Aransay</a></div>
<span class="date">
Feb 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Finite_Automata_HF.html">Finite Automata in Hereditarily Finite Set Theory</a></h5> <br>by <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Feb 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/UpDown_Scheme.html">Verification of the UpDown Scheme</a></h5> <br>by <a href="../authors/hoelzl">Johannes Hölzl</a></div>
<span class="date">
Jan 28
</span>
</article>
<h2 class="head">2014</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/UPF.html">The Unified Policy Framework (UPF)</a></h5> <br>by <a href="../authors/brucker">Achim D. Brucker</a>, <a href="../authors/bruegger">Lukas Brügger</a> and <a href="../authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Nov 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/AODV.html">Loop freedom of the (untimed) AODV routing protocol</a></h5> <br>by <a href="../authors/bourke">Timothy Bourke</a> and <a href="../authors/hoefner">Peter Höfner</a></div>
<span class="date">
Oct 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Lifting_Definition_Option.html">Lifting Definition Option</a></h5> <br>by <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Oct 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Stream_Fusion_Code.html">Stream Fusion in HOL with Code Generation</a></h5> <br>by <a href="../authors/lochbihler">Andreas Lochbihler</a> and <a href="../authors/maximova">Alexandra Maximova</a></div>
<span class="date">
Oct 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Density_Compiler.html">A Verified Compiler for Probability Density Functions</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a>, <a href="../authors/hoelzl">Johannes Hölzl</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Oct 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/RefinementReactive.html">Formalization of Refinement Calculus for Reactive Systems</a></h5> <br>by <a href="../authors/preoteasa">Viorel Preoteasa</a></div>
<span class="date">
Oct 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/XML.html">XML</a></h5> <br>by <a href="../authors/sternagel">Christian Sternagel</a> and <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Oct 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Certification_Monads.html">Certification Monads</a></h5> <br>by <a href="../authors/sternagel">Christian Sternagel</a> and <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Oct 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Imperative_Insertion_Sort.html">Imperative Insertion Sort</a></h5> <br>by <a href="../authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Sep 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Sturm_Tarski.html">The Sturm-Tarski Theorem</a></h5> <br>by <a href="../authors/li">Wenda Li</a></div>
<span class="date">
Sep 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Cayley_Hamilton.html">The Cayley-Hamilton Theorem</a></h5> <br>by <a href="../authors/adelsberger">Stephan Adelsberger</a>, <a href="../authors/hetzl">Stefan Hetzl</a> and <a href="../authors/pollak">Florian Pollak</a></div>
<span class="date">
Sep 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Jordan_Hoelder.html">The Jordan-Hölder Theorem</a></h5> <br>by <a href="../authors/raumer">Jakob von Raumer</a></div>
<span class="date">
Sep 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Priority_Queue_Braun.html">Priority Queues Based on Braun Trees</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Sep 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Gauss_Jordan.html">Gauss-Jordan Algorithm and Its Applications</a></h5> <br>by <a href="../authors/divason">Jose Divasón</a> and <a href="../authors/aransay">Jesús Aransay</a></div>
<span class="date">
Sep 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/VectorSpace.html">Vector Spaces</a></h5> <br>by <a href="../authors/lee">Holden Lee</a></div>
<span class="date">
Aug 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Special_Function_Bounds.html">Real-Valued Special Functions: Upper and Lower Bounds</a></h5> <br>by <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Aug 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Skew_Heap.html">Skew Heap</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Aug 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Splay_Tree.html">Splay Tree</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Aug 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Show.html">Haskell&#39;s Show Class in Isabelle/HOL</a></h5> <br>by <a href="../authors/sternagel">Christian Sternagel</a> and <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Jul 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CISC-Kernel.html">Formal Specification of a Generic Separation Kernel</a></h5> <br>by <a href="../authors/verbeek">Freek Verbeek</a>, <a href="../authors/tverdyshev">Sergey Tverdyshev</a>, <a href="../authors/havle">Oto Havle</a>, <a href="../authors/blasum">Holger Blasum</a>, <a href="../authors/langenstein">Bruno Langenstein</a>, <a href="../authors/stephan">Werner Stephan</a>, <a href="../authors/nemouchi">Yakoub Nemouchi</a>, <a href="../authors/feliachi">Abderrahmane Feliachi</a>, <a href="../authors/wolff">Burkhart Wolff</a> and <a href="../authors/schmaltz">Julien Schmaltz</a></div>
<span class="date">
Jul 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/pGCL.html">pGCL for Isabelle</a></h5> <br>by <a href="../authors/cock">David Cock</a></div>
<span class="date">
Jul 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Amortized_Complexity.html">Amortized Complexity Verified</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jul 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Network_Security_Policy_Verification.html">Network Security Policy Verification</a></h5> <br>by <a href="../authors/diekmann">Cornelius Diekmann</a></div>
<span class="date">
Jul 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Pop_Refinement.html">Pop-Refinement</a></h5> <br>by <a href="../authors/coglio">Alessandro Coglio</a></div>
<span class="date">
Jul 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/MSO_Regex_Equivalence.html">Decision Procedures for MSO on Words Based on Derivatives of Regular Expressions</a></h5> <br>by <a href="../authors/traytel">Dmitriy Traytel</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Boolean_Expression_Checkers.html">Boolean Expression Checkers</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Gabow_SCC.html">Verified Efficient Implementation of Gabow&#39;s Strongly Connected Components Algorithm</a></h5> <br>by <a href="../authors/lammich">Peter Lammich</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CAVA_Automata.html">The CAVA Automata Library</a></h5> <br>by <a href="../authors/lammich">Peter Lammich</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Promela.html">Promela Formalization</a></h5> <br>by <a href="../authors/neumann">René Neumann</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/LTL_to_GBA.html">Converting Linear-Time Temporal Logic to Generalized Büchi Automata</a></h5> <br>by <a href="../authors/schimpf">Alexander Schimpf</a> and <a href="../authors/lammich">Peter Lammich</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CAVA_LTL_Modelchecker.html">A Fully Verified Executable LTL Model Checker</a></h5> <br>by <a href="../authors/esparza">Javier Esparza</a>, <a href="../authors/lammich">Peter Lammich</a>, <a href="../authors/neumann">René Neumann</a>, <a href="../authors/nipkow">Tobias Nipkow</a>, <a href="../authors/schimpf">Alexander Schimpf</a> and <a href="../authors/smaus">Jan-Georg Smaus</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Roy_Floyd_Warshall.html">Transitive closure according to Roy-Floyd-Warshall</a></h5> <br>by <a href="../authors/wenzel">Makarius Wenzel</a></div>
<span class="date">
May 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Noninterference_CSP.html">Noninterference Security in Communicating Sequential Processes</a></h5> <br>by <a href="../authors/noce">Pasquale Noce</a></div>
<span class="date">
May 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Regular_Algebras.html">Regular Algebras</a></h5> <br>by <a href="../authors/fosters">Simon Foster</a> and <a href="../authors/struth">Georg Struth</a></div>
<span class="date">
May 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/ComponentDependencies.html">Formalisation and Analysis of Component Dependencies</a></h5> <br>by <a href="../authors/spichkova">Maria Spichkova</a></div>
<span class="date">
Apr 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Strong_Security.html">A Formalization of Strong Security</a></h5> <br>by <a href="../authors/grewe">Sylvia Grewe</a>, <a href="../authors/lux">Alexander Lux</a>, <a href="../authors/mantel">Heiko Mantel</a> and <a href="../authors/sauer">Jens Sauer</a></div>
<span class="date">
Apr 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/WHATandWHERE_Security.html">A Formalization of Declassification with WHAT-and-WHERE-Security</a></h5> <br>by <a href="../authors/grewe">Sylvia Grewe</a>, <a href="../authors/lux">Alexander Lux</a>, <a href="../authors/mantel">Heiko Mantel</a> and <a href="../authors/sauer">Jens Sauer</a></div>
<span class="date">
Apr 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/SIFUM_Type_Systems.html">A Formalization of Assumptions and Guarantees for Compositional Noninterference</a></h5> <br>by <a href="../authors/grewe">Sylvia Grewe</a>, <a href="../authors/mantel">Heiko Mantel</a> and <a href="../authors/schoepe">Daniel Schoepe</a></div>
<span class="date">
Apr 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Bounded_Deducibility_Security.html">Bounded-Deducibility Security</a></h5> <br>by <a href="../authors/popescu">Andrei Popescu</a>, <a href="../authors/lammich">Peter Lammich</a> and <a href="../authors/bauereiss">Thomas Bauereiss</a></div>
<span class="date">
Apr 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Abstract_Completeness.html">Abstract Completeness</a></h5> <br>by <a href="../authors/blanchette">Jasmin Christian Blanchette</a>, <a href="../authors/popescu">Andrei Popescu</a> and <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Apr 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/HyperCTL.html">A shallow embedding of HyperCTL*</a></h5> <br>by <a href="../authors/rabe">Markus N. Rabe</a>, <a href="../authors/lammich">Peter Lammich</a> and <a href="../authors/popescu">Andrei Popescu</a></div>
<span class="date">
Apr 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Discrete_Summation.html">Discrete Summation</a></h5> <br>by <a href="../authors/haftmann">Florian Haftmann</a></div>
<span class="date">
Apr 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/GPU_Kernel_PL.html">Syntax and semantics of a GPU kernel programming language</a></h5> <br>by <a href="../authors/wickerson">John Wickerson</a></div>
<span class="date">
Apr 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Probabilistic_Noninterference.html">Probabilistic Noninterference</a></h5> <br>by <a href="../authors/popescu">Andrei Popescu</a> and <a href="../authors/hoelzl">Johannes Hölzl</a></div>
<span class="date">
Mar 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/AWN.html">Mechanization of the Algebra for Wireless Networks (AWN)</a></h5> <br>by <a href="../authors/bourke">Timothy Bourke</a></div>
<span class="date">
Mar 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Partial_Function_MR.html">Mutually Recursive Partial Functions</a></h5> <br>by <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Feb 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Random_Graph_Subgraph_Threshold.html">Properties of Random Graphs -- Subgraph Containment</a></h5> <br>by <a href="../authors/hupel">Lars Hupel</a></div>
<span class="date">
Feb 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Selection_Heap_Sort.html">Verification of Selection and Heap Sort Using Locales</a></h5> <br>by <a href="../authors/petrovic">Danijela Petrovic</a></div>
<span class="date">
Feb 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Affine_Arithmetic.html">Affine Arithmetic</a></h5> <br>by <a href="../authors/immler">Fabian Immler</a></div>
<span class="date">
Feb 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Real_Impl.html">Implementing field extensions of the form Q[sqrt(b)]</a></h5> <br>by <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Feb 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Regex_Equivalence.html">Unified Decision Procedures for Regular Expression Equivalence</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a> and <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Jan 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Secondary_Sylow.html">Secondary Sylow Theorems</a></h5> <br>by <a href="../authors/raumer">Jakob von Raumer</a></div>
<span class="date">
Jan 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Relation_Algebra.html">Relation Algebra</a></h5> <br>by <a href="../authors/armstrong">Alasdair Armstrong</a>, <a href="../authors/fosters">Simon Foster</a>, <a href="../authors/struth">Georg Struth</a> and <a href="../authors/weber">Tjark Weber</a></div>
<span class="date">
Jan 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/KAT_and_DRA.html">Kleene Algebra with Tests and Demonic Refinement Algebras</a></h5> <br>by <a href="../authors/armstrong">Alasdair Armstrong</a>, <a href="../authors/gomes">Victor B. F. Gomes</a> and <a href="../authors/struth">Georg Struth</a></div>
<span class="date">
Jan 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Featherweight_OCL.html">Featherweight OCL: A Proposal for a Machine-Checked Formal Semantics for OCL 2.5</a></h5> <br>by <a href="../authors/brucker">Achim D. Brucker</a>, <a href="../authors/tuong">Frédéric Tuong</a> and <a href="../authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Jan 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Sturm_Sequences.html">Sturm&#39;s Theorem</a></h5> <br>by <a href="../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jan 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CryptoBasedCompositionalProperties.html">Compositional Properties of Crypto-Based Components</a></h5> <br>by <a href="../authors/spichkova">Maria Spichkova</a></div>
<span class="date">
Jan 11
</span>
</article>
<h2 class="head">2013</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Tail_Recursive_Functions.html">A General Method for the Proof of Theorems on Tail-recursive Functions</a></h5> <br>by <a href="../authors/noce">Pasquale Noce</a></div>
<span class="date">
Dec 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/HereditarilyFinite.html">The Hereditarily Finite Sets</a></h5> <br>by <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Nov 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Incompleteness.html">Gödel&#39;s Incompleteness Theorems</a></h5> <br>by <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Nov 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Coinductive_Languages.html">A Codatatype of Formal Languages</a></h5> <br>by <a href="../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Nov 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/FocusStreamsCaseStudies.html">Stream Processing Components: Isabelle/HOL Formalisation and Case Studies</a></h5> <br>by <a href="../authors/spichkova">Maria Spichkova</a></div>
<span class="date">
Nov 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/GoedelGod.html">Gödel&#39;s God in Isabelle/HOL</a></h5> <br>by <a href="../authors/benzmueller">Christoph Benzmüller</a> and <a href="../authors/paleo">Bruno Woltzenlogel Paleo</a></div>
<span class="date">
Nov 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Decreasing-Diagrams.html">Decreasing Diagrams</a></h5> <br>by <a href="../authors/zankl">Harald Zankl</a></div>
<span class="date">
Nov 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Automatic_Refinement.html">Automatic Data Refinement</a></h5> <br>by <a href="../authors/lammich">Peter Lammich</a></div>
<span class="date">
Oct 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Native_Word.html">Native Word</a></h5> <br>by <a href="../authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
Sep 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/IEEE_Floating_Point.html">A Formal Model of IEEE Floating Point Arithmetic</a></h5> <br>by <a href="../authors/yu">Lei Yu</a></div>
<span class="date">
Jul 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Pratt_Certificate.html">Pratt&#39;s Primality Certificates</a></h5> <br>by <a href="../authors/wimmer">Simon Wimmer</a> and <a href="../authors/noschinski">Lars Noschinski</a></div>
<span class="date">
Jul 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Lehmer.html">Lehmer&#39;s Theorem</a></h5> <br>by <a href="../authors/wimmer">Simon Wimmer</a> and <a href="../authors/noschinski">Lars Noschinski</a></div>
<span class="date">
Jul 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Koenigsberg_Friendship.html">The Königsberg Bridge Problem and the Friendship Theorem</a></h5> <br>by <a href="../authors/li">Wenda Li</a></div>
<span class="date">
Jul 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Sort_Encodings.html">Sound and Complete Sort Encodings for First-Order Logic</a></h5> <br>by <a href="../authors/blanchette">Jasmin Christian Blanchette</a> and <a href="../authors/popescu">Andrei Popescu</a></div>
<span class="date">
Jun 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/ShortestPath.html">An Axiomatic Characterization of the Single-Source Shortest Path Problem</a></h5> <br>by <a href="../authors/rizkallah">Christine Rizkallah</a></div>
<span class="date">
May 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Graph_Theory.html">Graph Theory</a></h5> <br>by <a href="../authors/noschinski">Lars Noschinski</a></div>
<span class="date">
Apr 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Containers.html">Light-weight Containers</a></h5> <br>by <a href="../authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
Apr 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Nominal2.html">Nominal 2</a></h5> <br>by <a href="../authors/urban">Christian Urban</a>, <a href="../authors/berghofer">Stefan Berghofer</a> and <a href="../authors/kaliszyk">Cezary Kaliszyk</a></div>
<span class="date">
Feb 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Launchbury.html">The Correctness of Launchbury&#39;s Natural Semantics for Lazy Evaluation</a></h5> <br>by <a href="../authors/breitner">Joachim Breitner</a></div>
<span class="date">
Jan 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Ribbon_Proofs.html">Ribbon Proofs</a></h5> <br>by <a href="../authors/wickerson">John Wickerson</a></div>
<span class="date">
Jan 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Rank_Nullity_Theorem.html">Rank-Nullity Theorem in Linear Algebra</a></h5> <br>by <a href="../authors/divason">Jose Divasón</a> and <a href="../authors/aransay">Jesús Aransay</a></div>
<span class="date">
Jan 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Kleene_Algebra.html">Kleene Algebra</a></h5> <br>by <a href="../authors/armstrong">Alasdair Armstrong</a>, <a href="../authors/struth">Georg Struth</a> and <a href="../authors/weber">Tjark Weber</a></div>
<span class="date">
Jan 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Sqrt_Babylonian.html">Computing N-th Roots using the Babylonian Method</a></h5> <br>by <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Jan 03
</span>
</article>
<h2 class="head">2012</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Separation_Logic_Imperative_HOL.html">A Separation Logic Framework for Imperative HOL</a></h5> <br>by <a href="../authors/lammich">Peter Lammich</a> and <a href="../authors/meis">Rene Meis</a></div>
<span class="date">
Nov 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Open_Induction.html">Open Induction</a></h5> <br>by <a href="../authors/ogawa">Mizuhito Ogawa</a> and <a href="../authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Nov 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Tarskis_Geometry.html">The independence of Tarski&#39;s Euclidean axiom</a></h5> <br>by <a href="../authors/makarios">T. J. M. Makarios</a></div>
<span class="date">
Oct 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Bondy.html">Bondy&#39;s Theorem</a></h5> <br>by <a href="../authors/avigad">Jeremy Avigad</a> and <a href="../authors/hetzl">Stefan Hetzl</a></div>
<span class="date">
Oct 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Possibilistic_Noninterference.html">Possibilistic Noninterference</a></h5> <br>by <a href="../authors/popescu">Andrei Popescu</a> and <a href="../authors/hoelzl">Johannes Hölzl</a></div>
<span class="date">
Sep 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Datatype_Order_Generator.html">Generating linear orders for datatypes</a></h5> <br>by <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Aug 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Impossible_Geometry.html">Proving the Impossibility of Trisecting an Angle and Doubling the Cube</a></h5> <br>by <a href="../authors/romanos">Ralph Romanos</a> and <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Aug 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Heard_Of.html">Verifying Fault-Tolerant Distributed Algorithms in the Heard-Of Model</a></h5> <br>by <a href="../authors/debrat">Henri Debrat</a> and <a href="../authors/merz">Stephan Merz</a></div>
<span class="date">
Jul 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/PCF.html">Logical Relations for PCF</a></h5> <br>by <a href="../authors/gammie">Peter Gammie</a></div>
<span class="date">
Jul 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Tycon.html">Type Constructor Classes and Monad Transformers</a></h5> <br>by <a href="../authors/huffman">Brian Huffman</a></div>
<span class="date">
Jun 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Pi_Calculus.html">The pi-calculus in nominal logic</a></h5> <br>by <a href="../authors/bengtson">Jesper Bengtson</a></div>
<span class="date">
May 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Psi_Calculi.html">Psi-calculi in Isabelle</a></h5> <br>by <a href="../authors/bengtson">Jesper Bengtson</a></div>
<span class="date">
May 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CCS.html">CCS in nominal logic</a></h5> <br>by <a href="../authors/bengtson">Jesper Bengtson</a></div>
<span class="date">
May 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Circus.html">Isabelle/Circus</a></h5> <br>by <a href="../authors/feliachi">Abderrahmane Feliachi</a>, <a href="../authors/wolff">Burkhart Wolff</a> and <a href="../authors/gaudel">Marie-Claude Gaudel</a></div>
<span class="date">
May 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Separation_Algebra.html">Separation Algebra</a></h5> <br>by <a href="../authors/klein">Gerwin Klein</a>, <a href="../authors/kolanski">Rafal Kolanski</a> and <a href="../authors/boyton">Andrew Boyton</a></div>
<span class="date">
May 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Stuttering_Equivalence.html">Stuttering Equivalence</a></h5> <br>by <a href="../authors/merz">Stephan Merz</a></div>
<span class="date">
May 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Inductive_Confidentiality.html">Inductive Study of Confidentiality</a></h5> <br>by <a href="../authors/bella">Giampaolo Bella</a></div>
<span class="date">
May 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Ordinary_Differential_Equations.html">Ordinary Differential Equations</a></h5> <br>by <a href="../authors/immler">Fabian Immler</a> and <a href="../authors/hoelzl">Johannes Hölzl</a></div>
<span class="date">
Apr 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Well_Quasi_Orders.html">Well-Quasi-Orders</a></h5> <br>by <a href="../authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Apr 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Abortable_Linearizable_Modules.html">Abortable Linearizable Modules</a></h5> <br>by <a href="../authors/guerraoui">Rachid Guerraoui</a>, <a href="../authors/kuncak">Viktor Kuncak</a> and <a href="../authors/losa">Giuliano Losa</a></div>
<span class="date">
Mar 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Transitive-Closure-II.html">Executable Transitive Closures</a></h5> <br>by <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Feb 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Girth_Chromatic.html">A Probabilistic Proof of the Girth-Chromatic Number Theorem</a></h5> <br>by <a href="../authors/noschinski">Lars Noschinski</a></div>
<span class="date">
Feb 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Refine_Monadic.html">Refinement for Monadic Programs</a></h5> <br>by <a href="../authors/lammich">Peter Lammich</a></div>
<span class="date">
Jan 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Dijkstra_Shortest_Path.html">Dijkstra&#39;s Shortest Path Algorithm</a></h5> <br>by <a href="../authors/nordhoff">Benedikt Nordhoff</a> and <a href="../authors/lammich">Peter Lammich</a></div>
<span class="date">
Jan 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Markov_Models.html">Markov Models</a></h5> <br>by <a href="../authors/hoelzl">Johannes Hölzl</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jan 03
</span>
</article>
<h2 class="head">2011</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/TLA.html">A Definitional Encoding of TLA* in Isabelle/HOL</a></h5> <br>by <a href="../authors/grov">Gudmund Grov</a> and <a href="../authors/merz">Stephan Merz</a></div>
<span class="date">
Nov 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Efficient-Mergesort.html">Efficient Mergesort</a></h5> <br>by <a href="../authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Nov 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/PseudoHoops.html">Pseudo Hoops</a></h5> <br>by <a href="../authors/georgescu">George Georgescu</a>, <a href="../authors/leustean">Laurentiu Leustean</a> and <a href="../authors/preoteasa">Viorel Preoteasa</a></div>
<span class="date">
Sep 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/LatticeProperties.html">Lattice Properties</a></h5> <br>by <a href="../authors/preoteasa">Viorel Preoteasa</a></div>
<span class="date">
Sep 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/MonoBoolTranAlgebra.html">Algebra of Monotonic Boolean Transformers</a></h5> <br>by <a href="../authors/preoteasa">Viorel Preoteasa</a></div>
<span class="date">
Sep 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Myhill-Nerode.html">The Myhill-Nerode Theorem Based on Regular Expressions</a></h5> <br>by <a href="../authors/wu">Chunhan Wu</a>, <a href="../authors/zhangx">Xingyuan Zhang</a> and <a href="../authors/urban">Christian Urban</a></div>
<span class="date">
Aug 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Gauss-Jordan-Elim-Fun.html">Gauss-Jordan Elimination for Matrices Represented as Functions</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Aug 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Max-Card-Matching.html">Maximum Cardinality Matching</a></h5> <br>by <a href="../authors/rizkallah">Christine Rizkallah</a></div>
<span class="date">
Jul 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/KBPs.html">Knowledge-based programs</a></h5> <br>by <a href="../authors/gammie">Peter Gammie</a></div>
<span class="date">
May 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/General-Triangle.html">The General Triangle Is Unique</a></h5> <br>by <a href="../authors/breitner">Joachim Breitner</a></div>
<span class="date">
Apr 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Transitive-Closure.html">Executable Transitive Closures of Finite Relations</a></h5> <br>by <a href="../authors/sternagel">Christian Sternagel</a> and <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Mar 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Nat-Interval-Logic.html">Interval Temporal Logic on Natural Numbers</a></h5> <br>by <a href="../authors/trachtenherz">David Trachtenherz</a></div>
<span class="date">
Feb 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/List-Infinite.html">Infinite Lists</a></h5> <br>by <a href="../authors/trachtenherz">David Trachtenherz</a></div>
<span class="date">
Feb 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/AutoFocus-Stream.html">AutoFocus Stream Processing for Single-Clocking and Multi-Clocking Semantics</a></h5> <br>by <a href="../authors/trachtenherz">David Trachtenherz</a></div>
<span class="date">
Feb 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/LightweightJava.html">Lightweight Java</a></h5> <br>by <a href="../authors/strnisa">Rok Strniša</a> and <a href="../authors/parkinson">Matthew Parkinson</a></div>
<span class="date">
Feb 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/RIPEMD-160-SPARK.html">RIPEMD-160</a></h5> <br>by <a href="../authors/immler">Fabian Immler</a></div>
<span class="date">
Jan 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Lower_Semicontinuous.html">Lower Semicontinuous Functions</a></h5> <br>by <a href="../authors/grechuk">Bogdan Grechuk</a></div>
<span class="date">
Jan 08
</span>
</article>
<h2 class="head">2010</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Marriage.html">Hall&#39;s Marriage Theorem</a></h5> <br>by <a href="../authors/jiangd">Dongchen Jiang</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Dec 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Shivers-CFA.html">Shivers&#39; Control Flow Analysis</a></h5> <br>by <a href="../authors/breitner">Joachim Breitner</a></div>
<span class="date">
Nov 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Binomial-Queues.html">Functional Binomial Queues</a></h5> <br>by <a href="../authors/neumann">René Neumann</a></div>
<span class="date">
Oct 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Finger-Trees.html">Finger Trees</a></h5> <br>by <a href="../authors/nordhoff">Benedikt Nordhoff</a>, <a href="../authors/koerner">Stefan Körner</a> and <a href="../authors/lammich">Peter Lammich</a></div>
<span class="date">
Oct 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Binomial-Heaps.html">Binomial Heaps and Skew Binomial Heaps</a></h5> <br>by <a href="../authors/meis">Rene Meis</a>, <a href="../authors/nielsen">Finn Nielsen</a> and <a href="../authors/lammich">Peter Lammich</a></div>
<span class="date">
Oct 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Lam-ml-Normalization.html">Strong Normalization of Moggis&#39;s Computational Metalanguage</a></h5> <br>by <a href="../authors/doczkal">Christian Doczkal</a></div>
<span class="date">
Aug 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Polynomials.html">Executable Multivariate Polynomials</a></h5> <br>by <a href="../authors/sternagel">Christian Sternagel</a>, <a href="../authors/thiemann">René Thiemann</a>, <a href="../authors/maletzky">Alexander Maletzky</a>, <a href="../authors/immler">Fabian Immler</a>, <a href="../authors/haftmann">Florian Haftmann</a>, <a href="../authors/lochbihler">Andreas Lochbihler</a> and <a href="../authors/bentkamp">Alexander Bentkamp</a></div>
<span class="date">
Aug 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Statecharts.html">Formalizing Statecharts using Hierarchical Automata</a></h5> <br>by <a href="../authors/helke">Steffen Helke</a> and <a href="../authors/kammueller">Florian Kammüller</a></div>
<span class="date">
Aug 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Free-Groups.html">Free Groups</a></h5> <br>by <a href="../authors/breitner">Joachim Breitner</a></div>
<span class="date">
Jun 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Category2.html">Category Theory</a></h5> <br>by <a href="../authors/katovsky">Alexander Katovsky</a></div>
<span class="date">
Jun 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Matrix.html">Executable Matrix Operations on Matrices of Arbitrary Dimensions</a></h5> <br>by <a href="../authors/sternagel">Christian Sternagel</a> and <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Jun 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Abstract-Rewriting.html">Abstract Rewriting</a></h5> <br>by <a href="../authors/sternagel">Christian Sternagel</a> and <a href="../authors/thiemann">René Thiemann</a></div>
<span class="date">
Jun 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/GraphMarkingIBP.html">Verification of the Deutsch-Schorr-Waite Graph Marking Algorithm using Data Refinement</a></h5> <br>by <a href="../authors/preoteasa">Viorel Preoteasa</a> and <a href="../authors/back">Ralph-Johan Back</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/DataRefinementIBP.html">Semantics and Data Refinement of Invariant Based Programs</a></h5> <br>by <a href="../authors/preoteasa">Viorel Preoteasa</a> and <a href="../authors/back">Ralph-Johan Back</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Robbins-Conjecture.html">A Complete Proof of the Robbins Conjecture</a></h5> <br>by <a href="../authors/doty">Matthew Wampler-Doty</a></div>
<span class="date">
May 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Regular-Sets.html">Regular Sets and Expressions</a></h5> <br>by <a href="../authors/krauss">Alexander Krauss</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
May 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Locally-Nameless-Sigma.html">Locally Nameless Sigma Calculus</a></h5> <br>by <a href="../authors/henrio">Ludovic Henrio</a>, <a href="../authors/kammueller">Florian Kammüller</a>, <a href="../authors/lutz">Bianca Lutz</a> and <a href="../authors/sudhof">Henry Sudhof</a></div>
<span class="date">
Apr 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Free-Boolean-Algebra.html">Free Boolean Algebra</a></h5> <br>by <a href="../authors/huffman">Brian Huffman</a></div>
<span class="date">
Mar 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/InformationFlowSlicing_Inter.html">Inter-Procedural Information Flow Noninterference via Slicing</a></h5> <br>by <a href="../authors/wasserrab">Daniel Wasserrab</a></div>
<span class="date">
Mar 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/InformationFlowSlicing.html">Information Flow Noninterference via Slicing</a></h5> <br>by <a href="../authors/wasserrab">Daniel Wasserrab</a></div>
<span class="date">
Mar 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/List-Index.html">List Index</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Feb 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Coinductive.html">Coinductive</a></h5> <br>by <a href="../authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
Feb 12
</span>
</article>
<h2 class="head">2009</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/DPT-SAT-Solver.html">A Fast SAT Solver for Isabelle in Standard ML</a></h5> <br>by <a href="../authors/heller">Armin Heller</a></div>
<span class="date">
Dec 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Presburger-Automata.html">Formalizing the Logic-Automaton Connection</a></h5> <br>by <a href="../authors/berghofer">Stefan Berghofer</a> and <a href="../authors/reiter">Markus Reiter</a></div>
<span class="date">
Dec 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Tree-Automata.html">Tree Automata</a></h5> <br>by <a href="../authors/lammich">Peter Lammich</a></div>
<span class="date">
Nov 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Collections.html">Collections Framework</a></h5> <br>by <a href="../authors/lammich">Peter Lammich</a></div>
<span class="date">
Nov 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Perfect-Number-Thm.html">Perfect Number Theorem</a></h5> <br>by <a href="../authors/ijbema">Mark Ijbema</a></div>
<span class="date">
Nov 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/HRB-Slicing.html">Backing up Slicing: Verifying the Interprocedural Two-Phase Horwitz-Reps-Binkley Slicer</a></h5> <br>by <a href="../authors/wasserrab">Daniel Wasserrab</a></div>
<span class="date">
Nov 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/WorkerWrapper.html">The Worker/Wrapper Transformation</a></h5> <br>by <a href="../authors/gammie">Peter Gammie</a></div>
<span class="date">
Oct 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Ordinals_and_Cardinals.html">Ordinals and Cardinals</a></h5> <br>by <a href="../authors/popescu">Andrei Popescu</a></div>
<span class="date">
Sep 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/SequentInvertibility.html">Invertibility in Sequent Calculi</a></h5> <br>by <a href="../authors/chapman">Peter Chapman</a></div>
<span class="date">
Aug 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CofGroups.html">An Example of a Cofinitary Group in Isabelle/HOL</a></h5> <br>by <a href="../authors/kastermans">Bart Kastermans</a></div>
<span class="date">
Aug 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/FinFun.html">Code Generation for Functions as Data</a></h5> <br>by <a href="../authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
May 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Stream-Fusion.html">Stream Fusion</a></h5> <br>by <a href="../authors/huffman">Brian Huffman</a></div>
<span class="date">
Apr 29
</span>
</article>
<h2 class="head">2008</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/BytecodeLogicJmlTypes.html">A Bytecode Logic for JML and Types</a></h5> <br>by <a href="../authors/beringer">Lennart Beringer</a> and <a href="../authors/hofmann">Martin Hofmann</a></div>
<span class="date">
Dec 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/SIFPL.html">Secure information flow and program logics</a></h5> <br>by <a href="../authors/beringer">Lennart Beringer</a> and <a href="../authors/hofmann">Martin Hofmann</a></div>
<span class="date">
Nov 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/SenSocialChoice.html">Some classical results in Social Choice Theory</a></h5> <br>by <a href="../authors/gammie">Peter Gammie</a></div>
<span class="date">
Nov 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/FunWithTilings.html">Fun With Tilings</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a> and <a href="../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Nov 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Huffman.html">The Textbook Proof of Huffman&#39;s Algorithm</a></h5> <br>by <a href="../authors/blanchette">Jasmin Christian Blanchette</a></div>
<span class="date">
Oct 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Slicing.html">Towards Certified Slicing</a></h5> <br>by <a href="../authors/wasserrab">Daniel Wasserrab</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/VolpanoSmith.html">A Correctness Proof for the Volpano/Smith Security Typing System</a></h5> <br>by <a href="../authors/snelting">Gregor Snelting</a> and <a href="../authors/wasserrab">Daniel Wasserrab</a></div>
<span class="date">
Sep 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/ArrowImpossibilityGS.html">Arrow and Gibbard-Satterthwaite</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Sep 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/FunWithFunctions.html">Fun With Functions</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Aug 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/SATSolverVerification.html">Formal Verification of Modern SAT Solvers</a></h5> <br>by <a href="../authors/maricf">Filip Marić</a></div>
<span class="date">
Jul 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Recursion-Theory-I.html">Recursion Theory I</a></h5> <br>by <a href="../authors/nedzelsky">Michael Nedzelsky</a></div>
<span class="date">
Apr 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/BDD.html">BDD Normalisation</a></h5> <br>by <a href="../authors/ortner">Veronika Ortner</a> and <a href="../authors/schirmer">Norbert Schirmer</a></div>
<span class="date">
Feb 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Simpl.html">A Sequential Imperative Programming Language Syntax, Semantics, Hoare Logics and Verification Environment</a></h5> <br>by <a href="../authors/schirmer">Norbert Schirmer</a></div>
<span class="date">
Feb 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/NormByEval.html">Normalization by Evaluation</a></h5> <br>by <a href="../authors/aehlig">Klaus Aehlig</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Feb 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/LinearQuantifierElim.html">Quantifier Elimination for Linear Arithmetic</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jan 11
</span>
</article>
<h2 class="head">2007</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Program-Conflict-Analysis.html">Formalization of Conflict Analysis of Programs with Procedures, Thread Creation, and Monitors</a></h5> <br>by <a href="../authors/lammich">Peter Lammich</a> and <a href="../authors/olm">Markus Müller-Olm</a></div>
<span class="date">
Dec 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/JinjaThreads.html">Jinja with Threads</a></h5> <br>by <a href="../authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
Dec 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/MuchAdoAboutTwo.html">Much Ado About Two</a></h5> <br>by <a href="../authors/boehme">Sascha Böhme</a></div>
<span class="date">
Nov 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/SumSquares.html">Sums of Two and Four Squares</a></h5> <br>by <a href="../authors/oosterhuis">Roelof Oosterhuis</a></div>
<span class="date">
Aug 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Fermat3_4.html">Fermat&#39;s Last Theorem for Exponents 3 and 4 and the Parametrisation of Pythagorean Triples</a></h5> <br>by <a href="../authors/oosterhuis">Roelof Oosterhuis</a></div>
<span class="date">
Aug 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Valuation.html">Fundamental Properties of Valuation Theory and Hensel&#39;s Lemma</a></h5> <br>by <a href="../authors/kobayashi">Hidetsune Kobayashi</a></div>
<span class="date">
Aug 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/POPLmark-deBruijn.html">POPLmark Challenge Via de Bruijn Indices</a></h5> <br>by <a href="../authors/berghofer">Stefan Berghofer</a></div>
<span class="date">
Aug 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/FOL-Fitting.html">First-Order Logic According to Fitting</a></h5> <br>by <a href="../authors/berghofer">Stefan Berghofer</a></div>
<span class="date">
Aug 02
</span>
</article>
<h2 class="head">2006</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/HotelKeyCards.html">Hotel Key Card System</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Sep 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Abstract-Hoare-Logics.html">Abstract Hoare Logics</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Aug 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Flyspeck-Tame.html">Flyspeck I: Tame Graphs</a></h5> <br>by <a href="../authors/bauer">Gertrud Bauer</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
May 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/CoreC&#43;&#43;.html">CoreC&#43;&#43;</a></h5> <br>by <a href="../authors/wasserrab">Daniel Wasserrab</a></div>
<span class="date">
May 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/FeatherweightJava.html">A Theory of Featherweight Java in Isabelle/HOL</a></h5> <br>by <a href="../authors/fosterj">J. Nathan Foster</a> and <a href="../authors/vytiniotis">Dimitrios Vytiniotis</a></div>
<span class="date">
Mar 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/ClockSynchInst.html">Instances of Schneider&#39;s generalized protocol of clock synchronization</a></h5> <br>by <a href="../authors/barsotti">Damián Barsotti</a></div>
<span class="date">
Mar 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Cauchy.html">Cauchy&#39;s Mean Theorem and the Cauchy-Schwarz Inequality</a></h5> <br>by <a href="../authors/porter">Benjamin Porter</a></div>
<span class="date">
Mar 14
</span>
</article>
<h2 class="head">2005</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Ordinal.html">Countable Ordinals</a></h5> <br>by <a href="../authors/huffman">Brian Huffman</a></div>
<span class="date">
Nov 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/FFT.html">Fast Fourier Transform</a></h5> <br>by <a href="../authors/ballarin">Clemens Ballarin</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/GenClock.html">Formalization of a Generalized Protocol for Clock Synchronization</a></h5> <br>by <a href="../authors/tiu">Alwen Tiu</a></div>
<span class="date">
Jun 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/DiskPaxos.html">Proving the Correctness of Disk Paxos</a></h5> <br>by <a href="../authors/jaskelioff">Mauro Jaskelioff</a> and <a href="../authors/merz">Stephan Merz</a></div>
<span class="date">
Jun 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/JiveDataStoreModel.html">Jive Data and Store Model</a></h5> <br>by <a href="../authors/rauch">Nicole Rauch</a> and <a href="../authors/schirmer">Norbert Schirmer</a></div>
<span class="date">
Jun 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Jinja.html">Jinja is not Java</a></h5> <br>by <a href="../authors/klein">Gerwin Klein</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/RSAPSS.html">SHA1, RSA, PSS and more</a></h5> <br>by <a href="../authors/lindenberg">Christina Lindenberg</a> and <a href="../authors/wirt">Kai Wirt</a></div>
<span class="date">
May 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Category.html">Category Theory to Yoneda&#39;s Lemma</a></h5> <br>by <a href="../authors/keefe">Greg O&rsquo;Keefe</a></div>
<span class="date">
Apr 21
</span>
</article>
<h2 class="head">2004</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/FileRefinement.html">File Refinement</a></h5> <br>by <a href="../authors/zee">Karen Zee</a> and <a href="../authors/kuncak">Viktor Kuncak</a></div>
<span class="date">
Dec 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Integration.html">Integration theory and random variables</a></h5> <br>by <a href="../authors/richter">Stefan Richter</a></div>
<span class="date">
Nov 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Verified-Prover.html">A Mechanically Verified, Efficient, Sound and Complete Theorem Prover For First Order Logic</a></h5> <br>by <a href="../authors/ridge">Tom Ridge</a></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Ramsey-Infinite.html">Ramsey&#39;s theorem, infinitary version</a></h5> <br>by <a href="../authors/ridge">Tom Ridge</a></div>
<span class="date">
Sep 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Completeness.html">Completeness theorem</a></h5> <br>by <a href="../authors/margetson">James Margetson</a> and <a href="../authors/ridge">Tom Ridge</a></div>
<span class="date">
Sep 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Compiling-Exceptions-Correctly.html">Compiling Exceptions Correctly</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jul 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Depth-First-Search.html">Depth First Search</a></h5> <br>by <a href="../authors/nishihara">Toshiaki Nishihara</a> and <a href="../authors/minamide">Yasuhiko Minamide</a></div>
<span class="date">
Jun 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Group-Ring-Module.html">Groups, Rings and Modules</a></h5> <br>by <a href="../authors/kobayashi">Hidetsune Kobayashi</a>, <a href="../authors/chen">L. Chen</a> and <a href="../authors/murao">H. Murao</a></div>
<span class="date">
May 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Topology.html">Topology</a></h5> <br>by <a href="../authors/friedrich">Stefan Friedrich</a></div>
<span class="date">
Apr 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Lazy-Lists-II.html">Lazy Lists II</a></h5> <br>by <a href="../authors/friedrich">Stefan Friedrich</a></div>
<span class="date">
Apr 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/BinarySearchTree.html">Binary Search Trees</a></h5> <br>by <a href="../authors/kuncak">Viktor Kuncak</a></div>
<span class="date">
Apr 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/Functional-Automata.html">Functional Automata</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Mar 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/MiniML.html">Mini ML</a></h5> <br>by <a href="../authors/naraschewski">Wolfgang Naraschewski</a> and <a href="../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Mar 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../entries/AVL-Trees.html">AVL Trees</a></h5> <br>by <a href="../authors/nipkow">Tobias Nipkow</a> and <a href="../authors/pusch">Cornelia Pusch</a></div>
<span class="date">
Mar 19
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/entries/index.xml b/web/entries/index.xml
--- a/web/entries/index.xml
+++ b/web/entries/index.xml
@@ -1,6266 +1,6302 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Entries on Archive of Formal Proofs</title>
<link>/entries/</link>
<description>Recent content in Entries on Archive of Formal Proofs</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-gb</language>
- <lastBuildDate>Mon, 15 Aug 2022 00:00:00 +0000</lastBuildDate><atom:link href="/entries/index.xml" rel="self" type="application/rss+xml" />
+ <lastBuildDate>Thu, 08 Sep 2022 00:00:00 +0000</lastBuildDate><atom:link href="/entries/index.xml" rel="self" type="application/rss+xml" />
+ <item>
+ <title>CRYSTALS-Kyber</title>
+ <link>/entries/CRYSTALS-Kyber.html</link>
+ <pubDate>Thu, 08 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/CRYSTALS-Kyber.html</guid>
+ <description></description>
+ </item>
+
+ <item>
+ <title>Khovanskii&amp;#x27;s Theorem</title>
+ <link>/entries/Khovanskii_Theorem.html</link>
+ <pubDate>Fri, 02 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Khovanskii_Theorem.html</guid>
+ <description></description>
+ </item>
+
+ <item>
+ <title>The Hales–Jewett Theorem</title>
+ <link>/entries/Hales_Jewett.html</link>
+ <pubDate>Fri, 02 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Hales_Jewett.html</guid>
+ <description></description>
+ </item>
+
+ <item>
+ <title>Number Theoretic Transform</title>
+ <link>/entries/Number_Theoretic_Transform.html</link>
+ <pubDate>Thu, 18 Aug 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Number_Theoretic_Transform.html</guid>
+ <description></description>
+ </item>
+
<item>
<title>From THE BOOK: Two Squares via Involutions</title>
<link>/entries/Involutions2Squares.html</link>
<pubDate>Mon, 15 Aug 2022 00:00:00 +0000</pubDate>
<guid>/entries/Involutions2Squares.html</guid>
<description></description>
</item>
<item>
<title>Verified Complete Test Strategies for Finite State Machines</title>
<link>/entries/FSM_Tests.html</link>
<pubDate>Tue, 09 Aug 2022 00:00:00 +0000</pubDate>
<guid>/entries/FSM_Tests.html</guid>
<description></description>
</item>
<item>
<title>Nano JSON: Working with JSON formatted data in Isabelle/HOL and Isabelle/ML</title>
<link>/entries/Nano_JSON.html</link>
<pubDate>Fri, 29 Jul 2022 00:00:00 +0000</pubDate>
<guid>/entries/Nano_JSON.html</guid>
<description></description>
</item>
<item>
<title>Isabelle/Solidity: A deep Embedding of Solidity in Isabelle/HOL</title>
<link>/entries/Solidity.html</link>
<pubDate>Mon, 18 Jul 2022 00:00:00 +0000</pubDate>
<guid>/entries/Solidity.html</guid>
<description></description>
</item>
<item>
<title>Simultaneous diagonalization of pairwise commuting Hermitian matrices</title>
<link>/entries/Commuting_Hermitian.html</link>
<pubDate>Mon, 18 Jul 2022 00:00:00 +0000</pubDate>
<guid>/entries/Commuting_Hermitian.html</guid>
<description></description>
</item>
<item>
<title>Pólya’s Proof of the Weighted Arithmetic–Geometric Mean Inequality</title>
<link>/entries/Weighted_Arithmetic_Geometric_Mean.html</link>
<pubDate>Mon, 11 Jul 2022 00:00:00 +0000</pubDate>
<guid>/entries/Weighted_Arithmetic_Geometric_Mean.html</guid>
<description></description>
</item>
<item>
<title>A Reuse-Based Multi-Stage Compiler Verification for Language IMP</title>
<link>/entries/IMP_Compiler_Reuse.html</link>
<pubDate>Sun, 10 Jul 2022 00:00:00 +0000</pubDate>
<guid>/entries/IMP_Compiler_Reuse.html</guid>
<description></description>
</item>
<item>
<title>Real-Time Double-Ended Queue</title>
<link>/entries/Real_Time_Deque.html</link>
<pubDate>Thu, 23 Jun 2022 00:00:00 +0000</pubDate>
<guid>/entries/Real_Time_Deque.html</guid>
<description></description>
</item>
<item>
<title>Boolos&#39;s Curious Inference in Isabelle/HOL</title>
<link>/entries/Boolos_Curious_Inference.html</link>
<pubDate>Mon, 20 Jun 2022 00:00:00 +0000</pubDate>
<guid>/entries/Boolos_Curious_Inference.html</guid>
<description></description>
</item>
<item>
<title>Finite Fields</title>
<link>/entries/Finite_Fields.html</link>
<pubDate>Wed, 08 Jun 2022 00:00:00 +0000</pubDate>
<guid>/entries/Finite_Fields.html</guid>
<description></description>
</item>
<item>
<title>IsaNet: Formalization of a Verification Framework for Secure Data Plane Protocols</title>
<link>/entries/IsaNet.html</link>
<pubDate>Wed, 08 Jun 2022 00:00:00 +0000</pubDate>
<guid>/entries/IsaNet.html</guid>
<description></description>
</item>
<item>
<title>Diophantine Equations and the DPRM Theorem</title>
<link>/entries/DPRM_Theorem.html</link>
<pubDate>Mon, 06 Jun 2022 00:00:00 +0000</pubDate>
<guid>/entries/DPRM_Theorem.html</guid>
<description></description>
</item>
<item>
<title>Reducing Rewrite Properties to Properties on Ground Terms</title>
<link>/entries/Rewrite_Properties_Reduction.html</link>
<pubDate>Thu, 02 Jun 2022 00:00:00 +0000</pubDate>
<guid>/entries/Rewrite_Properties_Reduction.html</guid>
<description></description>
</item>
<item>
<title>A Restricted Definition of the Magic Wand to Soundly Combine Fractions of a Wand</title>
<link>/entries/Combinable_Wands.html</link>
<pubDate>Mon, 30 May 2022 00:00:00 +0000</pubDate>
<guid>/entries/Combinable_Wands.html</guid>
<description></description>
</item>
<item>
<title>The Plünnecke-Ruzsa Inequality</title>
<link>/entries/Pluennecke_Ruzsa_Inequality.html</link>
<pubDate>Thu, 26 May 2022 00:00:00 +0000</pubDate>
<guid>/entries/Pluennecke_Ruzsa_Inequality.html</guid>
<description></description>
</item>
<item>
<title>Formalization of a Framework for the Sound Automation of Magic Wands</title>
<link>/entries/Package_logic.html</link>
<pubDate>Wed, 18 May 2022 00:00:00 +0000</pubDate>
<guid>/entries/Package_logic.html</guid>
<description></description>
</item>
<item>
<title>Clique is not solvable by monotone circuits of polynomial size</title>
<link>/entries/Clique_and_Monotone_Circuits.html</link>
<pubDate>Sun, 08 May 2022 00:00:00 +0000</pubDate>
<guid>/entries/Clique_and_Monotone_Circuits.html</guid>
<description></description>
</item>
<item>
<title>Fisher&#39;s Inequality: Linear Algebraic Proof Techniques for Combinatorics</title>
<link>/entries/Fishers_Inequality.html</link>
<pubDate>Thu, 21 Apr 2022 00:00:00 +0000</pubDate>
<guid>/entries/Fishers_Inequality.html</guid>
<description></description>
</item>
<item>
<title>Digit Expansions</title>
<link>/entries/Digit_Expansions.html</link>
<pubDate>Wed, 20 Apr 2022 00:00:00 +0000</pubDate>
<guid>/entries/Digit_Expansions.html</guid>
<description></description>
</item>
<item>
<title>The Generalized Multiset Ordering is NP-Complete</title>
<link>/entries/Multiset_Ordering_NPC.html</link>
<pubDate>Wed, 20 Apr 2022 00:00:00 +0000</pubDate>
<guid>/entries/Multiset_Ordering_NPC.html</guid>
<description></description>
</item>
<item>
<title>The Sophomore&#39;s Dream</title>
<link>/entries/Sophomores_Dream.html</link>
<pubDate>Sun, 10 Apr 2022 00:00:00 +0000</pubDate>
<guid>/entries/Sophomores_Dream.html</guid>
<description></description>
</item>
<item>
<title>A Combinator Library for Prefix-Free Codes</title>
<link>/entries/Prefix_Free_Code_Combinators.html</link>
<pubDate>Fri, 08 Apr 2022 00:00:00 +0000</pubDate>
<guid>/entries/Prefix_Free_Code_Combinators.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Randomized Approximation Algorithms for Frequency Moments</title>
<link>/entries/Frequency_Moments.html</link>
<pubDate>Fri, 08 Apr 2022 00:00:00 +0000</pubDate>
<guid>/entries/Frequency_Moments.html</guid>
<description></description>
</item>
<item>
<title>Constructing the Reals as Dedekind Cuts of Rationals</title>
<link>/entries/Dedekind_Real.html</link>
<pubDate>Thu, 24 Mar 2022 00:00:00 +0000</pubDate>
<guid>/entries/Dedekind_Real.html</guid>
<description></description>
</item>
<item>
<title>Ackermann&#39;s Function Is Not Primitive Recursive</title>
<link>/entries/Ackermanns_not_PR.html</link>
<pubDate>Wed, 23 Mar 2022 00:00:00 +0000</pubDate>
<guid>/entries/Ackermanns_not_PR.html</guid>
<description></description>
</item>
<item>
<title>A Naive Prover for First-Order Logic</title>
<link>/entries/FOL_Seq_Calc3.html</link>
<pubDate>Tue, 22 Mar 2022 00:00:00 +0000</pubDate>
<guid>/entries/FOL_Seq_Calc3.html</guid>
<description></description>
</item>
<item>
<title>A Proof from THE BOOK: The Partial Fraction Expansion of the Cotangent</title>
<link>/entries/Cotangent_PFD_Formula.html</link>
<pubDate>Tue, 15 Mar 2022 00:00:00 +0000</pubDate>
<guid>/entries/Cotangent_PFD_Formula.html</guid>
<description></description>
</item>
<item>
<title>The Independence of the Continuum Hypothesis in Isabelle/ZF</title>
<link>/entries/Independence_CH.html</link>
<pubDate>Sun, 06 Mar 2022 00:00:00 +0000</pubDate>
<guid>/entries/Independence_CH.html</guid>
<description></description>
</item>
<item>
<title>Transitive Models of Fragments of ZFC</title>
<link>/entries/Transitive_Models.html</link>
<pubDate>Thu, 03 Mar 2022 00:00:00 +0000</pubDate>
<guid>/entries/Transitive_Models.html</guid>
<description></description>
</item>
<item>
<title>Residuated Transition Systems</title>
<link>/entries/ResiduatedTransitionSystem.html</link>
<pubDate>Mon, 28 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/ResiduatedTransitionSystem.html</guid>
<description></description>
</item>
<item>
<title>Universal Hash Families</title>
<link>/entries/Universal_Hash_Families.html</link>
<pubDate>Sun, 20 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/Universal_Hash_Families.html</guid>
<description></description>
</item>
<item>
<title>Wetzel&#39;s Problem and the Continuum Hypothesis</title>
<link>/entries/Wetzels_Problem.html</link>
<pubDate>Fri, 18 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/Wetzels_Problem.html</guid>
<description></description>
</item>
<item>
<title>First-Order Query Evaluation</title>
<link>/entries/Eval_FO.html</link>
<pubDate>Tue, 15 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/Eval_FO.html</guid>
<description></description>
</item>
<item>
<title>Multi-Head Monitoring of Metric Dynamic Logic</title>
<link>/entries/VYDRA_MDL.html</link>
<pubDate>Sun, 13 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/VYDRA_MDL.html</guid>
<description></description>
</item>
<item>
<title>Enumeration of Equivalence Relations</title>
<link>/entries/Equivalence_Relation_Enumeration.html</link>
<pubDate>Fri, 04 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/Equivalence_Relation_Enumeration.html</guid>
<description></description>
</item>
<item>
<title>Duality of Linear Programming</title>
<link>/entries/LP_Duality.html</link>
<pubDate>Thu, 03 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/LP_Duality.html</guid>
<description></description>
</item>
<item>
<title>Quasi-Borel Spaces</title>
<link>/entries/Quasi_Borel_Spaces.html</link>
<pubDate>Thu, 03 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/Quasi_Borel_Spaces.html</guid>
<description></description>
</item>
<item>
<title>First-Order Theory of Rewriting</title>
<link>/entries/FO_Theory_Rewriting.html</link>
<pubDate>Wed, 02 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/FO_Theory_Rewriting.html</guid>
<description></description>
</item>
<item>
<title>A Sequent Calculus Prover for First-Order Logic with Functions</title>
<link>/entries/FOL_Seq_Calc2.html</link>
<pubDate>Mon, 31 Jan 2022 00:00:00 +0000</pubDate>
<guid>/entries/FOL_Seq_Calc2.html</guid>
<description></description>
</item>
<item>
<title>Young&#39;s Inequality for Increasing Functions</title>
<link>/entries/Youngs_Inequality.html</link>
<pubDate>Mon, 31 Jan 2022 00:00:00 +0000</pubDate>
<guid>/entries/Youngs_Inequality.html</guid>
<description></description>
</item>
<item>
<title>Interpolation Polynomials (in HOL-Algebra)</title>
<link>/entries/Interpolation_Polynomials_HOL_Algebra.html</link>
<pubDate>Sat, 29 Jan 2022 00:00:00 +0000</pubDate>
<guid>/entries/Interpolation_Polynomials_HOL_Algebra.html</guid>
<description></description>
</item>
<item>
<title>Median Method</title>
<link>/entries/Median_Method.html</link>
<pubDate>Tue, 25 Jan 2022 00:00:00 +0000</pubDate>
<guid>/entries/Median_Method.html</guid>
<description></description>
</item>
<item>
<title>Actuarial Mathematics</title>
<link>/entries/Actuarial_Mathematics.html</link>
<pubDate>Sun, 23 Jan 2022 00:00:00 +0000</pubDate>
<guid>/entries/Actuarial_Mathematics.html</guid>
<description></description>
</item>
<item>
<title>Irrational numbers from THE BOOK</title>
<link>/entries/Irrationals_From_THEBOOK.html</link>
<pubDate>Sat, 08 Jan 2022 00:00:00 +0000</pubDate>
<guid>/entries/Irrationals_From_THEBOOK.html</guid>
<description></description>
</item>
<item>
<title>Knight&#39;s Tour Revisited Revisited</title>
<link>/entries/Knights_Tour.html</link>
<pubDate>Tue, 04 Jan 2022 00:00:00 +0000</pubDate>
<guid>/entries/Knights_Tour.html</guid>
<description></description>
</item>
<item>
<title>Hyperdual Numbers and Forward Differentiation</title>
<link>/entries/Hyperdual.html</link>
<pubDate>Fri, 31 Dec 2021 00:00:00 +0000</pubDate>
<guid>/entries/Hyperdual.html</guid>
<description></description>
</item>
<item>
<title>Gale-Shapley Algorithm</title>
<link>/entries/Gale_Shapley.html</link>
<pubDate>Wed, 29 Dec 2021 00:00:00 +0000</pubDate>
<guid>/entries/Gale_Shapley.html</guid>
<description></description>
</item>
<item>
<title>Roth&#39;s Theorem on Arithmetic Progressions</title>
<link>/entries/Roth_Arithmetic_Progressions.html</link>
<pubDate>Tue, 28 Dec 2021 00:00:00 +0000</pubDate>
<guid>/entries/Roth_Arithmetic_Progressions.html</guid>
<description></description>
</item>
<item>
<title>Markov Decision Processes with Rewards</title>
<link>/entries/MDP-Rewards.html</link>
<pubDate>Thu, 16 Dec 2021 00:00:00 +0000</pubDate>
<guid>/entries/MDP-Rewards.html</guid>
<description></description>
</item>
<item>
<title>Verified Algorithms for Solving Markov Decision Processes</title>
<link>/entries/MDP-Algorithms.html</link>
<pubDate>Thu, 16 Dec 2021 00:00:00 +0000</pubDate>
<guid>/entries/MDP-Algorithms.html</guid>
<description></description>
</item>
<item>
<title>Regular Tree Relations</title>
<link>/entries/Regular_Tree_Relations.html</link>
<pubDate>Wed, 15 Dec 2021 00:00:00 +0000</pubDate>
<guid>/entries/Regular_Tree_Relations.html</guid>
<description></description>
</item>
<item>
<title>Simplicial Complexes and Boolean functions</title>
<link>/entries/Simplicial_complexes_and_boolean_functions.html</link>
<pubDate>Mon, 29 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Simplicial_complexes_and_boolean_functions.html</guid>
<description></description>
</item>
<item>
<title>van Emde Boas Trees</title>
<link>/entries/Van_Emde_Boas_Trees.html</link>
<pubDate>Tue, 23 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Van_Emde_Boas_Trees.html</guid>
<description></description>
</item>
<item>
<title>Foundation of geometry in planes, and some complements: Excluding the parallel axioms</title>
<link>/entries/Foundation_of_geometry.html</link>
<pubDate>Mon, 22 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Foundation_of_geometry.html</guid>
<description></description>
</item>
<item>
<title>The Hahn and Jordan Decomposition Theorems</title>
<link>/entries/Hahn_Jordan_Decomposition.html</link>
<pubDate>Fri, 19 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Hahn_Jordan_Decomposition.html</guid>
<description></description>
</item>
<item>
<title>Automating Public Announcement Logic and the Wise Men Puzzle in Isabelle/HOL</title>
<link>/entries/PAL.html</link>
<pubDate>Mon, 08 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/PAL.html</guid>
<description></description>
</item>
<item>
<title>Exploring Simplified Variants of Gödel’s Ontological Argument in Isabelle/HOL</title>
<link>/entries/SimplifiedOntologicalArgument.html</link>
<pubDate>Mon, 08 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/SimplifiedOntologicalArgument.html</guid>
<description></description>
</item>
<item>
<title>Factorization of Polynomials with Algebraic Coefficients</title>
<link>/entries/Factor_Algebraic_Polynomial.html</link>
<pubDate>Mon, 08 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Factor_Algebraic_Polynomial.html</guid>
<description></description>
</item>
<item>
<title>Real Exponents as the Limits of Sequences of Rational Exponents</title>
<link>/entries/Real_Power.html</link>
<pubDate>Mon, 08 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Real_Power.html</guid>
<description></description>
</item>
<item>
<title>Szemerédi&#39;s Regularity Lemma</title>
<link>/entries/Szemeredi_Regularity.html</link>
<pubDate>Fri, 05 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Szemeredi_Regularity.html</guid>
<description></description>
</item>
<item>
<title>Quantum and Classical Registers</title>
<link>/entries/Registers.html</link>
<pubDate>Thu, 28 Oct 2021 00:00:00 +0000</pubDate>
<guid>/entries/Registers.html</guid>
<description></description>
</item>
<item>
<title>Belief Revision Theory</title>
<link>/entries/Belief_Revision.html</link>
<pubDate>Tue, 19 Oct 2021 00:00:00 +0000</pubDate>
<guid>/entries/Belief_Revision.html</guid>
<description></description>
</item>
<item>
<title>X86 instruction semantics and basic block symbolic execution</title>
<link>/entries/X86_Semantics.html</link>
<pubDate>Wed, 13 Oct 2021 00:00:00 +0000</pubDate>
<guid>/entries/X86_Semantics.html</guid>
<description></description>
</item>
<item>
<title>Algebras for Iteration, Infinite Executions and Correctness of Sequential Computations</title>
<link>/entries/Correctness_Algebras.html</link>
<pubDate>Tue, 12 Oct 2021 00:00:00 +0000</pubDate>
<guid>/entries/Correctness_Algebras.html</guid>
<description></description>
</item>
<item>
<title>Verified Quadratic Virtual Substitution for Real Arithmetic</title>
<link>/entries/Virtual_Substitution.html</link>
<pubDate>Sat, 02 Oct 2021 00:00:00 +0000</pubDate>
<guid>/entries/Virtual_Substitution.html</guid>
<description></description>
</item>
<item>
<title>Soundness and Completeness of an Axiomatic System for First-Order Logic</title>
<link>/entries/FOL_Axiomatic.html</link>
<pubDate>Fri, 24 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/FOL_Axiomatic.html</guid>
<description></description>
</item>
<item>
<title>Complex Bounded Operators</title>
<link>/entries/Complex_Bounded_Operators.html</link>
<pubDate>Sat, 18 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/Complex_Bounded_Operators.html</guid>
<description></description>
</item>
<item>
<title>A Formalization of Weighted Path Orders and Recursive Path Orders</title>
<link>/entries/Weighted_Path_Order.html</link>
<pubDate>Thu, 16 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/Weighted_Path_Order.html</guid>
<description></description>
</item>
<item>
<title>Category Theory for ZFC in HOL I: Foundations: Design Patterns, Set Theory, Digraphs, Semicategories</title>
<link>/entries/CZH_Foundations.html</link>
<pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/CZH_Foundations.html</guid>
<description></description>
</item>
<item>
<title>Category Theory for ZFC in HOL II: Elementary Theory of 1-Categories</title>
<link>/entries/CZH_Elementary_Categories.html</link>
<pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/CZH_Elementary_Categories.html</guid>
<description></description>
</item>
<item>
<title>Category Theory for ZFC in HOL III: Universal Constructions</title>
<link>/entries/CZH_Universal_Constructions.html</link>
<pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/CZH_Universal_Constructions.html</guid>
<description></description>
</item>
<item>
<title>Conditional Simplification</title>
<link>/entries/Conditional_Simplification.html</link>
<pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/Conditional_Simplification.html</guid>
<description></description>
</item>
<item>
<title>Conditional Transfer Rule</title>
<link>/entries/Conditional_Transfer_Rule.html</link>
<pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/Conditional_Transfer_Rule.html</guid>
<description></description>
</item>
<item>
<title>Extension of Types-To-Sets</title>
<link>/entries/Types_To_Sets_Extension.html</link>
<pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/Types_To_Sets_Extension.html</guid>
<description></description>
</item>
<item>
<title>IDE: Introduction, Destruction, Elimination</title>
<link>/entries/Intro_Dest_Elim.html</link>
<pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/Intro_Dest_Elim.html</guid>
<description></description>
</item>
<item>
<title>A data flow analysis algorithm for computing dominators</title>
<link>/entries/Dominance_CHK.html</link>
<pubDate>Sun, 05 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/Dominance_CHK.html</guid>
<description></description>
</item>
<item>
<title>Solving Cubic and Quartic Equations</title>
<link>/entries/Cubic_Quartic_Equations.html</link>
<pubDate>Fri, 03 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/Cubic_Quartic_Equations.html</guid>
<description></description>
</item>
<item>
<title>Logging-independent Message Anonymity in the Relational Method</title>
<link>/entries/Logging_Independent_Anonymity.html</link>
<pubDate>Thu, 26 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/Logging_Independent_Anonymity.html</guid>
<description></description>
</item>
<item>
<title>The Theorem of Three Circles</title>
<link>/entries/Three_Circles.html</link>
<pubDate>Sat, 21 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/Three_Circles.html</guid>
<description></description>
</item>
<item>
<title>CoCon: A Confidentiality-Verified Conference Management System</title>
<link>/entries/CoCon.html</link>
<pubDate>Mon, 16 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/CoCon.html</guid>
<description></description>
</item>
<item>
<title>Compositional BD Security</title>
<link>/entries/BD_Security_Compositional.html</link>
<pubDate>Mon, 16 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/BD_Security_Compositional.html</guid>
<description></description>
</item>
<item>
<title>CoSMed: A confidentiality-verified social media platform</title>
<link>/entries/CoSMed.html</link>
<pubDate>Mon, 16 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/CoSMed.html</guid>
<description></description>
</item>
<item>
<title>CoSMeDis: A confidentiality-verified distributed social media platform</title>
<link>/entries/CoSMeDis.html</link>
<pubDate>Mon, 16 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/CoSMeDis.html</guid>
<description></description>
</item>
<item>
<title>Fresh identifiers</title>
<link>/entries/Fresh_Identifiers.html</link>
<pubDate>Mon, 16 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/Fresh_Identifiers.html</guid>
<description></description>
</item>
<item>
<title>Combinatorial Design Theory</title>
<link>/entries/Design_Theory.html</link>
<pubDate>Fri, 13 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/Design_Theory.html</guid>
<description></description>
</item>
<item>
<title>Relational Forests</title>
<link>/entries/Relational_Forests.html</link>
<pubDate>Tue, 03 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/Relational_Forests.html</guid>
<description></description>
</item>
<item>
<title>Schutz&#39; Independent Axioms for Minkowski Spacetime</title>
<link>/entries/Schutz_Spacetime.html</link>
<pubDate>Tue, 27 Jul 2021 00:00:00 +0000</pubDate>
<guid>/entries/Schutz_Spacetime.html</guid>
<description></description>
</item>
<item>
<title>Finitely Generated Abelian Groups</title>
<link>/entries/Finitely_Generated_Abelian_Groups.html</link>
<pubDate>Wed, 07 Jul 2021 00:00:00 +0000</pubDate>
<guid>/entries/Finitely_Generated_Abelian_Groups.html</guid>
<description></description>
</item>
<item>
<title>SpecCheck - Specification-Based Testing for Isabelle/ML</title>
<link>/entries/SpecCheck.html</link>
<pubDate>Thu, 01 Jul 2021 00:00:00 +0000</pubDate>
<guid>/entries/SpecCheck.html</guid>
<description></description>
</item>
<item>
<title>Van der Waerden&#39;s Theorem</title>
<link>/entries/Van_der_Waerden.html</link>
<pubDate>Tue, 22 Jun 2021 00:00:00 +0000</pubDate>
<guid>/entries/Van_der_Waerden.html</guid>
<description></description>
</item>
<item>
<title>MiniSail - A kernel language for the ISA specification language SAIL</title>
<link>/entries/MiniSail.html</link>
<pubDate>Fri, 18 Jun 2021 00:00:00 +0000</pubDate>
<guid>/entries/MiniSail.html</guid>
<description></description>
</item>
<item>
<title>Public Announcement Logic</title>
<link>/entries/Public_Announcement_Logic.html</link>
<pubDate>Thu, 17 Jun 2021 00:00:00 +0000</pubDate>
<guid>/entries/Public_Announcement_Logic.html</guid>
<description></description>
</item>
<item>
<title>A Shorter Compiler Correctness Proof for Language IMP</title>
<link>/entries/IMP_Compiler.html</link>
<pubDate>Fri, 04 Jun 2021 00:00:00 +0000</pubDate>
<guid>/entries/IMP_Compiler.html</guid>
<description></description>
</item>
<item>
<title>Combinatorics on Words Basics</title>
<link>/entries/Combinatorics_Words.html</link>
<pubDate>Mon, 24 May 2021 00:00:00 +0000</pubDate>
<guid>/entries/Combinatorics_Words.html</guid>
<description></description>
</item>
<item>
<title>Graph Lemma</title>
<link>/entries/Combinatorics_Words_Graph_Lemma.html</link>
<pubDate>Mon, 24 May 2021 00:00:00 +0000</pubDate>
<guid>/entries/Combinatorics_Words_Graph_Lemma.html</guid>
<description></description>
</item>
<item>
<title>Lyndon words</title>
<link>/entries/Combinatorics_Words_Lyndon.html</link>
<pubDate>Mon, 24 May 2021 00:00:00 +0000</pubDate>
<guid>/entries/Combinatorics_Words_Lyndon.html</guid>
<description></description>
</item>
<item>
<title>Regression Test Selection</title>
<link>/entries/Regression_Test_Selection.html</link>
<pubDate>Fri, 30 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/Regression_Test_Selection.html</guid>
<description></description>
</item>
<item>
<title>Isabelle&#39;s Metalogic: Formalization and Proof Checker</title>
<link>/entries/Metalogic_ProofChecker.html</link>
<pubDate>Tue, 27 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/Metalogic_ProofChecker.html</guid>
<description></description>
</item>
<item>
<title>Lifting the Exponent</title>
<link>/entries/Lifting_the_Exponent.html</link>
<pubDate>Tue, 27 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/Lifting_the_Exponent.html</guid>
<description></description>
</item>
<item>
<title>The BKR Decision Procedure for Univariate Real Arithmetic</title>
<link>/entries/BenOr_Kozen_Reif.html</link>
<pubDate>Sat, 24 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/BenOr_Kozen_Reif.html</guid>
<description></description>
</item>
<item>
<title>Gale-Stewart Games</title>
<link>/entries/GaleStewart_Games.html</link>
<pubDate>Fri, 23 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/GaleStewart_Games.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Timely Dataflow&#39;s Progress Tracking Protocol</title>
<link>/entries/Progress_Tracking.html</link>
<pubDate>Tue, 13 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/Progress_Tracking.html</guid>
<description></description>
</item>
<item>
<title>Information Flow Control via Dependency Tracking</title>
<link>/entries/IFC_Tracking.html</link>
<pubDate>Thu, 01 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/IFC_Tracking.html</guid>
<description></description>
</item>
<item>
<title>Grothendieck&#39;s Schemes in Algebraic Geometry</title>
<link>/entries/Grothendieck_Schemes.html</link>
<pubDate>Mon, 29 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Grothendieck_Schemes.html</guid>
<description></description>
</item>
<item>
<title>Hensel&#39;s Lemma for the p-adic Integers</title>
<link>/entries/Padic_Ints.html</link>
<pubDate>Tue, 23 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Padic_Ints.html</guid>
<description></description>
</item>
<item>
<title>Constructive Cryptography in HOL: the Communication Modeling Aspect</title>
<link>/entries/Constructive_Cryptography_CM.html</link>
<pubDate>Wed, 17 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Constructive_Cryptography_CM.html</guid>
<description></description>
</item>
<item>
<title>Two algorithms based on modular arithmetic: lattice basis reduction and Hermite normal form computation</title>
<link>/entries/Modular_arithmetic_LLL_and_HNF_algorithms.html</link>
<pubDate>Fri, 12 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Modular_arithmetic_LLL_and_HNF_algorithms.html</guid>
<description></description>
</item>
<item>
<title>Quantum projective measurements and the CHSH inequality</title>
<link>/entries/Projective_Measurements.html</link>
<pubDate>Wed, 03 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Projective_Measurements.html</guid>
<description></description>
</item>
<item>
<title>The Hermite–Lindemann–Weierstraß Transcendence Theorem</title>
<link>/entries/Hermite_Lindemann.html</link>
<pubDate>Wed, 03 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Hermite_Lindemann.html</guid>
<description></description>
</item>
<item>
<title>Mereology</title>
<link>/entries/Mereology.html</link>
<pubDate>Mon, 01 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Mereology.html</guid>
<description></description>
</item>
<item>
<title>The Sunflower Lemma of Erdős and Rado</title>
<link>/entries/Sunflowers.html</link>
<pubDate>Thu, 25 Feb 2021 00:00:00 +0000</pubDate>
<guid>/entries/Sunflowers.html</guid>
<description></description>
</item>
<item>
<title>A Verified Imperative Implementation of B-Trees</title>
<link>/entries/BTree.html</link>
<pubDate>Wed, 24 Feb 2021 00:00:00 +0000</pubDate>
<guid>/entries/BTree.html</guid>
<description></description>
</item>
<item>
<title>Formal Puiseux Series</title>
<link>/entries/Formal_Puiseux_Series.html</link>
<pubDate>Wed, 17 Feb 2021 00:00:00 +0000</pubDate>
<guid>/entries/Formal_Puiseux_Series.html</guid>
<description></description>
</item>
<item>
<title>The Laws of Large Numbers</title>
<link>/entries/Laws_of_Large_Numbers.html</link>
<pubDate>Wed, 10 Feb 2021 00:00:00 +0000</pubDate>
<guid>/entries/Laws_of_Large_Numbers.html</guid>
<description></description>
</item>
<item>
<title>Tarski&#39;s Parallel Postulate implies the 5th Postulate of Euclid, the Postulate of Playfair and the original Parallel Postulate of Euclid</title>
<link>/entries/IsaGeoCoq.html</link>
<pubDate>Sun, 31 Jan 2021 00:00:00 +0000</pubDate>
<guid>/entries/IsaGeoCoq.html</guid>
<description></description>
</item>
<item>
<title>Solution to the xkcd Blue Eyes puzzle</title>
<link>/entries/Blue_Eyes.html</link>
<pubDate>Sat, 30 Jan 2021 00:00:00 +0000</pubDate>
<guid>/entries/Blue_Eyes.html</guid>
<description></description>
</item>
<item>
<title>Hood-Melville Queue</title>
<link>/entries/Hood_Melville_Queue.html</link>
<pubDate>Mon, 18 Jan 2021 00:00:00 +0000</pubDate>
<guid>/entries/Hood_Melville_Queue.html</guid>
<description></description>
</item>
<item>
<title>JinjaDCI: a Java semantics with dynamic class initialization</title>
<link>/entries/JinjaDCI.html</link>
<pubDate>Mon, 11 Jan 2021 00:00:00 +0000</pubDate>
<guid>/entries/JinjaDCI.html</guid>
<description></description>
</item>
<item>
<title>Cofinality and the Delta System Lemma</title>
<link>/entries/Delta_System_Lemma.html</link>
<pubDate>Sun, 27 Dec 2020 00:00:00 +0000</pubDate>
<guid>/entries/Delta_System_Lemma.html</guid>
<description></description>
</item>
<item>
<title>Topological semantics for paraconsistent and paracomplete logics</title>
<link>/entries/Topological_Semantics.html</link>
<pubDate>Thu, 17 Dec 2020 00:00:00 +0000</pubDate>
<guid>/entries/Topological_Semantics.html</guid>
<description></description>
</item>
<item>
<title>Relational Minimum Spanning Tree Algorithms</title>
<link>/entries/Relational_Minimum_Spanning_Trees.html</link>
<pubDate>Tue, 08 Dec 2020 00:00:00 +0000</pubDate>
<guid>/entries/Relational_Minimum_Spanning_Trees.html</guid>
<description></description>
</item>
<item>
<title>Inline Caching and Unboxing Optimization for Interpreters</title>
<link>/entries/Interpreter_Optimizations.html</link>
<pubDate>Mon, 07 Dec 2020 00:00:00 +0000</pubDate>
<guid>/entries/Interpreter_Optimizations.html</guid>
<description></description>
</item>
<item>
<title>The Relational Method with Message Anonymity for the Verification of Cryptographic Protocols</title>
<link>/entries/Relational_Method.html</link>
<pubDate>Sat, 05 Dec 2020 00:00:00 +0000</pubDate>
<guid>/entries/Relational_Method.html</guid>
<description></description>
</item>
<item>
<title>Isabelle Marries Dirac: a Library for Quantum Computation and Quantum Information</title>
<link>/entries/Isabelle_Marries_Dirac.html</link>
<pubDate>Sun, 22 Nov 2020 00:00:00 +0000</pubDate>
<guid>/entries/Isabelle_Marries_Dirac.html</guid>
<description></description>
</item>
<item>
<title>The HOL-CSP Refinement Toolkit</title>
<link>/entries/CSP_RefTK.html</link>
<pubDate>Thu, 19 Nov 2020 00:00:00 +0000</pubDate>
<guid>/entries/CSP_RefTK.html</guid>
<description></description>
</item>
<item>
<title>AI Planning Languages Semantics</title>
<link>/entries/AI_Planning_Languages_Semantics.html</link>
<pubDate>Thu, 29 Oct 2020 00:00:00 +0000</pubDate>
<guid>/entries/AI_Planning_Languages_Semantics.html</guid>
<description></description>
</item>
<item>
<title>Verified SAT-Based AI Planning</title>
<link>/entries/Verified_SAT_Based_AI_Planning.html</link>
<pubDate>Thu, 29 Oct 2020 00:00:00 +0000</pubDate>
<guid>/entries/Verified_SAT_Based_AI_Planning.html</guid>
<description></description>
</item>
<item>
<title>A Sound Type System for Physical Quantities, Units, and Measurements</title>
<link>/entries/Physical_Quantities.html</link>
<pubDate>Tue, 20 Oct 2020 00:00:00 +0000</pubDate>
<guid>/entries/Physical_Quantities.html</guid>
<description></description>
</item>
<item>
<title>Finite Map Extras</title>
<link>/entries/Finite-Map-Extras.html</link>
<pubDate>Mon, 12 Oct 2020 00:00:00 +0000</pubDate>
<guid>/entries/Finite-Map-Extras.html</guid>
<description></description>
</item>
<item>
<title>A Formal Model of the Document Object Model with Shadow Roots</title>
<link>/entries/Shadow_DOM.html</link>
<pubDate>Mon, 28 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Shadow_DOM.html</guid>
<description></description>
</item>
<item>
<title>A Formal Model of the Safely Composable Document Object Model with Shadow Roots</title>
<link>/entries/Shadow_SC_DOM.html</link>
<pubDate>Mon, 28 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Shadow_SC_DOM.html</guid>
<description></description>
</item>
<item>
<title>A Formalization of Safely Composable Web Components</title>
<link>/entries/SC_DOM_Components.html</link>
<pubDate>Mon, 28 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/SC_DOM_Components.html</guid>
<description></description>
</item>
<item>
<title>A Formalization of Web Components</title>
<link>/entries/DOM_Components.html</link>
<pubDate>Mon, 28 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/DOM_Components.html</guid>
<description></description>
</item>
<item>
<title>The Safely Composable DOM</title>
<link>/entries/Core_SC_DOM.html</link>
<pubDate>Mon, 28 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Core_SC_DOM.html</guid>
<description></description>
</item>
<item>
<title>An Abstract Formalization of G&amp;ouml;del&#39;s Incompleteness Theorems</title>
<link>/entries/Goedel_Incompleteness.html</link>
<pubDate>Wed, 16 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Goedel_Incompleteness.html</guid>
<description></description>
</item>
<item>
<title>From Abstract to Concrete G&amp;ouml;del&#39;s Incompleteness Theorems&amp;mdash;Part I</title>
<link>/entries/Goedel_HFSet_Semantic.html</link>
<pubDate>Wed, 16 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Goedel_HFSet_Semantic.html</guid>
<description></description>
</item>
<item>
<title>From Abstract to Concrete G&amp;ouml;del&#39;s Incompleteness Theorems&amp;mdash;Part II</title>
<link>/entries/Goedel_HFSet_Semanticless.html</link>
<pubDate>Wed, 16 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Goedel_HFSet_Semanticless.html</guid>
<description></description>
</item>
<item>
<title>Robinson Arithmetic</title>
<link>/entries/Robinson_Arithmetic.html</link>
<pubDate>Wed, 16 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Robinson_Arithmetic.html</guid>
<description></description>
</item>
<item>
<title>Syntax-Independent Logic Infrastructure</title>
<link>/entries/Syntax_Independent_Logic.html</link>
<pubDate>Wed, 16 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Syntax_Independent_Logic.html</guid>
<description></description>
</item>
<item>
<title>A Formal Model of Extended Finite State Machines</title>
<link>/entries/Extended_Finite_State_Machines.html</link>
<pubDate>Mon, 07 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Extended_Finite_State_Machines.html</guid>
<description></description>
</item>
<item>
<title>Inference of Extended Finite State Machines</title>
<link>/entries/Extended_Finite_State_Machine_Inference.html</link>
<pubDate>Mon, 07 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Extended_Finite_State_Machine_Inference.html</guid>
<description></description>
</item>
<item>
<title>Practical Algebraic Calculus Checker</title>
<link>/entries/PAC_Checker.html</link>
<pubDate>Mon, 31 Aug 2020 00:00:00 +0000</pubDate>
<guid>/entries/PAC_Checker.html</guid>
<description></description>
</item>
<item>
<title>Some classical results in inductive inference of recursive functions</title>
<link>/entries/Inductive_Inference.html</link>
<pubDate>Mon, 31 Aug 2020 00:00:00 +0000</pubDate>
<guid>/entries/Inductive_Inference.html</guid>
<description></description>
</item>
<item>
<title>Relational Disjoint-Set Forests</title>
<link>/entries/Relational_Disjoint_Set_Forests.html</link>
<pubDate>Wed, 26 Aug 2020 00:00:00 +0000</pubDate>
<guid>/entries/Relational_Disjoint_Set_Forests.html</guid>
<description></description>
</item>
<item>
<title>Extensions to the Comprehensive Framework for Saturation Theorem Proving</title>
<link>/entries/Saturation_Framework_Extensions.html</link>
<pubDate>Tue, 25 Aug 2020 00:00:00 +0000</pubDate>
<guid>/entries/Saturation_Framework_Extensions.html</guid>
<description></description>
</item>
<item>
<title>Putting the `K&#39; into Bird&#39;s derivation of Knuth-Morris-Pratt string matching</title>
<link>/entries/BirdKMP.html</link>
<pubDate>Tue, 25 Aug 2020 00:00:00 +0000</pubDate>
<guid>/entries/BirdKMP.html</guid>
<description></description>
</item>
<item>
<title>Amicable Numbers</title>
<link>/entries/Amicable_Numbers.html</link>
<pubDate>Tue, 04 Aug 2020 00:00:00 +0000</pubDate>
<guid>/entries/Amicable_Numbers.html</guid>
<description></description>
</item>
<item>
<title>Ordinal Partitions</title>
<link>/entries/Ordinal_Partitions.html</link>
<pubDate>Mon, 03 Aug 2020 00:00:00 +0000</pubDate>
<guid>/entries/Ordinal_Partitions.html</guid>
<description></description>
</item>
<item>
<title>A Formal Proof of The Chandy--Lamport Distributed Snapshot Algorithm</title>
<link>/entries/Chandy_Lamport.html</link>
<pubDate>Tue, 21 Jul 2020 00:00:00 +0000</pubDate>
<guid>/entries/Chandy_Lamport.html</guid>
<description></description>
</item>
<item>
<title>Relational Characterisations of Paths</title>
<link>/entries/Relational_Paths.html</link>
<pubDate>Mon, 13 Jul 2020 00:00:00 +0000</pubDate>
<guid>/entries/Relational_Paths.html</guid>
<description></description>
</item>
<item>
<title>A Formally Verified Checker of the Safe Distance Traffic Rules for Autonomous Vehicles</title>
<link>/entries/Safe_Distance.html</link>
<pubDate>Mon, 01 Jun 2020 00:00:00 +0000</pubDate>
<guid>/entries/Safe_Distance.html</guid>
<description></description>
</item>
<item>
<title>A verified algorithm for computing the Smith normal form of a matrix</title>
<link>/entries/Smith_Normal_Form.html</link>
<pubDate>Sat, 23 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Smith_Normal_Form.html</guid>
<description></description>
</item>
<item>
<title>The Nash-Williams Partition Theorem</title>
<link>/entries/Nash_Williams.html</link>
<pubDate>Sat, 16 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Nash_Williams.html</guid>
<description></description>
</item>
<item>
<title>A Formalization of Knuth–Bendix Orders</title>
<link>/entries/Knuth_Bendix_Order.html</link>
<pubDate>Wed, 13 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Knuth_Bendix_Order.html</guid>
<description></description>
</item>
<item>
<title>Irrationality Criteria for Series by Erdős and Straus</title>
<link>/entries/Irrational_Series_Erdos_Straus.html</link>
<pubDate>Tue, 12 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Irrational_Series_Erdos_Straus.html</guid>
<description></description>
</item>
<item>
<title>Recursion Theorem in ZF</title>
<link>/entries/Recursion-Addition.html</link>
<pubDate>Mon, 11 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Recursion-Addition.html</guid>
<description></description>
</item>
<item>
<title>An Efficient Normalisation Procedure for Linear Temporal Logic: Isabelle/HOL Formalisation</title>
<link>/entries/LTL_Normal_Form.html</link>
<pubDate>Fri, 08 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/LTL_Normal_Form.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Forcing in Isabelle/ZF</title>
<link>/entries/Forcing.html</link>
<pubDate>Wed, 06 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Forcing.html</guid>
<description></description>
</item>
<item>
<title>Banach-Steinhaus Theorem</title>
<link>/entries/Banach_Steinhaus.html</link>
<pubDate>Sat, 02 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Banach_Steinhaus.html</guid>
<description></description>
</item>
<item>
<title>Attack Trees in Isabelle for GDPR compliance of IoT healthcare systems</title>
<link>/entries/Attack_Trees.html</link>
<pubDate>Mon, 27 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Attack_Trees.html</guid>
<description></description>
</item>
<item>
<title>Gaussian Integers</title>
<link>/entries/Gaussian_Integers.html</link>
<pubDate>Fri, 24 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Gaussian_Integers.html</guid>
<description></description>
</item>
<item>
<title>Power Sum Polynomials</title>
<link>/entries/Power_Sum_Polynomials.html</link>
<pubDate>Fri, 24 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Power_Sum_Polynomials.html</guid>
<description></description>
</item>
<item>
<title>The Lambert W Function on the Reals</title>
<link>/entries/Lambert_W.html</link>
<pubDate>Fri, 24 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Lambert_W.html</guid>
<description></description>
</item>
<item>
<title>Matrices for ODEs</title>
<link>/entries/Matrices_for_ODEs.html</link>
<pubDate>Sun, 19 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Matrices_for_ODEs.html</guid>
<description></description>
</item>
<item>
<title>Authenticated Data Structures As Functors</title>
<link>/entries/ADS_Functor.html</link>
<pubDate>Thu, 16 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/ADS_Functor.html</guid>
<description></description>
</item>
<item>
<title>Formalization of an Algorithm for Greedily Computing Associative Aggregations on Sliding Windows</title>
<link>/entries/Sliding_Window_Algorithm.html</link>
<pubDate>Fri, 10 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Sliding_Window_Algorithm.html</guid>
<description></description>
</item>
<item>
<title>A Comprehensive Framework for Saturation Theorem Proving</title>
<link>/entries/Saturation_Framework.html</link>
<pubDate>Thu, 09 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Saturation_Framework.html</guid>
<description></description>
</item>
<item>
<title>Formalization of an Optimized Monitoring Algorithm for Metric First-Order Dynamic Logic with Aggregations</title>
<link>/entries/MFODL_Monitor_Optimized.html</link>
<pubDate>Thu, 09 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/MFODL_Monitor_Optimized.html</guid>
<description></description>
</item>
<item>
<title>Automated Stateful Protocol Verification</title>
<link>/entries/Automated_Stateful_Protocol_Verification.html</link>
<pubDate>Wed, 08 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Automated_Stateful_Protocol_Verification.html</guid>
<description></description>
</item>
<item>
<title>Stateful Protocol Composition and Typing</title>
<link>/entries/Stateful_Protocol_Composition_and_Typing.html</link>
<pubDate>Wed, 08 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Stateful_Protocol_Composition_and_Typing.html</guid>
<description></description>
</item>
<item>
<title>Lucas&#39;s Theorem</title>
<link>/entries/Lucas_Theorem.html</link>
<pubDate>Tue, 07 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Lucas_Theorem.html</guid>
<description></description>
</item>
<item>
<title>Strong Eventual Consistency of the Collaborative Editing Framework WOOT</title>
<link>/entries/WOOT_Strong_Eventual_Consistency.html</link>
<pubDate>Wed, 25 Mar 2020 00:00:00 +0000</pubDate>
<guid>/entries/WOOT_Strong_Eventual_Consistency.html</guid>
<description></description>
</item>
<item>
<title>Furstenberg&#39;s topology and his proof of the infinitude of primes</title>
<link>/entries/Furstenberg_Topology.html</link>
<pubDate>Sun, 22 Mar 2020 00:00:00 +0000</pubDate>
<guid>/entries/Furstenberg_Topology.html</guid>
<description></description>
</item>
<item>
<title>An Under-Approximate Relational Logic</title>
<link>/entries/Relational-Incorrectness-Logic.html</link>
<pubDate>Thu, 12 Mar 2020 00:00:00 +0000</pubDate>
<guid>/entries/Relational-Incorrectness-Logic.html</guid>
<description></description>
</item>
<item>
<title>Hello World</title>
<link>/entries/Hello_World.html</link>
<pubDate>Sat, 07 Mar 2020 00:00:00 +0000</pubDate>
<guid>/entries/Hello_World.html</guid>
<description></description>
</item>
<item>
<title>Implementing the Goodstein Function in &amp;lambda;-Calculus</title>
<link>/entries/Goodstein_Lambda.html</link>
<pubDate>Fri, 21 Feb 2020 00:00:00 +0000</pubDate>
<guid>/entries/Goodstein_Lambda.html</guid>
<description></description>
</item>
<item>
<title>A Generic Framework for Verified Compilers</title>
<link>/entries/VeriComp.html</link>
<pubDate>Mon, 10 Feb 2020 00:00:00 +0000</pubDate>
<guid>/entries/VeriComp.html</guid>
<description></description>
</item>
<item>
<title>Arithmetic progressions and relative primes</title>
<link>/entries/Arith_Prog_Rel_Primes.html</link>
<pubDate>Sat, 01 Feb 2020 00:00:00 +0000</pubDate>
<guid>/entries/Arith_Prog_Rel_Primes.html</guid>
<description></description>
</item>
<item>
<title>A Hierarchy of Algebras for Boolean Subsets</title>
<link>/entries/Subset_Boolean_Algebras.html</link>
<pubDate>Fri, 31 Jan 2020 00:00:00 +0000</pubDate>
<guid>/entries/Subset_Boolean_Algebras.html</guid>
<description></description>
</item>
<item>
<title>Mersenne primes and the Lucas–Lehmer test</title>
<link>/entries/Mersenne_Primes.html</link>
<pubDate>Fri, 17 Jan 2020 00:00:00 +0000</pubDate>
<guid>/entries/Mersenne_Primes.html</guid>
<description></description>
</item>
<item>
<title>Verified Approximation Algorithms</title>
<link>/entries/Approximation_Algorithms.html</link>
<pubDate>Thu, 16 Jan 2020 00:00:00 +0000</pubDate>
<guid>/entries/Approximation_Algorithms.html</guid>
<description></description>
</item>
<item>
<title>Closest Pair of Points Algorithms</title>
<link>/entries/Closest_Pair_Points.html</link>
<pubDate>Mon, 13 Jan 2020 00:00:00 +0000</pubDate>
<guid>/entries/Closest_Pair_Points.html</guid>
<description></description>
</item>
<item>
<title>Skip Lists</title>
<link>/entries/Skip_Lists.html</link>
<pubDate>Thu, 09 Jan 2020 00:00:00 +0000</pubDate>
<guid>/entries/Skip_Lists.html</guid>
<description></description>
</item>
<item>
<title>Bicategories</title>
<link>/entries/Bicategory.html</link>
<pubDate>Mon, 06 Jan 2020 00:00:00 +0000</pubDate>
<guid>/entries/Bicategory.html</guid>
<description></description>
</item>
<item>
<title>The Irrationality of ζ(3)</title>
<link>/entries/Zeta_3_Irrational.html</link>
<pubDate>Fri, 27 Dec 2019 00:00:00 +0000</pubDate>
<guid>/entries/Zeta_3_Irrational.html</guid>
<description></description>
</item>
<item>
<title>Formalizing a Seligman-Style Tableau System for Hybrid Logic</title>
<link>/entries/Hybrid_Logic.html</link>
<pubDate>Fri, 20 Dec 2019 00:00:00 +0000</pubDate>
<guid>/entries/Hybrid_Logic.html</guid>
<description></description>
</item>
<item>
<title>The Poincaré-Bendixson Theorem</title>
<link>/entries/Poincare_Bendixson.html</link>
<pubDate>Wed, 18 Dec 2019 00:00:00 +0000</pubDate>
<guid>/entries/Poincare_Bendixson.html</guid>
<description></description>
</item>
<item>
<title>Complex Geometry</title>
<link>/entries/Complex_Geometry.html</link>
<pubDate>Mon, 16 Dec 2019 00:00:00 +0000</pubDate>
<guid>/entries/Complex_Geometry.html</guid>
<description></description>
</item>
<item>
<title>Poincaré Disc Model</title>
<link>/entries/Poincare_Disc.html</link>
<pubDate>Mon, 16 Dec 2019 00:00:00 +0000</pubDate>
<guid>/entries/Poincare_Disc.html</guid>
<description></description>
</item>
<item>
<title>Gauss Sums and the Pólya–Vinogradov Inequality</title>
<link>/entries/Gauss_Sums.html</link>
<pubDate>Tue, 10 Dec 2019 00:00:00 +0000</pubDate>
<guid>/entries/Gauss_Sums.html</guid>
<description></description>
</item>
<item>
<title>An Efficient Generalization of Counting Sort for Large, possibly Infinite Key Ranges</title>
<link>/entries/Generalized_Counting_Sort.html</link>
<pubDate>Wed, 04 Dec 2019 00:00:00 +0000</pubDate>
<guid>/entries/Generalized_Counting_Sort.html</guid>
<description></description>
</item>
<item>
<title>Interval Arithmetic on 32-bit Words</title>
<link>/entries/Interval_Arithmetic_Word32.html</link>
<pubDate>Wed, 27 Nov 2019 00:00:00 +0000</pubDate>
<guid>/entries/Interval_Arithmetic_Word32.html</guid>
<description></description>
</item>
<item>
<title>Zermelo Fraenkel Set Theory in Higher-Order Logic</title>
<link>/entries/ZFC_in_HOL.html</link>
<pubDate>Thu, 24 Oct 2019 00:00:00 +0000</pubDate>
<guid>/entries/ZFC_in_HOL.html</guid>
<description></description>
</item>
<item>
<title>Isabelle/C</title>
<link>/entries/Isabelle_C.html</link>
<pubDate>Tue, 22 Oct 2019 00:00:00 +0000</pubDate>
<guid>/entries/Isabelle_C.html</guid>
<description></description>
</item>
<item>
<title>VerifyThis 2019 -- Polished Isabelle Solutions</title>
<link>/entries/VerifyThis2019.html</link>
<pubDate>Wed, 16 Oct 2019 00:00:00 +0000</pubDate>
<guid>/entries/VerifyThis2019.html</guid>
<description></description>
</item>
<item>
<title>Aristotle&#39;s Assertoric Syllogistic</title>
<link>/entries/Aristotles_Assertoric_Syllogistic.html</link>
<pubDate>Tue, 08 Oct 2019 00:00:00 +0000</pubDate>
<guid>/entries/Aristotles_Assertoric_Syllogistic.html</guid>
<description></description>
</item>
<item>
<title>Sigma Protocols and Commitment Schemes</title>
<link>/entries/Sigma_Commit_Crypto.html</link>
<pubDate>Mon, 07 Oct 2019 00:00:00 +0000</pubDate>
<guid>/entries/Sigma_Commit_Crypto.html</guid>
<description></description>
</item>
<item>
<title>Clean - An Abstract Imperative Programming Language and its Theory</title>
<link>/entries/Clean.html</link>
<pubDate>Fri, 04 Oct 2019 00:00:00 +0000</pubDate>
<guid>/entries/Clean.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Multiway-Join Algorithms</title>
<link>/entries/Generic_Join.html</link>
<pubDate>Mon, 16 Sep 2019 00:00:00 +0000</pubDate>
<guid>/entries/Generic_Join.html</guid>
<description></description>
</item>
<item>
<title>Verification Components for Hybrid Systems</title>
<link>/entries/Hybrid_Systems_VCs.html</link>
<pubDate>Tue, 10 Sep 2019 00:00:00 +0000</pubDate>
<guid>/entries/Hybrid_Systems_VCs.html</guid>
<description></description>
</item>
<item>
<title>Fourier Series</title>
<link>/entries/Fourier.html</link>
<pubDate>Fri, 06 Sep 2019 00:00:00 +0000</pubDate>
<guid>/entries/Fourier.html</guid>
<description></description>
</item>
<item>
<title>A Case Study in Basic Algebra</title>
<link>/entries/Jacobson_Basic_Algebra.html</link>
<pubDate>Fri, 30 Aug 2019 00:00:00 +0000</pubDate>
<guid>/entries/Jacobson_Basic_Algebra.html</guid>
<description></description>
</item>
<item>
<title>Formalisation of an Adaptive State Counting Algorithm</title>
<link>/entries/Adaptive_State_Counting.html</link>
<pubDate>Fri, 16 Aug 2019 00:00:00 +0000</pubDate>
<guid>/entries/Adaptive_State_Counting.html</guid>
<description></description>
</item>
<item>
<title>Laplace Transform</title>
<link>/entries/Laplace_Transform.html</link>
<pubDate>Wed, 14 Aug 2019 00:00:00 +0000</pubDate>
<guid>/entries/Laplace_Transform.html</guid>
<description></description>
</item>
<item>
<title>Communicating Concurrent Kleene Algebra for Distributed Systems Specification</title>
<link>/entries/C2KA_DistributedSystems.html</link>
<pubDate>Tue, 06 Aug 2019 00:00:00 +0000</pubDate>
<guid>/entries/C2KA_DistributedSystems.html</guid>
<description></description>
</item>
<item>
<title>Linear Programming</title>
<link>/entries/Linear_Programming.html</link>
<pubDate>Tue, 06 Aug 2019 00:00:00 +0000</pubDate>
<guid>/entries/Linear_Programming.html</guid>
<description></description>
</item>
<item>
<title>Selected Problems from the International Mathematical Olympiad 2019</title>
<link>/entries/IMO2019.html</link>
<pubDate>Mon, 05 Aug 2019 00:00:00 +0000</pubDate>
<guid>/entries/IMO2019.html</guid>
<description></description>
</item>
<item>
<title>Stellar Quorum Systems</title>
<link>/entries/Stellar_Quorums.html</link>
<pubDate>Thu, 01 Aug 2019 00:00:00 +0000</pubDate>
<guid>/entries/Stellar_Quorums.html</guid>
<description></description>
</item>
<item>
<title>A Formal Development of a Polychronous Polytimed Coordination Language</title>
<link>/entries/TESL_Language.html</link>
<pubDate>Tue, 30 Jul 2019 00:00:00 +0000</pubDate>
<guid>/entries/TESL_Language.html</guid>
<description></description>
</item>
<item>
<title>Order Extension and Szpilrajn&#39;s Extension Theorem</title>
<link>/entries/Szpilrajn.html</link>
<pubDate>Sat, 27 Jul 2019 00:00:00 +0000</pubDate>
<guid>/entries/Szpilrajn.html</guid>
<description></description>
</item>
<item>
<title>A Sequent Calculus for First-Order Logic</title>
<link>/entries/FOL_Seq_Calc1.html</link>
<pubDate>Thu, 18 Jul 2019 00:00:00 +0000</pubDate>
<guid>/entries/FOL_Seq_Calc1.html</guid>
<description></description>
</item>
<item>
<title>A Verified Code Generator from Isabelle/HOL to CakeML</title>
<link>/entries/CakeML_Codegen.html</link>
<pubDate>Mon, 08 Jul 2019 00:00:00 +0000</pubDate>
<guid>/entries/CakeML_Codegen.html</guid>
<description></description>
</item>
<item>
<title>Formalization of a Monitoring Algorithm for Metric First-Order Temporal Logic</title>
<link>/entries/MFOTL_Monitor.html</link>
<pubDate>Thu, 04 Jul 2019 00:00:00 +0000</pubDate>
<guid>/entries/MFOTL_Monitor.html</guid>
<description></description>
</item>
<item>
<title>Complete Non-Orders and Fixed Points</title>
<link>/entries/Complete_Non_Orders.html</link>
<pubDate>Thu, 27 Jun 2019 00:00:00 +0000</pubDate>
<guid>/entries/Complete_Non_Orders.html</guid>
<description></description>
</item>
<item>
<title>Priority Search Trees</title>
<link>/entries/Priority_Search_Trees.html</link>
<pubDate>Tue, 25 Jun 2019 00:00:00 +0000</pubDate>
<guid>/entries/Priority_Search_Trees.html</guid>
<description></description>
</item>
<item>
<title>Purely Functional, Simple, and Efficient Implementation of Prim and Dijkstra</title>
<link>/entries/Prim_Dijkstra_Simple.html</link>
<pubDate>Tue, 25 Jun 2019 00:00:00 +0000</pubDate>
<guid>/entries/Prim_Dijkstra_Simple.html</guid>
<description></description>
</item>
<item>
<title>Linear Inequalities</title>
<link>/entries/Linear_Inequalities.html</link>
<pubDate>Fri, 21 Jun 2019 00:00:00 +0000</pubDate>
<guid>/entries/Linear_Inequalities.html</guid>
<description></description>
</item>
<item>
<title>Hilbert&#39;s Nullstellensatz</title>
<link>/entries/Nullstellensatz.html</link>
<pubDate>Sun, 16 Jun 2019 00:00:00 +0000</pubDate>
<guid>/entries/Nullstellensatz.html</guid>
<description></description>
</item>
<item>
<title>Gröbner Bases, Macaulay Matrices and Dubé&#39;s Degree Bounds</title>
<link>/entries/Groebner_Macaulay.html</link>
<pubDate>Sat, 15 Jun 2019 00:00:00 +0000</pubDate>
<guid>/entries/Groebner_Macaulay.html</guid>
<description></description>
</item>
<item>
<title>Binary Heaps for IMP2</title>
<link>/entries/IMP2_Binary_Heap.html</link>
<pubDate>Thu, 13 Jun 2019 00:00:00 +0000</pubDate>
<guid>/entries/IMP2_Binary_Heap.html</guid>
<description></description>
</item>
<item>
<title>Differential Game Logic</title>
<link>/entries/Differential_Game_Logic.html</link>
<pubDate>Mon, 03 Jun 2019 00:00:00 +0000</pubDate>
<guid>/entries/Differential_Game_Logic.html</guid>
<description></description>
</item>
<item>
<title>Multidimensional Binary Search Trees</title>
<link>/entries/KD_Tree.html</link>
<pubDate>Thu, 30 May 2019 00:00:00 +0000</pubDate>
<guid>/entries/KD_Tree.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Generic Authenticated Data Structures</title>
<link>/entries/LambdaAuth.html</link>
<pubDate>Tue, 14 May 2019 00:00:00 +0000</pubDate>
<guid>/entries/LambdaAuth.html</guid>
<description></description>
</item>
<item>
<title>Multi-Party Computation</title>
<link>/entries/Multi_Party_Computation.html</link>
<pubDate>Thu, 09 May 2019 00:00:00 +0000</pubDate>
<guid>/entries/Multi_Party_Computation.html</guid>
<description></description>
</item>
<item>
<title>HOL-CSP Version 2.0</title>
<link>/entries/HOL-CSP.html</link>
<pubDate>Fri, 26 Apr 2019 00:00:00 +0000</pubDate>
<guid>/entries/HOL-CSP.html</guid>
<description></description>
</item>
<item>
<title>A Compositional and Unified Translation of LTL into ω-Automata</title>
<link>/entries/LTL_Master_Theorem.html</link>
<pubDate>Tue, 16 Apr 2019 00:00:00 +0000</pubDate>
<guid>/entries/LTL_Master_Theorem.html</guid>
<description></description>
</item>
<item>
<title>A General Theory of Syntax with Bindings</title>
<link>/entries/Binding_Syntax_Theory.html</link>
<pubDate>Sat, 06 Apr 2019 00:00:00 +0000</pubDate>
<guid>/entries/Binding_Syntax_Theory.html</guid>
<description></description>
</item>
<item>
<title>The Transcendence of Certain Infinite Series</title>
<link>/entries/Transcendence_Series_Hancl_Rucki.html</link>
<pubDate>Wed, 27 Mar 2019 00:00:00 +0000</pubDate>
<guid>/entries/Transcendence_Series_Hancl_Rucki.html</guid>
<description></description>
</item>
<item>
<title>Quantum Hoare Logic</title>
<link>/entries/QHLProver.html</link>
<pubDate>Sun, 24 Mar 2019 00:00:00 +0000</pubDate>
<guid>/entries/QHLProver.html</guid>
<description></description>
</item>
<item>
<title>Safe OCL</title>
<link>/entries/Safe_OCL.html</link>
<pubDate>Sat, 09 Mar 2019 00:00:00 +0000</pubDate>
<guid>/entries/Safe_OCL.html</guid>
<description></description>
</item>
<item>
<title>Elementary Facts About the Distribution of Primes</title>
<link>/entries/Prime_Distribution_Elementary.html</link>
<pubDate>Thu, 21 Feb 2019 00:00:00 +0000</pubDate>
<guid>/entries/Prime_Distribution_Elementary.html</guid>
<description></description>
</item>
<item>
<title>Kruskal&#39;s Algorithm for Minimum Spanning Forest</title>
<link>/entries/Kruskal.html</link>
<pubDate>Thu, 14 Feb 2019 00:00:00 +0000</pubDate>
<guid>/entries/Kruskal.html</guid>
<description></description>
</item>
<item>
<title>Probabilistic Primality Testing</title>
<link>/entries/Probabilistic_Prime_Tests.html</link>
<pubDate>Mon, 11 Feb 2019 00:00:00 +0000</pubDate>
<guid>/entries/Probabilistic_Prime_Tests.html</guid>
<description></description>
</item>
<item>
<title>Universal Turing Machine</title>
<link>/entries/Universal_Turing_Machine.html</link>
<pubDate>Fri, 08 Feb 2019 00:00:00 +0000</pubDate>
<guid>/entries/Universal_Turing_Machine.html</guid>
<description></description>
</item>
<item>
<title>Isabelle/UTP: Mechanised Theory Engineering for Unifying Theories of Programming</title>
<link>/entries/UTP.html</link>
<pubDate>Fri, 01 Feb 2019 00:00:00 +0000</pubDate>
<guid>/entries/UTP.html</guid>
<description></description>
</item>
<item>
<title>The Inversions of a List</title>
<link>/entries/List_Inversions.html</link>
<pubDate>Fri, 01 Feb 2019 00:00:00 +0000</pubDate>
<guid>/entries/List_Inversions.html</guid>
<description></description>
</item>
<item>
<title>Farkas&#39; Lemma and Motzkin&#39;s Transposition Theorem</title>
<link>/entries/Farkas.html</link>
<pubDate>Thu, 17 Jan 2019 00:00:00 +0000</pubDate>
<guid>/entries/Farkas.html</guid>
<description></description>
</item>
<item>
<title>An Algebra for Higher-Order Terms</title>
<link>/entries/Higher_Order_Terms.html</link>
<pubDate>Tue, 15 Jan 2019 00:00:00 +0000</pubDate>
<guid>/entries/Higher_Order_Terms.html</guid>
<description></description>
</item>
<item>
<title>IMP2 – Simple Program Verification in Isabelle/HOL</title>
<link>/entries/IMP2.html</link>
<pubDate>Tue, 15 Jan 2019 00:00:00 +0000</pubDate>
<guid>/entries/IMP2.html</guid>
<description></description>
</item>
<item>
<title>A Reduction Theorem for Store Buffers</title>
<link>/entries/Store_Buffer_Reduction.html</link>
<pubDate>Mon, 07 Jan 2019 00:00:00 +0000</pubDate>
<guid>/entries/Store_Buffer_Reduction.html</guid>
<description></description>
</item>
<item>
<title>A Formal Model of the Document Object Model</title>
<link>/entries/Core_DOM.html</link>
<pubDate>Wed, 26 Dec 2018 00:00:00 +0000</pubDate>
<guid>/entries/Core_DOM.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Concurrent Revisions</title>
<link>/entries/Concurrent_Revisions.html</link>
<pubDate>Tue, 25 Dec 2018 00:00:00 +0000</pubDate>
<guid>/entries/Concurrent_Revisions.html</guid>
<description></description>
</item>
<item>
<title>Verifying Imperative Programs using Auto2</title>
<link>/entries/Auto2_Imperative_HOL.html</link>
<pubDate>Fri, 21 Dec 2018 00:00:00 +0000</pubDate>
<guid>/entries/Auto2_Imperative_HOL.html</guid>
<description></description>
</item>
<item>
<title>Constructive Cryptography in HOL</title>
<link>/entries/Constructive_Cryptography.html</link>
<pubDate>Mon, 17 Dec 2018 00:00:00 +0000</pubDate>
<guid>/entries/Constructive_Cryptography.html</guid>
<description></description>
</item>
<item>
<title>Properties of Orderings and Lattices</title>
<link>/entries/Order_Lattice_Props.html</link>
<pubDate>Tue, 11 Dec 2018 00:00:00 +0000</pubDate>
<guid>/entries/Order_Lattice_Props.html</guid>
<description></description>
</item>
<item>
<title>Quantales</title>
<link>/entries/Quantales.html</link>
<pubDate>Tue, 11 Dec 2018 00:00:00 +0000</pubDate>
<guid>/entries/Quantales.html</guid>
<description></description>
</item>
<item>
<title>Transformer Semantics</title>
<link>/entries/Transformer_Semantics.html</link>
<pubDate>Tue, 11 Dec 2018 00:00:00 +0000</pubDate>
<guid>/entries/Transformer_Semantics.html</guid>
<description></description>
</item>
<item>
<title>A Verified Functional Implementation of Bachmair and Ganzinger&#39;s Ordered Resolution Prover</title>
<link>/entries/Functional_Ordered_Resolution_Prover.html</link>
<pubDate>Fri, 23 Nov 2018 00:00:00 +0000</pubDate>
<guid>/entries/Functional_Ordered_Resolution_Prover.html</guid>
<description></description>
</item>
<item>
<title>Graph Saturation</title>
<link>/entries/Graph_Saturation.html</link>
<pubDate>Fri, 23 Nov 2018 00:00:00 +0000</pubDate>
<guid>/entries/Graph_Saturation.html</guid>
<description></description>
</item>
<item>
<title>Auto2 Prover</title>
<link>/entries/Auto2_HOL.html</link>
<pubDate>Tue, 20 Nov 2018 00:00:00 +0000</pubDate>
<guid>/entries/Auto2_HOL.html</guid>
<description></description>
</item>
<item>
<title>Matroids</title>
<link>/entries/Matroids.html</link>
<pubDate>Fri, 16 Nov 2018 00:00:00 +0000</pubDate>
<guid>/entries/Matroids.html</guid>
<description></description>
</item>
<item>
<title>Deriving generic class instances for datatypes</title>
<link>/entries/Generic_Deriving.html</link>
<pubDate>Tue, 06 Nov 2018 00:00:00 +0000</pubDate>
<guid>/entries/Generic_Deriving.html</guid>
<description></description>
</item>
<item>
<title>Formalisation and Evaluation of Alan Gewirth&#39;s Proof for the Principle of Generic Consistency in Isabelle/HOL</title>
<link>/entries/GewirthPGCProof.html</link>
<pubDate>Tue, 30 Oct 2018 00:00:00 +0000</pubDate>
<guid>/entries/GewirthPGCProof.html</guid>
<description></description>
</item>
<item>
<title>Epistemic Logic: Completeness of Modal Logics</title>
<link>/entries/Epistemic_Logic.html</link>
<pubDate>Mon, 29 Oct 2018 00:00:00 +0000</pubDate>
<guid>/entries/Epistemic_Logic.html</guid>
<description></description>
</item>
<item>
<title>Smooth Manifolds</title>
<link>/entries/Smooth_Manifolds.html</link>
<pubDate>Mon, 22 Oct 2018 00:00:00 +0000</pubDate>
<guid>/entries/Smooth_Manifolds.html</guid>
<description></description>
</item>
<item>
<title>Formalization of the Embedding Path Order for Lambda-Free Higher-Order Terms</title>
<link>/entries/Lambda_Free_EPO.html</link>
<pubDate>Fri, 19 Oct 2018 00:00:00 +0000</pubDate>
<guid>/entries/Lambda_Free_EPO.html</guid>
<description></description>
</item>
<item>
<title>Randomised Binary Search Trees</title>
<link>/entries/Randomised_BSTs.html</link>
<pubDate>Fri, 19 Oct 2018 00:00:00 +0000</pubDate>
<guid>/entries/Randomised_BSTs.html</guid>
<description></description>
</item>
<item>
<title>Upper Bounding Diameters of State Spaces of Factored Transition Systems</title>
<link>/entries/Factored_Transition_System_Bounding.html</link>
<pubDate>Fri, 12 Oct 2018 00:00:00 +0000</pubDate>
<guid>/entries/Factored_Transition_System_Bounding.html</guid>
<description></description>
</item>
<item>
<title>The Transcendence of π</title>
<link>/entries/Pi_Transcendental.html</link>
<pubDate>Fri, 28 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Pi_Transcendental.html</guid>
<description></description>
</item>
<item>
<title>Symmetric Polynomials</title>
<link>/entries/Symmetric_Polynomials.html</link>
<pubDate>Tue, 25 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Symmetric_Polynomials.html</guid>
<description></description>
</item>
<item>
<title>Signature-Based Gröbner Basis Algorithms</title>
<link>/entries/Signature_Groebner.html</link>
<pubDate>Thu, 20 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Signature_Groebner.html</guid>
<description></description>
</item>
<item>
<title>The Prime Number Theorem</title>
<link>/entries/Prime_Number_Theorem.html</link>
<pubDate>Wed, 19 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Prime_Number_Theorem.html</guid>
<description></description>
</item>
<item>
<title>Aggregation Algebras</title>
<link>/entries/Aggregation_Algebras.html</link>
<pubDate>Sat, 15 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Aggregation_Algebras.html</guid>
<description></description>
</item>
<item>
<title>Octonions</title>
<link>/entries/Octonions.html</link>
<pubDate>Fri, 14 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Octonions.html</guid>
<description></description>
</item>
<item>
<title>Quaternions</title>
<link>/entries/Quaternions.html</link>
<pubDate>Wed, 05 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Quaternions.html</guid>
<description></description>
</item>
<item>
<title>The Budan-Fourier Theorem and Counting Real Roots with Multiplicity</title>
<link>/entries/Budan_Fourier.html</link>
<pubDate>Sun, 02 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Budan_Fourier.html</guid>
<description></description>
</item>
<item>
<title>An Incremental Simplex Algorithm with Unsatisfiable Core Generation</title>
<link>/entries/Simplex.html</link>
<pubDate>Fri, 24 Aug 2018 00:00:00 +0000</pubDate>
<guid>/entries/Simplex.html</guid>
<description></description>
</item>
<item>
<title>Minsky Machines</title>
<link>/entries/Minsky_Machines.html</link>
<pubDate>Tue, 14 Aug 2018 00:00:00 +0000</pubDate>
<guid>/entries/Minsky_Machines.html</guid>
<description></description>
</item>
<item>
<title>Pricing in discrete financial models</title>
<link>/entries/DiscretePricing.html</link>
<pubDate>Mon, 16 Jul 2018 00:00:00 +0000</pubDate>
<guid>/entries/DiscretePricing.html</guid>
<description></description>
</item>
<item>
<title>Von-Neumann-Morgenstern Utility Theorem</title>
<link>/entries/Neumann_Morgenstern_Utility.html</link>
<pubDate>Wed, 04 Jul 2018 00:00:00 +0000</pubDate>
<guid>/entries/Neumann_Morgenstern_Utility.html</guid>
<description></description>
</item>
<item>
<title>Pell&#39;s Equation</title>
<link>/entries/Pell.html</link>
<pubDate>Sat, 23 Jun 2018 00:00:00 +0000</pubDate>
<guid>/entries/Pell.html</guid>
<description></description>
</item>
<item>
<title>Projective Geometry</title>
<link>/entries/Projective_Geometry.html</link>
<pubDate>Thu, 14 Jun 2018 00:00:00 +0000</pubDate>
<guid>/entries/Projective_Geometry.html</guid>
<description></description>
</item>
<item>
<title>The Localization of a Commutative Ring</title>
<link>/entries/Localization_Ring.html</link>
<pubDate>Thu, 14 Jun 2018 00:00:00 +0000</pubDate>
<guid>/entries/Localization_Ring.html</guid>
<description></description>
</item>
<item>
<title>Partial Order Reduction</title>
<link>/entries/Partial_Order_Reduction.html</link>
<pubDate>Tue, 05 Jun 2018 00:00:00 +0000</pubDate>
<guid>/entries/Partial_Order_Reduction.html</guid>
<description></description>
</item>
<item>
<title>Optimal Binary Search Trees</title>
<link>/entries/Optimal_BST.html</link>
<pubDate>Sun, 27 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/Optimal_BST.html</guid>
<description></description>
</item>
<item>
<title>Hidden Markov Models</title>
<link>/entries/Hidden_Markov_Models.html</link>
<pubDate>Fri, 25 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/Hidden_Markov_Models.html</guid>
<description></description>
</item>
<item>
<title>Probabilistic Timed Automata</title>
<link>/entries/Probabilistic_Timed_Automata.html</link>
<pubDate>Thu, 24 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/Probabilistic_Timed_Automata.html</guid>
<description></description>
</item>
<item>
<title>Axiom Systems for Category Theory in Free Logic</title>
<link>/entries/AxiomaticCategoryTheory.html</link>
<pubDate>Wed, 23 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/AxiomaticCategoryTheory.html</guid>
<description></description>
</item>
<item>
<title>Irrational Rapidly Convergent Series</title>
<link>/entries/Irrationality_J_Hancl.html</link>
<pubDate>Wed, 23 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/Irrationality_J_Hancl.html</guid>
<description></description>
</item>
<item>
<title>Monadification, Memoization and Dynamic Programming</title>
<link>/entries/Monad_Memo_DP.html</link>
<pubDate>Tue, 22 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/Monad_Memo_DP.html</guid>
<description></description>
</item>
<item>
<title>OpSets: Sequential Specifications for Replicated Datatypes</title>
<link>/entries/OpSets.html</link>
<pubDate>Thu, 10 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/OpSets.html</guid>
<description></description>
</item>
<item>
<title>An Isabelle/HOL Formalization of the Modular Assembly Kit for Security Properties</title>
<link>/entries/Modular_Assembly_Kit_Security.html</link>
<pubDate>Mon, 07 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/Modular_Assembly_Kit_Security.html</guid>
<description></description>
</item>
<item>
<title>WebAssembly</title>
<link>/entries/WebAssembly.html</link>
<pubDate>Sun, 29 Apr 2018 00:00:00 +0000</pubDate>
<guid>/entries/WebAssembly.html</guid>
<description></description>
</item>
<item>
<title>VerifyThis 2018 - Polished Isabelle Solutions</title>
<link>/entries/VerifyThis2018.html</link>
<pubDate>Fri, 27 Apr 2018 00:00:00 +0000</pubDate>
<guid>/entries/VerifyThis2018.html</guid>
<description></description>
</item>
<item>
<title>Bounded Natural Functors with Covariance and Contravariance</title>
<link>/entries/BNF_CC.html</link>
<pubDate>Tue, 24 Apr 2018 00:00:00 +0000</pubDate>
<guid>/entries/BNF_CC.html</guid>
<description></description>
</item>
<item>
<title>The Incompatibility of Fishburn-Strategyproofness and Pareto-Efficiency</title>
<link>/entries/Fishburn_Impossibility.html</link>
<pubDate>Thu, 22 Mar 2018 00:00:00 +0000</pubDate>
<guid>/entries/Fishburn_Impossibility.html</guid>
<description></description>
</item>
<item>
<title>Weight-Balanced Trees</title>
<link>/entries/Weight_Balanced_Trees.html</link>
<pubDate>Tue, 13 Mar 2018 00:00:00 +0000</pubDate>
<guid>/entries/Weight_Balanced_Trees.html</guid>
<description></description>
</item>
<item>
<title>CakeML</title>
<link>/entries/CakeML.html</link>
<pubDate>Mon, 12 Mar 2018 00:00:00 +0000</pubDate>
<guid>/entries/CakeML.html</guid>
<description></description>
</item>
<item>
<title>A Theory of Architectural Design Patterns</title>
<link>/entries/Architectural_Design_Patterns.html</link>
<pubDate>Thu, 01 Mar 2018 00:00:00 +0000</pubDate>
<guid>/entries/Architectural_Design_Patterns.html</guid>
<description></description>
</item>
<item>
<title>Hoare Logics for Time Bounds</title>
<link>/entries/Hoare_Time.html</link>
<pubDate>Mon, 26 Feb 2018 00:00:00 +0000</pubDate>
<guid>/entries/Hoare_Time.html</guid>
<description></description>
</item>
<item>
<title>A verified factorization algorithm for integer polynomials with polynomial complexity</title>
<link>/entries/LLL_Factorization.html</link>
<pubDate>Tue, 06 Feb 2018 00:00:00 +0000</pubDate>
<guid>/entries/LLL_Factorization.html</guid>
<description></description>
</item>
<item>
<title>First-Order Terms</title>
<link>/entries/First_Order_Terms.html</link>
<pubDate>Tue, 06 Feb 2018 00:00:00 +0000</pubDate>
<guid>/entries/First_Order_Terms.html</guid>
<description></description>
</item>
<item>
<title>The Error Function</title>
<link>/entries/Error_Function.html</link>
<pubDate>Tue, 06 Feb 2018 00:00:00 +0000</pubDate>
<guid>/entries/Error_Function.html</guid>
<description></description>
</item>
<item>
<title>Treaps</title>
<link>/entries/Treaps.html</link>
<pubDate>Tue, 06 Feb 2018 00:00:00 +0000</pubDate>
<guid>/entries/Treaps.html</guid>
<description></description>
</item>
<item>
<title>A verified LLL algorithm</title>
<link>/entries/LLL_Basis_Reduction.html</link>
<pubDate>Fri, 02 Feb 2018 00:00:00 +0000</pubDate>
<guid>/entries/LLL_Basis_Reduction.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Bachmair and Ganzinger&#39;s Ordered Resolution Prover</title>
<link>/entries/Ordered_Resolution_Prover.html</link>
<pubDate>Thu, 18 Jan 2018 00:00:00 +0000</pubDate>
<guid>/entries/Ordered_Resolution_Prover.html</guid>
<description></description>
</item>
<item>
<title>Gromov Hyperbolicity</title>
<link>/entries/Gromov_Hyperbolicity.html</link>
<pubDate>Tue, 16 Jan 2018 00:00:00 +0000</pubDate>
<guid>/entries/Gromov_Hyperbolicity.html</guid>
<description></description>
</item>
<item>
<title>An Isabelle/HOL formalisation of Green&#39;s Theorem</title>
<link>/entries/Green.html</link>
<pubDate>Thu, 11 Jan 2018 00:00:00 +0000</pubDate>
<guid>/entries/Green.html</guid>
<description></description>
</item>
<item>
<title>Taylor Models</title>
<link>/entries/Taylor_Models.html</link>
<pubDate>Mon, 08 Jan 2018 00:00:00 +0000</pubDate>
<guid>/entries/Taylor_Models.html</guid>
<description></description>
</item>
<item>
<title>The Falling Factorial of a Sum</title>
<link>/entries/Falling_Factorial_Sum.html</link>
<pubDate>Fri, 22 Dec 2017 00:00:00 +0000</pubDate>
<guid>/entries/Falling_Factorial_Sum.html</guid>
<description></description>
</item>
<item>
<title>Dirichlet L-Functions and Dirichlet&#39;s Theorem</title>
<link>/entries/Dirichlet_L.html</link>
<pubDate>Thu, 21 Dec 2017 00:00:00 +0000</pubDate>
<guid>/entries/Dirichlet_L.html</guid>
<description></description>
</item>
<item>
<title>The Mason–Stothers Theorem</title>
<link>/entries/Mason_Stothers.html</link>
<pubDate>Thu, 21 Dec 2017 00:00:00 +0000</pubDate>
<guid>/entries/Mason_Stothers.html</guid>
<description></description>
</item>
<item>
<title>The Median-of-Medians Selection Algorithm</title>
<link>/entries/Median_Of_Medians_Selection.html</link>
<pubDate>Thu, 21 Dec 2017 00:00:00 +0000</pubDate>
<guid>/entries/Median_Of_Medians_Selection.html</guid>
<description></description>
</item>
<item>
<title>Operations on Bounded Natural Functors</title>
<link>/entries/BNF_Operations.html</link>
<pubDate>Tue, 19 Dec 2017 00:00:00 +0000</pubDate>
<guid>/entries/BNF_Operations.html</guid>
<description></description>
</item>
<item>
<title>The string search algorithm by Knuth, Morris and Pratt</title>
<link>/entries/Knuth_Morris_Pratt.html</link>
<pubDate>Mon, 18 Dec 2017 00:00:00 +0000</pubDate>
<guid>/entries/Knuth_Morris_Pratt.html</guid>
<description></description>
</item>
<item>
<title>Stochastic Matrices and the Perron-Frobenius Theorem</title>
<link>/entries/Stochastic_Matrices.html</link>
<pubDate>Wed, 22 Nov 2017 00:00:00 +0000</pubDate>
<guid>/entries/Stochastic_Matrices.html</guid>
<description></description>
</item>
<item>
<title>The IMAP CmRDT</title>
<link>/entries/IMAP-CRDT.html</link>
<pubDate>Thu, 09 Nov 2017 00:00:00 +0000</pubDate>
<guid>/entries/IMAP-CRDT.html</guid>
<description></description>
</item>
<item>
<title>Hybrid Multi-Lane Spatial Logic</title>
<link>/entries/Hybrid_Multi_Lane_Spatial_Logic.html</link>
<pubDate>Mon, 06 Nov 2017 00:00:00 +0000</pubDate>
<guid>/entries/Hybrid_Multi_Lane_Spatial_Logic.html</guid>
<description></description>
</item>
<item>
<title>The Kuratowski Closure-Complement Theorem</title>
<link>/entries/Kuratowski_Closure_Complement.html</link>
<pubDate>Thu, 26 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Kuratowski_Closure_Complement.html</guid>
<description></description>
</item>
<item>
<title>Büchi Complementation</title>
<link>/entries/Buchi_Complementation.html</link>
<pubDate>Thu, 19 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Buchi_Complementation.html</guid>
<description></description>
</item>
<item>
<title>Transition Systems and Automata</title>
<link>/entries/Transition_Systems_and_Automata.html</link>
<pubDate>Thu, 19 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Transition_Systems_and_Automata.html</guid>
<description></description>
</item>
<item>
<title>Count the Number of Complex Roots</title>
<link>/entries/Count_Complex_Roots.html</link>
<pubDate>Tue, 17 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Count_Complex_Roots.html</guid>
<description></description>
</item>
<item>
<title>Evaluate Winding Numbers through Cauchy Indices</title>
<link>/entries/Winding_Number_Eval.html</link>
<pubDate>Tue, 17 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Winding_Number_Eval.html</guid>
<description></description>
</item>
<item>
<title>Homogeneous Linear Diophantine Equations</title>
<link>/entries/Diophantine_Eqns_Lin_Hom.html</link>
<pubDate>Sat, 14 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Diophantine_Eqns_Lin_Hom.html</guid>
<description></description>
</item>
<item>
<title>Dirichlet Series</title>
<link>/entries/Dirichlet_Series.html</link>
<pubDate>Thu, 12 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Dirichlet_Series.html</guid>
<description></description>
</item>
<item>
<title>Linear Recurrences</title>
<link>/entries/Linear_Recurrences.html</link>
<pubDate>Thu, 12 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Linear_Recurrences.html</guid>
<description></description>
</item>
<item>
<title>The Hurwitz and Riemann ζ Functions</title>
<link>/entries/Zeta_Function.html</link>
<pubDate>Thu, 12 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Zeta_Function.html</guid>
<description></description>
</item>
<item>
<title>Computer-assisted Reconstruction and Assessment of E. J. Lowe&#39;s Modal Ontological Argument</title>
<link>/entries/Lowe_Ontological_Argument.html</link>
<pubDate>Thu, 21 Sep 2017 00:00:00 +0000</pubDate>
<guid>/entries/Lowe_Ontological_Argument.html</guid>
<description></description>
</item>
<item>
<title>Representation and Partial Automation of the Principia Logico-Metaphysica in Isabelle/HOL</title>
<link>/entries/PLM.html</link>
<pubDate>Sun, 17 Sep 2017 00:00:00 +0000</pubDate>
<guid>/entries/PLM.html</guid>
<description></description>
</item>
<item>
<title>Anselm&#39;s God in Isabelle/HOL</title>
<link>/entries/AnselmGod.html</link>
<pubDate>Wed, 06 Sep 2017 00:00:00 +0000</pubDate>
<guid>/entries/AnselmGod.html</guid>
<description></description>
</item>
<item>
<title>Microeconomics and the First Welfare Theorem</title>
<link>/entries/First_Welfare_Theorem.html</link>
<pubDate>Fri, 01 Sep 2017 00:00:00 +0000</pubDate>
<guid>/entries/First_Welfare_Theorem.html</guid>
<description></description>
</item>
<item>
<title>Orbit-Stabiliser Theorem with Application to Rotational Symmetries</title>
<link>/entries/Orbit_Stabiliser.html</link>
<pubDate>Sun, 20 Aug 2017 00:00:00 +0000</pubDate>
<guid>/entries/Orbit_Stabiliser.html</guid>
<description></description>
</item>
<item>
<title>Root-Balanced Tree</title>
<link>/entries/Root_Balanced_Tree.html</link>
<pubDate>Sun, 20 Aug 2017 00:00:00 +0000</pubDate>
<guid>/entries/Root_Balanced_Tree.html</guid>
<description></description>
</item>
<item>
<title>The LambdaMu-calculus</title>
<link>/entries/LambdaMu.html</link>
<pubDate>Wed, 16 Aug 2017 00:00:00 +0000</pubDate>
<guid>/entries/LambdaMu.html</guid>
<description></description>
</item>
<item>
<title>Stewart&#39;s Theorem and Apollonius&#39; Theorem</title>
<link>/entries/Stewart_Apollonius.html</link>
<pubDate>Mon, 31 Jul 2017 00:00:00 +0000</pubDate>
<guid>/entries/Stewart_Apollonius.html</guid>
<description></description>
</item>
<item>
<title>Dynamic Architectures</title>
<link>/entries/DynamicArchitectures.html</link>
<pubDate>Fri, 28 Jul 2017 00:00:00 +0000</pubDate>
<guid>/entries/DynamicArchitectures.html</guid>
<description></description>
</item>
<item>
<title>Declarative Semantics for Functional Languages</title>
<link>/entries/Decl_Sem_Fun_PL.html</link>
<pubDate>Fri, 21 Jul 2017 00:00:00 +0000</pubDate>
<guid>/entries/Decl_Sem_Fun_PL.html</guid>
<description></description>
</item>
<item>
<title>HOLCF-Prelude</title>
<link>/entries/HOLCF-Prelude.html</link>
<pubDate>Sat, 15 Jul 2017 00:00:00 +0000</pubDate>
<guid>/entries/HOLCF-Prelude.html</guid>
<description></description>
</item>
<item>
<title>Minkowski&#39;s Theorem</title>
<link>/entries/Minkowskis_Theorem.html</link>
<pubDate>Thu, 13 Jul 2017 00:00:00 +0000</pubDate>
<guid>/entries/Minkowskis_Theorem.html</guid>
<description></description>
</item>
<item>
<title>Verified Metatheory and Type Inference for a Name-Carrying Simply-Typed Lambda Calculus</title>
<link>/entries/Name_Carrying_Type_Inference.html</link>
<pubDate>Sun, 09 Jul 2017 00:00:00 +0000</pubDate>
<guid>/entries/Name_Carrying_Type_Inference.html</guid>
<description></description>
</item>
<item>
<title>A framework for establishing Strong Eventual Consistency for Conflict-free Replicated Datatypes</title>
<link>/entries/CRDT.html</link>
<pubDate>Fri, 07 Jul 2017 00:00:00 +0000</pubDate>
<guid>/entries/CRDT.html</guid>
<description></description>
</item>
<item>
<title>Stone-Kleene Relation Algebras</title>
<link>/entries/Stone_Kleene_Relation_Algebras.html</link>
<pubDate>Thu, 06 Jul 2017 00:00:00 +0000</pubDate>
<guid>/entries/Stone_Kleene_Relation_Algebras.html</guid>
<description></description>
</item>
<item>
<title>Propositional Proof Systems</title>
<link>/entries/Propositional_Proof_Systems.html</link>
<pubDate>Wed, 21 Jun 2017 00:00:00 +0000</pubDate>
<guid>/entries/Propositional_Proof_Systems.html</guid>
<description></description>
</item>
<item>
<title>Partial Semigroups and Convolution Algebras</title>
<link>/entries/PSemigroupsConvolution.html</link>
<pubDate>Tue, 13 Jun 2017 00:00:00 +0000</pubDate>
<guid>/entries/PSemigroupsConvolution.html</guid>
<description></description>
</item>
<item>
<title>Buffon&#39;s Needle Problem</title>
<link>/entries/Buffons_Needle.html</link>
<pubDate>Tue, 06 Jun 2017 00:00:00 +0000</pubDate>
<guid>/entries/Buffons_Needle.html</guid>
<description></description>
</item>
<item>
<title>Flow Networks and the Min-Cut-Max-Flow Theorem</title>
<link>/entries/Flow_Networks.html</link>
<pubDate>Thu, 01 Jun 2017 00:00:00 +0000</pubDate>
<guid>/entries/Flow_Networks.html</guid>
<description></description>
</item>
<item>
<title>Formalizing Push-Relabel Algorithms</title>
<link>/entries/Prpu_Maxflow.html</link>
<pubDate>Thu, 01 Jun 2017 00:00:00 +0000</pubDate>
<guid>/entries/Prpu_Maxflow.html</guid>
<description></description>
</item>
<item>
<title>Optics</title>
<link>/entries/Optics.html</link>
<pubDate>Thu, 25 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Optics.html</guid>
<description></description>
</item>
<item>
<title>Developing Security Protocols by Refinement</title>
<link>/entries/Security_Protocol_Refinement.html</link>
<pubDate>Wed, 24 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Security_Protocol_Refinement.html</guid>
<description></description>
</item>
<item>
<title>Dictionary Construction</title>
<link>/entries/Dict_Construction.html</link>
<pubDate>Wed, 24 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Dict_Construction.html</guid>
<description></description>
</item>
<item>
<title>The Floyd-Warshall Algorithm for Shortest Paths</title>
<link>/entries/Floyd_Warshall.html</link>
<pubDate>Mon, 08 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Floyd_Warshall.html</guid>
<description></description>
</item>
<item>
<title>CryptHOL</title>
<link>/entries/CryptHOL.html</link>
<pubDate>Fri, 05 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/CryptHOL.html</guid>
<description></description>
</item>
<item>
<title>Effect polymorphism in higher-order logic</title>
<link>/entries/Monomorphic_Monad.html</link>
<pubDate>Fri, 05 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Monomorphic_Monad.html</guid>
<description></description>
</item>
<item>
<title>Game-based cryptography in HOL</title>
<link>/entries/Game_Based_Crypto.html</link>
<pubDate>Fri, 05 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Game_Based_Crypto.html</guid>
<description></description>
</item>
<item>
<title>Monad normalisation</title>
<link>/entries/Monad_Normalisation.html</link>
<pubDate>Fri, 05 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Monad_Normalisation.html</guid>
<description></description>
</item>
<item>
<title>Probabilistic while loop</title>
<link>/entries/Probabilistic_While.html</link>
<pubDate>Fri, 05 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Probabilistic_While.html</guid>
<description></description>
</item>
<item>
<title>Monoidal Categories</title>
<link>/entries/MonoidalCategory.html</link>
<pubDate>Thu, 04 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/MonoidalCategory.html</guid>
<description></description>
</item>
<item>
<title>Types, Tableaus and Gödel’s God in Isabelle/HOL</title>
<link>/entries/Types_Tableaus_and_Goedels_God.html</link>
<pubDate>Mon, 01 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Types_Tableaus_and_Goedels_God.html</guid>
<description></description>
</item>
<item>
<title>Local Lexing</title>
<link>/entries/LocalLexing.html</link>
<pubDate>Fri, 28 Apr 2017 00:00:00 +0000</pubDate>
<guid>/entries/LocalLexing.html</guid>
<description></description>
</item>
<item>
<title>Constructor Functions</title>
<link>/entries/Constructor_Funs.html</link>
<pubDate>Wed, 19 Apr 2017 00:00:00 +0000</pubDate>
<guid>/entries/Constructor_Funs.html</guid>
<description></description>
</item>
<item>
<title>Lazifying case constants</title>
<link>/entries/Lazy_Case.html</link>
<pubDate>Tue, 18 Apr 2017 00:00:00 +0000</pubDate>
<guid>/entries/Lazy_Case.html</guid>
<description></description>
</item>
<item>
<title>Subresultants</title>
<link>/entries/Subresultants.html</link>
<pubDate>Thu, 06 Apr 2017 00:00:00 +0000</pubDate>
<guid>/entries/Subresultants.html</guid>
<description></description>
</item>
<item>
<title>Expected Shape of Random Binary Search Trees</title>
<link>/entries/Random_BSTs.html</link>
<pubDate>Tue, 04 Apr 2017 00:00:00 +0000</pubDate>
<guid>/entries/Random_BSTs.html</guid>
<description></description>
</item>
<item>
<title>Lower bound on comparison-based sorting algorithms</title>
<link>/entries/Comparison_Sort_Lower_Bound.html</link>
<pubDate>Wed, 15 Mar 2017 00:00:00 +0000</pubDate>
<guid>/entries/Comparison_Sort_Lower_Bound.html</guid>
<description></description>
</item>
<item>
<title>The number of comparisons in QuickSort</title>
<link>/entries/Quick_Sort_Cost.html</link>
<pubDate>Wed, 15 Mar 2017 00:00:00 +0000</pubDate>
<guid>/entries/Quick_Sort_Cost.html</guid>
<description></description>
</item>
<item>
<title>The Euler–MacLaurin Formula</title>
<link>/entries/Euler_MacLaurin.html</link>
<pubDate>Fri, 10 Mar 2017 00:00:00 +0000</pubDate>
<guid>/entries/Euler_MacLaurin.html</guid>
<description></description>
</item>
<item>
<title>The Group Law for Elliptic Curves</title>
<link>/entries/Elliptic_Curves_Group_Law.html</link>
<pubDate>Tue, 28 Feb 2017 00:00:00 +0000</pubDate>
<guid>/entries/Elliptic_Curves_Group_Law.html</guid>
<description></description>
</item>
<item>
<title>Menger&#39;s Theorem</title>
<link>/entries/Menger.html</link>
<pubDate>Sun, 26 Feb 2017 00:00:00 +0000</pubDate>
<guid>/entries/Menger.html</guid>
<description></description>
</item>
<item>
<title>Differential Dynamic Logic</title>
<link>/entries/Differential_Dynamic_Logic.html</link>
<pubDate>Mon, 13 Feb 2017 00:00:00 +0000</pubDate>
<guid>/entries/Differential_Dynamic_Logic.html</guid>
<description></description>
</item>
<item>
<title>Abstract Soundness</title>
<link>/entries/Abstract_Soundness.html</link>
<pubDate>Fri, 10 Feb 2017 00:00:00 +0000</pubDate>
<guid>/entries/Abstract_Soundness.html</guid>
<description></description>
</item>
<item>
<title>Stone Relation Algebras</title>
<link>/entries/Stone_Relation_Algebras.html</link>
<pubDate>Tue, 07 Feb 2017 00:00:00 +0000</pubDate>
<guid>/entries/Stone_Relation_Algebras.html</guid>
<description></description>
</item>
<item>
<title>Refining Authenticated Key Agreement with Strong Adversaries</title>
<link>/entries/Key_Agreement_Strong_Adversaries.html</link>
<pubDate>Tue, 31 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/Key_Agreement_Strong_Adversaries.html</guid>
<description></description>
</item>
<item>
<title>Bernoulli Numbers</title>
<link>/entries/Bernoulli.html</link>
<pubDate>Tue, 24 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/Bernoulli.html</guid>
<description></description>
</item>
<item>
<title>Bertrand&#39;s postulate</title>
<link>/entries/Bertrands_Postulate.html</link>
<pubDate>Tue, 17 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/Bertrands_Postulate.html</guid>
<description></description>
</item>
<item>
<title>Minimal Static Single Assignment Form</title>
<link>/entries/Minimal_SSA.html</link>
<pubDate>Tue, 17 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/Minimal_SSA.html</guid>
<description></description>
</item>
<item>
<title>The Transcendence of e</title>
<link>/entries/E_Transcendental.html</link>
<pubDate>Thu, 12 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/E_Transcendental.html</guid>
<description></description>
</item>
<item>
<title>Formal Network Models and Their Application to Firewall Policies</title>
<link>/entries/UPF_Firewall.html</link>
<pubDate>Sun, 08 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/UPF_Firewall.html</guid>
<description></description>
</item>
<item>
<title>Verification of a Diffie-Hellman Password-based Authentication Protocol by Extending the Inductive Method</title>
<link>/entries/Password_Authentication_Protocol.html</link>
<pubDate>Tue, 03 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/Password_Authentication_Protocol.html</guid>
<description></description>
</item>
<item>
<title>First-Order Logic According to Harrison</title>
<link>/entries/FOL_Harrison.html</link>
<pubDate>Sun, 01 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/FOL_Harrison.html</guid>
<description></description>
</item>
<item>
<title>Concurrent Refinement Algebra and Rely Quotients</title>
<link>/entries/Concurrent_Ref_Alg.html</link>
<pubDate>Fri, 30 Dec 2016 00:00:00 +0000</pubDate>
<guid>/entries/Concurrent_Ref_Alg.html</guid>
<description></description>
</item>
<item>
<title>The Twelvefold Way</title>
<link>/entries/Twelvefold_Way.html</link>
<pubDate>Thu, 29 Dec 2016 00:00:00 +0000</pubDate>
<guid>/entries/Twelvefold_Way.html</guid>
<description></description>
</item>
<item>
<title>Proof Strategy Language</title>
<link>/entries/Proof_Strategy_Language.html</link>
<pubDate>Tue, 20 Dec 2016 00:00:00 +0000</pubDate>
<guid>/entries/Proof_Strategy_Language.html</guid>
<description></description>
</item>
<item>
<title>Paraconsistency</title>
<link>/entries/Paraconsistency.html</link>
<pubDate>Wed, 07 Dec 2016 00:00:00 +0000</pubDate>
<guid>/entries/Paraconsistency.html</guid>
<description></description>
</item>
<item>
<title>COMPLX: A Verification Framework for Concurrent Imperative Programs</title>
<link>/entries/Complx.html</link>
<pubDate>Tue, 29 Nov 2016 00:00:00 +0000</pubDate>
<guid>/entries/Complx.html</guid>
<description></description>
</item>
<item>
<title>Abstract Interpretation of Annotated Commands</title>
<link>/entries/Abs_Int_ITP2012.html</link>
<pubDate>Wed, 23 Nov 2016 00:00:00 +0000</pubDate>
<guid>/entries/Abs_Int_ITP2012.html</guid>
<description></description>
</item>
<item>
<title>Separata: Isabelle tactics for Separation Algebra</title>
<link>/entries/Separata.html</link>
<pubDate>Wed, 16 Nov 2016 00:00:00 +0000</pubDate>
<guid>/entries/Separata.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Knuth–Bendix Orders for Lambda-Free Higher-Order Terms</title>
<link>/entries/Lambda_Free_KBOs.html</link>
<pubDate>Sat, 12 Nov 2016 00:00:00 +0000</pubDate>
<guid>/entries/Lambda_Free_KBOs.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Nested Multisets, Hereditary Multisets, and Syntactic Ordinals</title>
<link>/entries/Nested_Multisets_Ordinals.html</link>
<pubDate>Sat, 12 Nov 2016 00:00:00 +0000</pubDate>
<guid>/entries/Nested_Multisets_Ordinals.html</guid>
<description></description>
</item>
<item>
<title>Expressiveness of Deep Learning</title>
<link>/entries/Deep_Learning.html</link>
<pubDate>Thu, 10 Nov 2016 00:00:00 +0000</pubDate>
<guid>/entries/Deep_Learning.html</guid>
<description></description>
</item>
<item>
<title>Modal Logics for Nominal Transition Systems</title>
<link>/entries/Modal_Logics_for_NTS.html</link>
<pubDate>Tue, 25 Oct 2016 00:00:00 +0000</pubDate>
<guid>/entries/Modal_Logics_for_NTS.html</guid>
<description></description>
</item>
<item>
<title>Stable Matching</title>
<link>/entries/Stable_Matching.html</link>
<pubDate>Mon, 24 Oct 2016 00:00:00 +0000</pubDate>
<guid>/entries/Stable_Matching.html</guid>
<description></description>
</item>
<item>
<title>LOFT — Verified Migration of Linux Firewalls to SDN</title>
<link>/entries/LOFT.html</link>
<pubDate>Fri, 21 Oct 2016 00:00:00 +0000</pubDate>
<guid>/entries/LOFT.html</guid>
<description></description>
</item>
<item>
<title>A formal model for the SPARCv8 ISA and a proof of non-interference for the LEON3 processor</title>
<link>/entries/SPARCv8.html</link>
<pubDate>Wed, 19 Oct 2016 00:00:00 +0000</pubDate>
<guid>/entries/SPARCv8.html</guid>
<description></description>
</item>
<item>
<title>Source Coding Theorem</title>
<link>/entries/Source_Coding_Theorem.html</link>
<pubDate>Wed, 19 Oct 2016 00:00:00 +0000</pubDate>
<guid>/entries/Source_Coding_Theorem.html</guid>
<description></description>
</item>
<item>
<title>The Factorization Algorithm of Berlekamp and Zassenhaus</title>
<link>/entries/Berlekamp_Zassenhaus.html</link>
<pubDate>Fri, 14 Oct 2016 00:00:00 +0000</pubDate>
<guid>/entries/Berlekamp_Zassenhaus.html</guid>
<description></description>
</item>
<item>
<title>Intersecting Chords Theorem</title>
<link>/entries/Chord_Segments.html</link>
<pubDate>Tue, 11 Oct 2016 00:00:00 +0000</pubDate>
<guid>/entries/Chord_Segments.html</guid>
<description></description>
</item>
<item>
<title>Lp spaces</title>
<link>/entries/Lp.html</link>
<pubDate>Wed, 05 Oct 2016 00:00:00 +0000</pubDate>
<guid>/entries/Lp.html</guid>
<description></description>
</item>
<item>
<title>Fisher–Yates shuffle</title>
<link>/entries/Fisher_Yates.html</link>
<pubDate>Fri, 30 Sep 2016 00:00:00 +0000</pubDate>
<guid>/entries/Fisher_Yates.html</guid>
<description></description>
</item>
<item>
<title>Allen&#39;s Interval Calculus</title>
<link>/entries/Allen_Calculus.html</link>
<pubDate>Thu, 29 Sep 2016 00:00:00 +0000</pubDate>
<guid>/entries/Allen_Calculus.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Recursive Path Orders for Lambda-Free Higher-Order Terms</title>
<link>/entries/Lambda_Free_RPOs.html</link>
<pubDate>Fri, 23 Sep 2016 00:00:00 +0000</pubDate>
<guid>/entries/Lambda_Free_RPOs.html</guid>
<description></description>
</item>
<item>
<title>Iptables Semantics</title>
<link>/entries/Iptables_Semantics.html</link>
<pubDate>Fri, 09 Sep 2016 00:00:00 +0000</pubDate>
<guid>/entries/Iptables_Semantics.html</guid>
<description></description>
</item>
<item>
<title>A Variant of the Superposition Calculus</title>
<link>/entries/SuperCalc.html</link>
<pubDate>Tue, 06 Sep 2016 00:00:00 +0000</pubDate>
<guid>/entries/SuperCalc.html</guid>
<description></description>
</item>
<item>
<title>Stone Algebras</title>
<link>/entries/Stone_Algebras.html</link>
<pubDate>Tue, 06 Sep 2016 00:00:00 +0000</pubDate>
<guid>/entries/Stone_Algebras.html</guid>
<description></description>
</item>
<item>
<title>Stirling&#39;s formula</title>
<link>/entries/Stirling_Formula.html</link>
<pubDate>Thu, 01 Sep 2016 00:00:00 +0000</pubDate>
<guid>/entries/Stirling_Formula.html</guid>
<description></description>
</item>
<item>
<title>Routing</title>
<link>/entries/Routing.html</link>
<pubDate>Wed, 31 Aug 2016 00:00:00 +0000</pubDate>
<guid>/entries/Routing.html</guid>
<description></description>
</item>
<item>
<title>Simple Firewall</title>
<link>/entries/Simple_Firewall.html</link>
<pubDate>Wed, 24 Aug 2016 00:00:00 +0000</pubDate>
<guid>/entries/Simple_Firewall.html</guid>
<description></description>
</item>
<item>
<title>Infeasible Paths Elimination by Symbolic Execution Techniques: Proof of Correctness and Preservation of Paths</title>
<link>/entries/InfPathElimination.html</link>
<pubDate>Thu, 18 Aug 2016 00:00:00 +0000</pubDate>
<guid>/entries/InfPathElimination.html</guid>
<description></description>
</item>
<item>
<title>Formalizing the Edmonds-Karp Algorithm</title>
<link>/entries/EdmondsKarp_Maxflow.html</link>
<pubDate>Fri, 12 Aug 2016 00:00:00 +0000</pubDate>
<guid>/entries/EdmondsKarp_Maxflow.html</guid>
<description></description>
</item>
<item>
<title>The Imperative Refinement Framework</title>
<link>/entries/Refine_Imperative_HOL.html</link>
<pubDate>Mon, 08 Aug 2016 00:00:00 +0000</pubDate>
<guid>/entries/Refine_Imperative_HOL.html</guid>
<description></description>
</item>
<item>
<title>Ptolemy&#39;s Theorem</title>
<link>/entries/Ptolemys_Theorem.html</link>
<pubDate>Sun, 07 Aug 2016 00:00:00 +0000</pubDate>
<guid>/entries/Ptolemys_Theorem.html</guid>
<description></description>
</item>
<item>
<title>Surprise Paradox</title>
<link>/entries/Surprise_Paradox.html</link>
<pubDate>Sun, 17 Jul 2016 00:00:00 +0000</pubDate>
<guid>/entries/Surprise_Paradox.html</guid>
<description></description>
</item>
<item>
<title>Pairing Heap</title>
<link>/entries/Pairing_Heap.html</link>
<pubDate>Thu, 14 Jul 2016 00:00:00 +0000</pubDate>
<guid>/entries/Pairing_Heap.html</guid>
<description></description>
</item>
<item>
<title>A Framework for Verifying Depth-First Search Algorithms</title>
<link>/entries/DFS_Framework.html</link>
<pubDate>Tue, 05 Jul 2016 00:00:00 +0000</pubDate>
<guid>/entries/DFS_Framework.html</guid>
<description></description>
</item>
<item>
<title>Chamber Complexes, Coxeter Systems, and Buildings</title>
<link>/entries/Buildings.html</link>
<pubDate>Fri, 01 Jul 2016 00:00:00 +0000</pubDate>
<guid>/entries/Buildings.html</guid>
<description></description>
</item>
<item>
<title>The Resolution Calculus for First-Order Logic</title>
<link>/entries/Resolution_FOL.html</link>
<pubDate>Thu, 30 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Resolution_FOL.html</guid>
<description></description>
</item>
<item>
<title>The Z Property</title>
<link>/entries/Rewriting_Z.html</link>
<pubDate>Thu, 30 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Rewriting_Z.html</guid>
<description></description>
</item>
<item>
<title>Compositional Security-Preserving Refinement for Concurrent Imperative Programs</title>
<link>/entries/Dependent_SIFUM_Refinement.html</link>
<pubDate>Tue, 28 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Dependent_SIFUM_Refinement.html</guid>
<description></description>
</item>
<item>
<title>IP Addresses</title>
<link>/entries/IP_Addresses.html</link>
<pubDate>Tue, 28 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/IP_Addresses.html</guid>
<description></description>
</item>
<item>
<title>Cardinality of Multisets</title>
<link>/entries/Card_Multisets.html</link>
<pubDate>Sun, 26 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Card_Multisets.html</guid>
<description></description>
</item>
<item>
<title>Category Theory with Adjunctions and Limits</title>
<link>/entries/Category3.html</link>
<pubDate>Sun, 26 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Category3.html</guid>
<description></description>
</item>
<item>
<title>A Dependent Security Type System for Concurrent Imperative Programs</title>
<link>/entries/Dependent_SIFUM_Type_Systems.html</link>
<pubDate>Sat, 25 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Dependent_SIFUM_Type_Systems.html</guid>
<description></description>
</item>
<item>
<title>Catalan Numbers</title>
<link>/entries/Catalan_Numbers.html</link>
<pubDate>Tue, 21 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Catalan_Numbers.html</guid>
<description></description>
</item>
<item>
<title>Program Construction and Verification Components Based on Kleene Algebra</title>
<link>/entries/Algebraic_VCs.html</link>
<pubDate>Sat, 18 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Algebraic_VCs.html</guid>
<description></description>
</item>
<item>
<title>Conservation of CSP Noninterference Security under Concurrent Composition</title>
<link>/entries/Noninterference_Concurrent_Composition.html</link>
<pubDate>Mon, 13 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Noninterference_Concurrent_Composition.html</guid>
<description></description>
</item>
<item>
<title>Finite Machine Word Library</title>
<link>/entries/Word_Lib.html</link>
<pubDate>Thu, 09 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Word_Lib.html</guid>
<description></description>
</item>
<item>
<title>Tree Decomposition</title>
<link>/entries/Tree_Decomposition.html</link>
<pubDate>Tue, 31 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Tree_Decomposition.html</guid>
<description></description>
</item>
<item>
<title>Cardinality of Equivalence Relations</title>
<link>/entries/Card_Equiv_Relations.html</link>
<pubDate>Tue, 24 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Card_Equiv_Relations.html</guid>
<description></description>
</item>
<item>
<title>POSIX Lexing with Derivatives of Regular Expressions</title>
<link>/entries/Posix-Lexing.html</link>
<pubDate>Tue, 24 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Posix-Lexing.html</guid>
<description></description>
</item>
<item>
<title>Perron-Frobenius Theorem for Spectral Radius Analysis</title>
<link>/entries/Perron_Frobenius.html</link>
<pubDate>Fri, 20 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Perron_Frobenius.html</guid>
<description></description>
</item>
<item>
<title>The meta theory of the Incredible Proof Machine</title>
<link>/entries/Incredible_Proof_Machine.html</link>
<pubDate>Fri, 20 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Incredible_Proof_Machine.html</guid>
<description></description>
</item>
<item>
<title>A Constructive Proof for FLP</title>
<link>/entries/FLP.html</link>
<pubDate>Wed, 18 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/FLP.html</guid>
<description></description>
</item>
<item>
<title>A Formal Proof of the Max-Flow Min-Cut Theorem for Countable Networks</title>
<link>/entries/MFMC_Countable.html</link>
<pubDate>Mon, 09 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/MFMC_Countable.html</guid>
<description></description>
</item>
<item>
<title>Randomised Social Choice Theory</title>
<link>/entries/Randomised_Social_Choice.html</link>
<pubDate>Thu, 05 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Randomised_Social_Choice.html</guid>
<description></description>
</item>
<item>
<title>Spivey&#39;s Generalized Recurrence for Bell Numbers</title>
<link>/entries/Bell_Numbers_Spivey.html</link>
<pubDate>Wed, 04 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Bell_Numbers_Spivey.html</guid>
<description></description>
</item>
<item>
<title>The Incompatibility of SD-Efficiency and SD-Strategy-Proofness</title>
<link>/entries/SDS_Impossibility.html</link>
<pubDate>Wed, 04 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/SDS_Impossibility.html</guid>
<description></description>
</item>
<item>
<title>Gröbner Bases Theory</title>
<link>/entries/Groebner_Bases.html</link>
<pubDate>Mon, 02 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Groebner_Bases.html</guid>
<description></description>
</item>
<item>
<title>No Faster-Than-Light Observers</title>
<link>/entries/No_FTL_observers.html</link>
<pubDate>Thu, 28 Apr 2016 00:00:00 +0000</pubDate>
<guid>/entries/No_FTL_observers.html</guid>
<description></description>
</item>
<item>
<title>A formalisation of the Cocke-Younger-Kasami algorithm</title>
<link>/entries/CYK.html</link>
<pubDate>Wed, 27 Apr 2016 00:00:00 +0000</pubDate>
<guid>/entries/CYK.html</guid>
<description></description>
</item>
<item>
<title>Algorithms for Reduced Ordered Binary Decision Diagrams</title>
<link>/entries/ROBDD.html</link>
<pubDate>Wed, 27 Apr 2016 00:00:00 +0000</pubDate>
<guid>/entries/ROBDD.html</guid>
<description></description>
</item>
<item>
<title>Conservation of CSP Noninterference Security under Sequential Composition</title>
<link>/entries/Noninterference_Sequential_Composition.html</link>
<pubDate>Tue, 26 Apr 2016 00:00:00 +0000</pubDate>
<guid>/entries/Noninterference_Sequential_Composition.html</guid>
<description></description>
</item>
<item>
<title>Kleene Algebras with Domain</title>
<link>/entries/KAD.html</link>
<pubDate>Tue, 12 Apr 2016 00:00:00 +0000</pubDate>
<guid>/entries/KAD.html</guid>
<description></description>
</item>
<item>
<title>Propositional Resolution and Prime Implicates Generation</title>
<link>/entries/PropResPI.html</link>
<pubDate>Fri, 11 Mar 2016 00:00:00 +0000</pubDate>
<guid>/entries/PropResPI.html</guid>
<description></description>
</item>
<item>
<title>The Cartan Fixed Point Theorems</title>
<link>/entries/Cartan_FP.html</link>
<pubDate>Tue, 08 Mar 2016 00:00:00 +0000</pubDate>
<guid>/entries/Cartan_FP.html</guid>
<description></description>
</item>
<item>
<title>Timed Automata</title>
<link>/entries/Timed_Automata.html</link>
<pubDate>Tue, 08 Mar 2016 00:00:00 +0000</pubDate>
<guid>/entries/Timed_Automata.html</guid>
<description></description>
</item>
<item>
<title>Linear Temporal Logic</title>
<link>/entries/LTL.html</link>
<pubDate>Tue, 01 Mar 2016 00:00:00 +0000</pubDate>
<guid>/entries/LTL.html</guid>
<description></description>
</item>
<item>
<title>Analysis of List Update Algorithms</title>
<link>/entries/List_Update.html</link>
<pubDate>Wed, 17 Feb 2016 00:00:00 +0000</pubDate>
<guid>/entries/List_Update.html</guid>
<description></description>
</item>
<item>
<title>Verified Construction of Static Single Assignment Form</title>
<link>/entries/Formal_SSA.html</link>
<pubDate>Fri, 05 Feb 2016 00:00:00 +0000</pubDate>
<guid>/entries/Formal_SSA.html</guid>
<description></description>
</item>
<item>
<title>Polynomial Factorization</title>
<link>/entries/Polynomial_Factorization.html</link>
<pubDate>Fri, 29 Jan 2016 00:00:00 +0000</pubDate>
<guid>/entries/Polynomial_Factorization.html</guid>
<description></description>
</item>
<item>
<title>Polynomial Interpolation</title>
<link>/entries/Polynomial_Interpolation.html</link>
<pubDate>Fri, 29 Jan 2016 00:00:00 +0000</pubDate>
<guid>/entries/Polynomial_Interpolation.html</guid>
<description></description>
</item>
<item>
<title>Knot Theory</title>
<link>/entries/Knot_Theory.html</link>
<pubDate>Wed, 20 Jan 2016 00:00:00 +0000</pubDate>
<guid>/entries/Knot_Theory.html</guid>
<description></description>
</item>
<item>
<title>Tensor Product of Matrices</title>
<link>/entries/Matrix_Tensor.html</link>
<pubDate>Mon, 18 Jan 2016 00:00:00 +0000</pubDate>
<guid>/entries/Matrix_Tensor.html</guid>
<description></description>
</item>
<item>
<title>Cardinality of Number Partitions</title>
<link>/entries/Card_Number_Partitions.html</link>
<pubDate>Thu, 14 Jan 2016 00:00:00 +0000</pubDate>
<guid>/entries/Card_Number_Partitions.html</guid>
<description></description>
</item>
<item>
<title>Basic Geometric Properties of Triangles</title>
<link>/entries/Triangle.html</link>
<pubDate>Mon, 28 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Triangle.html</guid>
<description></description>
</item>
<item>
<title>Descartes&#39; Rule of Signs</title>
<link>/entries/Descartes_Sign_Rule.html</link>
<pubDate>Mon, 28 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Descartes_Sign_Rule.html</guid>
<description></description>
</item>
<item>
<title>Liouville numbers</title>
<link>/entries/Liouville_Numbers.html</link>
<pubDate>Mon, 28 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Liouville_Numbers.html</guid>
<description></description>
</item>
<item>
<title>The Divergence of the Prime Harmonic Series</title>
<link>/entries/Prime_Harmonic_Series.html</link>
<pubDate>Mon, 28 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Prime_Harmonic_Series.html</guid>
<description></description>
</item>
<item>
<title>Algebraic Numbers in Isabelle/HOL</title>
<link>/entries/Algebraic_Numbers.html</link>
<pubDate>Tue, 22 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Algebraic_Numbers.html</guid>
<description></description>
</item>
<item>
<title>Applicative Lifting</title>
<link>/entries/Applicative_Lifting.html</link>
<pubDate>Tue, 22 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Applicative_Lifting.html</guid>
<description></description>
</item>
<item>
<title>The Stern-Brocot Tree</title>
<link>/entries/Stern_Brocot.html</link>
<pubDate>Tue, 22 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Stern_Brocot.html</guid>
<description></description>
</item>
<item>
<title>Cardinality of Set Partitions</title>
<link>/entries/Card_Partitions.html</link>
<pubDate>Sat, 12 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Card_Partitions.html</guid>
<description></description>
</item>
<item>
<title>Latin Square</title>
<link>/entries/Latin_Square.html</link>
<pubDate>Wed, 02 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Latin_Square.html</guid>
<description></description>
</item>
<item>
<title>Ergodic Theory</title>
<link>/entries/Ergodic_Theory.html</link>
<pubDate>Tue, 01 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Ergodic_Theory.html</guid>
<description></description>
</item>
<item>
<title>Euler&#39;s Partition Theorem</title>
<link>/entries/Euler_Partition.html</link>
<pubDate>Thu, 19 Nov 2015 00:00:00 +0000</pubDate>
<guid>/entries/Euler_Partition.html</guid>
<description></description>
</item>
<item>
<title>The Tortoise and Hare Algorithm</title>
<link>/entries/TortoiseHare.html</link>
<pubDate>Wed, 18 Nov 2015 00:00:00 +0000</pubDate>
<guid>/entries/TortoiseHare.html</guid>
<description></description>
</item>
<item>
<title>Planarity Certificates</title>
<link>/entries/Planarity_Certificates.html</link>
<pubDate>Wed, 11 Nov 2015 00:00:00 +0000</pubDate>
<guid>/entries/Planarity_Certificates.html</guid>
<description></description>
</item>
<item>
<title>Positional Determinacy of Parity Games</title>
<link>/entries/Parity_Game.html</link>
<pubDate>Mon, 02 Nov 2015 00:00:00 +0000</pubDate>
<guid>/entries/Parity_Game.html</guid>
<description></description>
</item>
<item>
<title>A Meta-Model for the Isabelle API</title>
<link>/entries/Isabelle_Meta_Model.html</link>
<pubDate>Wed, 16 Sep 2015 00:00:00 +0000</pubDate>
<guid>/entries/Isabelle_Meta_Model.html</guid>
<description></description>
</item>
<item>
<title>Converting Linear Temporal Logic to Deterministic (Generalized) Rabin Automata</title>
<link>/entries/LTL_to_DRA.html</link>
<pubDate>Fri, 04 Sep 2015 00:00:00 +0000</pubDate>
<guid>/entries/LTL_to_DRA.html</guid>
<description></description>
</item>
<item>
<title>Matrices, Jordan Normal Forms, and Spectral Radius Theory</title>
<link>/entries/Jordan_Normal_Form.html</link>
<pubDate>Fri, 21 Aug 2015 00:00:00 +0000</pubDate>
<guid>/entries/Jordan_Normal_Form.html</guid>
<description></description>
</item>
<item>
<title>Decreasing Diagrams II</title>
<link>/entries/Decreasing-Diagrams-II.html</link>
<pubDate>Thu, 20 Aug 2015 00:00:00 +0000</pubDate>
<guid>/entries/Decreasing-Diagrams-II.html</guid>
<description></description>
</item>
<item>
<title>The Inductive Unwinding Theorem for CSP Noninterference Security</title>
<link>/entries/Noninterference_Inductive_Unwinding.html</link>
<pubDate>Tue, 18 Aug 2015 00:00:00 +0000</pubDate>
<guid>/entries/Noninterference_Inductive_Unwinding.html</guid>
<description></description>
</item>
<item>
<title>Representations of Finite Groups</title>
<link>/entries/Rep_Fin_Groups.html</link>
<pubDate>Wed, 12 Aug 2015 00:00:00 +0000</pubDate>
<guid>/entries/Rep_Fin_Groups.html</guid>
<description></description>
</item>
<item>
<title>Analysing and Comparing Encodability Criteria for Process Calculi</title>
<link>/entries/Encodability_Process_Calculi.html</link>
<pubDate>Mon, 10 Aug 2015 00:00:00 +0000</pubDate>
<guid>/entries/Encodability_Process_Calculi.html</guid>
<description></description>
</item>
<item>
<title>Generating Cases from Labeled Subgoals</title>
<link>/entries/Case_Labeling.html</link>
<pubDate>Tue, 21 Jul 2015 00:00:00 +0000</pubDate>
<guid>/entries/Case_Labeling.html</guid>
<description></description>
</item>
<item>
<title>Landau Symbols</title>
<link>/entries/Landau_Symbols.html</link>
<pubDate>Tue, 14 Jul 2015 00:00:00 +0000</pubDate>
<guid>/entries/Landau_Symbols.html</guid>
<description></description>
</item>
<item>
<title>The Akra-Bazzi theorem and the Master theorem</title>
<link>/entries/Akra_Bazzi.html</link>
<pubDate>Tue, 14 Jul 2015 00:00:00 +0000</pubDate>
<guid>/entries/Akra_Bazzi.html</guid>
<description></description>
</item>
<item>
<title>Hermite Normal Form</title>
<link>/entries/Hermite.html</link>
<pubDate>Tue, 07 Jul 2015 00:00:00 +0000</pubDate>
<guid>/entries/Hermite.html</guid>
<description></description>
</item>
<item>
<title>Derangements Formula</title>
<link>/entries/Derangements.html</link>
<pubDate>Sat, 27 Jun 2015 00:00:00 +0000</pubDate>
<guid>/entries/Derangements.html</guid>
<description></description>
</item>
<item>
<title>Binary Multirelations</title>
<link>/entries/Multirelations.html</link>
<pubDate>Thu, 11 Jun 2015 00:00:00 +0000</pubDate>
<guid>/entries/Multirelations.html</guid>
<description></description>
</item>
<item>
<title>Reasoning about Lists via List Interleaving</title>
<link>/entries/List_Interleaving.html</link>
<pubDate>Thu, 11 Jun 2015 00:00:00 +0000</pubDate>
<guid>/entries/List_Interleaving.html</guid>
<description></description>
</item>
<item>
<title>The Generic Unwinding Theorem for CSP Noninterference Security</title>
<link>/entries/Noninterference_Generic_Unwinding.html</link>
<pubDate>Thu, 11 Jun 2015 00:00:00 +0000</pubDate>
<guid>/entries/Noninterference_Generic_Unwinding.html</guid>
<description></description>
</item>
<item>
<title>The Ipurge Unwinding Theorem for CSP Noninterference Security</title>
<link>/entries/Noninterference_Ipurge_Unwinding.html</link>
<pubDate>Thu, 11 Jun 2015 00:00:00 +0000</pubDate>
<guid>/entries/Noninterference_Ipurge_Unwinding.html</guid>
<description></description>
</item>
<item>
<title>Parameterized Dynamic Tables</title>
<link>/entries/Dynamic_Tables.html</link>
<pubDate>Sun, 07 Jun 2015 00:00:00 +0000</pubDate>
<guid>/entries/Dynamic_Tables.html</guid>
<description></description>
</item>
<item>
<title>Derivatives of Logical Formulas</title>
<link>/entries/Formula_Derivatives.html</link>
<pubDate>Thu, 28 May 2015 00:00:00 +0000</pubDate>
<guid>/entries/Formula_Derivatives.html</guid>
<description></description>
</item>
<item>
<title>A Zoo of Probabilistic Systems</title>
<link>/entries/Probabilistic_System_Zoo.html</link>
<pubDate>Wed, 27 May 2015 00:00:00 +0000</pubDate>
<guid>/entries/Probabilistic_System_Zoo.html</guid>
<description></description>
</item>
<item>
<title>VCG - Combinatorial Vickrey-Clarke-Groves Auctions</title>
<link>/entries/Vickrey_Clarke_Groves.html</link>
<pubDate>Thu, 30 Apr 2015 00:00:00 +0000</pubDate>
<guid>/entries/Vickrey_Clarke_Groves.html</guid>
<description></description>
</item>
<item>
<title>Residuated Lattices</title>
<link>/entries/Residuated_Lattices.html</link>
<pubDate>Wed, 15 Apr 2015 00:00:00 +0000</pubDate>
<guid>/entries/Residuated_Lattices.html</guid>
<description></description>
</item>
<item>
<title>Concurrent IMP</title>
<link>/entries/ConcurrentIMP.html</link>
<pubDate>Mon, 13 Apr 2015 00:00:00 +0000</pubDate>
<guid>/entries/ConcurrentIMP.html</guid>
<description></description>
</item>
<item>
<title>Relaxing Safely: Verified On-the-Fly Garbage Collection for x86-TSO</title>
<link>/entries/ConcurrentGC.html</link>
<pubDate>Mon, 13 Apr 2015 00:00:00 +0000</pubDate>
<guid>/entries/ConcurrentGC.html</guid>
<description></description>
</item>
<item>
<title>Trie</title>
<link>/entries/Trie.html</link>
<pubDate>Mon, 30 Mar 2015 00:00:00 +0000</pubDate>
<guid>/entries/Trie.html</guid>
<description></description>
</item>
<item>
<title>Consensus Refined</title>
<link>/entries/Consensus_Refined.html</link>
<pubDate>Wed, 18 Mar 2015 00:00:00 +0000</pubDate>
<guid>/entries/Consensus_Refined.html</guid>
<description></description>
</item>
<item>
<title>Deriving class instances for datatypes</title>
<link>/entries/Deriving.html</link>
<pubDate>Wed, 11 Mar 2015 00:00:00 +0000</pubDate>
<guid>/entries/Deriving.html</guid>
<description></description>
</item>
<item>
<title>The Safety of Call Arity</title>
<link>/entries/Call_Arity.html</link>
<pubDate>Fri, 20 Feb 2015 00:00:00 +0000</pubDate>
<guid>/entries/Call_Arity.html</guid>
<description></description>
</item>
<item>
<title>Echelon Form</title>
<link>/entries/Echelon_Form.html</link>
<pubDate>Thu, 12 Feb 2015 00:00:00 +0000</pubDate>
<guid>/entries/Echelon_Form.html</guid>
<description></description>
</item>
<item>
<title>QR Decomposition</title>
<link>/entries/QR_Decomposition.html</link>
<pubDate>Thu, 12 Feb 2015 00:00:00 +0000</pubDate>
<guid>/entries/QR_Decomposition.html</guid>
<description></description>
</item>
<item>
<title>Finite Automata in Hereditarily Finite Set Theory</title>
<link>/entries/Finite_Automata_HF.html</link>
<pubDate>Thu, 05 Feb 2015 00:00:00 +0000</pubDate>
<guid>/entries/Finite_Automata_HF.html</guid>
<description></description>
</item>
<item>
<title>Verification of the UpDown Scheme</title>
<link>/entries/UpDown_Scheme.html</link>
<pubDate>Wed, 28 Jan 2015 00:00:00 +0000</pubDate>
<guid>/entries/UpDown_Scheme.html</guid>
<description></description>
</item>
<item>
<title>The Unified Policy Framework (UPF)</title>
<link>/entries/UPF.html</link>
<pubDate>Fri, 28 Nov 2014 00:00:00 +0000</pubDate>
<guid>/entries/UPF.html</guid>
<description></description>
</item>
<item>
<title>Loop freedom of the (untimed) AODV routing protocol</title>
<link>/entries/AODV.html</link>
<pubDate>Thu, 23 Oct 2014 00:00:00 +0000</pubDate>
<guid>/entries/AODV.html</guid>
<description></description>
</item>
<item>
<title>Lifting Definition Option</title>
<link>/entries/Lifting_Definition_Option.html</link>
<pubDate>Mon, 13 Oct 2014 00:00:00 +0000</pubDate>
<guid>/entries/Lifting_Definition_Option.html</guid>
<description></description>
</item>
<item>
<title>Stream Fusion in HOL with Code Generation</title>
<link>/entries/Stream_Fusion_Code.html</link>
<pubDate>Fri, 10 Oct 2014 00:00:00 +0000</pubDate>
<guid>/entries/Stream_Fusion_Code.html</guid>
<description></description>
</item>
<item>
<title>A Verified Compiler for Probability Density Functions</title>
<link>/entries/Density_Compiler.html</link>
<pubDate>Thu, 09 Oct 2014 00:00:00 +0000</pubDate>
<guid>/entries/Density_Compiler.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Refinement Calculus for Reactive Systems</title>
<link>/entries/RefinementReactive.html</link>
<pubDate>Wed, 08 Oct 2014 00:00:00 +0000</pubDate>
<guid>/entries/RefinementReactive.html</guid>
<description></description>
</item>
<item>
<title>Certification Monads</title>
<link>/entries/Certification_Monads.html</link>
<pubDate>Fri, 03 Oct 2014 00:00:00 +0000</pubDate>
<guid>/entries/Certification_Monads.html</guid>
<description></description>
</item>
<item>
<title>XML</title>
<link>/entries/XML.html</link>
<pubDate>Fri, 03 Oct 2014 00:00:00 +0000</pubDate>
<guid>/entries/XML.html</guid>
<description></description>
</item>
<item>
<title>Imperative Insertion Sort</title>
<link>/entries/Imperative_Insertion_Sort.html</link>
<pubDate>Thu, 25 Sep 2014 00:00:00 +0000</pubDate>
<guid>/entries/Imperative_Insertion_Sort.html</guid>
<description></description>
</item>
<item>
<title>The Sturm-Tarski Theorem</title>
<link>/entries/Sturm_Tarski.html</link>
<pubDate>Fri, 19 Sep 2014 00:00:00 +0000</pubDate>
<guid>/entries/Sturm_Tarski.html</guid>
<description></description>
</item>
<item>
<title>The Cayley-Hamilton Theorem</title>
<link>/entries/Cayley_Hamilton.html</link>
<pubDate>Mon, 15 Sep 2014 00:00:00 +0000</pubDate>
<guid>/entries/Cayley_Hamilton.html</guid>
<description></description>
</item>
<item>
<title>The Jordan-Hölder Theorem</title>
<link>/entries/Jordan_Hoelder.html</link>
<pubDate>Tue, 09 Sep 2014 00:00:00 +0000</pubDate>
<guid>/entries/Jordan_Hoelder.html</guid>
<description></description>
</item>
<item>
<title>Priority Queues Based on Braun Trees</title>
<link>/entries/Priority_Queue_Braun.html</link>
<pubDate>Thu, 04 Sep 2014 00:00:00 +0000</pubDate>
<guid>/entries/Priority_Queue_Braun.html</guid>
<description></description>
</item>
<item>
<title>Gauss-Jordan Algorithm and Its Applications</title>
<link>/entries/Gauss_Jordan.html</link>
<pubDate>Wed, 03 Sep 2014 00:00:00 +0000</pubDate>
<guid>/entries/Gauss_Jordan.html</guid>
<description></description>
</item>
<item>
<title>Real-Valued Special Functions: Upper and Lower Bounds</title>
<link>/entries/Special_Function_Bounds.html</link>
<pubDate>Fri, 29 Aug 2014 00:00:00 +0000</pubDate>
<guid>/entries/Special_Function_Bounds.html</guid>
<description></description>
</item>
<item>
<title>Vector Spaces</title>
<link>/entries/VectorSpace.html</link>
<pubDate>Fri, 29 Aug 2014 00:00:00 +0000</pubDate>
<guid>/entries/VectorSpace.html</guid>
<description></description>
</item>
<item>
<title>Skew Heap</title>
<link>/entries/Skew_Heap.html</link>
<pubDate>Wed, 13 Aug 2014 00:00:00 +0000</pubDate>
<guid>/entries/Skew_Heap.html</guid>
<description></description>
</item>
<item>
<title>Splay Tree</title>
<link>/entries/Splay_Tree.html</link>
<pubDate>Tue, 12 Aug 2014 00:00:00 +0000</pubDate>
<guid>/entries/Splay_Tree.html</guid>
<description></description>
</item>
<item>
<title>Haskell&#39;s Show Class in Isabelle/HOL</title>
<link>/entries/Show.html</link>
<pubDate>Tue, 29 Jul 2014 00:00:00 +0000</pubDate>
<guid>/entries/Show.html</guid>
<description></description>
</item>
<item>
<title>Formal Specification of a Generic Separation Kernel</title>
<link>/entries/CISC-Kernel.html</link>
<pubDate>Fri, 18 Jul 2014 00:00:00 +0000</pubDate>
<guid>/entries/CISC-Kernel.html</guid>
<description></description>
</item>
<item>
<title>pGCL for Isabelle</title>
<link>/entries/pGCL.html</link>
<pubDate>Sun, 13 Jul 2014 00:00:00 +0000</pubDate>
<guid>/entries/pGCL.html</guid>
<description></description>
</item>
<item>
<title>Amortized Complexity Verified</title>
<link>/entries/Amortized_Complexity.html</link>
<pubDate>Mon, 07 Jul 2014 00:00:00 +0000</pubDate>
<guid>/entries/Amortized_Complexity.html</guid>
<description></description>
</item>
<item>
<title>Network Security Policy Verification</title>
<link>/entries/Network_Security_Policy_Verification.html</link>
<pubDate>Fri, 04 Jul 2014 00:00:00 +0000</pubDate>
<guid>/entries/Network_Security_Policy_Verification.html</guid>
<description></description>
</item>
<item>
<title>Pop-Refinement</title>
<link>/entries/Pop_Refinement.html</link>
<pubDate>Thu, 03 Jul 2014 00:00:00 +0000</pubDate>
<guid>/entries/Pop_Refinement.html</guid>
<description></description>
</item>
<item>
<title>Decision Procedures for MSO on Words Based on Derivatives of Regular Expressions</title>
<link>/entries/MSO_Regex_Equivalence.html</link>
<pubDate>Thu, 12 Jun 2014 00:00:00 +0000</pubDate>
<guid>/entries/MSO_Regex_Equivalence.html</guid>
<description></description>
</item>
<item>
<title>Boolean Expression Checkers</title>
<link>/entries/Boolean_Expression_Checkers.html</link>
<pubDate>Sun, 08 Jun 2014 00:00:00 +0000</pubDate>
<guid>/entries/Boolean_Expression_Checkers.html</guid>
<description></description>
</item>
<item>
<title>A Fully Verified Executable LTL Model Checker</title>
<link>/entries/CAVA_LTL_Modelchecker.html</link>
<pubDate>Wed, 28 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/CAVA_LTL_Modelchecker.html</guid>
<description></description>
</item>
<item>
<title>Converting Linear-Time Temporal Logic to Generalized Büchi Automata</title>
<link>/entries/LTL_to_GBA.html</link>
<pubDate>Wed, 28 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/LTL_to_GBA.html</guid>
<description></description>
</item>
<item>
<title>Promela Formalization</title>
<link>/entries/Promela.html</link>
<pubDate>Wed, 28 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/Promela.html</guid>
<description></description>
</item>
<item>
<title>The CAVA Automata Library</title>
<link>/entries/CAVA_Automata.html</link>
<pubDate>Wed, 28 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/CAVA_Automata.html</guid>
<description></description>
</item>
<item>
<title>Verified Efficient Implementation of Gabow&#39;s Strongly Connected Components Algorithm</title>
<link>/entries/Gabow_SCC.html</link>
<pubDate>Wed, 28 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/Gabow_SCC.html</guid>
<description></description>
</item>
<item>
<title>Noninterference Security in Communicating Sequential Processes</title>
<link>/entries/Noninterference_CSP.html</link>
<pubDate>Fri, 23 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/Noninterference_CSP.html</guid>
<description></description>
</item>
<item>
<title>Transitive closure according to Roy-Floyd-Warshall</title>
<link>/entries/Roy_Floyd_Warshall.html</link>
<pubDate>Fri, 23 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/Roy_Floyd_Warshall.html</guid>
<description></description>
</item>
<item>
<title>Regular Algebras</title>
<link>/entries/Regular_Algebras.html</link>
<pubDate>Wed, 21 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/Regular_Algebras.html</guid>
<description></description>
</item>
<item>
<title>Formalisation and Analysis of Component Dependencies</title>
<link>/entries/ComponentDependencies.html</link>
<pubDate>Mon, 28 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/ComponentDependencies.html</guid>
<description></description>
</item>
<item>
<title>A Formalization of Assumptions and Guarantees for Compositional Noninterference</title>
<link>/entries/SIFUM_Type_Systems.html</link>
<pubDate>Wed, 23 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/SIFUM_Type_Systems.html</guid>
<description></description>
</item>
<item>
<title>A Formalization of Declassification with WHAT-and-WHERE-Security</title>
<link>/entries/WHATandWHERE_Security.html</link>
<pubDate>Wed, 23 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/WHATandWHERE_Security.html</guid>
<description></description>
</item>
<item>
<title>A Formalization of Strong Security</title>
<link>/entries/Strong_Security.html</link>
<pubDate>Wed, 23 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/Strong_Security.html</guid>
<description></description>
</item>
<item>
<title>Bounded-Deducibility Security</title>
<link>/entries/Bounded_Deducibility_Security.html</link>
<pubDate>Tue, 22 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/Bounded_Deducibility_Security.html</guid>
<description></description>
</item>
<item>
<title>A shallow embedding of HyperCTL*</title>
<link>/entries/HyperCTL.html</link>
<pubDate>Wed, 16 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/HyperCTL.html</guid>
<description></description>
</item>
<item>
<title>Abstract Completeness</title>
<link>/entries/Abstract_Completeness.html</link>
<pubDate>Wed, 16 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/Abstract_Completeness.html</guid>
<description></description>
</item>
<item>
<title>Discrete Summation</title>
<link>/entries/Discrete_Summation.html</link>
<pubDate>Sun, 13 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/Discrete_Summation.html</guid>
<description></description>
</item>
<item>
<title>Syntax and semantics of a GPU kernel programming language</title>
<link>/entries/GPU_Kernel_PL.html</link>
<pubDate>Thu, 03 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/GPU_Kernel_PL.html</guid>
<description></description>
</item>
<item>
<title>Probabilistic Noninterference</title>
<link>/entries/Probabilistic_Noninterference.html</link>
<pubDate>Tue, 11 Mar 2014 00:00:00 +0000</pubDate>
<guid>/entries/Probabilistic_Noninterference.html</guid>
<description></description>
</item>
<item>
<title>Mechanization of the Algebra for Wireless Networks (AWN)</title>
<link>/entries/AWN.html</link>
<pubDate>Sat, 08 Mar 2014 00:00:00 +0000</pubDate>
<guid>/entries/AWN.html</guid>
<description></description>
</item>
<item>
<title>Mutually Recursive Partial Functions</title>
<link>/entries/Partial_Function_MR.html</link>
<pubDate>Tue, 18 Feb 2014 00:00:00 +0000</pubDate>
<guid>/entries/Partial_Function_MR.html</guid>
<description></description>
</item>
<item>
<title>Properties of Random Graphs -- Subgraph Containment</title>
<link>/entries/Random_Graph_Subgraph_Threshold.html</link>
<pubDate>Thu, 13 Feb 2014 00:00:00 +0000</pubDate>
<guid>/entries/Random_Graph_Subgraph_Threshold.html</guid>
<description></description>
</item>
<item>
<title>Verification of Selection and Heap Sort Using Locales</title>
<link>/entries/Selection_Heap_Sort.html</link>
<pubDate>Tue, 11 Feb 2014 00:00:00 +0000</pubDate>
<guid>/entries/Selection_Heap_Sort.html</guid>
<description></description>
</item>
<item>
<title>Affine Arithmetic</title>
<link>/entries/Affine_Arithmetic.html</link>
<pubDate>Fri, 07 Feb 2014 00:00:00 +0000</pubDate>
<guid>/entries/Affine_Arithmetic.html</guid>
<description></description>
</item>
<item>
<title>Implementing field extensions of the form Q[sqrt(b)]</title>
<link>/entries/Real_Impl.html</link>
<pubDate>Thu, 06 Feb 2014 00:00:00 +0000</pubDate>
<guid>/entries/Real_Impl.html</guid>
<description></description>
</item>
<item>
<title>Unified Decision Procedures for Regular Expression Equivalence</title>
<link>/entries/Regex_Equivalence.html</link>
<pubDate>Thu, 30 Jan 2014 00:00:00 +0000</pubDate>
<guid>/entries/Regex_Equivalence.html</guid>
<description></description>
</item>
<item>
<title>Secondary Sylow Theorems</title>
<link>/entries/Secondary_Sylow.html</link>
<pubDate>Tue, 28 Jan 2014 00:00:00 +0000</pubDate>
<guid>/entries/Secondary_Sylow.html</guid>
<description></description>
</item>
<item>
<title>Relation Algebra</title>
<link>/entries/Relation_Algebra.html</link>
<pubDate>Sat, 25 Jan 2014 00:00:00 +0000</pubDate>
<guid>/entries/Relation_Algebra.html</guid>
<description></description>
</item>
<item>
<title>Kleene Algebra with Tests and Demonic Refinement Algebras</title>
<link>/entries/KAT_and_DRA.html</link>
<pubDate>Thu, 23 Jan 2014 00:00:00 +0000</pubDate>
<guid>/entries/KAT_and_DRA.html</guid>
<description></description>
</item>
<item>
<title>Featherweight OCL: A Proposal for a Machine-Checked Formal Semantics for OCL 2.5</title>
<link>/entries/Featherweight_OCL.html</link>
<pubDate>Thu, 16 Jan 2014 00:00:00 +0000</pubDate>
<guid>/entries/Featherweight_OCL.html</guid>
<description></description>
</item>
<item>
<title>Compositional Properties of Crypto-Based Components</title>
<link>/entries/CryptoBasedCompositionalProperties.html</link>
<pubDate>Sat, 11 Jan 2014 00:00:00 +0000</pubDate>
<guid>/entries/CryptoBasedCompositionalProperties.html</guid>
<description></description>
</item>
<item>
<title>Sturm&#39;s Theorem</title>
<link>/entries/Sturm_Sequences.html</link>
<pubDate>Sat, 11 Jan 2014 00:00:00 +0000</pubDate>
<guid>/entries/Sturm_Sequences.html</guid>
<description></description>
</item>
<item>
<title>A General Method for the Proof of Theorems on Tail-recursive Functions</title>
<link>/entries/Tail_Recursive_Functions.html</link>
<pubDate>Sun, 01 Dec 2013 00:00:00 +0000</pubDate>
<guid>/entries/Tail_Recursive_Functions.html</guid>
<description></description>
</item>
<item>
<title>Gödel&#39;s Incompleteness Theorems</title>
<link>/entries/Incompleteness.html</link>
<pubDate>Sun, 17 Nov 2013 00:00:00 +0000</pubDate>
<guid>/entries/Incompleteness.html</guid>
<description></description>
</item>
<item>
<title>The Hereditarily Finite Sets</title>
<link>/entries/HereditarilyFinite.html</link>
<pubDate>Sun, 17 Nov 2013 00:00:00 +0000</pubDate>
<guid>/entries/HereditarilyFinite.html</guid>
<description></description>
</item>
<item>
<title>A Codatatype of Formal Languages</title>
<link>/entries/Coinductive_Languages.html</link>
<pubDate>Fri, 15 Nov 2013 00:00:00 +0000</pubDate>
<guid>/entries/Coinductive_Languages.html</guid>
<description></description>
</item>
<item>
<title>Stream Processing Components: Isabelle/HOL Formalisation and Case Studies</title>
<link>/entries/FocusStreamsCaseStudies.html</link>
<pubDate>Thu, 14 Nov 2013 00:00:00 +0000</pubDate>
<guid>/entries/FocusStreamsCaseStudies.html</guid>
<description></description>
</item>
<item>
<title>Gödel&#39;s God in Isabelle/HOL</title>
<link>/entries/GoedelGod.html</link>
<pubDate>Tue, 12 Nov 2013 00:00:00 +0000</pubDate>
<guid>/entries/GoedelGod.html</guid>
<description></description>
</item>
<item>
<title>Decreasing Diagrams</title>
<link>/entries/Decreasing-Diagrams.html</link>
<pubDate>Fri, 01 Nov 2013 00:00:00 +0000</pubDate>
<guid>/entries/Decreasing-Diagrams.html</guid>
<description></description>
</item>
<item>
<title>Automatic Data Refinement</title>
<link>/entries/Automatic_Refinement.html</link>
<pubDate>Wed, 02 Oct 2013 00:00:00 +0000</pubDate>
<guid>/entries/Automatic_Refinement.html</guid>
<description></description>
</item>
<item>
<title>Native Word</title>
<link>/entries/Native_Word.html</link>
<pubDate>Tue, 17 Sep 2013 00:00:00 +0000</pubDate>
<guid>/entries/Native_Word.html</guid>
<description></description>
</item>
<item>
<title>A Formal Model of IEEE Floating Point Arithmetic</title>
<link>/entries/IEEE_Floating_Point.html</link>
<pubDate>Sat, 27 Jul 2013 00:00:00 +0000</pubDate>
<guid>/entries/IEEE_Floating_Point.html</guid>
<description></description>
</item>
<item>
<title>Lehmer&#39;s Theorem</title>
<link>/entries/Lehmer.html</link>
<pubDate>Mon, 22 Jul 2013 00:00:00 +0000</pubDate>
<guid>/entries/Lehmer.html</guid>
<description></description>
</item>
<item>
<title>Pratt&#39;s Primality Certificates</title>
<link>/entries/Pratt_Certificate.html</link>
<pubDate>Mon, 22 Jul 2013 00:00:00 +0000</pubDate>
<guid>/entries/Pratt_Certificate.html</guid>
<description></description>
</item>
<item>
<title>The Königsberg Bridge Problem and the Friendship Theorem</title>
<link>/entries/Koenigsberg_Friendship.html</link>
<pubDate>Fri, 19 Jul 2013 00:00:00 +0000</pubDate>
<guid>/entries/Koenigsberg_Friendship.html</guid>
<description></description>
</item>
<item>
<title>Sound and Complete Sort Encodings for First-Order Logic</title>
<link>/entries/Sort_Encodings.html</link>
<pubDate>Thu, 27 Jun 2013 00:00:00 +0000</pubDate>
<guid>/entries/Sort_Encodings.html</guid>
<description></description>
</item>
<item>
<title>An Axiomatic Characterization of the Single-Source Shortest Path Problem</title>
<link>/entries/ShortestPath.html</link>
<pubDate>Wed, 22 May 2013 00:00:00 +0000</pubDate>
<guid>/entries/ShortestPath.html</guid>
<description></description>
</item>
<item>
<title>Graph Theory</title>
<link>/entries/Graph_Theory.html</link>
<pubDate>Sun, 28 Apr 2013 00:00:00 +0000</pubDate>
<guid>/entries/Graph_Theory.html</guid>
<description></description>
</item>
<item>
<title>Light-weight Containers</title>
<link>/entries/Containers.html</link>
<pubDate>Mon, 15 Apr 2013 00:00:00 +0000</pubDate>
<guid>/entries/Containers.html</guid>
<description></description>
</item>
<item>
<title>Nominal 2</title>
<link>/entries/Nominal2.html</link>
<pubDate>Thu, 21 Feb 2013 00:00:00 +0000</pubDate>
<guid>/entries/Nominal2.html</guid>
<description></description>
</item>
<item>
<title>The Correctness of Launchbury&#39;s Natural Semantics for Lazy Evaluation</title>
<link>/entries/Launchbury.html</link>
<pubDate>Thu, 31 Jan 2013 00:00:00 +0000</pubDate>
<guid>/entries/Launchbury.html</guid>
<description></description>
</item>
<item>
<title>Ribbon Proofs</title>
<link>/entries/Ribbon_Proofs.html</link>
<pubDate>Sat, 19 Jan 2013 00:00:00 +0000</pubDate>
<guid>/entries/Ribbon_Proofs.html</guid>
<description></description>
</item>
<item>
<title>Rank-Nullity Theorem in Linear Algebra</title>
<link>/entries/Rank_Nullity_Theorem.html</link>
<pubDate>Wed, 16 Jan 2013 00:00:00 +0000</pubDate>
<guid>/entries/Rank_Nullity_Theorem.html</guid>
<description></description>
</item>
<item>
<title>Kleene Algebra</title>
<link>/entries/Kleene_Algebra.html</link>
<pubDate>Tue, 15 Jan 2013 00:00:00 +0000</pubDate>
<guid>/entries/Kleene_Algebra.html</guid>
<description></description>
</item>
<item>
<title>Computing N-th Roots using the Babylonian Method</title>
<link>/entries/Sqrt_Babylonian.html</link>
<pubDate>Thu, 03 Jan 2013 00:00:00 +0000</pubDate>
<guid>/entries/Sqrt_Babylonian.html</guid>
<description></description>
</item>
<item>
<title>A Separation Logic Framework for Imperative HOL</title>
<link>/entries/Separation_Logic_Imperative_HOL.html</link>
<pubDate>Wed, 14 Nov 2012 00:00:00 +0000</pubDate>
<guid>/entries/Separation_Logic_Imperative_HOL.html</guid>
<description></description>
</item>
<item>
<title>Open Induction</title>
<link>/entries/Open_Induction.html</link>
<pubDate>Fri, 02 Nov 2012 00:00:00 +0000</pubDate>
<guid>/entries/Open_Induction.html</guid>
<description></description>
</item>
<item>
<title>The independence of Tarski&#39;s Euclidean axiom</title>
<link>/entries/Tarskis_Geometry.html</link>
<pubDate>Tue, 30 Oct 2012 00:00:00 +0000</pubDate>
<guid>/entries/Tarskis_Geometry.html</guid>
<description></description>
</item>
<item>
<title>Bondy&#39;s Theorem</title>
<link>/entries/Bondy.html</link>
<pubDate>Sat, 27 Oct 2012 00:00:00 +0000</pubDate>
<guid>/entries/Bondy.html</guid>
<description></description>
</item>
<item>
<title>Possibilistic Noninterference</title>
<link>/entries/Possibilistic_Noninterference.html</link>
<pubDate>Mon, 10 Sep 2012 00:00:00 +0000</pubDate>
<guid>/entries/Possibilistic_Noninterference.html</guid>
<description></description>
</item>
<item>
<title>Generating linear orders for datatypes</title>
<link>/entries/Datatype_Order_Generator.html</link>
<pubDate>Tue, 07 Aug 2012 00:00:00 +0000</pubDate>
<guid>/entries/Datatype_Order_Generator.html</guid>
<description></description>
</item>
<item>
<title>Proving the Impossibility of Trisecting an Angle and Doubling the Cube</title>
<link>/entries/Impossible_Geometry.html</link>
<pubDate>Sun, 05 Aug 2012 00:00:00 +0000</pubDate>
<guid>/entries/Impossible_Geometry.html</guid>
<description></description>
</item>
<item>
<title>Verifying Fault-Tolerant Distributed Algorithms in the Heard-Of Model</title>
<link>/entries/Heard_Of.html</link>
<pubDate>Fri, 27 Jul 2012 00:00:00 +0000</pubDate>
<guid>/entries/Heard_Of.html</guid>
<description></description>
</item>
<item>
<title>Logical Relations for PCF</title>
<link>/entries/PCF.html</link>
<pubDate>Sun, 01 Jul 2012 00:00:00 +0000</pubDate>
<guid>/entries/PCF.html</guid>
<description></description>
</item>
<item>
<title>Type Constructor Classes and Monad Transformers</title>
<link>/entries/Tycon.html</link>
<pubDate>Tue, 26 Jun 2012 00:00:00 +0000</pubDate>
<guid>/entries/Tycon.html</guid>
<description></description>
</item>
<item>
<title>CCS in nominal logic</title>
<link>/entries/CCS.html</link>
<pubDate>Tue, 29 May 2012 00:00:00 +0000</pubDate>
<guid>/entries/CCS.html</guid>
<description></description>
</item>
<item>
<title>Psi-calculi in Isabelle</title>
<link>/entries/Psi_Calculi.html</link>
<pubDate>Tue, 29 May 2012 00:00:00 +0000</pubDate>
<guid>/entries/Psi_Calculi.html</guid>
<description></description>
</item>
<item>
<title>The pi-calculus in nominal logic</title>
<link>/entries/Pi_Calculus.html</link>
<pubDate>Tue, 29 May 2012 00:00:00 +0000</pubDate>
<guid>/entries/Pi_Calculus.html</guid>
<description></description>
</item>
<item>
<title>Isabelle/Circus</title>
<link>/entries/Circus.html</link>
<pubDate>Sun, 27 May 2012 00:00:00 +0000</pubDate>
<guid>/entries/Circus.html</guid>
<description></description>
</item>
<item>
<title>Separation Algebra</title>
<link>/entries/Separation_Algebra.html</link>
<pubDate>Fri, 11 May 2012 00:00:00 +0000</pubDate>
<guid>/entries/Separation_Algebra.html</guid>
<description></description>
</item>
<item>
<title>Stuttering Equivalence</title>
<link>/entries/Stuttering_Equivalence.html</link>
<pubDate>Mon, 07 May 2012 00:00:00 +0000</pubDate>
<guid>/entries/Stuttering_Equivalence.html</guid>
<description></description>
</item>
<item>
<title>Inductive Study of Confidentiality</title>
<link>/entries/Inductive_Confidentiality.html</link>
<pubDate>Wed, 02 May 2012 00:00:00 +0000</pubDate>
<guid>/entries/Inductive_Confidentiality.html</guid>
<description></description>
</item>
<item>
<title>Ordinary Differential Equations</title>
<link>/entries/Ordinary_Differential_Equations.html</link>
<pubDate>Thu, 26 Apr 2012 00:00:00 +0000</pubDate>
<guid>/entries/Ordinary_Differential_Equations.html</guid>
<description></description>
</item>
<item>
<title>Well-Quasi-Orders</title>
<link>/entries/Well_Quasi_Orders.html</link>
<pubDate>Fri, 13 Apr 2012 00:00:00 +0000</pubDate>
<guid>/entries/Well_Quasi_Orders.html</guid>
<description></description>
</item>
<item>
<title>Abortable Linearizable Modules</title>
<link>/entries/Abortable_Linearizable_Modules.html</link>
<pubDate>Thu, 01 Mar 2012 00:00:00 +0000</pubDate>
<guid>/entries/Abortable_Linearizable_Modules.html</guid>
<description></description>
</item>
<item>
<title>Executable Transitive Closures</title>
<link>/entries/Transitive-Closure-II.html</link>
<pubDate>Wed, 29 Feb 2012 00:00:00 +0000</pubDate>
<guid>/entries/Transitive-Closure-II.html</guid>
<description></description>
</item>
<item>
<title>A Probabilistic Proof of the Girth-Chromatic Number Theorem</title>
<link>/entries/Girth_Chromatic.html</link>
<pubDate>Mon, 06 Feb 2012 00:00:00 +0000</pubDate>
<guid>/entries/Girth_Chromatic.html</guid>
<description></description>
</item>
<item>
<title>Dijkstra&#39;s Shortest Path Algorithm</title>
<link>/entries/Dijkstra_Shortest_Path.html</link>
<pubDate>Mon, 30 Jan 2012 00:00:00 +0000</pubDate>
<guid>/entries/Dijkstra_Shortest_Path.html</guid>
<description></description>
</item>
<item>
<title>Refinement for Monadic Programs</title>
<link>/entries/Refine_Monadic.html</link>
<pubDate>Mon, 30 Jan 2012 00:00:00 +0000</pubDate>
<guid>/entries/Refine_Monadic.html</guid>
<description></description>
</item>
<item>
<title>Markov Models</title>
<link>/entries/Markov_Models.html</link>
<pubDate>Tue, 03 Jan 2012 00:00:00 +0000</pubDate>
<guid>/entries/Markov_Models.html</guid>
<description></description>
</item>
<item>
<title>A Definitional Encoding of TLA* in Isabelle/HOL</title>
<link>/entries/TLA.html</link>
<pubDate>Sat, 19 Nov 2011 00:00:00 +0000</pubDate>
<guid>/entries/TLA.html</guid>
<description></description>
</item>
<item>
<title>Efficient Mergesort</title>
<link>/entries/Efficient-Mergesort.html</link>
<pubDate>Wed, 09 Nov 2011 00:00:00 +0000</pubDate>
<guid>/entries/Efficient-Mergesort.html</guid>
<description></description>
</item>
<item>
<title>Algebra of Monotonic Boolean Transformers</title>
<link>/entries/MonoBoolTranAlgebra.html</link>
<pubDate>Thu, 22 Sep 2011 00:00:00 +0000</pubDate>
<guid>/entries/MonoBoolTranAlgebra.html</guid>
<description></description>
</item>
<item>
<title>Lattice Properties</title>
<link>/entries/LatticeProperties.html</link>
<pubDate>Thu, 22 Sep 2011 00:00:00 +0000</pubDate>
<guid>/entries/LatticeProperties.html</guid>
<description></description>
</item>
<item>
<title>Pseudo Hoops</title>
<link>/entries/PseudoHoops.html</link>
<pubDate>Thu, 22 Sep 2011 00:00:00 +0000</pubDate>
<guid>/entries/PseudoHoops.html</guid>
<description></description>
</item>
<item>
<title>The Myhill-Nerode Theorem Based on Regular Expressions</title>
<link>/entries/Myhill-Nerode.html</link>
<pubDate>Fri, 26 Aug 2011 00:00:00 +0000</pubDate>
<guid>/entries/Myhill-Nerode.html</guid>
<description></description>
</item>
<item>
<title>Gauss-Jordan Elimination for Matrices Represented as Functions</title>
<link>/entries/Gauss-Jordan-Elim-Fun.html</link>
<pubDate>Fri, 19 Aug 2011 00:00:00 +0000</pubDate>
<guid>/entries/Gauss-Jordan-Elim-Fun.html</guid>
<description></description>
</item>
<item>
<title>Maximum Cardinality Matching</title>
<link>/entries/Max-Card-Matching.html</link>
<pubDate>Thu, 21 Jul 2011 00:00:00 +0000</pubDate>
<guid>/entries/Max-Card-Matching.html</guid>
<description></description>
</item>
<item>
<title>Knowledge-based programs</title>
<link>/entries/KBPs.html</link>
<pubDate>Tue, 17 May 2011 00:00:00 +0000</pubDate>
<guid>/entries/KBPs.html</guid>
<description></description>
</item>
<item>
<title>The General Triangle Is Unique</title>
<link>/entries/General-Triangle.html</link>
<pubDate>Fri, 01 Apr 2011 00:00:00 +0000</pubDate>
<guid>/entries/General-Triangle.html</guid>
<description></description>
</item>
<item>
<title>Executable Transitive Closures of Finite Relations</title>
<link>/entries/Transitive-Closure.html</link>
<pubDate>Mon, 14 Mar 2011 00:00:00 +0000</pubDate>
<guid>/entries/Transitive-Closure.html</guid>
<description></description>
</item>
<item>
<title>AutoFocus Stream Processing for Single-Clocking and Multi-Clocking Semantics</title>
<link>/entries/AutoFocus-Stream.html</link>
<pubDate>Wed, 23 Feb 2011 00:00:00 +0000</pubDate>
<guid>/entries/AutoFocus-Stream.html</guid>
<description></description>
</item>
<item>
<title>Infinite Lists</title>
<link>/entries/List-Infinite.html</link>
<pubDate>Wed, 23 Feb 2011 00:00:00 +0000</pubDate>
<guid>/entries/List-Infinite.html</guid>
<description></description>
</item>
<item>
<title>Interval Temporal Logic on Natural Numbers</title>
<link>/entries/Nat-Interval-Logic.html</link>
<pubDate>Wed, 23 Feb 2011 00:00:00 +0000</pubDate>
<guid>/entries/Nat-Interval-Logic.html</guid>
<description></description>
</item>
<item>
<title>Lightweight Java</title>
<link>/entries/LightweightJava.html</link>
<pubDate>Mon, 07 Feb 2011 00:00:00 +0000</pubDate>
<guid>/entries/LightweightJava.html</guid>
<description></description>
</item>
<item>
<title>RIPEMD-160</title>
<link>/entries/RIPEMD-160-SPARK.html</link>
<pubDate>Mon, 10 Jan 2011 00:00:00 +0000</pubDate>
<guid>/entries/RIPEMD-160-SPARK.html</guid>
<description></description>
</item>
<item>
<title>Lower Semicontinuous Functions</title>
<link>/entries/Lower_Semicontinuous.html</link>
<pubDate>Sat, 08 Jan 2011 00:00:00 +0000</pubDate>
<guid>/entries/Lower_Semicontinuous.html</guid>
<description></description>
</item>
<item>
<title>Hall&#39;s Marriage Theorem</title>
<link>/entries/Marriage.html</link>
<pubDate>Fri, 17 Dec 2010 00:00:00 +0000</pubDate>
<guid>/entries/Marriage.html</guid>
<description></description>
</item>
<item>
<title>Shivers&#39; Control Flow Analysis</title>
<link>/entries/Shivers-CFA.html</link>
<pubDate>Tue, 16 Nov 2010 00:00:00 +0000</pubDate>
<guid>/entries/Shivers-CFA.html</guid>
<description></description>
</item>
<item>
<title>Binomial Heaps and Skew Binomial Heaps</title>
<link>/entries/Binomial-Heaps.html</link>
<pubDate>Thu, 28 Oct 2010 00:00:00 +0000</pubDate>
<guid>/entries/Binomial-Heaps.html</guid>
<description></description>
</item>
<item>
<title>Finger Trees</title>
<link>/entries/Finger-Trees.html</link>
<pubDate>Thu, 28 Oct 2010 00:00:00 +0000</pubDate>
<guid>/entries/Finger-Trees.html</guid>
<description></description>
</item>
<item>
<title>Functional Binomial Queues</title>
<link>/entries/Binomial-Queues.html</link>
<pubDate>Thu, 28 Oct 2010 00:00:00 +0000</pubDate>
<guid>/entries/Binomial-Queues.html</guid>
<description></description>
</item>
<item>
<title>Strong Normalization of Moggis&#39;s Computational Metalanguage</title>
<link>/entries/Lam-ml-Normalization.html</link>
<pubDate>Sun, 29 Aug 2010 00:00:00 +0000</pubDate>
<guid>/entries/Lam-ml-Normalization.html</guid>
<description></description>
</item>
<item>
<title>Executable Multivariate Polynomials</title>
<link>/entries/Polynomials.html</link>
<pubDate>Tue, 10 Aug 2010 00:00:00 +0000</pubDate>
<guid>/entries/Polynomials.html</guid>
<description></description>
</item>
<item>
<title>Formalizing Statecharts using Hierarchical Automata</title>
<link>/entries/Statecharts.html</link>
<pubDate>Sun, 08 Aug 2010 00:00:00 +0000</pubDate>
<guid>/entries/Statecharts.html</guid>
<description></description>
</item>
<item>
<title>Free Groups</title>
<link>/entries/Free-Groups.html</link>
<pubDate>Thu, 24 Jun 2010 00:00:00 +0000</pubDate>
<guid>/entries/Free-Groups.html</guid>
<description></description>
</item>
<item>
<title>Category Theory</title>
<link>/entries/Category2.html</link>
<pubDate>Sun, 20 Jun 2010 00:00:00 +0000</pubDate>
<guid>/entries/Category2.html</guid>
<description></description>
</item>
<item>
<title>Executable Matrix Operations on Matrices of Arbitrary Dimensions</title>
<link>/entries/Matrix.html</link>
<pubDate>Thu, 17 Jun 2010 00:00:00 +0000</pubDate>
<guid>/entries/Matrix.html</guid>
<description></description>
</item>
<item>
<title>Abstract Rewriting</title>
<link>/entries/Abstract-Rewriting.html</link>
<pubDate>Mon, 14 Jun 2010 00:00:00 +0000</pubDate>
<guid>/entries/Abstract-Rewriting.html</guid>
<description></description>
</item>
<item>
<title>Semantics and Data Refinement of Invariant Based Programs</title>
<link>/entries/DataRefinementIBP.html</link>
<pubDate>Fri, 28 May 2010 00:00:00 +0000</pubDate>
<guid>/entries/DataRefinementIBP.html</guid>
<description></description>
</item>
<item>
<title>Verification of the Deutsch-Schorr-Waite Graph Marking Algorithm using Data Refinement</title>
<link>/entries/GraphMarkingIBP.html</link>
<pubDate>Fri, 28 May 2010 00:00:00 +0000</pubDate>
<guid>/entries/GraphMarkingIBP.html</guid>
<description></description>
</item>
<item>
<title>A Complete Proof of the Robbins Conjecture</title>
<link>/entries/Robbins-Conjecture.html</link>
<pubDate>Sat, 22 May 2010 00:00:00 +0000</pubDate>
<guid>/entries/Robbins-Conjecture.html</guid>
<description></description>
</item>
<item>
<title>Regular Sets and Expressions</title>
<link>/entries/Regular-Sets.html</link>
<pubDate>Wed, 12 May 2010 00:00:00 +0000</pubDate>
<guid>/entries/Regular-Sets.html</guid>
<description></description>
</item>
<item>
<title>Locally Nameless Sigma Calculus</title>
<link>/entries/Locally-Nameless-Sigma.html</link>
<pubDate>Fri, 30 Apr 2010 00:00:00 +0000</pubDate>
<guid>/entries/Locally-Nameless-Sigma.html</guid>
<description></description>
</item>
<item>
<title>Free Boolean Algebra</title>
<link>/entries/Free-Boolean-Algebra.html</link>
<pubDate>Mon, 29 Mar 2010 00:00:00 +0000</pubDate>
<guid>/entries/Free-Boolean-Algebra.html</guid>
<description></description>
</item>
<item>
<title>Information Flow Noninterference via Slicing</title>
<link>/entries/InformationFlowSlicing.html</link>
<pubDate>Tue, 23 Mar 2010 00:00:00 +0000</pubDate>
<guid>/entries/InformationFlowSlicing.html</guid>
<description></description>
</item>
<item>
<title>Inter-Procedural Information Flow Noninterference via Slicing</title>
<link>/entries/InformationFlowSlicing_Inter.html</link>
<pubDate>Tue, 23 Mar 2010 00:00:00 +0000</pubDate>
<guid>/entries/InformationFlowSlicing_Inter.html</guid>
<description></description>
</item>
<item>
<title>List Index</title>
<link>/entries/List-Index.html</link>
<pubDate>Sat, 20 Feb 2010 00:00:00 +0000</pubDate>
<guid>/entries/List-Index.html</guid>
<description></description>
</item>
<item>
<title>Coinductive</title>
<link>/entries/Coinductive.html</link>
<pubDate>Fri, 12 Feb 2010 00:00:00 +0000</pubDate>
<guid>/entries/Coinductive.html</guid>
<description></description>
</item>
<item>
<title>A Fast SAT Solver for Isabelle in Standard ML</title>
<link>/entries/DPT-SAT-Solver.html</link>
<pubDate>Wed, 09 Dec 2009 00:00:00 +0000</pubDate>
<guid>/entries/DPT-SAT-Solver.html</guid>
<description></description>
</item>
<item>
<title>Formalizing the Logic-Automaton Connection</title>
<link>/entries/Presburger-Automata.html</link>
<pubDate>Thu, 03 Dec 2009 00:00:00 +0000</pubDate>
<guid>/entries/Presburger-Automata.html</guid>
<description></description>
</item>
<item>
<title>Collections Framework</title>
<link>/entries/Collections.html</link>
<pubDate>Wed, 25 Nov 2009 00:00:00 +0000</pubDate>
<guid>/entries/Collections.html</guid>
<description></description>
</item>
<item>
<title>Tree Automata</title>
<link>/entries/Tree-Automata.html</link>
<pubDate>Wed, 25 Nov 2009 00:00:00 +0000</pubDate>
<guid>/entries/Tree-Automata.html</guid>
<description></description>
</item>
<item>
<title>Perfect Number Theorem</title>
<link>/entries/Perfect-Number-Thm.html</link>
<pubDate>Sun, 22 Nov 2009 00:00:00 +0000</pubDate>
<guid>/entries/Perfect-Number-Thm.html</guid>
<description></description>
</item>
<item>
<title>Backing up Slicing: Verifying the Interprocedural Two-Phase Horwitz-Reps-Binkley Slicer</title>
<link>/entries/HRB-Slicing.html</link>
<pubDate>Fri, 13 Nov 2009 00:00:00 +0000</pubDate>
<guid>/entries/HRB-Slicing.html</guid>
<description></description>
</item>
<item>
<title>The Worker/Wrapper Transformation</title>
<link>/entries/WorkerWrapper.html</link>
<pubDate>Fri, 30 Oct 2009 00:00:00 +0000</pubDate>
<guid>/entries/WorkerWrapper.html</guid>
<description></description>
</item>
<item>
<title>Ordinals and Cardinals</title>
<link>/entries/Ordinals_and_Cardinals.html</link>
<pubDate>Tue, 01 Sep 2009 00:00:00 +0000</pubDate>
<guid>/entries/Ordinals_and_Cardinals.html</guid>
<description></description>
</item>
<item>
<title>Invertibility in Sequent Calculi</title>
<link>/entries/SequentInvertibility.html</link>
<pubDate>Fri, 28 Aug 2009 00:00:00 +0000</pubDate>
<guid>/entries/SequentInvertibility.html</guid>
<description></description>
</item>
<item>
<title>An Example of a Cofinitary Group in Isabelle/HOL</title>
<link>/entries/CofGroups.html</link>
<pubDate>Tue, 04 Aug 2009 00:00:00 +0000</pubDate>
<guid>/entries/CofGroups.html</guid>
<description></description>
</item>
<item>
<title>Code Generation for Functions as Data</title>
<link>/entries/FinFun.html</link>
<pubDate>Wed, 06 May 2009 00:00:00 +0000</pubDate>
<guid>/entries/FinFun.html</guid>
<description></description>
</item>
<item>
<title>Stream Fusion</title>
<link>/entries/Stream-Fusion.html</link>
<pubDate>Wed, 29 Apr 2009 00:00:00 +0000</pubDate>
<guid>/entries/Stream-Fusion.html</guid>
<description></description>
</item>
<item>
<title>A Bytecode Logic for JML and Types</title>
<link>/entries/BytecodeLogicJmlTypes.html</link>
<pubDate>Fri, 12 Dec 2008 00:00:00 +0000</pubDate>
<guid>/entries/BytecodeLogicJmlTypes.html</guid>
<description></description>
</item>
<item>
<title>Secure information flow and program logics</title>
<link>/entries/SIFPL.html</link>
<pubDate>Mon, 10 Nov 2008 00:00:00 +0000</pubDate>
<guid>/entries/SIFPL.html</guid>
<description></description>
</item>
<item>
<title>Some classical results in Social Choice Theory</title>
<link>/entries/SenSocialChoice.html</link>
<pubDate>Sun, 09 Nov 2008 00:00:00 +0000</pubDate>
<guid>/entries/SenSocialChoice.html</guid>
<description></description>
</item>
<item>
<title>Fun With Tilings</title>
<link>/entries/FunWithTilings.html</link>
<pubDate>Fri, 07 Nov 2008 00:00:00 +0000</pubDate>
<guid>/entries/FunWithTilings.html</guid>
<description></description>
</item>
<item>
<title>The Textbook Proof of Huffman&#39;s Algorithm</title>
<link>/entries/Huffman.html</link>
<pubDate>Wed, 15 Oct 2008 00:00:00 +0000</pubDate>
<guid>/entries/Huffman.html</guid>
<description></description>
</item>
<item>
<title>Towards Certified Slicing</title>
<link>/entries/Slicing.html</link>
<pubDate>Tue, 16 Sep 2008 00:00:00 +0000</pubDate>
<guid>/entries/Slicing.html</guid>
<description></description>
</item>
<item>
<title>A Correctness Proof for the Volpano/Smith Security Typing System</title>
<link>/entries/VolpanoSmith.html</link>
<pubDate>Tue, 02 Sep 2008 00:00:00 +0000</pubDate>
<guid>/entries/VolpanoSmith.html</guid>
<description></description>
</item>
<item>
<title>Arrow and Gibbard-Satterthwaite</title>
<link>/entries/ArrowImpossibilityGS.html</link>
<pubDate>Mon, 01 Sep 2008 00:00:00 +0000</pubDate>
<guid>/entries/ArrowImpossibilityGS.html</guid>
<description></description>
</item>
<item>
<title>Fun With Functions</title>
<link>/entries/FunWithFunctions.html</link>
<pubDate>Tue, 26 Aug 2008 00:00:00 +0000</pubDate>
<guid>/entries/FunWithFunctions.html</guid>
<description></description>
</item>
<item>
<title>Formal Verification of Modern SAT Solvers</title>
<link>/entries/SATSolverVerification.html</link>
<pubDate>Wed, 23 Jul 2008 00:00:00 +0000</pubDate>
<guid>/entries/SATSolverVerification.html</guid>
<description></description>
</item>
<item>
<title>Recursion Theory I</title>
<link>/entries/Recursion-Theory-I.html</link>
<pubDate>Sat, 05 Apr 2008 00:00:00 +0000</pubDate>
<guid>/entries/Recursion-Theory-I.html</guid>
<description></description>
</item>
<item>
<title>A Sequential Imperative Programming Language Syntax, Semantics, Hoare Logics and Verification Environment</title>
<link>/entries/Simpl.html</link>
<pubDate>Fri, 29 Feb 2008 00:00:00 +0000</pubDate>
<guid>/entries/Simpl.html</guid>
<description></description>
</item>
<item>
<title>BDD Normalisation</title>
<link>/entries/BDD.html</link>
<pubDate>Fri, 29 Feb 2008 00:00:00 +0000</pubDate>
<guid>/entries/BDD.html</guid>
<description></description>
</item>
<item>
<title>Normalization by Evaluation</title>
<link>/entries/NormByEval.html</link>
<pubDate>Mon, 18 Feb 2008 00:00:00 +0000</pubDate>
<guid>/entries/NormByEval.html</guid>
<description></description>
</item>
<item>
<title>Quantifier Elimination for Linear Arithmetic</title>
<link>/entries/LinearQuantifierElim.html</link>
<pubDate>Fri, 11 Jan 2008 00:00:00 +0000</pubDate>
<guid>/entries/LinearQuantifierElim.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Conflict Analysis of Programs with Procedures, Thread Creation, and Monitors</title>
<link>/entries/Program-Conflict-Analysis.html</link>
<pubDate>Fri, 14 Dec 2007 00:00:00 +0000</pubDate>
<guid>/entries/Program-Conflict-Analysis.html</guid>
<description></description>
</item>
<item>
<title>Jinja with Threads</title>
<link>/entries/JinjaThreads.html</link>
<pubDate>Mon, 03 Dec 2007 00:00:00 +0000</pubDate>
<guid>/entries/JinjaThreads.html</guid>
<description></description>
</item>
<item>
<title>Much Ado About Two</title>
<link>/entries/MuchAdoAboutTwo.html</link>
<pubDate>Tue, 06 Nov 2007 00:00:00 +0000</pubDate>
<guid>/entries/MuchAdoAboutTwo.html</guid>
<description></description>
</item>
<item>
<title>Fermat&#39;s Last Theorem for Exponents 3 and 4 and the Parametrisation of Pythagorean Triples</title>
<link>/entries/Fermat3_4.html</link>
<pubDate>Sun, 12 Aug 2007 00:00:00 +0000</pubDate>
<guid>/entries/Fermat3_4.html</guid>
<description></description>
</item>
<item>
<title>Sums of Two and Four Squares</title>
<link>/entries/SumSquares.html</link>
<pubDate>Sun, 12 Aug 2007 00:00:00 +0000</pubDate>
<guid>/entries/SumSquares.html</guid>
<description></description>
</item>
<item>
<title>Fundamental Properties of Valuation Theory and Hensel&#39;s Lemma</title>
<link>/entries/Valuation.html</link>
<pubDate>Wed, 08 Aug 2007 00:00:00 +0000</pubDate>
<guid>/entries/Valuation.html</guid>
<description></description>
</item>
<item>
<title>First-Order Logic According to Fitting</title>
<link>/entries/FOL-Fitting.html</link>
<pubDate>Thu, 02 Aug 2007 00:00:00 +0000</pubDate>
<guid>/entries/FOL-Fitting.html</guid>
<description></description>
</item>
<item>
<title>POPLmark Challenge Via de Bruijn Indices</title>
<link>/entries/POPLmark-deBruijn.html</link>
<pubDate>Thu, 02 Aug 2007 00:00:00 +0000</pubDate>
<guid>/entries/POPLmark-deBruijn.html</guid>
<description></description>
</item>
<item>
<title>Hotel Key Card System</title>
<link>/entries/HotelKeyCards.html</link>
<pubDate>Sat, 09 Sep 2006 00:00:00 +0000</pubDate>
<guid>/entries/HotelKeyCards.html</guid>
<description></description>
</item>
<item>
<title>Abstract Hoare Logics</title>
<link>/entries/Abstract-Hoare-Logics.html</link>
<pubDate>Tue, 08 Aug 2006 00:00:00 +0000</pubDate>
<guid>/entries/Abstract-Hoare-Logics.html</guid>
<description></description>
</item>
<item>
<title>Flyspeck I: Tame Graphs</title>
<link>/entries/Flyspeck-Tame.html</link>
<pubDate>Mon, 22 May 2006 00:00:00 +0000</pubDate>
<guid>/entries/Flyspeck-Tame.html</guid>
<description></description>
</item>
<item>
<title>CoreC&#43;&#43;</title>
<link>/entries/CoreC&#43;&#43;.html</link>
<pubDate>Mon, 15 May 2006 00:00:00 +0000</pubDate>
<guid>/entries/CoreC&#43;&#43;.html</guid>
<description></description>
</item>
<item>
<title>A Theory of Featherweight Java in Isabelle/HOL</title>
<link>/entries/FeatherweightJava.html</link>
<pubDate>Fri, 31 Mar 2006 00:00:00 +0000</pubDate>
<guid>/entries/FeatherweightJava.html</guid>
<description></description>
</item>
<item>
<title>Instances of Schneider&#39;s generalized protocol of clock synchronization</title>
<link>/entries/ClockSynchInst.html</link>
<pubDate>Wed, 15 Mar 2006 00:00:00 +0000</pubDate>
<guid>/entries/ClockSynchInst.html</guid>
<description></description>
</item>
<item>
<title>Cauchy&#39;s Mean Theorem and the Cauchy-Schwarz Inequality</title>
<link>/entries/Cauchy.html</link>
<pubDate>Tue, 14 Mar 2006 00:00:00 +0000</pubDate>
<guid>/entries/Cauchy.html</guid>
<description></description>
</item>
<item>
<title>Countable Ordinals</title>
<link>/entries/Ordinal.html</link>
<pubDate>Fri, 11 Nov 2005 00:00:00 +0000</pubDate>
<guid>/entries/Ordinal.html</guid>
<description></description>
</item>
<item>
<title>Fast Fourier Transform</title>
<link>/entries/FFT.html</link>
<pubDate>Wed, 12 Oct 2005 00:00:00 +0000</pubDate>
<guid>/entries/FFT.html</guid>
<description></description>
</item>
<item>
<title>Formalization of a Generalized Protocol for Clock Synchronization</title>
<link>/entries/GenClock.html</link>
<pubDate>Fri, 24 Jun 2005 00:00:00 +0000</pubDate>
<guid>/entries/GenClock.html</guid>
<description></description>
</item>
<item>
<title>Proving the Correctness of Disk Paxos</title>
<link>/entries/DiskPaxos.html</link>
<pubDate>Wed, 22 Jun 2005 00:00:00 +0000</pubDate>
<guid>/entries/DiskPaxos.html</guid>
<description></description>
</item>
<item>
<title>Jive Data and Store Model</title>
<link>/entries/JiveDataStoreModel.html</link>
<pubDate>Mon, 20 Jun 2005 00:00:00 +0000</pubDate>
<guid>/entries/JiveDataStoreModel.html</guid>
<description></description>
</item>
<item>
<title>Jinja is not Java</title>
<link>/entries/Jinja.html</link>
<pubDate>Wed, 01 Jun 2005 00:00:00 +0000</pubDate>
<guid>/entries/Jinja.html</guid>
<description></description>
</item>
<item>
<title>SHA1, RSA, PSS and more</title>
<link>/entries/RSAPSS.html</link>
<pubDate>Mon, 02 May 2005 00:00:00 +0000</pubDate>
<guid>/entries/RSAPSS.html</guid>
<description></description>
</item>
<item>
<title>Category Theory to Yoneda&#39;s Lemma</title>
<link>/entries/Category.html</link>
<pubDate>Thu, 21 Apr 2005 00:00:00 +0000</pubDate>
<guid>/entries/Category.html</guid>
<description></description>
</item>
<item>
<title>File Refinement</title>
<link>/entries/FileRefinement.html</link>
<pubDate>Thu, 09 Dec 2004 00:00:00 +0000</pubDate>
<guid>/entries/FileRefinement.html</guid>
<description></description>
</item>
<item>
<title>Integration theory and random variables</title>
<link>/entries/Integration.html</link>
<pubDate>Fri, 19 Nov 2004 00:00:00 +0000</pubDate>
<guid>/entries/Integration.html</guid>
<description></description>
</item>
<item>
<title>A Mechanically Verified, Efficient, Sound and Complete Theorem Prover For First Order Logic</title>
<link>/entries/Verified-Prover.html</link>
<pubDate>Tue, 28 Sep 2004 00:00:00 +0000</pubDate>
<guid>/entries/Verified-Prover.html</guid>
<description></description>
</item>
<item>
<title>Completeness theorem</title>
<link>/entries/Completeness.html</link>
<pubDate>Mon, 20 Sep 2004 00:00:00 +0000</pubDate>
<guid>/entries/Completeness.html</guid>
<description></description>
</item>
<item>
<title>Ramsey&#39;s theorem, infinitary version</title>
<link>/entries/Ramsey-Infinite.html</link>
<pubDate>Mon, 20 Sep 2004 00:00:00 +0000</pubDate>
<guid>/entries/Ramsey-Infinite.html</guid>
<description></description>
</item>
<item>
<title>Compiling Exceptions Correctly</title>
<link>/entries/Compiling-Exceptions-Correctly.html</link>
<pubDate>Fri, 09 Jul 2004 00:00:00 +0000</pubDate>
<guid>/entries/Compiling-Exceptions-Correctly.html</guid>
<description></description>
</item>
<item>
<title>Depth First Search</title>
<link>/entries/Depth-First-Search.html</link>
<pubDate>Thu, 24 Jun 2004 00:00:00 +0000</pubDate>
<guid>/entries/Depth-First-Search.html</guid>
<description></description>
</item>
<item>
<title>Groups, Rings and Modules</title>
<link>/entries/Group-Ring-Module.html</link>
<pubDate>Tue, 18 May 2004 00:00:00 +0000</pubDate>
<guid>/entries/Group-Ring-Module.html</guid>
<description></description>
</item>
<item>
<title>Lazy Lists II</title>
<link>/entries/Lazy-Lists-II.html</link>
<pubDate>Mon, 26 Apr 2004 00:00:00 +0000</pubDate>
<guid>/entries/Lazy-Lists-II.html</guid>
<description></description>
</item>
<item>
<title>Topology</title>
<link>/entries/Topology.html</link>
<pubDate>Mon, 26 Apr 2004 00:00:00 +0000</pubDate>
<guid>/entries/Topology.html</guid>
<description></description>
</item>
<item>
<title>Binary Search Trees</title>
<link>/entries/BinarySearchTree.html</link>
<pubDate>Mon, 05 Apr 2004 00:00:00 +0000</pubDate>
<guid>/entries/BinarySearchTree.html</guid>
<description></description>
</item>
<item>
<title>Functional Automata</title>
<link>/entries/Functional-Automata.html</link>
<pubDate>Tue, 30 Mar 2004 00:00:00 +0000</pubDate>
<guid>/entries/Functional-Automata.html</guid>
<description></description>
</item>
<item>
<title>AVL Trees</title>
<link>/entries/AVL-Trees.html</link>
<pubDate>Fri, 19 Mar 2004 00:00:00 +0000</pubDate>
<guid>/entries/AVL-Trees.html</guid>
<description></description>
</item>
<item>
<title>Mini ML</title>
<link>/entries/MiniML.html</link>
<pubDate>Fri, 19 Mar 2004 00:00:00 +0000</pubDate>
<guid>/entries/MiniML.html</guid>
<description></description>
</item>
</channel>
</rss>
diff --git a/web/index.html b/web/index.html
--- a/web/index.html
+++ b/web/index.html
@@ -1,5670 +1,5702 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="generator" content="Hugo 0.88.1" />
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="./index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content=""/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="./css/front.min.css">
<link rel="icon" href="./images/favicon.ico" type="image/icon"><script src="./js/obfuscate.js"></script>
<script src="./js/flexsearch.bundle.js"></script>
<script src="./js/scroll-spy.js"></script>
<script src="./js/theory.js"></script>
<script src="./js/util.js"></script><script src="./js/header-search.js"></script><script src="./js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="./images/menu.svg" alt="Menu" />
</label>
<a href="./" class='logo-link'>
<img src="./images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<nav id="menu">
<div>
<a href="./" class='logo-link'>
<img src="./images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="./"><li class="active" >Home</li></a>
<a href="./topics/"><li >Topics</li></a>
<a href="./download/"><li >Download</li></a>
<a href="./help/"><li >Help</li></a>
<a href="./submission/"><li >Submission</li></a>
<a href="./statistics/"><li >Statistics</li></a>
<a href="./about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<h1 class="large-top-margin" >
<span class='first'>A</span>rchive of <span class='first'>F</span>ormal <span class='first'>P</span>roofs</h1>
<div>
</div>
</header><div><p>
The Archive of Formal Proofs is a collection of proof libraries, examples, and larger scientific developments,
mechanically checked in the theorem prover <a href="https://isabelle.in.tum.de/">Isabelle</a>.
It is organized in the way of a scientific journal,
is indexed by <a href="https://dblp.uni-trier.de/db/journals/afp/">dblp</a>
and has an ISSN: 2150-914x.
Submissions are refereed and we encourage companion AFP submissions to conference and journal publications.
To cite an entry, please use the <a href="./help/#citing-entries">preferred citation style</a>.
</p><p>
A <a href="https://devel.isa-afp.org/">development version</a> of the archive is available as well.
</p><form autocomplete="off" action="./search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button">Search</button>
<datalist id="autocomplete">
</datalist>
</div>
</form><div>
<h2 class="year">2022</h2>
<article class="entry">
<div class="item-text">
+ <h5><a class="title" href="./entries/CRYSTALS-Kyber.html">CRYSTALS-Kyber</a></h5> <br>
+ by <a href="./authors/kreuzer">Katharina Kreuzer</a></div>
+ <span class="date">
+ Sep 08
+ </span>
+ </article>
+ <article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="./entries/Hales_Jewett.html">The Hales–Jewett Theorem</a></h5> <br>
+ by <a href="./authors/sulejmani">Ujkan Sulejmani</a>, <a href="./authors/eberl">Manuel Eberl</a> and <a href="./authors/kreuzer">Katharina Kreuzer</a></div>
+ <span class="date">
+ Sep 02
+ </span>
+ </article>
+ <article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="./entries/Khovanskii_Theorem.html">Khovanskii&#39;s Theorem</a></h5> <br>
+ by <a href="./authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="./authors/paulson">Lawrence C. Paulson</a></div>
+ <span class="date">
+ Sep 02
+ </span>
+ </article>
+ <article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="./entries/Number_Theoretic_Transform.html">Number Theoretic Transform</a></h5> <br>
+ by <a href="./authors/ammer">Thomas Ammer</a> and <a href="./authors/kreuzer">Katharina Kreuzer</a></div>
+ <span class="date">
+ Aug 18
+ </span>
+ </article>
+ <article class="entry">
+ <div class="item-text">
<h5><a class="title" href="./entries/Involutions2Squares.html">From THE BOOK: Two Squares via Involutions</a></h5> <br>
by <a href="./authors/bortin">Maksym Bortin</a></div>
<span class="date">
Aug 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/FSM_Tests.html">Verified Complete Test Strategies for Finite State Machines</a></h5> <br>
by <a href="./authors/sachtleben">Robert Sachtleben</a></div>
<span class="date">
Aug 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Nano_JSON.html">Nano JSON: Working with JSON formatted data in Isabelle/HOL and Isabelle/ML</a></h5> <br>
by <a href="./authors/brucker">Achim D. Brucker</a></div>
<span class="date">
Jul 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Commuting_Hermitian.html">Simultaneous diagonalization of pairwise commuting Hermitian matrices</a></h5> <br>
by <a href="./authors/echenim">Mnacho Echenim</a></div>
<span class="date">
Jul 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Solidity.html">Isabelle/Solidity: A deep Embedding of Solidity in Isabelle/HOL</a></h5> <br>
by <a href="./authors/marmsoler">Diego Marmsoler</a> and <a href="./authors/brucker">Achim D. Brucker</a></div>
<span class="date">
Jul 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Weighted_Arithmetic_Geometric_Mean.html">Pólya’s Proof of the Weighted Arithmetic–Geometric Mean Inequality</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jul 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/IMP_Compiler_Reuse.html">A Reuse-Based Multi-Stage Compiler Verification for Language IMP</a></h5> <br>
by <a href="./authors/noce">Pasquale Noce</a></div>
<span class="date">
Jul 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Real_Time_Deque.html">Real-Time Double-Ended Queue</a></h5> <br>
by <a href="./authors/toth">Balazs Toth</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Boolos_Curious_Inference.html">Boolos&#39;s Curious Inference in Isabelle/HOL</a></h5> <br>
by <a href="./authors/ketland">Jeffrey Ketland</a></div>
<span class="date">
Jun 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/IsaNet.html">IsaNet: Formalization of a Verification Framework for Secure Data Plane Protocols</a></h5> <br>
by <a href="./authors/klenze">Tobias Klenze</a> and <a href="./authors/sprenger">Christoph Sprenger</a></div>
<span class="date">
Jun 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Finite_Fields.html">Finite Fields</a></h5> <br>
by <a href="./authors/karayel">Emin Karayel</a></div>
<span class="date">
Jun 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/DPRM_Theorem.html">Diophantine Equations and the DPRM Theorem</a></h5> <br>
by <a href="./authors/bayer">Jonas Bayer</a>, <a href="./authors/david">Marco David</a>, <a href="./authors/stock">Benedikt Stock</a>, <a href="./authors/pal">Abhik Pal</a>, <a href="./authors/matiyasevich">Yuri Matiyasevich</a> and <a href="./authors/schleicher">Dierk Schleicher</a></div>
<span class="date">
Jun 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Rewrite_Properties_Reduction.html">Reducing Rewrite Properties to Properties on Ground Terms</a></h5> <br>
by <a href="./authors/lochmann">Alexander Lochmann</a></div>
<span class="date">
Jun 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Combinable_Wands.html">A Restricted Definition of the Magic Wand to Soundly Combine Fractions of a Wand</a></h5> <br>
by <a href="./authors/dardinier">Thibault Dardinier</a></div>
<span class="date">
May 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Pluennecke_Ruzsa_Inequality.html">The Plünnecke-Ruzsa Inequality</a></h5> <br>
by <a href="./authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
May 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Package_logic.html">Formalization of a Framework for the Sound Automation of Magic Wands</a></h5> <br>
by <a href="./authors/dardinier">Thibault Dardinier</a></div>
<span class="date">
May 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Clique_and_Monotone_Circuits.html">Clique is not solvable by monotone circuits of polynomial size</a></h5> <br>
by <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
May 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Fishers_Inequality.html">Fisher&#39;s Inequality: Linear Algebraic Proof Techniques for Combinatorics</a></h5> <br>
by <a href="./authors/edmonds">Chelsea Edmonds</a> and <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Apr 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Multiset_Ordering_NPC.html">The Generalized Multiset Ordering is NP-Complete</a></h5> <br>
by <a href="./authors/thiemann">René Thiemann</a> and <a href="./authors/schmidinger">Lukas Schmidinger</a></div>
<span class="date">
Apr 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Digit_Expansions.html">Digit Expansions</a></h5> <br>
by <a href="./authors/bayer">Jonas Bayer</a>, <a href="./authors/david">Marco David</a>, <a href="./authors/pal">Abhik Pal</a> and <a href="./authors/stock">Benedikt Stock</a></div>
<span class="date">
Apr 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Sophomores_Dream.html">The Sophomore&#39;s Dream</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Apr 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Frequency_Moments.html">Formalization of Randomized Approximation Algorithms for Frequency Moments</a></h5> <br>
by <a href="./authors/karayel">Emin Karayel</a></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Prefix_Free_Code_Combinators.html">A Combinator Library for Prefix-Free Codes</a></h5> <br>
by <a href="./authors/karayel">Emin Karayel</a></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Dedekind_Real.html">Constructing the Reals as Dedekind Cuts of Rationals</a></h5> <br>
by <a href="./authors/fleuriot">Jacques D. Fleuriot</a> and <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Mar 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Ackermanns_not_PR.html">Ackermann&#39;s Function Is Not Primitive Recursive</a></h5> <br>
by <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Mar 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/FOL_Seq_Calc3.html">A Naive Prover for First-Order Logic</a></h5> <br>
by <a href="./authors/from">Asta Halkjær From</a></div>
<span class="date">
Mar 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Cotangent_PFD_Formula.html">A Proof from THE BOOK: The Partial Fraction Expansion of the Cotangent</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Mar 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Independence_CH.html">The Independence of the Continuum Hypothesis in Isabelle/ZF</a></h5> <br>
by <a href="./authors/gunther">Emmanuel Gunther</a>, <a href="./authors/pagano">Miguel Pagano</a>, <a href="./authors/terraf">Pedro Sánchez Terraf</a> and <a href="./authors/steinberg">Matías Steinberg</a></div>
<span class="date">
Mar 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Transitive_Models.html">Transitive Models of Fragments of ZFC</a></h5> <br>
by <a href="./authors/gunther">Emmanuel Gunther</a>, <a href="./authors/pagano">Miguel Pagano</a>, <a href="./authors/terraf">Pedro Sánchez Terraf</a> and <a href="./authors/steinberg">Matías Steinberg</a></div>
<span class="date">
Mar 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/ResiduatedTransitionSystem.html">Residuated Transition Systems</a></h5> <br>
by <a href="./authors/stark">Eugene W. Stark</a></div>
<span class="date">
Feb 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Universal_Hash_Families.html">Universal Hash Families</a></h5> <br>
by <a href="./authors/karayel">Emin Karayel</a></div>
<span class="date">
Feb 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Wetzels_Problem.html">Wetzel&#39;s Problem and the Continuum Hypothesis</a></h5> <br>
by <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Feb 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Eval_FO.html">First-Order Query Evaluation</a></h5> <br>
by <a href="./authors/raszyk">Martin Raszyk</a></div>
<span class="date">
Feb 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/VYDRA_MDL.html">Multi-Head Monitoring of Metric Dynamic Logic</a></h5> <br>
by <a href="./authors/raszyk">Martin Raszyk</a></div>
<span class="date">
Feb 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Equivalence_Relation_Enumeration.html">Enumeration of Equivalence Relations</a></h5> <br>
by <a href="./authors/karayel">Emin Karayel</a></div>
<span class="date">
Feb 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Quasi_Borel_Spaces.html">Quasi-Borel Spaces</a></h5> <br>
by <a href="./authors/hirata">Michikazu Hirata</a>, <a href="./authors/minamide">Yasuhiko Minamide</a> and <a href="./authors/sato">Tetsuya Sato</a></div>
<span class="date">
Feb 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/LP_Duality.html">Duality of Linear Programming</a></h5> <br>
by <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Feb 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/FO_Theory_Rewriting.html">First-Order Theory of Rewriting</a></h5> <br>
by <a href="./authors/lochmann">Alexander Lochmann</a> and <a href="./authors/felgenhauer">Bertram Felgenhauer</a></div>
<span class="date">
Feb 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Youngs_Inequality.html">Young&#39;s Inequality for Increasing Functions</a></h5> <br>
by <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Jan 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/FOL_Seq_Calc2.html">A Sequent Calculus Prover for First-Order Logic with Functions</a></h5> <br>
by <a href="./authors/from">Asta Halkjær From</a> and <a href="./authors/jacobsen">Frederik Krogsdal Jacobsen</a></div>
<span class="date">
Jan 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Interpolation_Polynomials_HOL_Algebra.html">Interpolation Polynomials (in HOL-Algebra)</a></h5> <br>
by <a href="./authors/karayel">Emin Karayel</a></div>
<span class="date">
Jan 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Median_Method.html">Median Method</a></h5> <br>
by <a href="./authors/karayel">Emin Karayel</a></div>
<span class="date">
Jan 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Actuarial_Mathematics.html">Actuarial Mathematics</a></h5> <br>
by <a href="./authors/ito">Yosuke Ito</a></div>
<span class="date">
Jan 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Irrationals_From_THEBOOK.html">Irrational numbers from THE BOOK</a></h5> <br>
by <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Jan 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Knights_Tour.html">Knight&#39;s Tour Revisited Revisited</a></h5> <br>
by <a href="./authors/koller">Lukas Koller</a></div>
<span class="date">
Jan 04
</span>
</article></div><div>
<h2 class="year">2021</h2>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Hyperdual.html">Hyperdual Numbers and Forward Differentiation</a></h5> <br>
by <a href="./authors/smola">Filip Smola</a> and <a href="./authors/fleuriot">Jacques D. Fleuriot</a></div>
<span class="date">
Dec 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Gale_Shapley.html">Gale-Shapley Algorithm</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Dec 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Roth_Arithmetic_Progressions.html">Roth&#39;s Theorem on Arithmetic Progressions</a></h5> <br>
by <a href="./authors/edmonds">Chelsea Edmonds</a>, <a href="./authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/MDP-Algorithms.html">Verified Algorithms for Solving Markov Decision Processes</a></h5> <br>
by <a href="./authors/schaeffeler">Maximilian Schäffeler</a> and <a href="./authors/abdulaziz">Mohammad Abdulaziz</a></div>
<span class="date">
Dec 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/MDP-Rewards.html">Markov Decision Processes with Rewards</a></h5> <br>
by <a href="./authors/schaeffeler">Maximilian Schäffeler</a> and <a href="./authors/abdulaziz">Mohammad Abdulaziz</a></div>
<span class="date">
Dec 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Regular_Tree_Relations.html">Regular Tree Relations</a></h5> <br>
by <a href="./authors/lochmann">Alexander Lochmann</a>, <a href="./authors/felgenhauer">Bertram Felgenhauer</a>, <a href="./authors/sternagel">Christian Sternagel</a>, <a href="./authors/thiemann">René Thiemann</a> and <a href="./authors/sternagelt">Thomas Sternagel</a></div>
<span class="date">
Dec 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Simplicial_complexes_and_boolean_functions.html">Simplicial Complexes and Boolean functions</a></h5> <br>
by <a href="./authors/aransay">Jesús Aransay</a>, <a href="./authors/campo">Alejandro del Campo</a> and <a href="./authors/michaelis">Julius Michaelis</a></div>
<span class="date">
Nov 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Van_Emde_Boas_Trees.html">van Emde Boas Trees</a></h5> <br>
by <a href="./authors/ammer">Thomas Ammer</a> and <a href="./authors/lammich">Peter Lammich</a></div>
<span class="date">
Nov 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Foundation_of_geometry.html">Foundation of geometry in planes, and some complements: Excluding the parallel axioms</a></h5> <br>
by <a href="./authors/iwama">Fumiya Iwama</a></div>
<span class="date">
Nov 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Hahn_Jordan_Decomposition.html">The Hahn and Jordan Decomposition Theorems</a></h5> <br>
by <a href="./authors/cousin">Marie Cousin</a>, <a href="./authors/echenim">Mnacho Echenim</a> and <a href="./authors/guiol">Hervé Guiol</a></div>
<span class="date">
Nov 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Real_Power.html">Real Exponents as the Limits of Sequences of Rational Exponents</a></h5> <br>
by <a href="./authors/fleuriot">Jacques D. Fleuriot</a></div>
<span class="date">
Nov 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Factor_Algebraic_Polynomial.html">Factorization of Polynomials with Algebraic Coefficients</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a> and <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Nov 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/SimplifiedOntologicalArgument.html">Exploring Simplified Variants of Gödel’s Ontological Argument in Isabelle/HOL</a></h5> <br>
by <a href="./authors/benzmueller">Christoph Benzmüller</a></div>
<span class="date">
Nov 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/PAL.html">Automating Public Announcement Logic and the Wise Men Puzzle in Isabelle/HOL</a></h5> <br>
by <a href="./authors/benzmueller">Christoph Benzmüller</a> and <a href="./authors/reiche">Sebastian Reiche</a></div>
<span class="date">
Nov 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Szemeredi_Regularity.html">Szemerédi&#39;s Regularity Lemma</a></h5> <br>
by <a href="./authors/edmonds">Chelsea Edmonds</a>, <a href="./authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Nov 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Registers.html">Quantum and Classical Registers</a></h5> <br>
by <a href="./authors/unruh">Dominique Unruh</a></div>
<span class="date">
Oct 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Belief_Revision.html">Belief Revision Theory</a></h5> <br>
by <a href="./authors/fouillard">Valentin Fouillard</a>, <a href="./authors/taha">Safouan Taha</a>, <a href="./authors/boulanger">Frédéric Boulanger</a> and <a href="./authors/sabouret">Nicolas Sabouret</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/X86_Semantics.html">X86 instruction semantics and basic block symbolic execution</a></h5> <br>
by <a href="./authors/verbeek">Freek Verbeek</a>, <a href="./authors/bharadwaj">Abhijith Bharadwaj</a>, <a href="./authors/bockenek">Joshua Bockenek</a>, <a href="./authors/roessle">Ian Roessle</a>, <a href="./authors/weerwag">Timmy Weerwag</a> and <a href="./authors/ravindran">Binoy Ravindran</a></div>
<span class="date">
Oct 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Correctness_Algebras.html">Algebras for Iteration, Infinite Executions and Correctness of Sequential Computations</a></h5> <br>
by <a href="./authors/guttmann">Walter Guttmann</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Virtual_Substitution.html">Verified Quadratic Virtual Substitution for Real Arithmetic</a></h5> <br>
by <a href="./authors/scharager">Matias Scharager</a>, <a href="./authors/cordwell">Katherine Cordwell</a>, <a href="./authors/mitsch">Stefan Mitsch</a> and <a href="./authors/platzer">André Platzer</a></div>
<span class="date">
Oct 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/FOL_Axiomatic.html">Soundness and Completeness of an Axiomatic System for First-Order Logic</a></h5> <br>
by <a href="./authors/from">Asta Halkjær From</a></div>
<span class="date">
Sep 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Complex_Bounded_Operators.html">Complex Bounded Operators</a></h5> <br>
by <a href="./authors/caballero">José Manuel Rodríguez Caballero</a> and <a href="./authors/unruh">Dominique Unruh</a></div>
<span class="date">
Sep 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Weighted_Path_Order.html">A Formalization of Weighted Path Orders and Recursive Path Orders</a></h5> <br>
by <a href="./authors/sternagel">Christian Sternagel</a>, <a href="./authors/thiemann">René Thiemann</a> and <a href="./authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Intro_Dest_Elim.html">IDE: Introduction, Destruction, Elimination</a></h5> <br>
by <a href="./authors/milehins">Mihails Milehins</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Types_To_Sets_Extension.html">Extension of Types-To-Sets</a></h5> <br>
by <a href="./authors/milehins">Mihails Milehins</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Conditional_Transfer_Rule.html">Conditional Transfer Rule</a></h5> <br>
by <a href="./authors/milehins">Mihails Milehins</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Conditional_Simplification.html">Conditional Simplification</a></h5> <br>
by <a href="./authors/milehins">Mihails Milehins</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CZH_Universal_Constructions.html">Category Theory for ZFC in HOL III: Universal Constructions</a></h5> <br>
by <a href="./authors/milehins">Mihails Milehins</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CZH_Elementary_Categories.html">Category Theory for ZFC in HOL II: Elementary Theory of 1-Categories</a></h5> <br>
by <a href="./authors/milehins">Mihails Milehins</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CZH_Foundations.html">Category Theory for ZFC in HOL I: Foundations: Design Patterns, Set Theory, Digraphs, Semicategories</a></h5> <br>
by <a href="./authors/milehins">Mihails Milehins</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Dominance_CHK.html">A data flow analysis algorithm for computing dominators</a></h5> <br>
by <a href="./authors/jiang">Nan Jiang</a></div>
<span class="date">
Sep 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Cubic_Quartic_Equations.html">Solving Cubic and Quartic Equations</a></h5> <br>
by <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Sep 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Logging_Independent_Anonymity.html">Logging-independent Message Anonymity in the Relational Method</a></h5> <br>
by <a href="./authors/noce">Pasquale Noce</a></div>
<span class="date">
Aug 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Three_Circles.html">The Theorem of Three Circles</a></h5> <br>
by <a href="./authors/thomson">Fox Thomson</a> and <a href="./authors/li">Wenda Li</a></div>
<span class="date">
Aug 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Fresh_Identifiers.html">Fresh identifiers</a></h5> <br>
by <a href="./authors/popescu">Andrei Popescu</a> and <a href="./authors/bauereiss">Thomas Bauereiss</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CoSMeDis.html">CoSMeDis: A confidentiality-verified distributed social media platform</a></h5> <br>
by <a href="./authors/bauereiss">Thomas Bauereiss</a> and <a href="./authors/popescu">Andrei Popescu</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CoSMed.html">CoSMed: A confidentiality-verified social media platform</a></h5> <br>
by <a href="./authors/bauereiss">Thomas Bauereiss</a> and <a href="./authors/popescu">Andrei Popescu</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/BD_Security_Compositional.html">Compositional BD Security</a></h5> <br>
by <a href="./authors/bauereiss">Thomas Bauereiss</a> and <a href="./authors/popescu">Andrei Popescu</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CoCon.html">CoCon: A Confidentiality-Verified Conference Management System</a></h5> <br>
by <a href="./authors/popescu">Andrei Popescu</a>, <a href="./authors/lammich">Peter Lammich</a> and <a href="./authors/bauereiss">Thomas Bauereiss</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Design_Theory.html">Combinatorial Design Theory</a></h5> <br>
by <a href="./authors/edmonds">Chelsea Edmonds</a> and <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Aug 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Relational_Forests.html">Relational Forests</a></h5> <br>
by <a href="./authors/guttmann">Walter Guttmann</a></div>
<span class="date">
Aug 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Schutz_Spacetime.html">Schutz&#39; Independent Axioms for Minkowski Spacetime</a></h5> <br>
by <a href="./authors/schmoetten">Richard Schmoetten</a>, <a href="./authors/palmer">Jake Palmer</a> and <a href="./authors/fleuriot">Jacques D. Fleuriot</a></div>
<span class="date">
Jul 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Finitely_Generated_Abelian_Groups.html">Finitely Generated Abelian Groups</a></h5> <br>
by <a href="./authors/thommes">Joseph Thommes</a> and <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jul 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/SpecCheck.html">SpecCheck - Specification-Based Testing for Isabelle/ML</a></h5> <br>
by <a href="./authors/kappelmann">Kevin Kappelmann</a>, <a href="./authors/bulwahn">Lukas Bulwahn</a> and <a href="./authors/willenbrink">Sebastian Willenbrink</a></div>
<span class="date">
Jul 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Van_der_Waerden.html">Van der Waerden&#39;s Theorem</a></h5> <br>
by <a href="./authors/kreuzer">Katharina Kreuzer</a> and <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jun 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/MiniSail.html">MiniSail - A kernel language for the ISA specification language SAIL</a></h5> <br>
by <a href="./authors/wassell">Mark Wassell</a></div>
<span class="date">
Jun 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Public_Announcement_Logic.html">Public Announcement Logic</a></h5> <br>
by <a href="./authors/from">Asta Halkjær From</a></div>
<span class="date">
Jun 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/IMP_Compiler.html">A Shorter Compiler Correctness Proof for Language IMP</a></h5> <br>
by <a href="./authors/noce">Pasquale Noce</a></div>
<span class="date">
Jun 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Combinatorics_Words_Lyndon.html">Lyndon words</a></h5> <br>
by <a href="./authors/holub">Štěpán Holub</a> and <a href="./authors/starosta">Štěpán Starosta</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Combinatorics_Words_Graph_Lemma.html">Graph Lemma</a></h5> <br>
by <a href="./authors/holub">Štěpán Holub</a> and <a href="./authors/starosta">Štěpán Starosta</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Combinatorics_Words.html">Combinatorics on Words Basics</a></h5> <br>
by <a href="./authors/holub">Štěpán Holub</a>, <a href="./authors/raska">Martin Raška</a> and <a href="./authors/starosta">Štěpán Starosta</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Regression_Test_Selection.html">Regression Test Selection</a></h5> <br>
by <a href="./authors/mansky">Susannah Mansky</a></div>
<span class="date">
Apr 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Lifting_the_Exponent.html">Lifting the Exponent</a></h5> <br>
by <a href="./authors/kadzioka">Maya Kądziołka</a></div>
<span class="date">
Apr 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Metalogic_ProofChecker.html">Isabelle&#39;s Metalogic: Formalization and Proof Checker</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a> and <a href="./authors/rosskopf">Simon Roßkopf</a></div>
<span class="date">
Apr 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/BenOr_Kozen_Reif.html">The BKR Decision Procedure for Univariate Real Arithmetic</a></h5> <br>
by <a href="./authors/cordwell">Katherine Cordwell</a>, <a href="./authors/tan">Yong Kiam Tan</a> and <a href="./authors/platzer">André Platzer</a></div>
<span class="date">
Apr 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/GaleStewart_Games.html">Gale-Stewart Games</a></h5> <br>
by <a href="./authors/joosten">Sebastiaan J. C. Joosten</a></div>
<span class="date">
Apr 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Progress_Tracking.html">Formalization of Timely Dataflow&#39;s Progress Tracking Protocol</a></h5> <br>
by <a href="./authors/brun">Matthias Brun</a>, <a href="./authors/decova">Sára Decova</a>, <a href="./authors/lattuada">Andrea Lattuada</a> and <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Apr 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/IFC_Tracking.html">Information Flow Control via Dependency Tracking</a></h5> <br>
by <a href="./authors/nordhoff">Benedikt Nordhoff</a></div>
<span class="date">
Apr 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Grothendieck_Schemes.html">Grothendieck&#39;s Schemes in Algebraic Geometry</a></h5> <br>
by <a href="./authors/bordg">Anthony Bordg</a>, <a href="./authors/paulson">Lawrence C. Paulson</a> and <a href="./authors/li">Wenda Li</a></div>
<span class="date">
Mar 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Padic_Ints.html">Hensel&#39;s Lemma for the p-adic Integers</a></h5> <br>
by <a href="./authors/crighton">Aaron Crighton</a></div>
<span class="date">
Mar 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Constructive_Cryptography_CM.html">Constructive Cryptography in HOL: the Communication Modeling Aspect</a></h5> <br>
by <a href="./authors/lochbihler">Andreas Lochbihler</a> and <a href="./authors/sefidgar">S. Reza Sefidgar</a></div>
<span class="date">
Mar 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Modular_arithmetic_LLL_and_HNF_algorithms.html">Two algorithms based on modular arithmetic: lattice basis reduction and Hermite normal form computation</a></h5> <br>
by <a href="./authors/bottesch">Ralph Bottesch</a>, <a href="./authors/divason">Jose Divasón</a> and <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Mar 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Hermite_Lindemann.html">The Hermite–Lindemann–Weierstraß Transcendence Theorem</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Mar 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Projective_Measurements.html">Quantum projective measurements and the CHSH inequality</a></h5> <br>
by <a href="./authors/echenim">Mnacho Echenim</a></div>
<span class="date">
Mar 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Mereology.html">Mereology</a></h5> <br>
by <a href="./authors/blumson">Ben Blumson</a></div>
<span class="date">
Mar 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Sunflowers.html">The Sunflower Lemma of Erdős and Rado</a></h5> <br>
by <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Feb 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/BTree.html">A Verified Imperative Implementation of B-Trees</a></h5> <br>
by <a href="./authors/muendler">Niels Mündler</a></div>
<span class="date">
Feb 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Formal_Puiseux_Series.html">Formal Puiseux Series</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Feb 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Laws_of_Large_Numbers.html">The Laws of Large Numbers</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Feb 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/IsaGeoCoq.html">Tarski&#39;s Parallel Postulate implies the 5th Postulate of Euclid, the Postulate of Playfair and the original Parallel Postulate of Euclid</a></h5> <br>
by <a href="./authors/coghetto">Roland Coghetto</a></div>
<span class="date">
Jan 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Blue_Eyes.html">Solution to the xkcd Blue Eyes puzzle</a></h5> <br>
by <a href="./authors/kadzioka">Maya Kądziołka</a></div>
<span class="date">
Jan 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Hood_Melville_Queue.html">Hood-Melville Queue</a></h5> <br>
by <a href="./authors/londono">Alejandro Gómez-Londoño</a></div>
<span class="date">
Jan 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/JinjaDCI.html">JinjaDCI: a Java semantics with dynamic class initialization</a></h5> <br>
by <a href="./authors/mansky">Susannah Mansky</a></div>
<span class="date">
Jan 11
</span>
</article></div><div>
<h2 class="year">2020</h2>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Delta_System_Lemma.html">Cofinality and the Delta System Lemma</a></h5> <br>
by <a href="./authors/terraf">Pedro Sánchez Terraf</a></div>
<span class="date">
Dec 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Topological_Semantics.html">Topological semantics for paraconsistent and paracomplete logics</a></h5> <br>
by <a href="./authors/fuenmayor">David Fuenmayor</a></div>
<span class="date">
Dec 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Relational_Minimum_Spanning_Trees.html">Relational Minimum Spanning Tree Algorithms</a></h5> <br>
by <a href="./authors/guttmann">Walter Guttmann</a> and <a href="./authors/brien">Nicolas Robinson-O&rsquo;Brien</a></div>
<span class="date">
Dec 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Interpreter_Optimizations.html">Inline Caching and Unboxing Optimization for Interpreters</a></h5> <br>
by <a href="./authors/desharnais">Martin Desharnais</a></div>
<span class="date">
Dec 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Relational_Method.html">The Relational Method with Message Anonymity for the Verification of Cryptographic Protocols</a></h5> <br>
by <a href="./authors/noce">Pasquale Noce</a></div>
<span class="date">
Dec 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Isabelle_Marries_Dirac.html">Isabelle Marries Dirac: a Library for Quantum Computation and Quantum Information</a></h5> <br>
by <a href="./authors/bordg">Anthony Bordg</a>, <a href="./authors/lachnitt">Hanna Lachnitt</a> and <a href="./authors/he">Yijun He</a></div>
<span class="date">
Nov 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CSP_RefTK.html">The HOL-CSP Refinement Toolkit</a></h5> <br>
by <a href="./authors/taha">Safouan Taha</a>, <a href="./authors/wolff">Burkhart Wolff</a> and <a href="./authors/ye">Lina Ye</a></div>
<span class="date">
Nov 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Verified_SAT_Based_AI_Planning.html">Verified SAT-Based AI Planning</a></h5> <br>
by <a href="./authors/abdulaziz">Mohammad Abdulaziz</a> and <a href="./authors/kurz">Friedrich Kurz</a></div>
<span class="date">
Oct 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/AI_Planning_Languages_Semantics.html">AI Planning Languages Semantics</a></h5> <br>
by <a href="./authors/abdulaziz">Mohammad Abdulaziz</a> and <a href="./authors/lammich">Peter Lammich</a></div>
<span class="date">
Oct 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Physical_Quantities.html">A Sound Type System for Physical Quantities, Units, and Measurements</a></h5> <br>
by <a href="./authors/fosters">Simon Foster</a> and <a href="./authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Oct 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Finite-Map-Extras.html">Finite Map Extras</a></h5> <br>
by <a href="./authors/diaz">Javier Díaz</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Core_SC_DOM.html">The Safely Composable DOM</a></h5> <br>
by <a href="./authors/brucker">Achim D. Brucker</a> and <a href="./authors/herzberg">Michael Herzberg</a></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/DOM_Components.html">A Formalization of Web Components</a></h5> <br>
by <a href="./authors/brucker">Achim D. Brucker</a> and <a href="./authors/herzberg">Michael Herzberg</a></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/SC_DOM_Components.html">A Formalization of Safely Composable Web Components</a></h5> <br>
by <a href="./authors/brucker">Achim D. Brucker</a> and <a href="./authors/herzberg">Michael Herzberg</a></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Shadow_SC_DOM.html">A Formal Model of the Safely Composable Document Object Model with Shadow Roots</a></h5> <br>
by <a href="./authors/brucker">Achim D. Brucker</a> and <a href="./authors/herzberg">Michael Herzberg</a></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Shadow_DOM.html">A Formal Model of the Document Object Model with Shadow Roots</a></h5> <br>
by <a href="./authors/brucker">Achim D. Brucker</a> and <a href="./authors/herzberg">Michael Herzberg</a></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Syntax_Independent_Logic.html">Syntax-Independent Logic Infrastructure</a></h5> <br>
by <a href="./authors/popescu">Andrei Popescu</a> and <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Robinson_Arithmetic.html">Robinson Arithmetic</a></h5> <br>
by <a href="./authors/popescu">Andrei Popescu</a> and <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Goedel_HFSet_Semanticless.html">From Abstract to Concrete Gödel&#39;s Incompleteness Theorems—Part II</a></h5> <br>
by <a href="./authors/popescu">Andrei Popescu</a> and <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Goedel_HFSet_Semantic.html">From Abstract to Concrete Gödel&#39;s Incompleteness Theorems—Part I</a></h5> <br>
by <a href="./authors/popescu">Andrei Popescu</a> and <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Goedel_Incompleteness.html">An Abstract Formalization of Gödel&#39;s Incompleteness Theorems</a></h5> <br>
by <a href="./authors/popescu">Andrei Popescu</a> and <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Extended_Finite_State_Machine_Inference.html">Inference of Extended Finite State Machines</a></h5> <br>
by <a href="./authors/foster">Michael Foster</a>, <a href="./authors/brucker">Achim D. Brucker</a>, <a href="./authors/taylor">Ramsay G. Taylor</a> and <a href="./authors/derrick">John Derrick</a></div>
<span class="date">
Sep 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Extended_Finite_State_Machines.html">A Formal Model of Extended Finite State Machines</a></h5> <br>
by <a href="./authors/foster">Michael Foster</a>, <a href="./authors/brucker">Achim D. Brucker</a>, <a href="./authors/taylor">Ramsay G. Taylor</a> and <a href="./authors/derrick">John Derrick</a></div>
<span class="date">
Sep 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Inductive_Inference.html">Some classical results in inductive inference of recursive functions</a></h5> <br>
by <a href="./authors/balbach">Frank J. Balbach</a></div>
<span class="date">
Aug 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/PAC_Checker.html">Practical Algebraic Calculus Checker</a></h5> <br>
by <a href="./authors/fleury">Mathias Fleury</a> and <a href="./authors/kaufmann">Daniela Kaufmann</a></div>
<span class="date">
Aug 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Relational_Disjoint_Set_Forests.html">Relational Disjoint-Set Forests</a></h5> <br>
by <a href="./authors/guttmann">Walter Guttmann</a></div>
<span class="date">
Aug 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/BirdKMP.html">Putting the `K&#39; into Bird&#39;s derivation of Knuth-Morris-Pratt string matching</a></h5> <br>
by <a href="./authors/gammie">Peter Gammie</a></div>
<span class="date">
Aug 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Saturation_Framework_Extensions.html">Extensions to the Comprehensive Framework for Saturation Theorem Proving</a></h5> <br>
by <a href="./authors/blanchette">Jasmin Christian Blanchette</a> and <a href="./authors/tourret">Sophie Tourret</a></div>
<span class="date">
Aug 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Amicable_Numbers.html">Amicable Numbers</a></h5> <br>
by <a href="./authors/argyraki">Angeliki Koutsoukou-Argyraki</a></div>
<span class="date">
Aug 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Ordinal_Partitions.html">Ordinal Partitions</a></h5> <br>
by <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Aug 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Chandy_Lamport.html">A Formal Proof of The Chandy--Lamport Distributed Snapshot Algorithm</a></h5> <br>
by <a href="./authors/fiedler">Ben Fiedler</a> and <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Jul 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Relational_Paths.html">Relational Characterisations of Paths</a></h5> <br>
by <a href="./authors/guttmann">Walter Guttmann</a> and <a href="./authors/hoefner">Peter Höfner</a></div>
<span class="date">
Jul 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Safe_Distance.html">A Formally Verified Checker of the Safe Distance Traffic Rules for Autonomous Vehicles</a></h5> <br>
by <a href="./authors/rizaldi">Albert Rizaldi</a> and <a href="./authors/immler">Fabian Immler</a></div>
<span class="date">
Jun 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Smith_Normal_Form.html">A verified algorithm for computing the Smith normal form of a matrix</a></h5> <br>
by <a href="./authors/divason">Jose Divasón</a></div>
<span class="date">
May 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Nash_Williams.html">The Nash-Williams Partition Theorem</a></h5> <br>
by <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
May 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Knuth_Bendix_Order.html">A Formalization of Knuth–Bendix Orders</a></h5> <br>
by <a href="./authors/sternagel">Christian Sternagel</a> and <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
May 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Irrational_Series_Erdos_Straus.html">Irrationality Criteria for Series by Erdős and Straus</a></h5> <br>
by <a href="./authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="./authors/li">Wenda Li</a></div>
<span class="date">
May 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Recursion-Addition.html">Recursion Theorem in ZF</a></h5> <br>
by <a href="./authors/dunaev">Georgy Dunaev</a></div>
<span class="date">
May 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/LTL_Normal_Form.html">An Efficient Normalisation Procedure for Linear Temporal Logic: Isabelle/HOL Formalisation</a></h5> <br>
by <a href="./authors/sickert">Salomon Sickert</a></div>
<span class="date">
May 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Forcing.html">Formalization of Forcing in Isabelle/ZF</a></h5> <br>
by <a href="./authors/gunther">Emmanuel Gunther</a>, <a href="./authors/pagano">Miguel Pagano</a> and <a href="./authors/terraf">Pedro Sánchez Terraf</a></div>
<span class="date">
May 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Banach_Steinhaus.html">Banach-Steinhaus Theorem</a></h5> <br>
by <a href="./authors/unruh">Dominique Unruh</a> and <a href="./authors/caballero">José Manuel Rodríguez Caballero</a></div>
<span class="date">
May 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Attack_Trees.html">Attack Trees in Isabelle for GDPR compliance of IoT healthcare systems</a></h5> <br>
by <a href="./authors/kammueller">Florian Kammüller</a></div>
<span class="date">
Apr 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Lambert_W.html">The Lambert W Function on the Reals</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Apr 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Power_Sum_Polynomials.html">Power Sum Polynomials</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Apr 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Gaussian_Integers.html">Gaussian Integers</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Apr 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Matrices_for_ODEs.html">Matrices for ODEs</a></h5> <br>
by <a href="./authors/munive">Jonathan Julian Huerta y Munive</a></div>
<span class="date">
Apr 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/ADS_Functor.html">Authenticated Data Structures As Functors</a></h5> <br>
by <a href="./authors/lochbihler">Andreas Lochbihler</a> and <a href="./authors/maric">Ognjen Marić</a></div>
<span class="date">
Apr 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Sliding_Window_Algorithm.html">Formalization of an Algorithm for Greedily Computing Associative Aggregations on Sliding Windows</a></h5> <br>
by <a href="./authors/heimes">Lukas Heimes</a>, <a href="./authors/traytel">Dmitriy Traytel</a> and <a href="./authors/schneider">Joshua Schneider</a></div>
<span class="date">
Apr 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/MFODL_Monitor_Optimized.html">Formalization of an Optimized Monitoring Algorithm for Metric First-Order Dynamic Logic with Aggregations</a></h5> <br>
by <a href="./authors/dardinier">Thibault Dardinier</a>, <a href="./authors/heimes">Lukas Heimes</a>, <a href="./authors/raszyk">Martin Raszyk</a>, <a href="./authors/schneider">Joshua Schneider</a> and <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Apr 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Saturation_Framework.html">A Comprehensive Framework for Saturation Theorem Proving</a></h5> <br>
by <a href="./authors/tourret">Sophie Tourret</a></div>
<span class="date">
Apr 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Stateful_Protocol_Composition_and_Typing.html">Stateful Protocol Composition and Typing</a></h5> <br>
by <a href="./authors/hess">Andreas V. Hess</a>, <a href="./authors/moedersheim">Sebastian Mödersheim</a> and <a href="./authors/brucker">Achim D. Brucker</a></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Automated_Stateful_Protocol_Verification.html">Automated Stateful Protocol Verification</a></h5> <br>
by <a href="./authors/hess">Andreas V. Hess</a>, <a href="./authors/moedersheim">Sebastian Mödersheim</a>, <a href="./authors/brucker">Achim D. Brucker</a> and <a href="./authors/schlichtkrull">Anders Schlichtkrull</a></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Lucas_Theorem.html">Lucas&#39;s Theorem</a></h5> <br>
by <a href="./authors/edmonds">Chelsea Edmonds</a></div>
<span class="date">
Apr 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/WOOT_Strong_Eventual_Consistency.html">Strong Eventual Consistency of the Collaborative Editing Framework WOOT</a></h5> <br>
by <a href="./authors/karayel">Emin Karayel</a> and <a href="./authors/gonzalez">Edgar Gonzàlez</a></div>
<span class="date">
Mar 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Furstenberg_Topology.html">Furstenberg&#39;s topology and his proof of the infinitude of primes</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Mar 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Relational-Incorrectness-Logic.html">An Under-Approximate Relational Logic</a></h5> <br>
by <a href="./authors/murray">Toby Murray</a></div>
<span class="date">
Mar 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Hello_World.html">Hello World</a></h5> <br>
by <a href="./authors/diekmann">Cornelius Diekmann</a> and <a href="./authors/hupel">Lars Hupel</a></div>
<span class="date">
Mar 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Goodstein_Lambda.html">Implementing the Goodstein Function in λ-Calculus</a></h5> <br>
by <a href="./authors/felgenhauer">Bertram Felgenhauer</a></div>
<span class="date">
Feb 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/VeriComp.html">A Generic Framework for Verified Compilers</a></h5> <br>
by <a href="./authors/desharnais">Martin Desharnais</a></div>
<span class="date">
Feb 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Arith_Prog_Rel_Primes.html">Arithmetic progressions and relative primes</a></h5> <br>
by <a href="./authors/caballero">José Manuel Rodríguez Caballero</a></div>
<span class="date">
Feb 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Subset_Boolean_Algebras.html">A Hierarchy of Algebras for Boolean Subsets</a></h5> <br>
by <a href="./authors/guttmann">Walter Guttmann</a> and <a href="./authors/moeller">Bernhard Möller</a></div>
<span class="date">
Jan 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Mersenne_Primes.html">Mersenne primes and the Lucas–Lehmer test</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jan 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Approximation_Algorithms.html">Verified Approximation Algorithms</a></h5> <br>
by <a href="./authors/essmann">Robin Eßmann</a>, <a href="./authors/nipkow">Tobias Nipkow</a>, <a href="./authors/robillard">Simon Robillard</a> and <a href="./authors/sulejmani">Ujkan Sulejmani</a></div>
<span class="date">
Jan 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Closest_Pair_Points.html">Closest Pair of Points Algorithms</a></h5> <br>
by <a href="./authors/rau">Martin Rau</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jan 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Skip_Lists.html">Skip Lists</a></h5> <br>
by <a href="./authors/haslbeck">Max W. Haslbeck</a> and <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jan 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Bicategory.html">Bicategories</a></h5> <br>
by <a href="./authors/stark">Eugene W. Stark</a></div>
<span class="date">
Jan 06
</span>
</article></div><div>
<h2 class="year">2019</h2>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Zeta_3_Irrational.html">The Irrationality of ζ(3)</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Hybrid_Logic.html">Formalizing a Seligman-Style Tableau System for Hybrid Logic</a></h5> <br>
by <a href="./authors/from">Asta Halkjær From</a></div>
<span class="date">
Dec 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Poincare_Bendixson.html">The Poincaré-Bendixson Theorem</a></h5> <br>
by <a href="./authors/immler">Fabian Immler</a> and <a href="./authors/tan">Yong Kiam Tan</a></div>
<span class="date">
Dec 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Poincare_Disc.html">Poincaré Disc Model</a></h5> <br>
by <a href="./authors/simic">Danijela Simić</a>, <a href="./authors/maricf">Filip Marić</a> and <a href="./authors/boutry">Pierre Boutry</a></div>
<span class="date">
Dec 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Complex_Geometry.html">Complex Geometry</a></h5> <br>
by <a href="./authors/maricf">Filip Marić</a> and <a href="./authors/simic">Danijela Simić</a></div>
<span class="date">
Dec 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Gauss_Sums.html">Gauss Sums and the Pólya–Vinogradov Inequality</a></h5> <br>
by <a href="./authors/raya">Rodrigo Raya</a> and <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Generalized_Counting_Sort.html">An Efficient Generalization of Counting Sort for Large, possibly Infinite Key Ranges</a></h5> <br>
by <a href="./authors/noce">Pasquale Noce</a></div>
<span class="date">
Dec 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Interval_Arithmetic_Word32.html">Interval Arithmetic on 32-bit Words</a></h5> <br>
by <a href="./authors/bohrer">Rose Bohrer</a></div>
<span class="date">
Nov 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/ZFC_in_HOL.html">Zermelo Fraenkel Set Theory in Higher-Order Logic</a></h5> <br>
by <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Oct 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Isabelle_C.html">Isabelle/C</a></h5> <br>
by <a href="./authors/tuong">Frédéric Tuong</a> and <a href="./authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Oct 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/VerifyThis2019.html">VerifyThis 2019 -- Polished Isabelle Solutions</a></h5> <br>
by <a href="./authors/lammich">Peter Lammich</a> and <a href="./authors/wimmer">Simon Wimmer</a></div>
<span class="date">
Oct 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Aristotles_Assertoric_Syllogistic.html">Aristotle&#39;s Assertoric Syllogistic</a></h5> <br>
by <a href="./authors/argyraki">Angeliki Koutsoukou-Argyraki</a></div>
<span class="date">
Oct 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Sigma_Commit_Crypto.html">Sigma Protocols and Commitment Schemes</a></h5> <br>
by <a href="./authors/butler">David Butler</a> and <a href="./authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
Oct 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Clean.html">Clean - An Abstract Imperative Programming Language and its Theory</a></h5> <br>
by <a href="./authors/tuong">Frédéric Tuong</a> and <a href="./authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Oct 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Generic_Join.html">Formalization of Multiway-Join Algorithms</a></h5> <br>
by <a href="./authors/dardinier">Thibault Dardinier</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Hybrid_Systems_VCs.html">Verification Components for Hybrid Systems</a></h5> <br>
by <a href="./authors/munive">Jonathan Julian Huerta y Munive</a></div>
<span class="date">
Sep 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Fourier.html">Fourier Series</a></h5> <br>
by <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Jacobson_Basic_Algebra.html">A Case Study in Basic Algebra</a></h5> <br>
by <a href="./authors/ballarin">Clemens Ballarin</a></div>
<span class="date">
Aug 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Adaptive_State_Counting.html">Formalisation of an Adaptive State Counting Algorithm</a></h5> <br>
by <a href="./authors/sachtleben">Robert Sachtleben</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Laplace_Transform.html">Laplace Transform</a></h5> <br>
by <a href="./authors/immler">Fabian Immler</a></div>
<span class="date">
Aug 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Linear_Programming.html">Linear Programming</a></h5> <br>
by <a href="./authors/parsert">Julian Parsert</a> and <a href="./authors/kaliszyk">Cezary Kaliszyk</a></div>
<span class="date">
Aug 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/C2KA_DistributedSystems.html">Communicating Concurrent Kleene Algebra for Distributed Systems Specification</a></h5> <br>
by <a href="./authors/buyse">Maxime Buyse</a> and <a href="./authors/jaskolka">Jason Jaskolka</a></div>
<span class="date">
Aug 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/IMO2019.html">Selected Problems from the International Mathematical Olympiad 2019</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Aug 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Stellar_Quorums.html">Stellar Quorum Systems</a></h5> <br>
by <a href="./authors/losa">Giuliano Losa</a></div>
<span class="date">
Aug 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/TESL_Language.html">A Formal Development of a Polychronous Polytimed Coordination Language</a></h5> <br>
by <a href="./authors/van">Hai Nguyen Van</a>, <a href="./authors/boulanger">Frédéric Boulanger</a> and <a href="./authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Jul 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Szpilrajn.html">Order Extension and Szpilrajn&#39;s Extension Theorem</a></h5> <br>
by <a href="./authors/zeller">Peter Zeller</a> and <a href="./authors/stevens">Lukas Stevens</a></div>
<span class="date">
Jul 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/FOL_Seq_Calc1.html">A Sequent Calculus for First-Order Logic</a></h5> <br>
by <a href="./authors/from">Asta Halkjær From</a></div>
<span class="date">
Jul 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CakeML_Codegen.html">A Verified Code Generator from Isabelle/HOL to CakeML</a></h5> <br>
by <a href="./authors/hupel">Lars Hupel</a></div>
<span class="date">
Jul 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/MFOTL_Monitor.html">Formalization of a Monitoring Algorithm for Metric First-Order Temporal Logic</a></h5> <br>
by <a href="./authors/schneider">Joshua Schneider</a> and <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Jul 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Complete_Non_Orders.html">Complete Non-Orders and Fixed Points</a></h5> <br>
by <a href="./authors/yamada">Akihisa Yamada</a> and <a href="./authors/dubut">Jérémy Dubut</a></div>
<span class="date">
Jun 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Prim_Dijkstra_Simple.html">Purely Functional, Simple, and Efficient Implementation of Prim and Dijkstra</a></h5> <br>
by <a href="./authors/lammich">Peter Lammich</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Priority_Search_Trees.html">Priority Search Trees</a></h5> <br>
by <a href="./authors/lammich">Peter Lammich</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Linear_Inequalities.html">Linear Inequalities</a></h5> <br>
by <a href="./authors/bottesch">Ralph Bottesch</a>, <a href="./authors/reynaud">Alban Reynaud</a> and <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Jun 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Nullstellensatz.html">Hilbert&#39;s Nullstellensatz</a></h5> <br>
by <a href="./authors/maletzky">Alexander Maletzky</a></div>
<span class="date">
Jun 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Groebner_Macaulay.html">Gröbner Bases, Macaulay Matrices and Dubé&#39;s Degree Bounds</a></h5> <br>
by <a href="./authors/maletzky">Alexander Maletzky</a></div>
<span class="date">
Jun 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/IMP2_Binary_Heap.html">Binary Heaps for IMP2</a></h5> <br>
by <a href="./authors/griebel">Simon Griebel</a></div>
<span class="date">
Jun 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Differential_Game_Logic.html">Differential Game Logic</a></h5> <br>
by <a href="./authors/platzer">André Platzer</a></div>
<span class="date">
Jun 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/KD_Tree.html">Multidimensional Binary Search Trees</a></h5> <br>
by <a href="./authors/rau">Martin Rau</a></div>
<span class="date">
May 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/LambdaAuth.html">Formalization of Generic Authenticated Data Structures</a></h5> <br>
by <a href="./authors/brun">Matthias Brun</a> and <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
May 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Multi_Party_Computation.html">Multi-Party Computation</a></h5> <br>
by <a href="./authors/aspinall">David Aspinall</a> and <a href="./authors/butler">David Butler</a></div>
<span class="date">
May 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/HOL-CSP.html">HOL-CSP Version 2.0</a></h5> <br>
by <a href="./authors/taha">Safouan Taha</a>, <a href="./authors/ye">Lina Ye</a> and <a href="./authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Apr 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/LTL_Master_Theorem.html">A Compositional and Unified Translation of LTL into ω-Automata</a></h5> <br>
by <a href="./authors/seidl">Benedikt Seidl</a> and <a href="./authors/sickert">Salomon Sickert</a></div>
<span class="date">
Apr 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Binding_Syntax_Theory.html">A General Theory of Syntax with Bindings</a></h5> <br>
by <a href="./authors/gheri">Lorenzo Gheri</a> and <a href="./authors/popescu">Andrei Popescu</a></div>
<span class="date">
Apr 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Transcendence_Series_Hancl_Rucki.html">The Transcendence of Certain Infinite Series</a></h5> <br>
by <a href="./authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="./authors/li">Wenda Li</a></div>
<span class="date">
Mar 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/QHLProver.html">Quantum Hoare Logic</a></h5> <br>
by <a href="./authors/liu">Junyi Liu</a>, <a href="./authors/zhan">Bohua Zhan</a>, <a href="./authors/wang">Shuling Wang</a>, <a href="./authors/ying">Shenggang Ying</a>, <a href="./authors/liut">Tao Liu</a>, <a href="./authors/liy">Yangjia Li</a>, <a href="./authors/yingm">Mingsheng Ying</a> and <a href="./authors/zhann">Naijun Zhan</a></div>
<span class="date">
Mar 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Safe_OCL.html">Safe OCL</a></h5> <br>
by <a href="./authors/nikiforov">Denis Nikiforov</a></div>
<span class="date">
Mar 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Prime_Distribution_Elementary.html">Elementary Facts About the Distribution of Primes</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Feb 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Kruskal.html">Kruskal&#39;s Algorithm for Minimum Spanning Forest</a></h5> <br>
by <a href="./authors/haslbeckm">Maximilian P. L. Haslbeck</a>, <a href="./authors/lammich">Peter Lammich</a> and <a href="./authors/biendarra">Julian Biendarra</a></div>
<span class="date">
Feb 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Probabilistic_Prime_Tests.html">Probabilistic Primality Testing</a></h5> <br>
by <a href="./authors/stuewe">Daniel Stüwe</a> and <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Feb 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Universal_Turing_Machine.html">Universal Turing Machine</a></h5> <br>
- by <a href="./authors/xu">Jian Xu</a>, <a href="./authors/zhangx">Xingyuan Zhang</a>, <a href="./authors/urban">Christian Urban</a> and <a href="./authors/joosten">Sebastiaan J. C. Joosten</a></div>
+ by <a href="./authors/xu">Jian Xu</a>, <a href="./authors/zhangx">Xingyuan Zhang</a>, <a href="./authors/urban">Christian Urban</a>, <a href="./authors/joosten">Sebastiaan J. C. Joosten</a> and <a href="./authors/regensburger">Franz Regensburger</a></div>
<span class="date">
Feb 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/List_Inversions.html">The Inversions of a List</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Feb 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/UTP.html">Isabelle/UTP: Mechanised Theory Engineering for Unifying Theories of Programming</a></h5> <br>
by <a href="./authors/fosters">Simon Foster</a>, <a href="./authors/zeyda">Frank Zeyda</a>, <a href="./authors/nemouchi">Yakoub Nemouchi</a>, <a href="./authors/ribeiro">Pedro Ribeiro</a> and <a href="./authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Feb 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Farkas.html">Farkas&#39; Lemma and Motzkin&#39;s Transposition Theorem</a></h5> <br>
by <a href="./authors/bottesch">Ralph Bottesch</a>, <a href="./authors/haslbeck">Max W. Haslbeck</a> and <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Jan 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/IMP2.html">IMP2 – Simple Program Verification in Isabelle/HOL</a></h5> <br>
by <a href="./authors/lammich">Peter Lammich</a> and <a href="./authors/wimmer">Simon Wimmer</a></div>
<span class="date">
Jan 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Higher_Order_Terms.html">An Algebra for Higher-Order Terms</a></h5> <br>
by <a href="./authors/hupel">Lars Hupel</a></div>
<span class="date">
Jan 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Store_Buffer_Reduction.html">A Reduction Theorem for Store Buffers</a></h5> <br>
by <a href="./authors/cohen">Ernie Cohen</a> and <a href="./authors/schirmer">Norbert Schirmer</a></div>
<span class="date">
Jan 07
</span>
</article></div><div>
<h2 class="year">2018</h2>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Core_DOM.html">A Formal Model of the Document Object Model</a></h5> <br>
by <a href="./authors/brucker">Achim D. Brucker</a> and <a href="./authors/herzberg">Michael Herzberg</a></div>
<span class="date">
Dec 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Concurrent_Revisions.html">Formalization of Concurrent Revisions</a></h5> <br>
by <a href="./authors/overbeek">Roy Overbeek</a></div>
<span class="date">
Dec 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Auto2_Imperative_HOL.html">Verifying Imperative Programs using Auto2</a></h5> <br>
by <a href="./authors/zhan">Bohua Zhan</a></div>
<span class="date">
Dec 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Constructive_Cryptography.html">Constructive Cryptography in HOL</a></h5> <br>
by <a href="./authors/lochbihler">Andreas Lochbihler</a> and <a href="./authors/sefidgar">S. Reza Sefidgar</a></div>
<span class="date">
Dec 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Transformer_Semantics.html">Transformer Semantics</a></h5> <br>
by <a href="./authors/struth">Georg Struth</a></div>
<span class="date">
Dec 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Quantales.html">Quantales</a></h5> <br>
by <a href="./authors/struth">Georg Struth</a></div>
<span class="date">
Dec 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Order_Lattice_Props.html">Properties of Orderings and Lattices</a></h5> <br>
by <a href="./authors/struth">Georg Struth</a></div>
<span class="date">
Dec 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Graph_Saturation.html">Graph Saturation</a></h5> <br>
by <a href="./authors/joosten">Sebastiaan J. C. Joosten</a></div>
<span class="date">
Nov 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Functional_Ordered_Resolution_Prover.html">A Verified Functional Implementation of Bachmair and Ganzinger&#39;s Ordered Resolution Prover</a></h5> <br>
by <a href="./authors/schlichtkrull">Anders Schlichtkrull</a>, <a href="./authors/blanchette">Jasmin Christian Blanchette</a> and <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Nov 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Auto2_HOL.html">Auto2 Prover</a></h5> <br>
by <a href="./authors/zhan">Bohua Zhan</a></div>
<span class="date">
Nov 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Matroids.html">Matroids</a></h5> <br>
by <a href="./authors/keinholz">Jonas Keinholz</a></div>
<span class="date">
Nov 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Generic_Deriving.html">Deriving generic class instances for datatypes</a></h5> <br>
by <a href="./authors/raedle">Jonas Rädle</a> and <a href="./authors/hupel">Lars Hupel</a></div>
<span class="date">
Nov 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/GewirthPGCProof.html">Formalisation and Evaluation of Alan Gewirth&#39;s Proof for the Principle of Generic Consistency in Isabelle/HOL</a></h5> <br>
by <a href="./authors/fuenmayor">David Fuenmayor</a> and <a href="./authors/benzmueller">Christoph Benzmüller</a></div>
<span class="date">
Oct 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Epistemic_Logic.html">Epistemic Logic: Completeness of Modal Logics</a></h5> <br>
by <a href="./authors/from">Asta Halkjær From</a></div>
<span class="date">
Oct 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Smooth_Manifolds.html">Smooth Manifolds</a></h5> <br>
by <a href="./authors/immler">Fabian Immler</a> and <a href="./authors/zhan">Bohua Zhan</a></div>
<span class="date">
Oct 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Randomised_BSTs.html">Randomised Binary Search Trees</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Lambda_Free_EPO.html">Formalization of the Embedding Path Order for Lambda-Free Higher-Order Terms</a></h5> <br>
by <a href="./authors/bentkamp">Alexander Bentkamp</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Factored_Transition_System_Bounding.html">Upper Bounding Diameters of State Spaces of Factored Transition Systems</a></h5> <br>
by <a href="./authors/kurz">Friedrich Kurz</a> and <a href="./authors/abdulaziz">Mohammad Abdulaziz</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Pi_Transcendental.html">The Transcendence of π</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Symmetric_Polynomials.html">Symmetric Polynomials</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Sep 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Signature_Groebner.html">Signature-Based Gröbner Basis Algorithms</a></h5> <br>
by <a href="./authors/maletzky">Alexander Maletzky</a></div>
<span class="date">
Sep 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Prime_Number_Theorem.html">The Prime Number Theorem</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a> and <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Sep 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Aggregation_Algebras.html">Aggregation Algebras</a></h5> <br>
by <a href="./authors/guttmann">Walter Guttmann</a></div>
<span class="date">
Sep 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Octonions.html">Octonions</a></h5> <br>
by <a href="./authors/argyraki">Angeliki Koutsoukou-Argyraki</a></div>
<span class="date">
Sep 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Quaternions.html">Quaternions</a></h5> <br>
by <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Sep 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Budan_Fourier.html">The Budan-Fourier Theorem and Counting Real Roots with Multiplicity</a></h5> <br>
by <a href="./authors/li">Wenda Li</a></div>
<span class="date">
Sep 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Simplex.html">An Incremental Simplex Algorithm with Unsatisfiable Core Generation</a></h5> <br>
by <a href="./authors/maricf">Filip Marić</a>, <a href="./authors/spasic">Mirko Spasić</a> and <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Aug 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Minsky_Machines.html">Minsky Machines</a></h5> <br>
by <a href="./authors/felgenhauer">Bertram Felgenhauer</a></div>
<span class="date">
Aug 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/DiscretePricing.html">Pricing in discrete financial models</a></h5> <br>
by <a href="./authors/echenim">Mnacho Echenim</a></div>
<span class="date">
Jul 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Neumann_Morgenstern_Utility.html">Von-Neumann-Morgenstern Utility Theorem</a></h5> <br>
by <a href="./authors/parsert">Julian Parsert</a> and <a href="./authors/kaliszyk">Cezary Kaliszyk</a></div>
<span class="date">
Jul 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Pell.html">Pell&#39;s Equation</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jun 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Localization_Ring.html">The Localization of a Commutative Ring</a></h5> <br>
by <a href="./authors/bordg">Anthony Bordg</a></div>
<span class="date">
Jun 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Projective_Geometry.html">Projective Geometry</a></h5> <br>
by <a href="./authors/bordg">Anthony Bordg</a></div>
<span class="date">
Jun 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Partial_Order_Reduction.html">Partial Order Reduction</a></h5> <br>
by <a href="./authors/brunner">Julian Brunner</a></div>
<span class="date">
Jun 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Optimal_BST.html">Optimal Binary Search Trees</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a> and <a href="./authors/somogyi">Dániel Somogyi</a></div>
<span class="date">
May 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Hidden_Markov_Models.html">Hidden Markov Models</a></h5> <br>
by <a href="./authors/wimmer">Simon Wimmer</a></div>
<span class="date">
May 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Probabilistic_Timed_Automata.html">Probabilistic Timed Automata</a></h5> <br>
by <a href="./authors/wimmer">Simon Wimmer</a> and <a href="./authors/hoelzl">Johannes Hölzl</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Irrationality_J_Hancl.html">Irrational Rapidly Convergent Series</a></h5> <br>
by <a href="./authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="./authors/li">Wenda Li</a></div>
<span class="date">
May 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/AxiomaticCategoryTheory.html">Axiom Systems for Category Theory in Free Logic</a></h5> <br>
by <a href="./authors/benzmueller">Christoph Benzmüller</a> and <a href="./authors/scott">Dana Scott</a></div>
<span class="date">
May 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Monad_Memo_DP.html">Monadification, Memoization and Dynamic Programming</a></h5> <br>
by <a href="./authors/wimmer">Simon Wimmer</a>, <a href="./authors/hu">Shuwei Hu</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
May 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/OpSets.html">OpSets: Sequential Specifications for Replicated Datatypes</a></h5> <br>
by <a href="./authors/kleppmann">Martin Kleppmann</a>, <a href="./authors/gomes">Victor B. F. Gomes</a>, <a href="./authors/mulligan">Dominic P. Mulligan</a> and <a href="./authors/beresford">Alastair R. Beresford</a></div>
<span class="date">
May 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Modular_Assembly_Kit_Security.html">An Isabelle/HOL Formalization of the Modular Assembly Kit for Security Properties</a></h5> <br>
by <a href="./authors/bracevac">Oliver Bračevac</a>, <a href="./authors/gay">Richard Gay</a>, <a href="./authors/grewe">Sylvia Grewe</a>, <a href="./authors/mantel">Heiko Mantel</a>, <a href="./authors/sudbrock">Henning Sudbrock</a> and <a href="./authors/tasch">Markus Tasch</a></div>
<span class="date">
May 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/WebAssembly.html">WebAssembly</a></h5> <br>
by <a href="./authors/watt">Conrad Watt</a></div>
<span class="date">
Apr 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/VerifyThis2018.html">VerifyThis 2018 - Polished Isabelle Solutions</a></h5> <br>
by <a href="./authors/lammich">Peter Lammich</a> and <a href="./authors/wimmer">Simon Wimmer</a></div>
<span class="date">
Apr 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/BNF_CC.html">Bounded Natural Functors with Covariance and Contravariance</a></h5> <br>
by <a href="./authors/lochbihler">Andreas Lochbihler</a> and <a href="./authors/schneider">Joshua Schneider</a></div>
<span class="date">
Apr 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Fishburn_Impossibility.html">The Incompatibility of Fishburn-Strategyproofness and Pareto-Efficiency</a></h5> <br>
by <a href="./authors/brandt">Felix Brandt</a>, <a href="./authors/eberl">Manuel Eberl</a>, <a href="./authors/saile">Christian Saile</a> and <a href="./authors/stricker">Christian Stricker</a></div>
<span class="date">
Mar 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Weight_Balanced_Trees.html">Weight-Balanced Trees</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a> and <a href="./authors/dirix">Stefan Dirix</a></div>
<span class="date">
Mar 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CakeML.html">CakeML</a></h5> <br>
by <a href="./authors/hupel">Lars Hupel</a> and <a href="./authors/zhang">Yu Zhang</a></div>
<span class="date">
Mar 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Architectural_Design_Patterns.html">A Theory of Architectural Design Patterns</a></h5> <br>
by <a href="./authors/marmsoler">Diego Marmsoler</a></div>
<span class="date">
Mar 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Hoare_Time.html">Hoare Logics for Time Bounds</a></h5> <br>
by <a href="./authors/haslbeckm">Maximilian P. L. Haslbeck</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Feb 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Treaps.html">Treaps</a></h5> <br>
by <a href="./authors/haslbeck">Max W. Haslbeck</a>, <a href="./authors/eberl">Manuel Eberl</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Feb 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Error_Function.html">The Error Function</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Feb 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/First_Order_Terms.html">First-Order Terms</a></h5> <br>
by <a href="./authors/sternagel">Christian Sternagel</a> and <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Feb 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/LLL_Factorization.html">A verified factorization algorithm for integer polynomials with polynomial complexity</a></h5> <br>
by <a href="./authors/divason">Jose Divasón</a>, <a href="./authors/joosten">Sebastiaan J. C. Joosten</a>, <a href="./authors/thiemann">René Thiemann</a> and <a href="./authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Feb 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/LLL_Basis_Reduction.html">A verified LLL algorithm</a></h5> <br>
by <a href="./authors/bottesch">Ralph Bottesch</a>, <a href="./authors/divason">Jose Divasón</a>, <a href="./authors/haslbeck">Max W. Haslbeck</a>, <a href="./authors/joosten">Sebastiaan J. C. Joosten</a>, <a href="./authors/thiemann">René Thiemann</a> and <a href="./authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Feb 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Ordered_Resolution_Prover.html">Formalization of Bachmair and Ganzinger&#39;s Ordered Resolution Prover</a></h5> <br>
by <a href="./authors/schlichtkrull">Anders Schlichtkrull</a>, <a href="./authors/blanchette">Jasmin Christian Blanchette</a>, <a href="./authors/traytel">Dmitriy Traytel</a> and <a href="./authors/waldmann">Uwe Waldmann</a></div>
<span class="date">
Jan 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Gromov_Hyperbolicity.html">Gromov Hyperbolicity</a></h5> <br>
by <a href="./authors/gouezel">Sebastien Gouezel</a></div>
<span class="date">
Jan 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Green.html">An Isabelle/HOL formalisation of Green&#39;s Theorem</a></h5> <br>
by <a href="./authors/abdulaziz">Mohammad Abdulaziz</a> and <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Jan 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Taylor_Models.html">Taylor Models</a></h5> <br>
by <a href="./authors/traut">Christoph Traut</a> and <a href="./authors/immler">Fabian Immler</a></div>
<span class="date">
Jan 08
</span>
</article></div><div>
<h2 class="year">2017</h2>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Falling_Factorial_Sum.html">The Falling Factorial of a Sum</a></h5> <br>
by <a href="./authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Dec 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Median_Of_Medians_Selection.html">The Median-of-Medians Selection Algorithm</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Mason_Stothers.html">The Mason–Stothers Theorem</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Dirichlet_L.html">Dirichlet L-Functions and Dirichlet&#39;s Theorem</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/BNF_Operations.html">Operations on Bounded Natural Functors</a></h5> <br>
by <a href="./authors/blanchette">Jasmin Christian Blanchette</a>, <a href="./authors/popescu">Andrei Popescu</a> and <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Dec 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Knuth_Morris_Pratt.html">The string search algorithm by Knuth, Morris and Pratt</a></h5> <br>
by <a href="./authors/hellauer">Fabian Hellauer</a> and <a href="./authors/lammich">Peter Lammich</a></div>
<span class="date">
Dec 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Stochastic_Matrices.html">Stochastic Matrices and the Perron-Frobenius Theorem</a></h5> <br>
by <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Nov 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/IMAP-CRDT.html">The IMAP CmRDT</a></h5> <br>
by <a href="./authors/jungnickel">Tim Jungnickel</a>, <a href="./authors/oldenburg">Lennart Oldenburg</a> and <a href="./authors/loibl">Matthias Loibl</a></div>
<span class="date">
Nov 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Hybrid_Multi_Lane_Spatial_Logic.html">Hybrid Multi-Lane Spatial Logic</a></h5> <br>
by <a href="./authors/linker">Sven Linker</a></div>
<span class="date">
Nov 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Kuratowski_Closure_Complement.html">The Kuratowski Closure-Complement Theorem</a></h5> <br>
by <a href="./authors/gammie">Peter Gammie</a> and <a href="./authors/gioiosa">Gianpaolo Gioiosa</a></div>
<span class="date">
Oct 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Transition_Systems_and_Automata.html">Transition Systems and Automata</a></h5> <br>
by <a href="./authors/brunner">Julian Brunner</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Buchi_Complementation.html">Büchi Complementation</a></h5> <br>
by <a href="./authors/brunner">Julian Brunner</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Winding_Number_Eval.html">Evaluate Winding Numbers through Cauchy Indices</a></h5> <br>
by <a href="./authors/li">Wenda Li</a></div>
<span class="date">
Oct 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Count_Complex_Roots.html">Count the Number of Complex Roots</a></h5> <br>
by <a href="./authors/li">Wenda Li</a></div>
<span class="date">
Oct 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Diophantine_Eqns_Lin_Hom.html">Homogeneous Linear Diophantine Equations</a></h5> <br>
by <a href="./authors/messner">Florian Messner</a>, <a href="./authors/parsert">Julian Parsert</a>, <a href="./authors/schoepf">Jonas Schöpf</a> and <a href="./authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Oct 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Zeta_Function.html">The Hurwitz and Riemann ζ Functions</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Linear_Recurrences.html">Linear Recurrences</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Dirichlet_Series.html">Dirichlet Series</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Lowe_Ontological_Argument.html">Computer-assisted Reconstruction and Assessment of E. J. Lowe&#39;s Modal Ontological Argument</a></h5> <br>
by <a href="./authors/fuenmayor">David Fuenmayor</a> and <a href="./authors/benzmueller">Christoph Benzmüller</a></div>
<span class="date">
Sep 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/PLM.html">Representation and Partial Automation of the Principia Logico-Metaphysica in Isabelle/HOL</a></h5> <br>
by <a href="./authors/kirchner">Daniel Kirchner</a></div>
<span class="date">
Sep 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/AnselmGod.html">Anselm&#39;s God in Isabelle/HOL</a></h5> <br>
by <a href="./authors/blumson">Ben Blumson</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/First_Welfare_Theorem.html">Microeconomics and the First Welfare Theorem</a></h5> <br>
by <a href="./authors/parsert">Julian Parsert</a> and <a href="./authors/kaliszyk">Cezary Kaliszyk</a></div>
<span class="date">
Sep 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Root_Balanced_Tree.html">Root-Balanced Tree</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Aug 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Orbit_Stabiliser.html">Orbit-Stabiliser Theorem with Application to Rotational Symmetries</a></h5> <br>
by <a href="./authors/raedle">Jonas Rädle</a></div>
<span class="date">
Aug 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/LambdaMu.html">The LambdaMu-calculus</a></h5> <br>
by <a href="./authors/matache">Cristina Matache</a>, <a href="./authors/gomes">Victor B. F. Gomes</a> and <a href="./authors/mulligan">Dominic P. Mulligan</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Stewart_Apollonius.html">Stewart&#39;s Theorem and Apollonius&#39; Theorem</a></h5> <br>
by <a href="./authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Jul 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/DynamicArchitectures.html">Dynamic Architectures</a></h5> <br>
by <a href="./authors/marmsoler">Diego Marmsoler</a></div>
<span class="date">
Jul 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Decl_Sem_Fun_PL.html">Declarative Semantics for Functional Languages</a></h5> <br>
by <a href="./authors/siek">Jeremy Siek</a></div>
<span class="date">
Jul 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/HOLCF-Prelude.html">HOLCF-Prelude</a></h5> <br>
by <a href="./authors/breitner">Joachim Breitner</a>, <a href="./authors/huffman">Brian Huffman</a>, <a href="./authors/mitchell">Neil Mitchell</a> and <a href="./authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Jul 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Minkowskis_Theorem.html">Minkowski&#39;s Theorem</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jul 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Name_Carrying_Type_Inference.html">Verified Metatheory and Type Inference for a Name-Carrying Simply-Typed Lambda Calculus</a></h5> <br>
by <a href="./authors/rawson">Michael Rawson</a></div>
<span class="date">
Jul 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CRDT.html">A framework for establishing Strong Eventual Consistency for Conflict-free Replicated Datatypes</a></h5> <br>
by <a href="./authors/gomes">Victor B. F. Gomes</a>, <a href="./authors/kleppmann">Martin Kleppmann</a>, <a href="./authors/mulligan">Dominic P. Mulligan</a> and <a href="./authors/beresford">Alastair R. Beresford</a></div>
<span class="date">
Jul 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Stone_Kleene_Relation_Algebras.html">Stone-Kleene Relation Algebras</a></h5> <br>
by <a href="./authors/guttmann">Walter Guttmann</a></div>
<span class="date">
Jul 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Propositional_Proof_Systems.html">Propositional Proof Systems</a></h5> <br>
by <a href="./authors/michaelis">Julius Michaelis</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/PSemigroupsConvolution.html">Partial Semigroups and Convolution Algebras</a></h5> <br>
by <a href="./authors/dongol">Brijesh Dongol</a>, <a href="./authors/gomes">Victor B. F. Gomes</a>, <a href="./authors/hayes">Ian J. Hayes</a> and <a href="./authors/struth">Georg Struth</a></div>
<span class="date">
Jun 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Buffons_Needle.html">Buffon&#39;s Needle Problem</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jun 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Prpu_Maxflow.html">Formalizing Push-Relabel Algorithms</a></h5> <br>
by <a href="./authors/lammich">Peter Lammich</a> and <a href="./authors/sefidgar">S. Reza Sefidgar</a></div>
<span class="date">
Jun 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Flow_Networks.html">Flow Networks and the Min-Cut-Max-Flow Theorem</a></h5> <br>
by <a href="./authors/lammich">Peter Lammich</a> and <a href="./authors/sefidgar">S. Reza Sefidgar</a></div>
<span class="date">
Jun 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Optics.html">Optics</a></h5> <br>
by <a href="./authors/fosters">Simon Foster</a> and <a href="./authors/zeyda">Frank Zeyda</a></div>
<span class="date">
May 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Dict_Construction.html">Dictionary Construction</a></h5> <br>
by <a href="./authors/hupel">Lars Hupel</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Security_Protocol_Refinement.html">Developing Security Protocols by Refinement</a></h5> <br>
by <a href="./authors/sprenger">Christoph Sprenger</a> and <a href="./authors/somaini">Ivano Somaini</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Floyd_Warshall.html">The Floyd-Warshall Algorithm for Shortest Paths</a></h5> <br>
by <a href="./authors/wimmer">Simon Wimmer</a> and <a href="./authors/lammich">Peter Lammich</a></div>
<span class="date">
May 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Probabilistic_While.html">Probabilistic while loop</a></h5> <br>
by <a href="./authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Monad_Normalisation.html">Monad normalisation</a></h5> <br>
by <a href="./authors/schneider">Joshua Schneider</a>, <a href="./authors/eberl">Manuel Eberl</a> and <a href="./authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Game_Based_Crypto.html">Game-based cryptography in HOL</a></h5> <br>
by <a href="./authors/lochbihler">Andreas Lochbihler</a>, <a href="./authors/sefidgar">S. Reza Sefidgar</a> and <a href="./authors/bhatt">Bhargav Bhatt</a></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Monomorphic_Monad.html">Effect polymorphism in higher-order logic</a></h5> <br>
by <a href="./authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CryptHOL.html">CryptHOL</a></h5> <br>
by <a href="./authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/MonoidalCategory.html">Monoidal Categories</a></h5> <br>
by <a href="./authors/stark">Eugene W. Stark</a></div>
<span class="date">
May 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Types_Tableaus_and_Goedels_God.html">Types, Tableaus and Gödel’s God in Isabelle/HOL</a></h5> <br>
by <a href="./authors/fuenmayor">David Fuenmayor</a> and <a href="./authors/benzmueller">Christoph Benzmüller</a></div>
<span class="date">
May 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/LocalLexing.html">Local Lexing</a></h5> <br>
by <a href="./authors/obua">Steven Obua</a></div>
<span class="date">
Apr 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Constructor_Funs.html">Constructor Functions</a></h5> <br>
by <a href="./authors/hupel">Lars Hupel</a></div>
<span class="date">
Apr 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Lazy_Case.html">Lazifying case constants</a></h5> <br>
by <a href="./authors/hupel">Lars Hupel</a></div>
<span class="date">
Apr 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Subresultants.html">Subresultants</a></h5> <br>
by <a href="./authors/joosten">Sebastiaan J. C. Joosten</a>, <a href="./authors/thiemann">René Thiemann</a> and <a href="./authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Apr 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Random_BSTs.html">Expected Shape of Random Binary Search Trees</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Apr 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Quick_Sort_Cost.html">The number of comparisons in QuickSort</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Mar 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Comparison_Sort_Lower_Bound.html">Lower bound on comparison-based sorting algorithms</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Mar 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Euler_MacLaurin.html">The Euler–MacLaurin Formula</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Mar 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Elliptic_Curves_Group_Law.html">The Group Law for Elliptic Curves</a></h5> <br>
by <a href="./authors/berghofer">Stefan Berghofer</a></div>
<span class="date">
Feb 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Menger.html">Menger&#39;s Theorem</a></h5> <br>
by <a href="./authors/dittmann">Christoph Dittmann</a></div>
<span class="date">
Feb 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Differential_Dynamic_Logic.html">Differential Dynamic Logic</a></h5> <br>
by <a href="./authors/bohrer">Rose Bohrer</a></div>
<span class="date">
Feb 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Abstract_Soundness.html">Abstract Soundness</a></h5> <br>
by <a href="./authors/blanchette">Jasmin Christian Blanchette</a>, <a href="./authors/popescu">Andrei Popescu</a> and <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Feb 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Stone_Relation_Algebras.html">Stone Relation Algebras</a></h5> <br>
by <a href="./authors/guttmann">Walter Guttmann</a></div>
<span class="date">
Feb 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Key_Agreement_Strong_Adversaries.html">Refining Authenticated Key Agreement with Strong Adversaries</a></h5> <br>
by <a href="./authors/lallemand">Joseph Lallemand</a> and <a href="./authors/sprenger">Christoph Sprenger</a></div>
<span class="date">
Jan 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Bernoulli.html">Bernoulli Numbers</a></h5> <br>
by <a href="./authors/bulwahn">Lukas Bulwahn</a> and <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jan 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Minimal_SSA.html">Minimal Static Single Assignment Form</a></h5> <br>
by <a href="./authors/wagner">Max Wagner</a> and <a href="./authors/lohner">Denis Lohner</a></div>
<span class="date">
Jan 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Bertrands_Postulate.html">Bertrand&#39;s postulate</a></h5> <br>
by <a href="./authors/biendarra">Julian Biendarra</a> and <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jan 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/E_Transcendental.html">The Transcendence of e</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jan 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/UPF_Firewall.html">Formal Network Models and Their Application to Firewall Policies</a></h5> <br>
by <a href="./authors/brucker">Achim D. Brucker</a>, <a href="./authors/bruegger">Lukas Brügger</a> and <a href="./authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Jan 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Password_Authentication_Protocol.html">Verification of a Diffie-Hellman Password-based Authentication Protocol by Extending the Inductive Method</a></h5> <br>
by <a href="./authors/noce">Pasquale Noce</a></div>
<span class="date">
Jan 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/FOL_Harrison.html">First-Order Logic According to Harrison</a></h5> <br>
by <a href="./authors/jensen">Alexander Birch Jensen</a>, <a href="./authors/schlichtkrull">Anders Schlichtkrull</a> and <a href="./authors/villadsen">Jørgen Villadsen</a></div>
<span class="date">
Jan 01
</span>
</article></div><div>
<h2 class="year">2016</h2>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Concurrent_Ref_Alg.html">Concurrent Refinement Algebra and Rely Quotients</a></h5> <br>
by <a href="./authors/fell">Julian Fell</a>, <a href="./authors/hayes">Ian J. Hayes</a> and <a href="./authors/velykis">Andrius Velykis</a></div>
<span class="date">
Dec 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Twelvefold_Way.html">The Twelvefold Way</a></h5> <br>
by <a href="./authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Dec 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Proof_Strategy_Language.html">Proof Strategy Language</a></h5> <br>
by <a href="./authors/nagashima">Yutaka Nagashima</a></div>
<span class="date">
Dec 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Paraconsistency.html">Paraconsistency</a></h5> <br>
by <a href="./authors/schlichtkrull">Anders Schlichtkrull</a> and <a href="./authors/villadsen">Jørgen Villadsen</a></div>
<span class="date">
Dec 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Complx.html">COMPLX: A Verification Framework for Concurrent Imperative Programs</a></h5> <br>
by <a href="./authors/amani">Sidney Amani</a>, <a href="./authors/andronick">June Andronick</a>, <a href="./authors/bortin">Maksym Bortin</a>, <a href="./authors/lewis">Corey Lewis</a>, <a href="./authors/rizkallah">Christine Rizkallah</a> and <a href="./authors/tuongj">Joseph Tuong</a></div>
<span class="date">
Nov 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Abs_Int_ITP2012.html">Abstract Interpretation of Annotated Commands</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Nov 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Separata.html">Separata: Isabelle tactics for Separation Algebra</a></h5> <br>
by <a href="./authors/hou">Zhe Hou</a>, <a href="./authors/sanan">David Sanan</a>, <a href="./authors/tiu">Alwen Tiu</a>, <a href="./authors/gore">Rajeev Gore</a> and <a href="./authors/clouston">Ranald Clouston</a></div>
<span class="date">
Nov 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Nested_Multisets_Ordinals.html">Formalization of Nested Multisets, Hereditary Multisets, and Syntactic Ordinals</a></h5> <br>
by <a href="./authors/blanchette">Jasmin Christian Blanchette</a>, <a href="./authors/fleury">Mathias Fleury</a> and <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Nov 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Lambda_Free_KBOs.html">Formalization of Knuth–Bendix Orders for Lambda-Free Higher-Order Terms</a></h5> <br>
by <a href="./authors/becker">Heiko Becker</a>, <a href="./authors/blanchette">Jasmin Christian Blanchette</a>, <a href="./authors/waldmann">Uwe Waldmann</a> and <a href="./authors/wand">Daniel Wand</a></div>
<span class="date">
Nov 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Deep_Learning.html">Expressiveness of Deep Learning</a></h5> <br>
by <a href="./authors/bentkamp">Alexander Bentkamp</a></div>
<span class="date">
Nov 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Modal_Logics_for_NTS.html">Modal Logics for Nominal Transition Systems</a></h5> <br>
by <a href="./authors/weber">Tjark Weber</a>, <a href="./authors/eriksson">Lars-Henrik Eriksson</a>, <a href="./authors/parrow">Joachim Parrow</a>, <a href="./authors/borgstroem">Johannes Borgström</a> and <a href="./authors/gutkovas">Ramunas Gutkovas</a></div>
<span class="date">
Oct 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Stable_Matching.html">Stable Matching</a></h5> <br>
by <a href="./authors/gammie">Peter Gammie</a></div>
<span class="date">
Oct 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/LOFT.html">LOFT — Verified Migration of Linux Firewalls to SDN</a></h5> <br>
by <a href="./authors/michaelis">Julius Michaelis</a> and <a href="./authors/diekmann">Cornelius Diekmann</a></div>
<span class="date">
Oct 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Source_Coding_Theorem.html">Source Coding Theorem</a></h5> <br>
by <a href="./authors/hibon">Quentin Hibon</a> and <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/SPARCv8.html">A formal model for the SPARCv8 ISA and a proof of non-interference for the LEON3 processor</a></h5> <br>
by <a href="./authors/hou">Zhe Hou</a>, <a href="./authors/sanan">David Sanan</a>, <a href="./authors/tiu">Alwen Tiu</a> and <a href="./authors/liuy">Yang Liu</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Berlekamp_Zassenhaus.html">The Factorization Algorithm of Berlekamp and Zassenhaus</a></h5> <br>
by <a href="./authors/divason">Jose Divasón</a>, <a href="./authors/joosten">Sebastiaan J. C. Joosten</a>, <a href="./authors/thiemann">René Thiemann</a> and <a href="./authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Oct 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Chord_Segments.html">Intersecting Chords Theorem</a></h5> <br>
by <a href="./authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Oct 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Lp.html">Lp spaces</a></h5> <br>
by <a href="./authors/gouezel">Sebastien Gouezel</a></div>
<span class="date">
Oct 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Fisher_Yates.html">Fisher–Yates shuffle</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Sep 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Allen_Calculus.html">Allen&#39;s Interval Calculus</a></h5> <br>
by <a href="./authors/ghourabi">Fadoua Ghourabi</a></div>
<span class="date">
Sep 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Lambda_Free_RPOs.html">Formalization of Recursive Path Orders for Lambda-Free Higher-Order Terms</a></h5> <br>
by <a href="./authors/blanchette">Jasmin Christian Blanchette</a>, <a href="./authors/waldmann">Uwe Waldmann</a> and <a href="./authors/wand">Daniel Wand</a></div>
<span class="date">
Sep 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Iptables_Semantics.html">Iptables Semantics</a></h5> <br>
by <a href="./authors/diekmann">Cornelius Diekmann</a> and <a href="./authors/hupel">Lars Hupel</a></div>
<span class="date">
Sep 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Stone_Algebras.html">Stone Algebras</a></h5> <br>
by <a href="./authors/guttmann">Walter Guttmann</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/SuperCalc.html">A Variant of the Superposition Calculus</a></h5> <br>
by <a href="./authors/peltier">Nicolas Peltier</a></div>
<span class="date">
Sep 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Stirling_Formula.html">Stirling&#39;s formula</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Sep 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Routing.html">Routing</a></h5> <br>
by <a href="./authors/michaelis">Julius Michaelis</a> and <a href="./authors/diekmann">Cornelius Diekmann</a></div>
<span class="date">
Aug 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Simple_Firewall.html">Simple Firewall</a></h5> <br>
by <a href="./authors/diekmann">Cornelius Diekmann</a>, <a href="./authors/michaelis">Julius Michaelis</a> and <a href="./authors/haslbeck">Max W. Haslbeck</a></div>
<span class="date">
Aug 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/InfPathElimination.html">Infeasible Paths Elimination by Symbolic Execution Techniques: Proof of Correctness and Preservation of Paths</a></h5> <br>
by <a href="./authors/aissat">Romain Aissat</a>, <a href="./authors/voisin">Frederic Voisin</a> and <a href="./authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Aug 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/EdmondsKarp_Maxflow.html">Formalizing the Edmonds-Karp Algorithm</a></h5> <br>
by <a href="./authors/lammich">Peter Lammich</a> and <a href="./authors/sefidgar">S. Reza Sefidgar</a></div>
<span class="date">
Aug 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Refine_Imperative_HOL.html">The Imperative Refinement Framework</a></h5> <br>
by <a href="./authors/lammich">Peter Lammich</a></div>
<span class="date">
Aug 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Ptolemys_Theorem.html">Ptolemy&#39;s Theorem</a></h5> <br>
by <a href="./authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Aug 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Surprise_Paradox.html">Surprise Paradox</a></h5> <br>
by <a href="./authors/breitner">Joachim Breitner</a></div>
<span class="date">
Jul 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Pairing_Heap.html">Pairing Heap</a></h5> <br>
by <a href="./authors/brinkop">Hauke Brinkop</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jul 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/DFS_Framework.html">A Framework for Verifying Depth-First Search Algorithms</a></h5> <br>
by <a href="./authors/lammich">Peter Lammich</a> and <a href="./authors/neumann">René Neumann</a></div>
<span class="date">
Jul 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Buildings.html">Chamber Complexes, Coxeter Systems, and Buildings</a></h5> <br>
by <a href="./authors/sylvestre">Jeremy Sylvestre</a></div>
<span class="date">
Jul 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Rewriting_Z.html">The Z Property</a></h5> <br>
by <a href="./authors/felgenhauer">Bertram Felgenhauer</a>, <a href="./authors/nagele">Julian Nagele</a>, <a href="./authors/oostrom">Vincent van Oostrom</a> and <a href="./authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Jun 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Resolution_FOL.html">The Resolution Calculus for First-Order Logic</a></h5> <br>
by <a href="./authors/schlichtkrull">Anders Schlichtkrull</a></div>
<span class="date">
Jun 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/IP_Addresses.html">IP Addresses</a></h5> <br>
by <a href="./authors/diekmann">Cornelius Diekmann</a>, <a href="./authors/michaelis">Julius Michaelis</a> and <a href="./authors/hupel">Lars Hupel</a></div>
<span class="date">
Jun 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Dependent_SIFUM_Refinement.html">Compositional Security-Preserving Refinement for Concurrent Imperative Programs</a></h5> <br>
by <a href="./authors/murray">Toby Murray</a>, <a href="./authors/sison">Robert Sison</a>, <a href="./authors/pierzchalski">Edward Pierzchalski</a> and <a href="./authors/rizkallah">Christine Rizkallah</a></div>
<span class="date">
Jun 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Category3.html">Category Theory with Adjunctions and Limits</a></h5> <br>
by <a href="./authors/stark">Eugene W. Stark</a></div>
<span class="date">
Jun 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Card_Multisets.html">Cardinality of Multisets</a></h5> <br>
by <a href="./authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Jun 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Dependent_SIFUM_Type_Systems.html">A Dependent Security Type System for Concurrent Imperative Programs</a></h5> <br>
by <a href="./authors/murray">Toby Murray</a>, <a href="./authors/sison">Robert Sison</a>, <a href="./authors/pierzchalski">Edward Pierzchalski</a> and <a href="./authors/rizkallah">Christine Rizkallah</a></div>
<span class="date">
Jun 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Catalan_Numbers.html">Catalan Numbers</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jun 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Algebraic_VCs.html">Program Construction and Verification Components Based on Kleene Algebra</a></h5> <br>
by <a href="./authors/gomes">Victor B. F. Gomes</a> and <a href="./authors/struth">Georg Struth</a></div>
<span class="date">
Jun 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Noninterference_Concurrent_Composition.html">Conservation of CSP Noninterference Security under Concurrent Composition</a></h5> <br>
by <a href="./authors/noce">Pasquale Noce</a></div>
<span class="date">
Jun 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Word_Lib.html">Finite Machine Word Library</a></h5> <br>
by <a href="./authors/beeren">Joel Beeren</a>, <a href="./authors/fernandez">Matthew Fernandez</a>, <a href="./authors/gao">Xin Gao</a>, <a href="./authors/klein">Gerwin Klein</a>, <a href="./authors/kolanski">Rafal Kolanski</a>, <a href="./authors/lim">Japheth Lim</a>, <a href="./authors/lewis">Corey Lewis</a>, <a href="./authors/matichuk">Daniel Matichuk</a> and <a href="./authors/sewell">Thomas Sewell</a></div>
<span class="date">
Jun 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Tree_Decomposition.html">Tree Decomposition</a></h5> <br>
by <a href="./authors/dittmann">Christoph Dittmann</a></div>
<span class="date">
May 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Posix-Lexing.html">POSIX Lexing with Derivatives of Regular Expressions</a></h5> <br>
by <a href="./authors/ausaf">Fahad Ausaf</a>, <a href="./authors/dyckhoff">Roy Dyckhoff</a> and <a href="./authors/urban">Christian Urban</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Card_Equiv_Relations.html">Cardinality of Equivalence Relations</a></h5> <br>
by <a href="./authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Incredible_Proof_Machine.html">The meta theory of the Incredible Proof Machine</a></h5> <br>
by <a href="./authors/breitner">Joachim Breitner</a> and <a href="./authors/lohner">Denis Lohner</a></div>
<span class="date">
May 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Perron_Frobenius.html">Perron-Frobenius Theorem for Spectral Radius Analysis</a></h5> <br>
by <a href="./authors/divason">Jose Divasón</a>, <a href="./authors/kuncar">Ondřej Kunčar</a>, <a href="./authors/thiemann">René Thiemann</a> and <a href="./authors/yamada">Akihisa Yamada</a></div>
<span class="date">
May 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/FLP.html">A Constructive Proof for FLP</a></h5> <br>
by <a href="./authors/bisping">Benjamin Bisping</a>, <a href="./authors/brodmann">Paul-David Brodmann</a>, <a href="./authors/jungnickel">Tim Jungnickel</a>, <a href="./authors/rickmann">Christina Rickmann</a>, <a href="./authors/seidler">Henning Seidler</a>, <a href="./authors/stueber">Anke Stüber</a>, <a href="./authors/weidner">Arno Wilhelm-Weidner</a>, <a href="./authors/peters">Kirstin Peters</a> and <a href="./authors/nestmann">Uwe Nestmann</a></div>
<span class="date">
May 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/MFMC_Countable.html">A Formal Proof of the Max-Flow Min-Cut Theorem for Countable Networks</a></h5> <br>
by <a href="./authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
May 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Randomised_Social_Choice.html">Randomised Social Choice Theory</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/SDS_Impossibility.html">The Incompatibility of SD-Efficiency and SD-Strategy-Proofness</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
May 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Bell_Numbers_Spivey.html">Spivey&#39;s Generalized Recurrence for Bell Numbers</a></h5> <br>
by <a href="./authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
May 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Groebner_Bases.html">Gröbner Bases Theory</a></h5> <br>
by <a href="./authors/immler">Fabian Immler</a> and <a href="./authors/maletzky">Alexander Maletzky</a></div>
<span class="date">
May 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/No_FTL_observers.html">No Faster-Than-Light Observers</a></h5> <br>
by <a href="./authors/stannett">Mike Stannett</a> and <a href="./authors/nemeti">István Németi</a></div>
<span class="date">
Apr 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/ROBDD.html">Algorithms for Reduced Ordered Binary Decision Diagrams</a></h5> <br>
by <a href="./authors/michaelis">Julius Michaelis</a>, <a href="./authors/haslbeck">Max W. Haslbeck</a>, <a href="./authors/lammich">Peter Lammich</a> and <a href="./authors/hupel">Lars Hupel</a></div>
<span class="date">
Apr 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CYK.html">A formalisation of the Cocke-Younger-Kasami algorithm</a></h5> <br>
by <a href="./authors/bortin">Maksym Bortin</a></div>
<span class="date">
Apr 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Noninterference_Sequential_Composition.html">Conservation of CSP Noninterference Security under Sequential Composition</a></h5> <br>
by <a href="./authors/noce">Pasquale Noce</a></div>
<span class="date">
Apr 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/KAD.html">Kleene Algebras with Domain</a></h5> <br>
by <a href="./authors/gomes">Victor B. F. Gomes</a>, <a href="./authors/guttmann">Walter Guttmann</a>, <a href="./authors/hoefner">Peter Höfner</a>, <a href="./authors/struth">Georg Struth</a> and <a href="./authors/weber">Tjark Weber</a></div>
<span class="date">
Apr 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/PropResPI.html">Propositional Resolution and Prime Implicates Generation</a></h5> <br>
by <a href="./authors/peltier">Nicolas Peltier</a></div>
<span class="date">
Mar 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Timed_Automata.html">Timed Automata</a></h5> <br>
by <a href="./authors/wimmer">Simon Wimmer</a></div>
<span class="date">
Mar 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Cartan_FP.html">The Cartan Fixed Point Theorems</a></h5> <br>
by <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Mar 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/LTL.html">Linear Temporal Logic</a></h5> <br>
by <a href="./authors/sickert">Salomon Sickert</a></div>
<span class="date">
Mar 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/List_Update.html">Analysis of List Update Algorithms</a></h5> <br>
by <a href="./authors/haslbeckm">Maximilian P. L. Haslbeck</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Feb 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Formal_SSA.html">Verified Construction of Static Single Assignment Form</a></h5> <br>
by <a href="./authors/ullrich">Sebastian Ullrich</a> and <a href="./authors/lohner">Denis Lohner</a></div>
<span class="date">
Feb 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Polynomial_Interpolation.html">Polynomial Interpolation</a></h5> <br>
by <a href="./authors/thiemann">René Thiemann</a> and <a href="./authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Jan 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Polynomial_Factorization.html">Polynomial Factorization</a></h5> <br>
by <a href="./authors/thiemann">René Thiemann</a> and <a href="./authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Jan 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Knot_Theory.html">Knot Theory</a></h5> <br>
by <a href="./authors/prathamesh">T.V.H. Prathamesh</a></div>
<span class="date">
Jan 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Matrix_Tensor.html">Tensor Product of Matrices</a></h5> <br>
by <a href="./authors/prathamesh">T.V.H. Prathamesh</a></div>
<span class="date">
Jan 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Card_Number_Partitions.html">Cardinality of Number Partitions</a></h5> <br>
by <a href="./authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Jan 14
</span>
</article></div><div>
<h2 class="year">2015</h2>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Prime_Harmonic_Series.html">The Divergence of the Prime Harmonic Series</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Liouville_Numbers.html">Liouville numbers</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Descartes_Sign_Rule.html">Descartes&#39; Rule of Signs</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Triangle.html">Basic Geometric Properties of Triangles</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Stern_Brocot.html">The Stern-Brocot Tree</a></h5> <br>
by <a href="./authors/gammie">Peter Gammie</a> and <a href="./authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
Dec 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Applicative_Lifting.html">Applicative Lifting</a></h5> <br>
by <a href="./authors/lochbihler">Andreas Lochbihler</a> and <a href="./authors/schneider">Joshua Schneider</a></div>
<span class="date">
Dec 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Algebraic_Numbers.html">Algebraic Numbers in Isabelle/HOL</a></h5> <br>
by <a href="./authors/thiemann">René Thiemann</a>, <a href="./authors/yamada">Akihisa Yamada</a> and <a href="./authors/joosten">Sebastiaan J. C. Joosten</a></div>
<span class="date">
Dec 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Card_Partitions.html">Cardinality of Set Partitions</a></h5> <br>
by <a href="./authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Dec 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Latin_Square.html">Latin Square</a></h5> <br>
by <a href="./authors/bentkamp">Alexander Bentkamp</a></div>
<span class="date">
Dec 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Ergodic_Theory.html">Ergodic Theory</a></h5> <br>
by <a href="./authors/gouezel">Sebastien Gouezel</a></div>
<span class="date">
Dec 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Euler_Partition.html">Euler&#39;s Partition Theorem</a></h5> <br>
by <a href="./authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Nov 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/TortoiseHare.html">The Tortoise and Hare Algorithm</a></h5> <br>
by <a href="./authors/gammie">Peter Gammie</a></div>
<span class="date">
Nov 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Planarity_Certificates.html">Planarity Certificates</a></h5> <br>
by <a href="./authors/noschinski">Lars Noschinski</a></div>
<span class="date">
Nov 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Parity_Game.html">Positional Determinacy of Parity Games</a></h5> <br>
by <a href="./authors/dittmann">Christoph Dittmann</a></div>
<span class="date">
Nov 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Isabelle_Meta_Model.html">A Meta-Model for the Isabelle API</a></h5> <br>
by <a href="./authors/tuong">Frédéric Tuong</a> and <a href="./authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/LTL_to_DRA.html">Converting Linear Temporal Logic to Deterministic (Generalized) Rabin Automata</a></h5> <br>
by <a href="./authors/sickert">Salomon Sickert</a></div>
<span class="date">
Sep 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Jordan_Normal_Form.html">Matrices, Jordan Normal Forms, and Spectral Radius Theory</a></h5> <br>
by <a href="./authors/thiemann">René Thiemann</a> and <a href="./authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Aug 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Decreasing-Diagrams-II.html">Decreasing Diagrams II</a></h5> <br>
by <a href="./authors/felgenhauer">Bertram Felgenhauer</a></div>
<span class="date">
Aug 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Noninterference_Inductive_Unwinding.html">The Inductive Unwinding Theorem for CSP Noninterference Security</a></h5> <br>
by <a href="./authors/noce">Pasquale Noce</a></div>
<span class="date">
Aug 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Rep_Fin_Groups.html">Representations of Finite Groups</a></h5> <br>
by <a href="./authors/sylvestre">Jeremy Sylvestre</a></div>
<span class="date">
Aug 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Encodability_Process_Calculi.html">Analysing and Comparing Encodability Criteria for Process Calculi</a></h5> <br>
by <a href="./authors/peters">Kirstin Peters</a> and <a href="./authors/glabbeek">Rob van Glabbeek</a></div>
<span class="date">
Aug 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Case_Labeling.html">Generating Cases from Labeled Subgoals</a></h5> <br>
by <a href="./authors/noschinski">Lars Noschinski</a></div>
<span class="date">
Jul 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Akra_Bazzi.html">The Akra-Bazzi theorem and the Master theorem</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jul 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Landau_Symbols.html">Landau Symbols</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jul 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Hermite.html">Hermite Normal Form</a></h5> <br>
by <a href="./authors/divason">Jose Divasón</a> and <a href="./authors/aransay">Jesús Aransay</a></div>
<span class="date">
Jul 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Derangements.html">Derangements Formula</a></h5> <br>
by <a href="./authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Jun 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Noninterference_Ipurge_Unwinding.html">The Ipurge Unwinding Theorem for CSP Noninterference Security</a></h5> <br>
by <a href="./authors/noce">Pasquale Noce</a></div>
<span class="date">
Jun 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Noninterference_Generic_Unwinding.html">The Generic Unwinding Theorem for CSP Noninterference Security</a></h5> <br>
by <a href="./authors/noce">Pasquale Noce</a></div>
<span class="date">
Jun 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/List_Interleaving.html">Reasoning about Lists via List Interleaving</a></h5> <br>
by <a href="./authors/noce">Pasquale Noce</a></div>
<span class="date">
Jun 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Multirelations.html">Binary Multirelations</a></h5> <br>
by <a href="./authors/furusawa">Hitoshi Furusawa</a> and <a href="./authors/struth">Georg Struth</a></div>
<span class="date">
Jun 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Dynamic_Tables.html">Parameterized Dynamic Tables</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Formula_Derivatives.html">Derivatives of Logical Formulas</a></h5> <br>
by <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Probabilistic_System_Zoo.html">A Zoo of Probabilistic Systems</a></h5> <br>
by <a href="./authors/hoelzl">Johannes Hölzl</a>, <a href="./authors/lochbihler">Andreas Lochbihler</a> and <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
May 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Vickrey_Clarke_Groves.html">VCG - Combinatorial Vickrey-Clarke-Groves Auctions</a></h5> <br>
by <a href="./authors/caminati">Marco B. Caminati</a>, <a href="./authors/kerber">Manfred Kerber</a>, <a href="./authors/lange">Christoph Lange</a> and <a href="./authors/rowat">Colin Rowat</a></div>
<span class="date">
Apr 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Residuated_Lattices.html">Residuated Lattices</a></h5> <br>
by <a href="./authors/gomes">Victor B. F. Gomes</a> and <a href="./authors/struth">Georg Struth</a></div>
<span class="date">
Apr 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/ConcurrentGC.html">Relaxing Safely: Verified On-the-Fly Garbage Collection for x86-TSO</a></h5> <br>
by <a href="./authors/gammie">Peter Gammie</a>, <a href="./authors/hosking">Tony Hosking</a> and <a href="./authors/engelhardt">Kai Engelhardt</a></div>
<span class="date">
Apr 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/ConcurrentIMP.html">Concurrent IMP</a></h5> <br>
by <a href="./authors/gammie">Peter Gammie</a></div>
<span class="date">
Apr 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Trie.html">Trie</a></h5> <br>
by <a href="./authors/lochbihler">Andreas Lochbihler</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Mar 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Consensus_Refined.html">Consensus Refined</a></h5> <br>
by <a href="./authors/maric">Ognjen Marić</a> and <a href="./authors/sprenger">Christoph Sprenger</a></div>
<span class="date">
Mar 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Deriving.html">Deriving class instances for datatypes</a></h5> <br>
by <a href="./authors/sternagel">Christian Sternagel</a> and <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Mar 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Call_Arity.html">The Safety of Call Arity</a></h5> <br>
by <a href="./authors/breitner">Joachim Breitner</a></div>
<span class="date">
Feb 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/QR_Decomposition.html">QR Decomposition</a></h5> <br>
by <a href="./authors/divason">Jose Divasón</a> and <a href="./authors/aransay">Jesús Aransay</a></div>
<span class="date">
Feb 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Echelon_Form.html">Echelon Form</a></h5> <br>
by <a href="./authors/divason">Jose Divasón</a> and <a href="./authors/aransay">Jesús Aransay</a></div>
<span class="date">
Feb 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Finite_Automata_HF.html">Finite Automata in Hereditarily Finite Set Theory</a></h5> <br>
by <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Feb 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/UpDown_Scheme.html">Verification of the UpDown Scheme</a></h5> <br>
by <a href="./authors/hoelzl">Johannes Hölzl</a></div>
<span class="date">
Jan 28
</span>
</article></div><div>
<h2 class="year">2014</h2>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/UPF.html">The Unified Policy Framework (UPF)</a></h5> <br>
by <a href="./authors/brucker">Achim D. Brucker</a>, <a href="./authors/bruegger">Lukas Brügger</a> and <a href="./authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Nov 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/AODV.html">Loop freedom of the (untimed) AODV routing protocol</a></h5> <br>
by <a href="./authors/bourke">Timothy Bourke</a> and <a href="./authors/hoefner">Peter Höfner</a></div>
<span class="date">
Oct 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Lifting_Definition_Option.html">Lifting Definition Option</a></h5> <br>
by <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Oct 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Stream_Fusion_Code.html">Stream Fusion in HOL with Code Generation</a></h5> <br>
by <a href="./authors/lochbihler">Andreas Lochbihler</a> and <a href="./authors/maximova">Alexandra Maximova</a></div>
<span class="date">
Oct 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Density_Compiler.html">A Verified Compiler for Probability Density Functions</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a>, <a href="./authors/hoelzl">Johannes Hölzl</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Oct 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/RefinementReactive.html">Formalization of Refinement Calculus for Reactive Systems</a></h5> <br>
by <a href="./authors/preoteasa">Viorel Preoteasa</a></div>
<span class="date">
Oct 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/XML.html">XML</a></h5> <br>
by <a href="./authors/sternagel">Christian Sternagel</a> and <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Oct 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Certification_Monads.html">Certification Monads</a></h5> <br>
by <a href="./authors/sternagel">Christian Sternagel</a> and <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Oct 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Imperative_Insertion_Sort.html">Imperative Insertion Sort</a></h5> <br>
by <a href="./authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Sep 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Sturm_Tarski.html">The Sturm-Tarski Theorem</a></h5> <br>
by <a href="./authors/li">Wenda Li</a></div>
<span class="date">
Sep 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Cayley_Hamilton.html">The Cayley-Hamilton Theorem</a></h5> <br>
by <a href="./authors/adelsberger">Stephan Adelsberger</a>, <a href="./authors/hetzl">Stefan Hetzl</a> and <a href="./authors/pollak">Florian Pollak</a></div>
<span class="date">
Sep 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Jordan_Hoelder.html">The Jordan-Hölder Theorem</a></h5> <br>
by <a href="./authors/raumer">Jakob von Raumer</a></div>
<span class="date">
Sep 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Priority_Queue_Braun.html">Priority Queues Based on Braun Trees</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Sep 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Gauss_Jordan.html">Gauss-Jordan Algorithm and Its Applications</a></h5> <br>
by <a href="./authors/divason">Jose Divasón</a> and <a href="./authors/aransay">Jesús Aransay</a></div>
<span class="date">
Sep 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/VectorSpace.html">Vector Spaces</a></h5> <br>
by <a href="./authors/lee">Holden Lee</a></div>
<span class="date">
Aug 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Special_Function_Bounds.html">Real-Valued Special Functions: Upper and Lower Bounds</a></h5> <br>
by <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Aug 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Skew_Heap.html">Skew Heap</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Aug 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Splay_Tree.html">Splay Tree</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Aug 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Show.html">Haskell&#39;s Show Class in Isabelle/HOL</a></h5> <br>
by <a href="./authors/sternagel">Christian Sternagel</a> and <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Jul 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CISC-Kernel.html">Formal Specification of a Generic Separation Kernel</a></h5> <br>
by <a href="./authors/verbeek">Freek Verbeek</a>, <a href="./authors/tverdyshev">Sergey Tverdyshev</a>, <a href="./authors/havle">Oto Havle</a>, <a href="./authors/blasum">Holger Blasum</a>, <a href="./authors/langenstein">Bruno Langenstein</a>, <a href="./authors/stephan">Werner Stephan</a>, <a href="./authors/nemouchi">Yakoub Nemouchi</a>, <a href="./authors/feliachi">Abderrahmane Feliachi</a>, <a href="./authors/wolff">Burkhart Wolff</a> and <a href="./authors/schmaltz">Julien Schmaltz</a></div>
<span class="date">
Jul 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/pGCL.html">pGCL for Isabelle</a></h5> <br>
by <a href="./authors/cock">David Cock</a></div>
<span class="date">
Jul 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Amortized_Complexity.html">Amortized Complexity Verified</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jul 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Network_Security_Policy_Verification.html">Network Security Policy Verification</a></h5> <br>
by <a href="./authors/diekmann">Cornelius Diekmann</a></div>
<span class="date">
Jul 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Pop_Refinement.html">Pop-Refinement</a></h5> <br>
by <a href="./authors/coglio">Alessandro Coglio</a></div>
<span class="date">
Jul 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/MSO_Regex_Equivalence.html">Decision Procedures for MSO on Words Based on Derivatives of Regular Expressions</a></h5> <br>
by <a href="./authors/traytel">Dmitriy Traytel</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Boolean_Expression_Checkers.html">Boolean Expression Checkers</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Gabow_SCC.html">Verified Efficient Implementation of Gabow&#39;s Strongly Connected Components Algorithm</a></h5> <br>
by <a href="./authors/lammich">Peter Lammich</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CAVA_Automata.html">The CAVA Automata Library</a></h5> <br>
by <a href="./authors/lammich">Peter Lammich</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Promela.html">Promela Formalization</a></h5> <br>
by <a href="./authors/neumann">René Neumann</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/LTL_to_GBA.html">Converting Linear-Time Temporal Logic to Generalized Büchi Automata</a></h5> <br>
by <a href="./authors/schimpf">Alexander Schimpf</a> and <a href="./authors/lammich">Peter Lammich</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CAVA_LTL_Modelchecker.html">A Fully Verified Executable LTL Model Checker</a></h5> <br>
by <a href="./authors/esparza">Javier Esparza</a>, <a href="./authors/lammich">Peter Lammich</a>, <a href="./authors/neumann">René Neumann</a>, <a href="./authors/nipkow">Tobias Nipkow</a>, <a href="./authors/schimpf">Alexander Schimpf</a> and <a href="./authors/smaus">Jan-Georg Smaus</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Roy_Floyd_Warshall.html">Transitive closure according to Roy-Floyd-Warshall</a></h5> <br>
by <a href="./authors/wenzel">Makarius Wenzel</a></div>
<span class="date">
May 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Noninterference_CSP.html">Noninterference Security in Communicating Sequential Processes</a></h5> <br>
by <a href="./authors/noce">Pasquale Noce</a></div>
<span class="date">
May 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Regular_Algebras.html">Regular Algebras</a></h5> <br>
by <a href="./authors/fosters">Simon Foster</a> and <a href="./authors/struth">Georg Struth</a></div>
<span class="date">
May 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/ComponentDependencies.html">Formalisation and Analysis of Component Dependencies</a></h5> <br>
by <a href="./authors/spichkova">Maria Spichkova</a></div>
<span class="date">
Apr 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Strong_Security.html">A Formalization of Strong Security</a></h5> <br>
by <a href="./authors/grewe">Sylvia Grewe</a>, <a href="./authors/lux">Alexander Lux</a>, <a href="./authors/mantel">Heiko Mantel</a> and <a href="./authors/sauer">Jens Sauer</a></div>
<span class="date">
Apr 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/WHATandWHERE_Security.html">A Formalization of Declassification with WHAT-and-WHERE-Security</a></h5> <br>
by <a href="./authors/grewe">Sylvia Grewe</a>, <a href="./authors/lux">Alexander Lux</a>, <a href="./authors/mantel">Heiko Mantel</a> and <a href="./authors/sauer">Jens Sauer</a></div>
<span class="date">
Apr 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/SIFUM_Type_Systems.html">A Formalization of Assumptions and Guarantees for Compositional Noninterference</a></h5> <br>
by <a href="./authors/grewe">Sylvia Grewe</a>, <a href="./authors/mantel">Heiko Mantel</a> and <a href="./authors/schoepe">Daniel Schoepe</a></div>
<span class="date">
Apr 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Bounded_Deducibility_Security.html">Bounded-Deducibility Security</a></h5> <br>
by <a href="./authors/popescu">Andrei Popescu</a>, <a href="./authors/lammich">Peter Lammich</a> and <a href="./authors/bauereiss">Thomas Bauereiss</a></div>
<span class="date">
Apr 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Abstract_Completeness.html">Abstract Completeness</a></h5> <br>
by <a href="./authors/blanchette">Jasmin Christian Blanchette</a>, <a href="./authors/popescu">Andrei Popescu</a> and <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Apr 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/HyperCTL.html">A shallow embedding of HyperCTL*</a></h5> <br>
by <a href="./authors/rabe">Markus N. Rabe</a>, <a href="./authors/lammich">Peter Lammich</a> and <a href="./authors/popescu">Andrei Popescu</a></div>
<span class="date">
Apr 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Discrete_Summation.html">Discrete Summation</a></h5> <br>
by <a href="./authors/haftmann">Florian Haftmann</a></div>
<span class="date">
Apr 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/GPU_Kernel_PL.html">Syntax and semantics of a GPU kernel programming language</a></h5> <br>
by <a href="./authors/wickerson">John Wickerson</a></div>
<span class="date">
Apr 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Probabilistic_Noninterference.html">Probabilistic Noninterference</a></h5> <br>
by <a href="./authors/popescu">Andrei Popescu</a> and <a href="./authors/hoelzl">Johannes Hölzl</a></div>
<span class="date">
Mar 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/AWN.html">Mechanization of the Algebra for Wireless Networks (AWN)</a></h5> <br>
by <a href="./authors/bourke">Timothy Bourke</a></div>
<span class="date">
Mar 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Partial_Function_MR.html">Mutually Recursive Partial Functions</a></h5> <br>
by <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Feb 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Random_Graph_Subgraph_Threshold.html">Properties of Random Graphs -- Subgraph Containment</a></h5> <br>
by <a href="./authors/hupel">Lars Hupel</a></div>
<span class="date">
Feb 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Selection_Heap_Sort.html">Verification of Selection and Heap Sort Using Locales</a></h5> <br>
by <a href="./authors/petrovic">Danijela Petrovic</a></div>
<span class="date">
Feb 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Affine_Arithmetic.html">Affine Arithmetic</a></h5> <br>
by <a href="./authors/immler">Fabian Immler</a></div>
<span class="date">
Feb 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Real_Impl.html">Implementing field extensions of the form Q[sqrt(b)]</a></h5> <br>
by <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Feb 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Regex_Equivalence.html">Unified Decision Procedures for Regular Expression Equivalence</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a> and <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Jan 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Secondary_Sylow.html">Secondary Sylow Theorems</a></h5> <br>
by <a href="./authors/raumer">Jakob von Raumer</a></div>
<span class="date">
Jan 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Relation_Algebra.html">Relation Algebra</a></h5> <br>
by <a href="./authors/armstrong">Alasdair Armstrong</a>, <a href="./authors/fosters">Simon Foster</a>, <a href="./authors/struth">Georg Struth</a> and <a href="./authors/weber">Tjark Weber</a></div>
<span class="date">
Jan 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/KAT_and_DRA.html">Kleene Algebra with Tests and Demonic Refinement Algebras</a></h5> <br>
by <a href="./authors/armstrong">Alasdair Armstrong</a>, <a href="./authors/gomes">Victor B. F. Gomes</a> and <a href="./authors/struth">Georg Struth</a></div>
<span class="date">
Jan 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Featherweight_OCL.html">Featherweight OCL: A Proposal for a Machine-Checked Formal Semantics for OCL 2.5</a></h5> <br>
by <a href="./authors/brucker">Achim D. Brucker</a>, <a href="./authors/tuong">Frédéric Tuong</a> and <a href="./authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Jan 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Sturm_Sequences.html">Sturm&#39;s Theorem</a></h5> <br>
by <a href="./authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jan 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CryptoBasedCompositionalProperties.html">Compositional Properties of Crypto-Based Components</a></h5> <br>
by <a href="./authors/spichkova">Maria Spichkova</a></div>
<span class="date">
Jan 11
</span>
</article></div><div>
<h2 class="year">2013</h2>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Tail_Recursive_Functions.html">A General Method for the Proof of Theorems on Tail-recursive Functions</a></h5> <br>
by <a href="./authors/noce">Pasquale Noce</a></div>
<span class="date">
Dec 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/HereditarilyFinite.html">The Hereditarily Finite Sets</a></h5> <br>
by <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Nov 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Incompleteness.html">Gödel&#39;s Incompleteness Theorems</a></h5> <br>
by <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Nov 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Coinductive_Languages.html">A Codatatype of Formal Languages</a></h5> <br>
by <a href="./authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Nov 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/FocusStreamsCaseStudies.html">Stream Processing Components: Isabelle/HOL Formalisation and Case Studies</a></h5> <br>
by <a href="./authors/spichkova">Maria Spichkova</a></div>
<span class="date">
Nov 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/GoedelGod.html">Gödel&#39;s God in Isabelle/HOL</a></h5> <br>
by <a href="./authors/benzmueller">Christoph Benzmüller</a> and <a href="./authors/paleo">Bruno Woltzenlogel Paleo</a></div>
<span class="date">
Nov 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Decreasing-Diagrams.html">Decreasing Diagrams</a></h5> <br>
by <a href="./authors/zankl">Harald Zankl</a></div>
<span class="date">
Nov 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Automatic_Refinement.html">Automatic Data Refinement</a></h5> <br>
by <a href="./authors/lammich">Peter Lammich</a></div>
<span class="date">
Oct 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Native_Word.html">Native Word</a></h5> <br>
by <a href="./authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
Sep 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/IEEE_Floating_Point.html">A Formal Model of IEEE Floating Point Arithmetic</a></h5> <br>
by <a href="./authors/yu">Lei Yu</a></div>
<span class="date">
Jul 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Pratt_Certificate.html">Pratt&#39;s Primality Certificates</a></h5> <br>
by <a href="./authors/wimmer">Simon Wimmer</a> and <a href="./authors/noschinski">Lars Noschinski</a></div>
<span class="date">
Jul 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Lehmer.html">Lehmer&#39;s Theorem</a></h5> <br>
by <a href="./authors/wimmer">Simon Wimmer</a> and <a href="./authors/noschinski">Lars Noschinski</a></div>
<span class="date">
Jul 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Koenigsberg_Friendship.html">The Königsberg Bridge Problem and the Friendship Theorem</a></h5> <br>
by <a href="./authors/li">Wenda Li</a></div>
<span class="date">
Jul 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Sort_Encodings.html">Sound and Complete Sort Encodings for First-Order Logic</a></h5> <br>
by <a href="./authors/blanchette">Jasmin Christian Blanchette</a> and <a href="./authors/popescu">Andrei Popescu</a></div>
<span class="date">
Jun 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/ShortestPath.html">An Axiomatic Characterization of the Single-Source Shortest Path Problem</a></h5> <br>
by <a href="./authors/rizkallah">Christine Rizkallah</a></div>
<span class="date">
May 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Graph_Theory.html">Graph Theory</a></h5> <br>
by <a href="./authors/noschinski">Lars Noschinski</a></div>
<span class="date">
Apr 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Containers.html">Light-weight Containers</a></h5> <br>
by <a href="./authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
Apr 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Nominal2.html">Nominal 2</a></h5> <br>
by <a href="./authors/urban">Christian Urban</a>, <a href="./authors/berghofer">Stefan Berghofer</a> and <a href="./authors/kaliszyk">Cezary Kaliszyk</a></div>
<span class="date">
Feb 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Launchbury.html">The Correctness of Launchbury&#39;s Natural Semantics for Lazy Evaluation</a></h5> <br>
by <a href="./authors/breitner">Joachim Breitner</a></div>
<span class="date">
Jan 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Ribbon_Proofs.html">Ribbon Proofs</a></h5> <br>
by <a href="./authors/wickerson">John Wickerson</a></div>
<span class="date">
Jan 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Rank_Nullity_Theorem.html">Rank-Nullity Theorem in Linear Algebra</a></h5> <br>
by <a href="./authors/divason">Jose Divasón</a> and <a href="./authors/aransay">Jesús Aransay</a></div>
<span class="date">
Jan 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Kleene_Algebra.html">Kleene Algebra</a></h5> <br>
by <a href="./authors/armstrong">Alasdair Armstrong</a>, <a href="./authors/struth">Georg Struth</a> and <a href="./authors/weber">Tjark Weber</a></div>
<span class="date">
Jan 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Sqrt_Babylonian.html">Computing N-th Roots using the Babylonian Method</a></h5> <br>
by <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Jan 03
</span>
</article></div><div>
<h2 class="year">2012</h2>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Separation_Logic_Imperative_HOL.html">A Separation Logic Framework for Imperative HOL</a></h5> <br>
by <a href="./authors/lammich">Peter Lammich</a> and <a href="./authors/meis">Rene Meis</a></div>
<span class="date">
Nov 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Open_Induction.html">Open Induction</a></h5> <br>
by <a href="./authors/ogawa">Mizuhito Ogawa</a> and <a href="./authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Nov 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Tarskis_Geometry.html">The independence of Tarski&#39;s Euclidean axiom</a></h5> <br>
by <a href="./authors/makarios">T. J. M. Makarios</a></div>
<span class="date">
Oct 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Bondy.html">Bondy&#39;s Theorem</a></h5> <br>
by <a href="./authors/avigad">Jeremy Avigad</a> and <a href="./authors/hetzl">Stefan Hetzl</a></div>
<span class="date">
Oct 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Possibilistic_Noninterference.html">Possibilistic Noninterference</a></h5> <br>
by <a href="./authors/popescu">Andrei Popescu</a> and <a href="./authors/hoelzl">Johannes Hölzl</a></div>
<span class="date">
Sep 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Datatype_Order_Generator.html">Generating linear orders for datatypes</a></h5> <br>
by <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Aug 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Impossible_Geometry.html">Proving the Impossibility of Trisecting an Angle and Doubling the Cube</a></h5> <br>
by <a href="./authors/romanos">Ralph Romanos</a> and <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Aug 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Heard_Of.html">Verifying Fault-Tolerant Distributed Algorithms in the Heard-Of Model</a></h5> <br>
by <a href="./authors/debrat">Henri Debrat</a> and <a href="./authors/merz">Stephan Merz</a></div>
<span class="date">
Jul 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/PCF.html">Logical Relations for PCF</a></h5> <br>
by <a href="./authors/gammie">Peter Gammie</a></div>
<span class="date">
Jul 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Tycon.html">Type Constructor Classes and Monad Transformers</a></h5> <br>
by <a href="./authors/huffman">Brian Huffman</a></div>
<span class="date">
Jun 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Pi_Calculus.html">The pi-calculus in nominal logic</a></h5> <br>
by <a href="./authors/bengtson">Jesper Bengtson</a></div>
<span class="date">
May 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Psi_Calculi.html">Psi-calculi in Isabelle</a></h5> <br>
by <a href="./authors/bengtson">Jesper Bengtson</a></div>
<span class="date">
May 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CCS.html">CCS in nominal logic</a></h5> <br>
by <a href="./authors/bengtson">Jesper Bengtson</a></div>
<span class="date">
May 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Circus.html">Isabelle/Circus</a></h5> <br>
by <a href="./authors/feliachi">Abderrahmane Feliachi</a>, <a href="./authors/wolff">Burkhart Wolff</a> and <a href="./authors/gaudel">Marie-Claude Gaudel</a></div>
<span class="date">
May 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Separation_Algebra.html">Separation Algebra</a></h5> <br>
by <a href="./authors/klein">Gerwin Klein</a>, <a href="./authors/kolanski">Rafal Kolanski</a> and <a href="./authors/boyton">Andrew Boyton</a></div>
<span class="date">
May 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Stuttering_Equivalence.html">Stuttering Equivalence</a></h5> <br>
by <a href="./authors/merz">Stephan Merz</a></div>
<span class="date">
May 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Inductive_Confidentiality.html">Inductive Study of Confidentiality</a></h5> <br>
by <a href="./authors/bella">Giampaolo Bella</a></div>
<span class="date">
May 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Ordinary_Differential_Equations.html">Ordinary Differential Equations</a></h5> <br>
by <a href="./authors/immler">Fabian Immler</a> and <a href="./authors/hoelzl">Johannes Hölzl</a></div>
<span class="date">
Apr 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Well_Quasi_Orders.html">Well-Quasi-Orders</a></h5> <br>
by <a href="./authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Apr 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Abortable_Linearizable_Modules.html">Abortable Linearizable Modules</a></h5> <br>
by <a href="./authors/guerraoui">Rachid Guerraoui</a>, <a href="./authors/kuncak">Viktor Kuncak</a> and <a href="./authors/losa">Giuliano Losa</a></div>
<span class="date">
Mar 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Transitive-Closure-II.html">Executable Transitive Closures</a></h5> <br>
by <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Feb 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Girth_Chromatic.html">A Probabilistic Proof of the Girth-Chromatic Number Theorem</a></h5> <br>
by <a href="./authors/noschinski">Lars Noschinski</a></div>
<span class="date">
Feb 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Refine_Monadic.html">Refinement for Monadic Programs</a></h5> <br>
by <a href="./authors/lammich">Peter Lammich</a></div>
<span class="date">
Jan 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Dijkstra_Shortest_Path.html">Dijkstra&#39;s Shortest Path Algorithm</a></h5> <br>
by <a href="./authors/nordhoff">Benedikt Nordhoff</a> and <a href="./authors/lammich">Peter Lammich</a></div>
<span class="date">
Jan 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Markov_Models.html">Markov Models</a></h5> <br>
by <a href="./authors/hoelzl">Johannes Hölzl</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jan 03
</span>
</article></div><div>
<h2 class="year">2011</h2>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/TLA.html">A Definitional Encoding of TLA* in Isabelle/HOL</a></h5> <br>
by <a href="./authors/grov">Gudmund Grov</a> and <a href="./authors/merz">Stephan Merz</a></div>
<span class="date">
Nov 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Efficient-Mergesort.html">Efficient Mergesort</a></h5> <br>
by <a href="./authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Nov 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/PseudoHoops.html">Pseudo Hoops</a></h5> <br>
by <a href="./authors/georgescu">George Georgescu</a>, <a href="./authors/leustean">Laurentiu Leustean</a> and <a href="./authors/preoteasa">Viorel Preoteasa</a></div>
<span class="date">
Sep 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/LatticeProperties.html">Lattice Properties</a></h5> <br>
by <a href="./authors/preoteasa">Viorel Preoteasa</a></div>
<span class="date">
Sep 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/MonoBoolTranAlgebra.html">Algebra of Monotonic Boolean Transformers</a></h5> <br>
by <a href="./authors/preoteasa">Viorel Preoteasa</a></div>
<span class="date">
Sep 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Myhill-Nerode.html">The Myhill-Nerode Theorem Based on Regular Expressions</a></h5> <br>
by <a href="./authors/wu">Chunhan Wu</a>, <a href="./authors/zhangx">Xingyuan Zhang</a> and <a href="./authors/urban">Christian Urban</a></div>
<span class="date">
Aug 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Gauss-Jordan-Elim-Fun.html">Gauss-Jordan Elimination for Matrices Represented as Functions</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Aug 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Max-Card-Matching.html">Maximum Cardinality Matching</a></h5> <br>
by <a href="./authors/rizkallah">Christine Rizkallah</a></div>
<span class="date">
Jul 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/KBPs.html">Knowledge-based programs</a></h5> <br>
by <a href="./authors/gammie">Peter Gammie</a></div>
<span class="date">
May 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/General-Triangle.html">The General Triangle Is Unique</a></h5> <br>
by <a href="./authors/breitner">Joachim Breitner</a></div>
<span class="date">
Apr 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Transitive-Closure.html">Executable Transitive Closures of Finite Relations</a></h5> <br>
by <a href="./authors/sternagel">Christian Sternagel</a> and <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Mar 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Nat-Interval-Logic.html">Interval Temporal Logic on Natural Numbers</a></h5> <br>
by <a href="./authors/trachtenherz">David Trachtenherz</a></div>
<span class="date">
Feb 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/List-Infinite.html">Infinite Lists</a></h5> <br>
by <a href="./authors/trachtenherz">David Trachtenherz</a></div>
<span class="date">
Feb 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/AutoFocus-Stream.html">AutoFocus Stream Processing for Single-Clocking and Multi-Clocking Semantics</a></h5> <br>
by <a href="./authors/trachtenherz">David Trachtenherz</a></div>
<span class="date">
Feb 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/LightweightJava.html">Lightweight Java</a></h5> <br>
by <a href="./authors/strnisa">Rok Strniša</a> and <a href="./authors/parkinson">Matthew Parkinson</a></div>
<span class="date">
Feb 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/RIPEMD-160-SPARK.html">RIPEMD-160</a></h5> <br>
by <a href="./authors/immler">Fabian Immler</a></div>
<span class="date">
Jan 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Lower_Semicontinuous.html">Lower Semicontinuous Functions</a></h5> <br>
by <a href="./authors/grechuk">Bogdan Grechuk</a></div>
<span class="date">
Jan 08
</span>
</article></div><div>
<h2 class="year">2010</h2>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Marriage.html">Hall&#39;s Marriage Theorem</a></h5> <br>
by <a href="./authors/jiangd">Dongchen Jiang</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Dec 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Shivers-CFA.html">Shivers&#39; Control Flow Analysis</a></h5> <br>
by <a href="./authors/breitner">Joachim Breitner</a></div>
<span class="date">
Nov 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Binomial-Queues.html">Functional Binomial Queues</a></h5> <br>
by <a href="./authors/neumann">René Neumann</a></div>
<span class="date">
Oct 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Finger-Trees.html">Finger Trees</a></h5> <br>
by <a href="./authors/nordhoff">Benedikt Nordhoff</a>, <a href="./authors/koerner">Stefan Körner</a> and <a href="./authors/lammich">Peter Lammich</a></div>
<span class="date">
Oct 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Binomial-Heaps.html">Binomial Heaps and Skew Binomial Heaps</a></h5> <br>
by <a href="./authors/meis">Rene Meis</a>, <a href="./authors/nielsen">Finn Nielsen</a> and <a href="./authors/lammich">Peter Lammich</a></div>
<span class="date">
Oct 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Lam-ml-Normalization.html">Strong Normalization of Moggis&#39;s Computational Metalanguage</a></h5> <br>
by <a href="./authors/doczkal">Christian Doczkal</a></div>
<span class="date">
Aug 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Polynomials.html">Executable Multivariate Polynomials</a></h5> <br>
by <a href="./authors/sternagel">Christian Sternagel</a>, <a href="./authors/thiemann">René Thiemann</a>, <a href="./authors/maletzky">Alexander Maletzky</a>, <a href="./authors/immler">Fabian Immler</a>, <a href="./authors/haftmann">Florian Haftmann</a>, <a href="./authors/lochbihler">Andreas Lochbihler</a> and <a href="./authors/bentkamp">Alexander Bentkamp</a></div>
<span class="date">
Aug 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Statecharts.html">Formalizing Statecharts using Hierarchical Automata</a></h5> <br>
by <a href="./authors/helke">Steffen Helke</a> and <a href="./authors/kammueller">Florian Kammüller</a></div>
<span class="date">
Aug 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Free-Groups.html">Free Groups</a></h5> <br>
by <a href="./authors/breitner">Joachim Breitner</a></div>
<span class="date">
Jun 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Category2.html">Category Theory</a></h5> <br>
by <a href="./authors/katovsky">Alexander Katovsky</a></div>
<span class="date">
Jun 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Matrix.html">Executable Matrix Operations on Matrices of Arbitrary Dimensions</a></h5> <br>
by <a href="./authors/sternagel">Christian Sternagel</a> and <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Jun 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Abstract-Rewriting.html">Abstract Rewriting</a></h5> <br>
by <a href="./authors/sternagel">Christian Sternagel</a> and <a href="./authors/thiemann">René Thiemann</a></div>
<span class="date">
Jun 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/GraphMarkingIBP.html">Verification of the Deutsch-Schorr-Waite Graph Marking Algorithm using Data Refinement</a></h5> <br>
by <a href="./authors/preoteasa">Viorel Preoteasa</a> and <a href="./authors/back">Ralph-Johan Back</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/DataRefinementIBP.html">Semantics and Data Refinement of Invariant Based Programs</a></h5> <br>
by <a href="./authors/preoteasa">Viorel Preoteasa</a> and <a href="./authors/back">Ralph-Johan Back</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Robbins-Conjecture.html">A Complete Proof of the Robbins Conjecture</a></h5> <br>
by <a href="./authors/doty">Matthew Wampler-Doty</a></div>
<span class="date">
May 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Regular-Sets.html">Regular Sets and Expressions</a></h5> <br>
by <a href="./authors/krauss">Alexander Krauss</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
May 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Locally-Nameless-Sigma.html">Locally Nameless Sigma Calculus</a></h5> <br>
by <a href="./authors/henrio">Ludovic Henrio</a>, <a href="./authors/kammueller">Florian Kammüller</a>, <a href="./authors/lutz">Bianca Lutz</a> and <a href="./authors/sudhof">Henry Sudhof</a></div>
<span class="date">
Apr 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Free-Boolean-Algebra.html">Free Boolean Algebra</a></h5> <br>
by <a href="./authors/huffman">Brian Huffman</a></div>
<span class="date">
Mar 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/InformationFlowSlicing_Inter.html">Inter-Procedural Information Flow Noninterference via Slicing</a></h5> <br>
by <a href="./authors/wasserrab">Daniel Wasserrab</a></div>
<span class="date">
Mar 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/InformationFlowSlicing.html">Information Flow Noninterference via Slicing</a></h5> <br>
by <a href="./authors/wasserrab">Daniel Wasserrab</a></div>
<span class="date">
Mar 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/List-Index.html">List Index</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Feb 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Coinductive.html">Coinductive</a></h5> <br>
by <a href="./authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
Feb 12
</span>
</article></div><div>
<h2 class="year">2009</h2>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/DPT-SAT-Solver.html">A Fast SAT Solver for Isabelle in Standard ML</a></h5> <br>
by <a href="./authors/heller">Armin Heller</a></div>
<span class="date">
Dec 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Presburger-Automata.html">Formalizing the Logic-Automaton Connection</a></h5> <br>
by <a href="./authors/berghofer">Stefan Berghofer</a> and <a href="./authors/reiter">Markus Reiter</a></div>
<span class="date">
Dec 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Tree-Automata.html">Tree Automata</a></h5> <br>
by <a href="./authors/lammich">Peter Lammich</a></div>
<span class="date">
Nov 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Collections.html">Collections Framework</a></h5> <br>
by <a href="./authors/lammich">Peter Lammich</a></div>
<span class="date">
Nov 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Perfect-Number-Thm.html">Perfect Number Theorem</a></h5> <br>
by <a href="./authors/ijbema">Mark Ijbema</a></div>
<span class="date">
Nov 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/HRB-Slicing.html">Backing up Slicing: Verifying the Interprocedural Two-Phase Horwitz-Reps-Binkley Slicer</a></h5> <br>
by <a href="./authors/wasserrab">Daniel Wasserrab</a></div>
<span class="date">
Nov 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/WorkerWrapper.html">The Worker/Wrapper Transformation</a></h5> <br>
by <a href="./authors/gammie">Peter Gammie</a></div>
<span class="date">
Oct 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Ordinals_and_Cardinals.html">Ordinals and Cardinals</a></h5> <br>
by <a href="./authors/popescu">Andrei Popescu</a></div>
<span class="date">
Sep 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/SequentInvertibility.html">Invertibility in Sequent Calculi</a></h5> <br>
by <a href="./authors/chapman">Peter Chapman</a></div>
<span class="date">
Aug 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CofGroups.html">An Example of a Cofinitary Group in Isabelle/HOL</a></h5> <br>
by <a href="./authors/kastermans">Bart Kastermans</a></div>
<span class="date">
Aug 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/FinFun.html">Code Generation for Functions as Data</a></h5> <br>
by <a href="./authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
May 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Stream-Fusion.html">Stream Fusion</a></h5> <br>
by <a href="./authors/huffman">Brian Huffman</a></div>
<span class="date">
Apr 29
</span>
</article></div><div>
<h2 class="year">2008</h2>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/BytecodeLogicJmlTypes.html">A Bytecode Logic for JML and Types</a></h5> <br>
by <a href="./authors/beringer">Lennart Beringer</a> and <a href="./authors/hofmann">Martin Hofmann</a></div>
<span class="date">
Dec 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/SIFPL.html">Secure information flow and program logics</a></h5> <br>
by <a href="./authors/beringer">Lennart Beringer</a> and <a href="./authors/hofmann">Martin Hofmann</a></div>
<span class="date">
Nov 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/SenSocialChoice.html">Some classical results in Social Choice Theory</a></h5> <br>
by <a href="./authors/gammie">Peter Gammie</a></div>
<span class="date">
Nov 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/FunWithTilings.html">Fun With Tilings</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a> and <a href="./authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Nov 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Huffman.html">The Textbook Proof of Huffman&#39;s Algorithm</a></h5> <br>
by <a href="./authors/blanchette">Jasmin Christian Blanchette</a></div>
<span class="date">
Oct 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Slicing.html">Towards Certified Slicing</a></h5> <br>
by <a href="./authors/wasserrab">Daniel Wasserrab</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/VolpanoSmith.html">A Correctness Proof for the Volpano/Smith Security Typing System</a></h5> <br>
by <a href="./authors/snelting">Gregor Snelting</a> and <a href="./authors/wasserrab">Daniel Wasserrab</a></div>
<span class="date">
Sep 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/ArrowImpossibilityGS.html">Arrow and Gibbard-Satterthwaite</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Sep 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/FunWithFunctions.html">Fun With Functions</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Aug 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/SATSolverVerification.html">Formal Verification of Modern SAT Solvers</a></h5> <br>
by <a href="./authors/maricf">Filip Marić</a></div>
<span class="date">
Jul 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Recursion-Theory-I.html">Recursion Theory I</a></h5> <br>
by <a href="./authors/nedzelsky">Michael Nedzelsky</a></div>
<span class="date">
Apr 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/BDD.html">BDD Normalisation</a></h5> <br>
by <a href="./authors/ortner">Veronika Ortner</a> and <a href="./authors/schirmer">Norbert Schirmer</a></div>
<span class="date">
Feb 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Simpl.html">A Sequential Imperative Programming Language Syntax, Semantics, Hoare Logics and Verification Environment</a></h5> <br>
by <a href="./authors/schirmer">Norbert Schirmer</a></div>
<span class="date">
Feb 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/NormByEval.html">Normalization by Evaluation</a></h5> <br>
by <a href="./authors/aehlig">Klaus Aehlig</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Feb 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/LinearQuantifierElim.html">Quantifier Elimination for Linear Arithmetic</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jan 11
</span>
</article></div><div>
<h2 class="year">2007</h2>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Program-Conflict-Analysis.html">Formalization of Conflict Analysis of Programs with Procedures, Thread Creation, and Monitors</a></h5> <br>
by <a href="./authors/lammich">Peter Lammich</a> and <a href="./authors/olm">Markus Müller-Olm</a></div>
<span class="date">
Dec 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/JinjaThreads.html">Jinja with Threads</a></h5> <br>
by <a href="./authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
Dec 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/MuchAdoAboutTwo.html">Much Ado About Two</a></h5> <br>
by <a href="./authors/boehme">Sascha Böhme</a></div>
<span class="date">
Nov 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/SumSquares.html">Sums of Two and Four Squares</a></h5> <br>
by <a href="./authors/oosterhuis">Roelof Oosterhuis</a></div>
<span class="date">
Aug 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Fermat3_4.html">Fermat&#39;s Last Theorem for Exponents 3 and 4 and the Parametrisation of Pythagorean Triples</a></h5> <br>
by <a href="./authors/oosterhuis">Roelof Oosterhuis</a></div>
<span class="date">
Aug 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Valuation.html">Fundamental Properties of Valuation Theory and Hensel&#39;s Lemma</a></h5> <br>
by <a href="./authors/kobayashi">Hidetsune Kobayashi</a></div>
<span class="date">
Aug 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/POPLmark-deBruijn.html">POPLmark Challenge Via de Bruijn Indices</a></h5> <br>
by <a href="./authors/berghofer">Stefan Berghofer</a></div>
<span class="date">
Aug 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/FOL-Fitting.html">First-Order Logic According to Fitting</a></h5> <br>
by <a href="./authors/berghofer">Stefan Berghofer</a></div>
<span class="date">
Aug 02
</span>
</article></div><div>
<h2 class="year">2006</h2>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/HotelKeyCards.html">Hotel Key Card System</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Sep 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Abstract-Hoare-Logics.html">Abstract Hoare Logics</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Aug 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Flyspeck-Tame.html">Flyspeck I: Tame Graphs</a></h5> <br>
by <a href="./authors/bauer">Gertrud Bauer</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
May 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/CoreC&#43;&#43;.html">CoreC&#43;&#43;</a></h5> <br>
by <a href="./authors/wasserrab">Daniel Wasserrab</a></div>
<span class="date">
May 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/FeatherweightJava.html">A Theory of Featherweight Java in Isabelle/HOL</a></h5> <br>
by <a href="./authors/fosterj">J. Nathan Foster</a> and <a href="./authors/vytiniotis">Dimitrios Vytiniotis</a></div>
<span class="date">
Mar 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/ClockSynchInst.html">Instances of Schneider&#39;s generalized protocol of clock synchronization</a></h5> <br>
by <a href="./authors/barsotti">Damián Barsotti</a></div>
<span class="date">
Mar 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Cauchy.html">Cauchy&#39;s Mean Theorem and the Cauchy-Schwarz Inequality</a></h5> <br>
by <a href="./authors/porter">Benjamin Porter</a></div>
<span class="date">
Mar 14
</span>
</article></div><div>
<h2 class="year">2005</h2>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Ordinal.html">Countable Ordinals</a></h5> <br>
by <a href="./authors/huffman">Brian Huffman</a></div>
<span class="date">
Nov 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/FFT.html">Fast Fourier Transform</a></h5> <br>
by <a href="./authors/ballarin">Clemens Ballarin</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/GenClock.html">Formalization of a Generalized Protocol for Clock Synchronization</a></h5> <br>
by <a href="./authors/tiu">Alwen Tiu</a></div>
<span class="date">
Jun 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/DiskPaxos.html">Proving the Correctness of Disk Paxos</a></h5> <br>
by <a href="./authors/jaskelioff">Mauro Jaskelioff</a> and <a href="./authors/merz">Stephan Merz</a></div>
<span class="date">
Jun 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/JiveDataStoreModel.html">Jive Data and Store Model</a></h5> <br>
by <a href="./authors/rauch">Nicole Rauch</a> and <a href="./authors/schirmer">Norbert Schirmer</a></div>
<span class="date">
Jun 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Jinja.html">Jinja is not Java</a></h5> <br>
by <a href="./authors/klein">Gerwin Klein</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/RSAPSS.html">SHA1, RSA, PSS and more</a></h5> <br>
by <a href="./authors/lindenberg">Christina Lindenberg</a> and <a href="./authors/wirt">Kai Wirt</a></div>
<span class="date">
May 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Category.html">Category Theory to Yoneda&#39;s Lemma</a></h5> <br>
by <a href="./authors/keefe">Greg O&rsquo;Keefe</a></div>
<span class="date">
Apr 21
</span>
</article></div><div>
<h2 class="year">2004</h2>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/FileRefinement.html">File Refinement</a></h5> <br>
by <a href="./authors/zee">Karen Zee</a> and <a href="./authors/kuncak">Viktor Kuncak</a></div>
<span class="date">
Dec 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Integration.html">Integration theory and random variables</a></h5> <br>
by <a href="./authors/richter">Stefan Richter</a></div>
<span class="date">
Nov 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Verified-Prover.html">A Mechanically Verified, Efficient, Sound and Complete Theorem Prover For First Order Logic</a></h5> <br>
by <a href="./authors/ridge">Tom Ridge</a></div>
<span class="date">
Sep 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Ramsey-Infinite.html">Ramsey&#39;s theorem, infinitary version</a></h5> <br>
by <a href="./authors/ridge">Tom Ridge</a></div>
<span class="date">
Sep 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Completeness.html">Completeness theorem</a></h5> <br>
by <a href="./authors/margetson">James Margetson</a> and <a href="./authors/ridge">Tom Ridge</a></div>
<span class="date">
Sep 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Compiling-Exceptions-Correctly.html">Compiling Exceptions Correctly</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jul 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Depth-First-Search.html">Depth First Search</a></h5> <br>
by <a href="./authors/nishihara">Toshiaki Nishihara</a> and <a href="./authors/minamide">Yasuhiko Minamide</a></div>
<span class="date">
Jun 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Group-Ring-Module.html">Groups, Rings and Modules</a></h5> <br>
by <a href="./authors/kobayashi">Hidetsune Kobayashi</a>, <a href="./authors/chen">L. Chen</a> and <a href="./authors/murao">H. Murao</a></div>
<span class="date">
May 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Topology.html">Topology</a></h5> <br>
by <a href="./authors/friedrich">Stefan Friedrich</a></div>
<span class="date">
Apr 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Lazy-Lists-II.html">Lazy Lists II</a></h5> <br>
by <a href="./authors/friedrich">Stefan Friedrich</a></div>
<span class="date">
Apr 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/BinarySearchTree.html">Binary Search Trees</a></h5> <br>
by <a href="./authors/kuncak">Viktor Kuncak</a></div>
<span class="date">
Apr 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/Functional-Automata.html">Functional Automata</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Mar 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/MiniML.html">Mini ML</a></h5> <br>
by <a href="./authors/naraschewski">Wolfgang Naraschewski</a> and <a href="./authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Mar 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="./entries/AVL-Trees.html">AVL Trees</a></h5> <br>
by <a href="./authors/nipkow">Tobias Nipkow</a> and <a href="./authors/pusch">Cornelia Pusch</a></div>
<span class="date">
Mar 19
</span>
</article></div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/index.json b/web/index.json
--- a/web/index.json
+++ b/web/index.json
@@ -1,14057 +1,14138 @@
[
{
+ "abstract": "This article formalizes the specification and the algorithm of the cryptographic scheme CRYSTALS-KYBER with multiplication using the Number Theoretic Transform and verifies its (1-δ)-correctness proof. CRYSTALS-KYBER is a key encapsulation mechanism in lattice-based post-quantum cryptography. This entry formalizes the key generation, encryption and decryption algorithms and shows that the algorithm decodes correctly under a highly probable assumption ((1-δ)-correctness). Moreover, the Number Theoretic Transform (NTT) in the case of Kyber and the convolution theorem thereon is formalized.",
+ "authors": [
+ "Katharina Kreuzer"
+ ],
+ "date": "2022-09-08",
+ "id": 0,
+ "link": "/entries/CRYSTALS-Kyber.html",
+ "permalink": "/entries/CRYSTALS-Kyber.html",
+ "shortname": "CRYSTALS-Kyber",
+ "title": "CRYSTALS-Kyber",
+ "topic_links": [
+ "computer-science/security"
+ ],
+ "topics": [
+ "Computer science/Security"
+ ],
+ "used_by": 0
+ },
+ {
+ "abstract": "We formalise the proof of an important theorem in additive combinatorics due to Khovanskii, attesting that the cardinality of the set of all sums of $n$ many elements of $A$, where $A$ is a finite subset of an abelian group, is a polynomial in $n$ for all sufficiently large $n$. We follow a proof due to Nathanson and Ruzsa as presented in the notes “Introduction to Additive Combinatorics” by Timothy Gowers for the University of Cambridge.",
+ "authors": [
+ "Angeliki Koutsoukou-Argyraki",
+ "Lawrence C. Paulson"
+ ],
+ "date": "2022-09-02",
+ "id": 1,
+ "link": "/entries/Khovanskii_Theorem.html",
+ "permalink": "/entries/Khovanskii_Theorem.html",
+ "shortname": "Khovanskii_Theorem",
+ "title": "Khovanskii\u0026#x27;s Theorem",
+ "topic_links": [
+ "mathematics/combinatorics"
+ ],
+ "topics": [
+ "Mathematics/Combinatorics"
+ ],
+ "used_by": 0
+ },
+ {
+ "abstract": "\u003cp\u003eThis article is a formalisation of a proof of the Hales–Jewett theorem presented in the textbook \u003cem\u003eRamsey Theory\u003c/em\u003e by Graham et al.\u003c/p\u003e \u003cp\u003eThe Hales–Jewett theorem is a result in Ramsey Theory which states that, for any non-negative integers $r$ and $t$, there exists a minimal dimension $N$, such that any $r$-coloured $N'$-dimensional cube over $t$ elements (with $N' \\geq N$) contains a monochromatic line. This theorem generalises Van der Waerden's Theorem, which has already been formalised in another \u003ca href=\"https://www.isa-afp.org/entries/Van_der_Waerden.html\"\u003eAFP entry\u003c/a\u003e.\u003c/p\u003e",
+ "authors": [
+ "Ujkan Sulejmani",
+ "Manuel Eberl",
+ "Katharina Kreuzer"
+ ],
+ "date": "2022-09-02",
+ "id": 2,
+ "link": "/entries/Hales_Jewett.html",
+ "permalink": "/entries/Hales_Jewett.html",
+ "shortname": "Hales_Jewett",
+ "title": "The Hales–Jewett Theorem",
+ "topic_links": [
+ "mathematics/combinatorics"
+ ],
+ "topics": [
+ "Mathematics/Combinatorics"
+ ],
+ "used_by": 0
+ },
+ {
+ "abstract": "\u003cp\u003eThis entry contains an Isabelle formalization of the \u003cem\u003eNumber Theoretic Transform (NTT)\u003c/em\u003e which is the analogue to a \u003cem\u003eDiscrete Fourier Transform (DFT)\u003c/em\u003e over a finite field. Roots of unity in the complex numbers are replaced by those in a finite field. \u003c/p\u003e\u003cp\u003eFirst, we define both \u003cem\u003eNTT\u003c/em\u003e and the inverse transform \u003cem\u003eINTT\u003c/em\u003e in Isabelle and prove them to be mutually inverse. \u003c/p\u003e\u003cp\u003e\u003cem\u003eDFT\u003c/em\u003e can be efficiently computed by the recursive \u003cem\u003eFast Fourier Transform (FFT)\u003c/em\u003e. In our formalization, this algorithm is adapted to the setting of the \u003cem\u003eNTT\u003c/em\u003e: We implement a \u003cem\u003eFast Number Theoretic Transform (FNTT)\u003c/em\u003e based on the Butterfly scheme by Cooley and Tukey. Additionally, we provide an inverse transform \u003cem\u003eIFNTT\u003c/em\u003e and prove it mutually inverse to \u003cem\u003eFNTT\u003c/em\u003e. \u003c/p\u003e\u003cp\u003e Afterwards, a recursive formalization of the \u003cem\u003eFNTT\u003c/em\u003e running time is examined and the famous $O(n \\log n)$ bounds are proven.\u003c/p\u003e",
+ "authors": [
+ "Thomas Ammer",
+ "Katharina Kreuzer"
+ ],
+ "date": "2022-08-18",
+ "id": 3,
+ "link": "/entries/Number_Theoretic_Transform.html",
+ "permalink": "/entries/Number_Theoretic_Transform.html",
+ "shortname": "Number_Theoretic_Transform",
+ "title": "Number Theoretic Transform",
+ "topic_links": [
+ "computer-science/algorithms/mathematical"
+ ],
+ "topics": [
+ "Computer science/Algorithms/Mathematical"
+ ],
+ "used_by": 1
+ },
+ {
"abstract": "This theory contains the involution-based proof of the two squares theorem from \u003ca href=\"https://dx.doi.org/10.1007/978-3-662-57265-8\"\u003eTHE BOOK\u003c/a\u003e.",
"authors": [
"Maksym Bortin"
],
"date": "2022-08-15",
- "id": 0,
+ "id": 4,
"link": "/entries/Involutions2Squares.html",
"permalink": "/entries/Involutions2Squares.html",
"shortname": "Involutions2Squares",
"title": "From THE BOOK: Two Squares via Involutions",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "This entry provides executable formalisations of complete test generation algorithms for finite state machines. It covers testing for the language-equivalence and reduction conformance relations, supporting the former via the W, Wp, HSI, H, SPY and SPYH-methods, and the latter via adaptive state counting. The test strategies are implemented using generic frameworks, allowing for reuse of shared components between related strategies. This work is described in the author\u0026#x27;s \u003ca href=\"https://doi.org/10.26092/elib/1665\"\u003edoctoral thesis\u003c/a\u003e.",
"authors": [
"Robert Sachtleben"
],
"date": "2022-08-09",
- "id": 1,
+ "id": 5,
"link": "/entries/FSM_Tests.html",
"permalink": "/entries/FSM_Tests.html",
"shortname": "FSM_Tests",
"title": "Verified Complete Test Strategies for Finite State Machines",
"topic_links": [
"computer-science/automata-and-formal-languages",
"computer-science/algorithms"
],
"topics": [
"Computer science/Automata and formal languages",
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "JSON (JavaScript Object Notation) is a common format for exchanging data, based on a collection of key/value-pairs (the JSON objects) and lists. Its syntax is inspired by JavaScript with the aim of being easy to read and write for humans and easy to parse and generate for machines. Despite its origin in the JavaScript world, JSON is language-independent and many programming languages support working with JSON-encoded data. This makes JSON an interesting format for exchanging data with Isabelle/HOL. This AFP entry provides a JSON-like import-expert format for both Isabelle/ML and Isabelle/HOL. On the one hand, this AFP entry provides means for Isabelle/HOL users to work with JSON encoded data without the need using Isabelle/ML. On the other and, the provided Isabelle/ML interfaces allow additional extensions or integration into Isabelle extensions written in Isabelle/ML. While format is not fully JSON compliant (e.g., due to limitations in the range of supported Unicode characters), it works in most situations: the provided implementation in Isabelle/ML and its representation in Isabelle/HOL have been used successfully in several projects for exchanging data sets of several hundredths of megabyte between Isabelle and external tools.",
"authors": [
"Achim D. Brucker"
],
"date": "2022-07-29",
- "id": 2,
+ "id": 6,
"link": "/entries/Nano_JSON.html",
"permalink": "/entries/Nano_JSON.html",
"shortname": "Nano_JSON",
"title": "Nano JSON: Working with JSON formatted data in Isabelle/HOL and Isabelle/ML",
"topic_links": [
"tools",
"computer-science/data-structures"
],
"topics": [
"Tools",
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "Smart contracts are automatically executed programs, usually representing legal agreements such as financial transactions. Thus, bugs in smart contracts can lead to large financial losses. For example, an incorrectly initialized contract was the root cause of the Parity Wallet bug that saw $280M worth of Ether destroyed. Ether is the cryptocurrency of the Ethereum blockchain that uses Solidity for expressing smart contracts. We address this problem by formalizing an executable denotational semantics for Solidity in the interactive theorem prover Isabelle/HOL. This formal semantics builds the foundation of an interactive program verification environment for Solidity programs and allows for inspecting them by (symbolic) execution. We combine the latter with grammar based fuzzing to ensure that our formal semantics complies to the Solidity implementation on the Ethereum Blockchain. Finally, we demonstrate the formal verification of Solidity programs by two examples: constant folding and a simple verified token.",
"authors": [
"Diego Marmsoler",
"Achim D. Brucker"
],
"date": "2022-07-18",
- "id": 3,
+ "id": 7,
"link": "/entries/Solidity.html",
"permalink": "/entries/Solidity.html",
"shortname": "Solidity",
"title": "Isabelle/Solidity: A deep Embedding of Solidity in Isabelle/HOL",
"topic_links": [
"computer-science/programming-languages",
"computer-science/semantics-and-reasoning"
],
"topics": [
"Computer science/Programming languages",
"Computer science/Semantics and reasoning"
],
"used_by": 0
},
{
"abstract": "A Hermitian matrix is a square complex matrix that is equal to its conjugate transpose. The (finite-dimensional) spectral theorem states that any such matrix can be decomposed into a product of a unitary matrix and a diagonal matrix containing only real elements. We formalize the generalization of this result, which states that any finite set of Hermitian and pairwise commuting matrices can be decomposed as previously, using the same unitary matrix; in other words, they are simultaneously diagonalizable. Sets of pairwise commuting Hermitian matrices are called \u003cem\u003eComplete Sets of Commuting Observables\u003c/em\u003e in Quantum Mechanics, where they represent physical quantities that can be simultaneously measured to uniquely distinguish quantum states.",
"authors": [
"Mnacho Echenim"
],
"date": "2022-07-18",
- "id": 4,
+ "id": 8,
"link": "/entries/Commuting_Hermitian.html",
"permalink": "/entries/Commuting_Hermitian.html",
"shortname": "Commuting_Hermitian",
"title": "Simultaneous diagonalization of pairwise commuting Hermitian matrices",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThis article provides a formalisation of the Weighted Arithmetic–Geometric Mean Inequality: given non-negative reals $a_1, \\ldots, a_n$ and non-negative weights $w_1, \\ldots, w_n$ such that $w_1 + \\ldots + w_n = 1$, we have \\[\\prod\\limits_{i=1}^n a_i^{w_i} \\leq \\sum\\limits_{i=1}^n w_i a_i\\ .\\] If the weights are additionally all non-zero, equality holds if and only if $a_1 = \\ldots = a_n$.\u003c/p\u003e \u003cp\u003eAs a corollary with $w_1 = \\ldots = w_n = 1/n$, the regular arithmetic–geometric mean inequality follows, namely that \\[\\sqrt[n]{a_1\\,\\cdots\\, a_n} \\leq \\tfrac{1}{n}(a_1 + \\ldots + a_n)\\ .\\]\u003c/p\u003e \u003cp\u003eI follow Pólya's elegant proof, which uses the inequality $1 + x \\leq e^x$ as a starting point. Pólya claims that this proof came to him in a dream, and that it was “the best mathematics he had ever dreamt.”\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2022-07-11",
- "id": 5,
+ "id": 9,
"link": "/entries/Weighted_Arithmetic_Geometric_Mean.html",
"permalink": "/entries/Weighted_Arithmetic_Geometric_Mean.html",
"shortname": "Weighted_Arithmetic_Geometric_Mean",
"title": "Pólya’s Proof of the Weighted Arithmetic–Geometric Mean Inequality",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "After introducing the didactic imperative programming language IMP, Nipkow and Klein's book on formal programming language semantics (version of March 2021) specifies compilation of IMP commands into a lower-level language based on a stack machine, and expounds a formal verification of that compiler. Exercise 8.4 asks the reader to adjust such proof for a new compilation target, consisting of a machine language that (i) accesses memory locations through their addresses instead of variable names, and (ii) maintains a stack in memory via a stack pointer rather than relying upon a built-in stack. A natural strategy to maximize reuse of the original proof is keeping the original language as an assembly one and splitting compilation into multiple steps, namely a source-to-assembly step matching the original compilation process followed by an assembly-to-machine step. In this way, proving assembly code-machine code equivalence is the only extant task. A previous paper by the present author introduces a reasoning toolbox that allows for a compiler correctness proof shorter than the book's one, as such promising to constitute a further enhanced reference for the formal verification of real-world compilers. This paper in turn shows that such toolbox can be reused to accomplish the aforesaid task as well, which demonstrates that the proposed approach also promotes proof reuse in multi-stage compiler verifications.",
"authors": [
"Pasquale Noce"
],
"date": "2022-07-10",
- "id": 6,
+ "id": 10,
"link": "/entries/IMP_Compiler_Reuse.html",
"permalink": "/entries/IMP_Compiler_Reuse.html",
"shortname": "IMP_Compiler_Reuse",
"title": "A Reuse-Based Multi-Stage Compiler Verification for Language IMP",
"topic_links": [
"computer-science/programming-languages/compiling"
],
"topics": [
"Computer science/Programming languages/Compiling"
],
"used_by": 0
},
{
"abstract": "A double-ended queue (\u003cem\u003edeque\u003c/em\u003e) is a queue where one can enqueue and dequeue at both ends. We define and verify the \u003ca href=\"https://doi.org/10.1145/165180.165225\"\u003edeque implementation by Chuang and Goldberg\u003c/a\u003e. It is purely functional and all operations run in constant time.",
"authors": [
"Balazs Toth",
"Tobias Nipkow"
],
"date": "2022-06-23",
- "id": 7,
+ "id": 11,
"link": "/entries/Real_Time_Deque.html",
"permalink": "/entries/Real_Time_Deque.html",
"shortname": "Real_Time_Deque",
"title": "Real-Time Double-Ended Queue",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "In 1987, George Boolos gave an interesting and vivid concrete example of the considerable speed-up afforded by higher-order logic over first-order logic. (A phenomenon first noted by Kurt Gödel in 1936.) Boolos's example concerned an inference $I$ with five premises, and a conclusion, such that the shortest derivation of the conclusion from the premises in a standard system for first-order logic is astronomically huge; while there exists a second-order derivation whose length is of the order of a page or two. Boolos gave a short sketch of that second-order derivation, which relies on the comprehension principle of second-order logic. Here, Boolos's inference is formalized into fourteen lemmas, each quickly verified by the automated-theorem-proving assistant Isabelle/HOL.",
"authors": [
"Jeffrey Ketland"
],
"date": "2022-06-20",
- "id": 8,
+ "id": 12,
"link": "/entries/Boolos_Curious_Inference.html",
"permalink": "/entries/Boolos_Curious_Inference.html",
"shortname": "Boolos_Curious_Inference",
"title": "Boolos's Curious Inference in Isabelle/HOL",
"topic_links": [
"logic/philosophical-aspects"
],
"topics": [
"Logic/Philosophical aspects"
],
"used_by": 0
},
{
"abstract": "This entry formalizes the classification of the finite fields (also called Galois fields): For each prime power $p^n$ there exists exactly one (up to isomorphisms) finite field of that size and there are no other finite fields. The derivation includes a formalization of the characteristic of rings, the Frobenius endomorphism, formal differentiation for polynomials in HOL-Algebra and Gauss' formula for the number of monic irreducible polynomials over finite fields: \\[ \\frac{1}{n} \\sum_{d | n} \\mu(d) p^{n/d} \\textrm{.} \\] The proofs are based on the books from \u003ca href=\"https://doi.org/10.1007/978-1-4757-2103-4\"\u003eIreland and Rosen\u003c/a\u003e, as well as, \u003ca href=\"https://doi.org/10.1017/CBO9781139172769\"\u003eLidl and Niederreiter\u003c/a\u003e.",
"authors": [
"Emin Karayel"
],
"date": "2022-06-08",
- "id": 9,
+ "id": 13,
"link": "/entries/Finite_Fields.html",
"permalink": "/entries/Finite_Fields.html",
"shortname": "Finite_Fields",
"title": "Finite Fields",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 1
},
{
"abstract": "Today's Internet is built on decades-old networking protocols that lack scalability, reliability and security. In response, the networking community has developed \u003cem\u003epath-aware\u003c/em\u003e Internet architectures that solve these issues while simultaneously empowering end hosts. In these architectures, autonomous systems authorize forwarding paths in accordance with their routing policies, and protect paths using cryptographic authenticators. For each packet, the sending end host selects an authorized path and embeds it and its authenticators in the packet header. This allows routers to efficiently determine how to forward the packet. The central security property of the data plane, i.e., of forwarding, is that packets can only travel along authorized paths. This property, which we call \u003cem\u003epath authorization\u003c/em\u003e, protects the routing policies of autonomous systems from malicious senders. The fundamental role of packet forwarding in the Internet's ecosystem and the complexity of the authentication mechanisms employed call for a formal analysis. We develop IsaNet, a parameterized verification framework for data plane protocols in Isabelle/HOL. We first formulate an abstract model without an attacker for which we prove path authorization. We then refine this model by introducing a Dolev--Yao attacker and by protecting authorized paths using (generic) cryptographic validation fields. This model is parametrized by the path authorization mechanism and assumes five simple verification conditions. We propose novel attacker models and different sets of assumptions on the underlying routing protocol. We validate our framework by instantiating it with nine concrete protocols variants and prove that they each satisfy the verification conditions (and hence path authorization). The invariants needed for the security proof are proven in the parametrized model instead of the instance models. Our framework thus supports low-effort security proofs for data plane protocols. In contrast to what could be achieved with state-of-the-art automated protocol verifiers, our results hold for arbitrary network topologies and sets of authorized paths.",
"authors": [
"Tobias Klenze",
"Christoph Sprenger"
],
"date": "2022-06-08",
- "id": 10,
+ "id": 14,
"link": "/entries/IsaNet.html",
"permalink": "/entries/IsaNet.html",
"shortname": "IsaNet",
"title": "IsaNet: Formalization of a Verification Framework for Secure Data Plane Protocols",
"topic_links": [
"computer-science/security",
"computer-science/networks"
],
"topics": [
"Computer science/Security",
"Computer science/Networks"
],
"used_by": 0
},
{
"abstract": "We present a formalization of Matiyasevich's proof of the DPRM theorem, which states that every recursively enumerable set of natural numbers is Diophantine. This result from 1970 yields a negative solution to Hilbert's 10th problem over the integers. To represent recursively enumerable sets in equations, we implement and arithmetize register machines. We formalize a general theory of Diophantine sets and relations to reason about them abstractly. Using several number-theoretic lemmas, we prove that exponentiation has a Diophantine representation.",
"authors": [
"Jonas Bayer",
"Marco David",
"Benedikt Stock",
"Abhik Pal",
"Yuri Matiyasevich",
"Dierk Schleicher"
],
"date": "2022-06-06",
- "id": 11,
+ "id": 15,
"link": "/entries/DPRM_Theorem.html",
"permalink": "/entries/DPRM_Theorem.html",
"shortname": "DPRM_Theorem",
"title": "Diophantine Equations and the DPRM Theorem",
"topic_links": [
"logic/computability",
"mathematics/number-theory"
],
"topics": [
"Logic/Computability",
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "This AFP entry relates important rewriting properties between the set of terms and the set of ground terms induced by a given signature. The properties considered are confluence, strong/local confluence, the normal form property, unique normal forms with respect to reduction and conversion, commutation, conversion equivalence, and normalization equivalence.",
"authors": [
"Alexander Lochmann"
],
"date": "2022-06-02",
- "id": 12,
+ "id": 16,
"link": "/entries/Rewrite_Properties_Reduction.html",
"permalink": "/entries/Rewrite_Properties_Reduction.html",
"shortname": "Rewrite_Properties_Reduction",
"title": "Reducing Rewrite Properties to Properties on Ground Terms",
"topic_links": [
"logic/rewriting"
],
"topics": [
"Logic/Rewriting"
],
"used_by": 0
},
{
"abstract": "Many separation logics support \u003cem\u003efractional permissions\u003c/em\u003e to distinguish between read and write access to a heap location, for instance, to allow concurrent reads while enforcing exclusive writes. The concept has been generalized to fractional assertions. $A^p$ (where $A$ is a separation logic assertion and $p$ a fraction between $0$ and $1$) represents a fraction $p$ of $A$. $A^p$ holds in a state $\\sigma$ iff there exists a state $\\sigma_A$ in which $A$ holds and $\\sigma$ is obtained from $\\sigma_A$ by multiplying all permission amounts held by $p$. While $A^{p + q}$ can always be split into $A^p * A^q$, recombining $A^p * A^q$ into $A^{p+q}$ is not always sound. We say that $A$ is \u003cem\u003ecombinable\u003c/em\u003e iff the entailment $A^p * A^q \\models A^{p+q}$ holds for any two positive fractions $p$ and $q$ such that $p + q \\le 1$. Combinable assertions are particularly useful to reason about concurrent programs, for instance, to combine the postconditions of parallel branches when they terminate. Unfortunately, the magic wand assertion $A \\mathbin{-\\!\\!*} B$, commonly used to specify properties of partial data structures, is typically \u003cem\u003enot\u003c/em\u003e combinable. In this entry, we formalize a novel, restricted definition of the magic wand, described in \u003ca href=\"https://arxiv.org/abs/2205.11325\"\u003ea paper at CAV 22\u003c/a\u003e, which we call the \u003cem\u003ecombinable wand\u003c/em\u003e. We prove some key properties of the combinable wand; in particular, a combinable wand is combinable if its right-hand side is combinable.",
"authors": [
"Thibault Dardinier"
],
"date": "2022-05-30",
- "id": 13,
+ "id": 17,
"link": "/entries/Combinable_Wands.html",
"permalink": "/entries/Combinable_Wands.html",
"shortname": "Combinable_Wands",
"title": "A Restricted Definition of the Magic Wand to Soundly Combine Fractions of a Wand",
"topic_links": [
"computer-science/programming-languages/logics"
],
"topics": [
"Computer science/Programming languages/Logics"
],
"used_by": 0
},
{
"abstract": "We formalise Plünnecke's inequality and the Plünnecke-Ruzsa inequality, following the notes by Timothy Gowers: \"Introduction to Additive Combinatorics\" (2022) for the University of Cambridge. To this end, we first introduce basic definitions and prove elementary facts on sumsets and difference sets. Then, we show two versions of the Ruzsa triangle inequality. We follow with a proof due to Petridis.",
"authors": [
"Angeliki Koutsoukou-Argyraki",
"Lawrence C. Paulson"
],
"date": "2022-05-26",
- "id": 14,
+ "id": 18,
"link": "/entries/Pluennecke_Ruzsa_Inequality.html",
"permalink": "/entries/Pluennecke_Ruzsa_Inequality.html",
"shortname": "Pluennecke_Ruzsa_Inequality",
"title": "The Plünnecke-Ruzsa Inequality",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
- "used_by": 0
+ "used_by": 1
},
{
"abstract": "The magic wand $\\mathbin{-\\!\\!*}$ (also called separating implication) is a separation logic connective commonly used to specify properties of partial data structures, for instance during iterative traversals. A \u003cem\u003efootprint\u003c/em\u003e of a magic wand formula $$A \\mathbin{-\\!\\!*} B$$ is a state that, combined with any state in which $A$ holds, yields a state in which $B$ holds. The key challenge of proving a magic wand (also called \u003cem\u003epackaging\u003c/em\u003e a wand) is to find such a footprint. Existing package algorithms either have a high annotation overhead or are unsound. In this entry, we formally define a framework for the sound automation of magic wands, described in an \u003ca href=\"https://www.cs.ubc.ca/~alexsumm/papers/DardinierParthasarathyWeeksMuellerSummers22.pdf\"\u003eupcoming paper at CAV 2022\u003c/a\u003e, and prove that it is sound and complete. This framework, called the \u003cem\u003epackage logic\u003c/em\u003e, precisely characterises a wide design space of possible package algorithms applicable to a large class of separation logics.",
"authors": [
"Thibault Dardinier"
],
"date": "2022-05-18",
- "id": 15,
+ "id": 19,
"link": "/entries/Package_logic.html",
"permalink": "/entries/Package_logic.html",
"shortname": "Package_logic",
"title": "Formalization of a Framework for the Sound Automation of Magic Wands",
"topic_links": [
"computer-science/programming-languages/logics"
],
"topics": [
"Computer science/Programming languages/Logics"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003e Given a graph $G$ with $n$ vertices and a number $s$, the decision problem Clique asks whether $G$ contains a fully connected subgraph with $s$ vertices. For this NP-complete problem there exists a non-trivial lower bound: no monotone circuit of a size that is polynomial in $n$ can solve Clique. \u003c/p\u003e\u003cp\u003e This entry provides an Isabelle/HOL formalization of a concrete lower bound (the bound is $\\sqrt[7]{n}^{\\sqrt[8]{n}}$ for the fixed choice of $s = \\sqrt[4]{n}$), following a proof by Gordeev. \u003c/p\u003e",
"authors": [
"René Thiemann"
],
"date": "2022-05-08",
- "id": 16,
+ "id": 20,
"link": "/entries/Clique_and_Monotone_Circuits.html",
"permalink": "/entries/Clique_and_Monotone_Circuits.html",
"shortname": "Clique_and_Monotone_Circuits",
"title": "Clique is not solvable by monotone circuits of polynomial size",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 0
},
{
"abstract": "Linear algebraic techniques are powerful, yet often underrated tools in combinatorial proofs. This formalisation provides a library including matrix representations of incidence set systems, general formal proof techniques for the rank argument and linear bound argument, and finally a formalisation of a number of variations of the well-known Fisher's inequality. We build on our prior work formalising combinatorial design theory using a locale-centric approach, including extensions such as constant intersect designs and dual incidence systems. In addition to Fisher's inequality, we also formalise proofs on other incidence system properties using the incidence matrix representation, such as design existence, dual system relationships and incidence system isomorphisms. This formalisation is presented in the paper \"Formalising Fisher's Inequality: Formal Linear Algebraic Techniques in Combinatorics\", accepted to ITP 2022.",
"authors": [
"Chelsea Edmonds",
"Lawrence C. Paulson"
],
"date": "2022-04-21",
- "id": 17,
+ "id": 21,
"link": "/entries/Fishers_Inequality.html",
"permalink": "/entries/Fishers_Inequality.html",
"shortname": "Fishers_Inequality",
"title": "Fisher's Inequality: Linear Algebraic Proof Techniques for Combinatorics",
"topic_links": [
"mathematics/combinatorics",
"mathematics/algebra"
],
"topics": [
"Mathematics/Combinatorics",
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "We formalize how a natural number can be expanded into its digits in some base and prove properties about functions that operate on digit expansions. This includes the formalization of concepts such as digit shifts and carries. For a base that is a power of 2 we formalize the binary AND, binary orthogonality and binary masking of two natural numbers. This library on digit expansions builds the basis for the formalization of the DPRM theorem.",
"authors": [
"Jonas Bayer",
"Marco David",
"Abhik Pal",
"Benedikt Stock"
],
"date": "2022-04-20",
- "id": 18,
+ "id": 22,
"link": "/entries/Digit_Expansions.html",
"permalink": "/entries/Digit_Expansions.html",
"shortname": "Digit_Expansions",
"title": "Digit Expansions",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 1
},
{
"abstract": "We consider the problem of comparing two multisets via the generalized multiset ordering. We show that the corresponding decision problem is NP-complete. To be more precise, we encode multiset-comparisons into propositional formulas or into conjunctive normal forms of quadratic size; we further prove that satisfiability of conjunctive normal forms can be encoded as multiset-comparison problems of linear size. As a corollary, we also show that the problem of deciding whether two terms are related by a recursive path order is NP-hard, provided the recursive path order is based on the generalized multiset ordering.",
"authors": [
"René Thiemann",
"Lukas Schmidinger"
],
"date": "2022-04-20",
- "id": 19,
+ "id": 23,
"link": "/entries/Multiset_Ordering_NPC.html",
"permalink": "/entries/Multiset_Ordering_NPC.html",
"shortname": "Multiset_Ordering_NPC",
"title": "The Generalized Multiset Ordering is NP-Complete",
"topic_links": [
"logic/rewriting"
],
"topics": [
"Logic/Rewriting"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThis article provides a brief formalisation of the two equations known as the \u003cem\u003eSophomore's Dream\u003c/em\u003e, first discovered by Johann Bernoulli in 1697:\u003c/p\u003e \\[\\int_0^1 x^{-x}\\,\\text{d}x = \\sum_{n=1}^\\infty n^{-n} \\quad\\text{and}\\quad \\int_0^1 x^x\\,\\text{d}x = -\\sum_{n=1}^\\infty (-n)^{-n}\\]",
"authors": [
"Manuel Eberl"
],
"date": "2022-04-10",
- "id": 20,
+ "id": 24,
"link": "/entries/Sophomores_Dream.html",
"permalink": "/entries/Sophomores_Dream.html",
"shortname": "Sophomores_Dream",
"title": "The Sophomore's Dream",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "This entry contains a set of binary encodings for primitive data types, such as natural numbers, integers, floating-point numbers as well as combinators to construct encodings for products, lists, sets or functions of/between such types. For natural numbers and integers, the entry contains various encodings, such as Elias-Gamma-Codes and exponential Golomb Codes, which are efficient variable-length codes in use by current compression formats. A use-case for this library is measuring the persisted size of a complex data structure without having to hand-craft a dedicated encoding for it, independent of Isabelle's internal representation.",
"authors": [
"Emin Karayel"
],
"date": "2022-04-08",
- "id": 21,
+ "id": 25,
"link": "/entries/Prefix_Free_Code_Combinators.html",
"permalink": "/entries/Prefix_Free_Code_Combinators.html",
"shortname": "Prefix_Free_Code_Combinators",
"title": "A Combinator Library for Prefix-Free Codes",
"topic_links": [
"computer-science/algorithms",
"computer-science/data-structures"
],
"topics": [
"Computer science/Algorithms",
"Computer science/Data structures"
],
"used_by": 1
},
{
"abstract": "In 1999 Alon et. al. introduced the still active research topic of approximating the frequency moments of a data stream using randomized algorithms with minimal space usage. This includes the problem of estimating the cardinality of the stream elements - the zeroth frequency moment. But, also higher-order frequency moments that provide information about the skew of the data stream. (The \u003ci\u003ek\u003c/i\u003e-th frequency moment of a data stream is the sum of the \u003ci\u003ek\u003c/i\u003e-th powers of the occurrence counts of each element in the stream.) This entry formalizes three randomized algorithms for the approximation of \u003ci\u003eF\u003csub\u003e0\u003c/sub\u003e\u003c/i\u003e, \u003ci\u003eF\u003csub\u003e2\u003c/sub\u003e\u003c/i\u003e and \u003ci\u003eF\u003csub\u003ek\u003c/sub\u003e\u003c/i\u003e for \u003ci\u003ek ≥ 3\u003c/i\u003e based on [\u003ca href=\"https://doi.org/10.1006/jcss.1997.1545\"\u003e1\u003c/a\u003e, \u003ca href=\"https://doi.org/10.1007/3-540-45726-7_1\"\u003e2\u003c/a\u003e] and verifies their expected accuracy, success probability and space usage.",
"authors": [
"Emin Karayel"
],
"date": "2022-04-08",
- "id": 22,
+ "id": 26,
"link": "/entries/Frequency_Moments.html",
"permalink": "/entries/Frequency_Moments.html",
"shortname": "Frequency_Moments",
"title": "Formalization of Randomized Approximation Algorithms for Frequency Moments",
"topic_links": [
"computer-science/algorithms/approximation",
"mathematics/probability-theory"
],
"topics": [
"Computer science/Algorithms/Approximation",
"Mathematics/Probability theory"
],
"used_by": 0
},
{
"abstract": "The type of real numbers is constructed from the positive rationals using the method of Dedekind cuts. This development, briefly described in papers by the authors, follows the textbook presentation by Gleason. It's notable that the first formalisation of a significant piece of mathematics, by Jutting in 1977, involved a similar construction.",
"authors": [
"Jacques D. Fleuriot",
"Lawrence C. Paulson"
],
"date": "2022-03-24",
- "id": 23,
+ "id": 27,
"link": "/entries/Dedekind_Real.html",
"permalink": "/entries/Dedekind_Real.html",
"shortname": "Dedekind_Real",
"title": "Constructing the Reals as Dedekind Cuts of Rationals",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "Ackermann's function is defined in the usual way and a number of its elementary properties are proved. Then, the primitive recursive functions are defined inductively: as a predicate on the functions that map lists of numbers to numbers. It is shown that every primitive recursive function is strictly dominated by Ackermann's function. The formalisation follows an earlier one by Nora Szasz.",
"authors": [
"Lawrence C. Paulson"
],
"date": "2022-03-23",
- "id": 24,
+ "id": 28,
"link": "/entries/Ackermanns_not_PR.html",
"permalink": "/entries/Ackermanns_not_PR.html",
"shortname": "Ackermanns_not_PR",
"title": "Ackermann's Function Is Not Primitive Recursive",
"topic_links": [
"logic/computability"
],
"topics": [
"Logic/Computability"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e The AFP entry \u003ca href=\"https://www.isa-afp.org/entries/Abstract_Completeness.html\"\u003eAbstract Completeness\u003c/a\u003e by Blanchette, Popescu and Traytel formalizes the core of Beth/Hintikka-style completeness proofs for first-order logic and can be used to formalize executable sequent calculus provers. In the Journal of Automated Reasoning, the authors instantiate the framework with a sequent calculus for first-order logic and prove its completeness. Their use of an infinite set of proof rules indexed by formulas yields very direct arguments. A fair stream of these rules controls the prover, making its definition remarkably simple. The AFP entry, however, only contains a toy example for propositional logic. The AFP entry \u003ca href=\"https://www.isa-afp.org/entries/FOL_Seq_Calc2.html\"\u003eA Sequent Calculus Prover for First-Order Logic with Functions\u003c/a\u003e by From and Jacobsen also uses the framework, but uses a finite set of generic rules resulting in a more sophisticated prover with more complicated proofs. \u003c/p\u003e \u003cp\u003e This entry contains an executable sequent calculus prover for first-order logic with functions in the style presented by Blanchette et al. The prover can be exported to Haskell and this entry includes formalized proofs of its soundness and completeness. The proofs are simpler than those for the prover by From and Jacobsen but the performance of the prover is significantly worse. \u003c/p\u003e \u003cp\u003e The included theory \u003cem\u003eFair-Stream\u003c/em\u003e first proves that the sequence of natural numbers 0, 0, 1, 0, 1, 2, etc. is fair. It then proves that mapping any surjective function across the sequence preserves fairness. This method of obtaining a fair stream of rules is similar to the one given by Blanchette et al. The concrete functions from natural numbers to terms, formulas and rules are defined using the \u003cem\u003eNat-Bijection\u003c/em\u003e theory in the HOL-Library. \u003c/p\u003e",
"authors": [
"Asta Halkjær From"
],
"date": "2022-03-22",
- "id": 25,
+ "id": 29,
"link": "/entries/FOL_Seq_Calc3.html",
"permalink": "/entries/FOL_Seq_Calc3.html",
"shortname": "FOL_Seq_Calc3",
"title": "A Naive Prover for First-Order Logic",
"topic_links": [
"logic/general-logic/classical-first-order-logic",
"logic/proof-theory",
"logic/general-logic/mechanization-of-proofs"
],
"topics": [
"Logic/General logic/Classical first-order logic",
"Logic/Proof theory",
"Logic/General logic/Mechanization of proofs"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eIn this article, I formalise a proof from \u003ca href=\"https://dx.doi.org/10.1007/978-3-662-57265-8\"\u003eTHE BOOK\u003c/a\u003e; namely a formula that was called ‘one of the most beautiful formulas involving elementary functions’:\u003c/p\u003e \\[\\pi \\cot(\\pi z) = \\frac{1}{z} + \\sum_{n=1}^\\infty\\left(\\frac{1}{z+n} + \\frac{1}{z-n}\\right)\\] \u003cp\u003eThe proof uses Herglotz's trick to show the real case and analytic continuation for the complex case.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2022-03-15",
- "id": 26,
+ "id": 30,
"link": "/entries/Cotangent_PFD_Formula.html",
"permalink": "/entries/Cotangent_PFD_Formula.html",
"shortname": "Cotangent_PFD_Formula",
"title": "A Proof from THE BOOK: The Partial Fraction Expansion of the Cotangent",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "We redeveloped our formalization of forcing in the set theory framework of Isabelle/ZF. Under the assumption of the existence of a countable transitive model of ZFC, we construct proper generic extensions that satisfy the Continuum Hypothesis and its negation.",
"authors": [
"Emmanuel Gunther",
"Miguel Pagano",
"Pedro Sánchez Terraf",
"Matías Steinberg"
],
"date": "2022-03-06",
- "id": 27,
+ "id": 31,
"link": "/entries/Independence_CH.html",
"permalink": "/entries/Independence_CH.html",
"shortname": "Independence_CH",
"title": "The Independence of the Continuum Hypothesis in Isabelle/ZF",
"topic_links": [
"logic/set-theory"
],
"topics": [
"Logic/Set theory"
],
"used_by": 0
},
{
"abstract": "We extend the ZF-Constructibility library by relativizing theories of the Isabelle/ZF and Delta System Lemma sessions to a transitive class. We also relativize Paulson's work on Aleph and our former treatment of the Axiom of Dependent Choices. This work is a prerrequisite to our formalization of the independence of the Continuum Hypothesis.",
"authors": [
"Emmanuel Gunther",
"Miguel Pagano",
"Pedro Sánchez Terraf",
"Matías Steinberg"
],
"date": "2022-03-03",
- "id": 28,
+ "id": 32,
"link": "/entries/Transitive_Models.html",
"permalink": "/entries/Transitive_Models.html",
"shortname": "Transitive_Models",
"title": "Transitive Models of Fragments of ZFC",
"topic_links": [
"logic/set-theory"
],
"topics": [
"Logic/Set theory"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003e A \u003cem\u003eresiduated transition system\u003c/em\u003e (RTS) is a transition system that is equipped with a certain partial binary operation, called \u003cem\u003eresiduation\u003c/em\u003e, on transitions. Using the residuation operation, one can express nuances, such as a distinction between nondeterministic and concurrent choice, as well as partial commutativity relationships between transitions, which are not captured by ordinary transition systems. A version of residuated transition systems was introduced in previous work by the author, in which they were called “concurrent transition systems” in view of the original motivation for their definition from the study of concurrency. In the first part of the present article, we give a formal development that generalizes and subsumes the original presentation. We give an axiomatic definition of residuated transition systems that assumes only a single partial binary operation as given structure. From the axioms, we derive notions of “arrow“ (transition), “source”, “target”, “identity”, as well as “composition” and “join” of transitions; thereby recovering structure that in the previous work was assumed as given. We formalize and generalize the result, that residuation extends from transitions to transition paths, and we systematically develop the properties of this extension. A significant generalization made in the present work is the identification of a general notion of congruence on RTS’s, along with an associated quotient construction. \u003c/p\u003e \u003cp\u003e In the second part of this article, we use the RTS framework to formalize several results in the theory of reduction in Church’s λ-calculus. Using a de Bruijn index-based syntax in which terms represent parallel reduction steps, we define residuation on terms and show that it satisfies the axioms for an RTS. An application of the results on paths from the first part of the article allows us to prove the classical Church-Rosser Theorem with little additional effort. We then use residuation to define the notion of “development” and we prove the Finite Developments Theorem, that every development is finite, formalizing and adapting to de Bruijn indices a proof by de Vrijer. We also use residuation to define the notion of a “standard reduction path”, and we prove the Standardization Theorem: that every reduction path is congruent to a standard one. As a corollary of the Standardization Theorem, we obtain the Leftmost Reduction Theorem: that leftmost reduction is a normalizing strategy. \u003c/p\u003e",
"authors": [
"Eugene W. Stark"
],
"date": "2022-02-28",
- "id": 29,
+ "id": 33,
"link": "/entries/ResiduatedTransitionSystem.html",
"permalink": "/entries/ResiduatedTransitionSystem.html",
"shortname": "ResiduatedTransitionSystem",
"title": "Residuated Transition Systems",
"topic_links": [
"computer-science/automata-and-formal-languages",
"computer-science/concurrency",
"computer-science/programming-languages/lambda-calculi"
],
"topics": [
"Computer science/Automata and formal languages",
"Computer science/Concurrency",
"Computer science/Programming languages/Lambda calculi"
],
"used_by": 0
},
{
"abstract": "A \u003ci\u003ek\u003c/i\u003e-universal hash family is a probability space of functions, which have uniform distribution and form \u003ci\u003ek\u003c/i\u003e-wise independent random variables. They can often be used in place of classic (or cryptographic) hash functions and allow the rigorous analysis of the performance of randomized algorithms and data structures that rely on hash functions. In 1981 \u003ca href=\"https://doi.org/10.1016/0022-0000(81)90033-7\"\u003eWegman and Carter\u003c/a\u003e introduced a generic construction for such families with arbitrary \u003ci\u003ek\u003c/i\u003e using polynomials over a finite field. This entry contains a formalization of them and establishes the property of \u003ci\u003ek\u003c/i\u003e-universality. To be useful the formalization also provides an explicit construction of finite fields using the factor ring of integers modulo a prime. Additionally, some generic results about independent families are shown that might be of independent interest.",
"authors": [
"Emin Karayel"
],
"date": "2022-02-20",
- "id": 30,
+ "id": 34,
"link": "/entries/Universal_Hash_Families.html",
"permalink": "/entries/Universal_Hash_Families.html",
"shortname": "Universal_Hash_Families",
"title": "Universal Hash Families",
"topic_links": [
"mathematics/probability-theory",
"computer-science/algorithms"
],
"topics": [
"Mathematics/Probability theory",
"Computer science/Algorithms"
],
"used_by": 1
},
{
"abstract": "Let $F$ be a set of analytic functions on the complex plane such that, for each $z\\in\\mathbb{C}$, the set $\\{f(z) \\mid f\\in F\\}$ is countable; must then $F$ itself be countable? The answer is yes if the Continuum Hypothesis is false, i.e., if the cardinality of $\\mathbb{R}$ exceeds $\\aleph_1$. But if CH is true then such an $F$, of cardinality $\\aleph_1$, can be constructed by transfinite recursion. The formal proof illustrates reasoning about complex analysis (analytic and homomorphic functions) and set theory (transfinite cardinalities) in a single setting. The mathematical text comes from \u003cem\u003eProofs from THE BOOK\u003c/em\u003e by Aigner and Ziegler.",
"authors": [
"Lawrence C. Paulson"
],
"date": "2022-02-18",
- "id": 31,
+ "id": 35,
"link": "/entries/Wetzels_Problem.html",
"permalink": "/entries/Wetzels_Problem.html",
"shortname": "Wetzels_Problem",
"title": "Wetzel's Problem and the Continuum Hypothesis",
"topic_links": [
"mathematics/analysis",
"logic/set-theory"
],
"topics": [
"Mathematics/Analysis",
"Logic/Set theory"
],
"used_by": 0
},
{
"abstract": "We formalize first-order query evaluation over an infinite domain with equality. We first define the syntax and semantics of first-order logic with equality. Next we define a locale \u003ci\u003eeval\u0026lowbar;fo\u003c/i\u003e abstracting a representation of a potentially infinite set of tuples satisfying a first-order query over finite relations. Inside the locale, we define a function \u003ci\u003eeval\u003c/i\u003e checking if the set of tuples satisfying a first-order query over a database (an interpretation of the query's predicates) is finite (i.e., deciding \u003ci\u003erelative safety\u003c/i\u003e) and computing the set of satisfying tuples if it is finite. Altogether the function \u003ci\u003eeval\u003c/i\u003e solves \u003ci\u003ecapturability\u003c/i\u003e (Avron and Hirshfeld, 1991) of first-order logic with equality. We also use the function \u003ci\u003eeval\u003c/i\u003e to prove a code equation for the semantics of first-order logic, i.e., the function checking if a first-order query over a database is satisfied by a variable assignment.\u003cbr/\u003e We provide an interpretation of the locale \u003ci\u003eeval\u0026lowbar;fo\u003c/i\u003e based on the approach by Ailamazyan et al. A core notion in the interpretation is the active domain of a query and a database that contains all domain elements that occur in the database or interpret the query's constants. We prove the main theorem of Ailamazyan et al. relating the satisfaction of a first-order query over an infinite domain to the satisfaction of this query over a finite domain consisting of the active domain and a few additional domain elements (outside the active domain) whose number only depends on the query. In our interpretation of the locale \u003ci\u003eeval\u0026lowbar;fo\u003c/i\u003e, we use a potentially higher number of the additional domain elements, but their number still only depends on the query and thus has no effect on the data complexity (Vardi, 1982) of query evaluation. Our interpretation yields an \u003ci\u003eexecutable\u003c/i\u003e function \u003ci\u003eeval\u003c/i\u003e. The time complexity of \u003ci\u003eeval\u003c/i\u003e on a query is linear in the total number of tuples in the intermediate relations for the subqueries. Specifically, we build a database index to evaluate a conjunction. We also optimize the case of a negated subquery in a conjunction. Finally, we export code for the infinite domain of natural numbers.",
"authors": [
"Martin Raszyk"
],
"date": "2022-02-15",
- "id": 32,
+ "id": 36,
"link": "/entries/Eval_FO.html",
"permalink": "/entries/Eval_FO.html",
"shortname": "Eval_FO",
"title": "First-Order Query Evaluation",
"topic_links": [
"logic/general-logic/classical-first-order-logic"
],
"topics": [
"Logic/General logic/Classical first-order logic"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eRuntime monitoring (or runtime verification) is an approach to checking compliance of a system's execution with a specification (e.g., a temporal formula). The system's execution is logged into a \u003ci\u003etrace\u003c/i\u003e\u0026mdash;a sequence of time-points, each consisting of a time-stamp and observed events. A \u003ci\u003emonitor\u003c/i\u003e is an algorithm that produces \u003ci\u003everdicts\u003c/i\u003e on the satisfaction of a temporal formula on a trace.\u003c/p\u003e \u003cp\u003eWe formalize the time-stamps as an abstract algebraic structure satisfying certain assumptions. Instances of this structure include natural numbers, real numbers, and lexicographic combinations of them. We also include the formalization of a conversion from the abstract time domain introduced by Koymans (1990) to our time-stamps.\u003c/p\u003e \u003cp\u003eWe formalize a monitoring algorithm for metric dynamic logic, an extension of metric temporal logic with regular expressions. The monitor computes whether a given formula is satisfied at every position in an input trace of time-stamped events. Our monitor follows the multi-head paradigm: it reads the input simultaneously at multiple positions and moves its reading heads asynchronously. This mode of operation results in unprecedented time and space complexity guarantees for metric dynamic logic: The monitor's amortized time complexity to process a time-point and the monitor's space complexity neither depends on the event-rate, i.e., the number of events within a fixed time-unit, nor on the numeric constants occurring in the quantitative temporal constraints in the given formula.\u003c/p\u003e \u003cp\u003eThe multi-head monitoring algorithm for metric dynamic logic is reported in our paper ``Multi-Head Monitoring of Metric Dynamic Logic'' published at ATVA 2020. We have also formalized unpublished specialized algorithms for the temporal operators of metric temporal logic.\u003c/p\u003e",
"authors": [
"Martin Raszyk"
],
"date": "2022-02-13",
- "id": 33,
+ "id": 37,
"link": "/entries/VYDRA_MDL.html",
"permalink": "/entries/VYDRA_MDL.html",
"shortname": "VYDRA_MDL",
"title": "Multi-Head Monitoring of Metric Dynamic Logic",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThis entry contains a formalization of an algorithm enumerating all equivalence relations on an initial segment of the natural numbers. The approach follows the method described by Stanton and White \u003ca href=\"https://doi.org/10.1007/978-1-4612-4968-9\"\u003e[5,§ 1.5]\u003c/a\u003e using restricted growth functions.\u003c/p\u003e \u003cp\u003eThe algorithm internally enumerates restricted growth functions (as lists), whose equivalence kernels then form the equivalence relations. This has the advantage that the representation is compact and lookup of the relation reduces to a list lookup operation.\u003c/p\u003e \u003cp\u003eThe algorithm can also be used within a proof and an example application is included, where a sequence of variables is split by the possible partitions they can form.\u003c/p\u003e",
"authors": [
"Emin Karayel"
],
"date": "2022-02-04",
- "id": 34,
+ "id": 38,
"link": "/entries/Equivalence_Relation_Enumeration.html",
"permalink": "/entries/Equivalence_Relation_Enumeration.html",
"shortname": "Equivalence_Relation_Enumeration",
"title": "Enumeration of Equivalence Relations",
"topic_links": [
"mathematics/combinatorics",
"computer-science/algorithms/mathematical"
],
"topics": [
"Mathematics/Combinatorics",
"Computer science/Algorithms/Mathematical"
],
"used_by": 1
},
{
"abstract": "We formalize the weak and strong duality theorems of linear programming. For the strong duality theorem we provide three sufficient preconditions: both the primal problem and the dual problem are satisfiable, the primal problem is satisfiable and bounded, or the dual problem is satisfiable and bounded. The proofs are based on an existing formalization of Farkas' Lemma.",
"authors": [
"René Thiemann"
],
"date": "2022-02-03",
- "id": 35,
+ "id": 39,
"link": "/entries/LP_Duality.html",
"permalink": "/entries/LP_Duality.html",
"shortname": "LP_Duality",
"title": "Duality of Linear Programming",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "The notion of quasi-Borel spaces was introduced by \u003ca href=\"https://dl.acm.org/doi/10.5555/3329995.3330072\"\u003e Heunen et al\u003c/a\u003e. The theory provides a suitable denotational model for higher-order probabilistic programming languages with continuous distributions. This entry is a formalization of the theory of quasi-Borel spaces, including construction of quasi-Borel spaces (product, coproduct, function spaces), the adjunction between the category of measurable spaces and the category of quasi-Borel spaces, and the probability monad on quasi-Borel spaces. This entry also contains the formalization of the Bayesian regression presented in the work of Heunen et al. This work is a part of the work by same authors, \u003ci\u003eProgram Logic for Higher-Order Probabilistic Programs in Isabelle/HOL\u003c/i\u003e, which will be published in the proceedings of the 16th International Symposium on Functional and Logic Programming (FLOPS 2022).",
"authors": [
"Michikazu Hirata",
"Yasuhiko Minamide",
"Tetsuya Sato"
],
"date": "2022-02-03",
- "id": 36,
+ "id": 40,
"link": "/entries/Quasi_Borel_Spaces.html",
"permalink": "/entries/Quasi_Borel_Spaces.html",
"shortname": "Quasi_Borel_Spaces",
"title": "Quasi-Borel Spaces",
"topic_links": [
"computer-science/semantics-and-reasoning"
],
"topics": [
"Computer science/Semantics and reasoning"
],
"used_by": 0
},
{
"abstract": "The first-order theory of rewriting (FORT) is a decidable theory for linear variable-separated rewrite systems. The decision procedure is based on tree automata technique and an inference system presented in \"Certifying Proofs in the First-Order Theory of Rewriting\". This AFP entry provides a formalization of the underlying decision procedure. Moreover it allows to generate a function that can verify each inference step via the code generation facility of Isabelle/HOL. Additionally it contains the specification of a certificate language (that allows to state proofs in FORT) and a formalized function that allows to verify the validity of the proof. This gives software tool authors, that implement the decision procedure, the possibility to verify their output.",
"authors": [
"Alexander Lochmann",
"Bertram Felgenhauer"
],
"date": "2022-02-02",
- "id": 37,
+ "id": 41,
"link": "/entries/FO_Theory_Rewriting.html",
"permalink": "/entries/FO_Theory_Rewriting.html",
"shortname": "FO_Theory_Rewriting",
"title": "First-Order Theory of Rewriting",
"topic_links": [
"computer-science/automata-and-formal-languages",
"logic/rewriting",
"logic/proof-theory"
],
"topics": [
"Computer science/Automata and formal languages",
"Logic/Rewriting",
"Logic/Proof theory"
],
"used_by": 0
},
{
"abstract": "We formalize an automated theorem prover for first-order logic with functions. The proof search procedure is based on sequent calculus and we verify its soundness and completeness using the Abstract Soundness and Abstract Completeness theories. Our analytic completeness proof covers both open and closed formulas. Since our deterministic prover considers only the subset of terms relevant to proving a given sequent, we do so as well when building a countermodel from a failed proof. We formally connect our prover with the proof system and semantics of the existing SeCaV system. In particular, the prover's output can be post-processed in Haskell to generate human-readable SeCaV proofs which are also machine-verifiable proof certificates.",
"authors": [
"Asta Halkjær From",
"Frederik Krogsdal Jacobsen"
],
"date": "2022-01-31",
- "id": 38,
+ "id": 42,
"link": "/entries/FOL_Seq_Calc2.html",
"permalink": "/entries/FOL_Seq_Calc2.html",
"shortname": "FOL_Seq_Calc2",
"title": "A Sequent Calculus Prover for First-Order Logic with Functions",
"topic_links": [
"logic/general-logic/classical-first-order-logic",
"logic/proof-theory",
"logic/general-logic/mechanization-of-proofs"
],
"topics": [
"Logic/General logic/Classical first-order logic",
"Logic/Proof theory",
"Logic/General logic/Mechanization of proofs"
],
"used_by": 0
},
{
"abstract": "Young's inequality states that $$ ab \\leq \\int_0^a f(x)dx + \\int_0^b f^{-1}(y) dy $$ where $a\\geq 0$, $b\\geq 0$ and $f$ is strictly increasing and continuous. Its proof is formalised following \u003ca href=\"https://www.jstor.org/stable/2318018\"\u003ethe development\u003c/a\u003e by Cunningham and Grossman. Their idea is to make the intuitive, geometric folklore proof rigorous by reasoning about step functions. The lack of the Riemann integral makes the development longer than one would like, but their argument is reproduced faithfully.",
"authors": [
"Lawrence C. Paulson"
],
"date": "2022-01-31",
- "id": 39,
+ "id": 43,
"link": "/entries/Youngs_Inequality.html",
"permalink": "/entries/Youngs_Inequality.html",
"shortname": "Youngs_Inequality",
"title": "Young's Inequality for Increasing Functions",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eA well known result from algebra is that, on any field, there is exactly one polynomial of degree less than n interpolating n points [\u003ca href=\"https://doi.org/10.1017/CBO9780511814549\"\u003e1\u003c/a\u003e, §7].\u003c/p\u003e \u003cp\u003eThis entry contains a formalization of the above result, as well as the following generalization in the case of finite fields \u003ci\u003eF\u003c/i\u003e: There are \u003ci\u003e|F|\u003csup\u003em-n\u003c/sup\u003e\u003c/i\u003e polynomials of degree less than \u003ci\u003em ≥ n\u003c/i\u003e interpolating the same n points, where \u003ci\u003e|F|\u003c/i\u003e denotes the size of the domain of the field. To establish the result the entry also includes a formalization of Lagrange interpolation, which might be of independent interest.\u003c/p\u003e \u003cp\u003eThe formalized results are defined on the algebraic structures from HOL-Algebra, which are distinct from the type-class based structures defined in HOL. Note that there is an existing formalization for polynomial interpolation and, in particular, Lagrange interpolation by Thiemann and Yamada [\u003ca href=\"https://www.isa-afp.org/entries/Polynomial_Interpolation.html\"\u003e2\u003c/a\u003e] on the type-class based structures in HOL.\u003c/p\u003e",
"authors": [
"Emin Karayel"
],
"date": "2022-01-29",
- "id": 40,
+ "id": 44,
"link": "/entries/Interpolation_Polynomials_HOL_Algebra.html",
"permalink": "/entries/Interpolation_Polynomials_HOL_Algebra.html",
"shortname": "Interpolation_Polynomials_HOL_Algebra",
"title": "Interpolation Polynomials (in HOL-Algebra)",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 2
},
{
"abstract": "\u003cp\u003eThe median method is an amplification result for randomized approximation algorithms described in [\u003ca href=\"https://doi.org/10.1006/jcss.1997.1545\"\u003e1\u003c/a\u003e]. Given an algorithm whose result is in a desired interval with a probability larger than \u003ci\u003e1/2\u003c/i\u003e, it is possible to improve the success probability, by running the algorithm multiple times independently and using the median. In contrast to using the mean, the amplification of the success probability grows exponentially with the number of independent runs.\u003c/p\u003e \u003cp\u003eThis entry contains a formalization of the underlying theorem: Given a sequence of n independent random variables, which are in a desired interval with a probability \u003ci\u003e1/2 + a\u003c/i\u003e. Then their median will be in the desired interval with a probability of \u003ci\u003e1 − exp(−2a\u003csup\u003e2\u003c/sup\u003e n)\u003c/i\u003e. In particular, the success probability approaches \u003ci\u003e1\u003c/i\u003e exponentially with the number of variables.\u003c/p\u003e \u003cp\u003eIn addition to that, this entry also contains a proof that order-statistics of Borel-measurable random variables are themselves measurable and that generalized intervals in linearly ordered Borel-spaces are measurable.\u003c/p\u003e",
"authors": [
"Emin Karayel"
],
"date": "2022-01-25",
- "id": 41,
+ "id": 45,
"link": "/entries/Median_Method.html",
"permalink": "/entries/Median_Method.html",
"shortname": "Median_Method",
"title": "Median Method",
"topic_links": [
"mathematics/probability-theory"
],
"topics": [
"Mathematics/Probability theory"
],
"used_by": 1
},
{
"abstract": "Actuarial Mathematics is a theory in applied mathematics, which is mainly used for determining the prices of insurance products and evaluating the liability of a company associating with insurance contracts. It is related to calculus, probability theory and financial theory, etc. In this entry, I formalize the very basic part of Actuarial Mathematics in Isabelle/HOL. The first formalization is about the theory of interest which deals with interest rates, present value factors, an annuity certain, etc. I have already formalized the basic part of Actuarial Mathematics in Coq (https://github.com/Yosuke-Ito-345/Actuary). This entry is currently the partial translation and a little generalization of the Coq formalization. The further translation in Isabelle/HOL is now proceeding.",
"authors": [
"Yosuke Ito"
],
"date": "2022-01-23",
- "id": 42,
+ "id": 46,
"link": "/entries/Actuarial_Mathematics.html",
"permalink": "/entries/Actuarial_Mathematics.html",
"shortname": "Actuarial_Mathematics",
"title": "Actuarial Mathematics",
"topic_links": [
"mathematics/games-and-economics"
],
"topics": [
"Mathematics/Games and economics"
],
"used_by": 0
},
{
"abstract": "An elementary proof is formalised: that \u003cem\u003eexp r\u003c/em\u003e is irrational for every nonzero rational number \u003cem\u003er\u003c/em\u003e. The mathematical development comes from the well-known volume \u003cem\u003eProofs from THE BOOK\u003c/em\u003e, by Aigner and Ziegler, who credit the idea to Hermite. The development illustrates a number of basic Isabelle techniques: the manipulation of summations, the calculation of quite complicated derivatives and the estimation of integrals. We also see how to import another AFP entry (Stirling's formula). As for the theorem itself, note that a much stronger and more general result (the Hermite--Lindemann--Weierstraß transcendence theorem) is already available in the AFP.",
"authors": [
"Lawrence C. Paulson"
],
"date": "2022-01-08",
- "id": 43,
+ "id": 47,
"link": "/entries/Irrationals_From_THEBOOK.html",
"permalink": "/entries/Irrationals_From_THEBOOK.html",
"shortname": "Irrationals_From_THEBOOK",
"title": "Irrational numbers from THE BOOK",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "This is a formalization of the article \u003ci\u003eKnight's Tour Revisited\u003c/i\u003e by Cull and De Curtins where they prove the existence of a Knight's path for arbitrary \u003ci\u003en \u0026times; m\u003c/i\u003e-boards with \u003ci\u003emin(n,m) \u0026ge; 5\u003c/i\u003e. If \u003ci\u003en \u0026middot; m\u003c/i\u003e is even, then there exists a Knight's circuit. A Knight's Path is a sequence of moves of a Knight on a chessboard s.t. the Knight visits every square of a chessboard exactly once. Finding a Knight's path is a an instance of the Hamiltonian path problem. A Knight's circuit is a Knight's path, where additionally the Knight can move from the last square to the first square of the path, forming a loop. During the formalization two mistakes in the original proof were discovered. These mistakes are corrected in this formalization.",
"authors": [
"Lukas Koller"
],
"date": "2022-01-04",
- "id": 44,
+ "id": 48,
"link": "/entries/Knights_Tour.html",
"permalink": "/entries/Knights_Tour.html",
"shortname": "Knights_Tour",
"title": "Knight's Tour Revisited Revisited",
"topic_links": [
"mathematics/graph-theory"
],
"topics": [
"Mathematics/Graph theory"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eHyperdual numbers are ones with a real component and a number of infinitesimal components, usually written as $a_0 + a_1 \\cdot \\epsilon_1 + a_2 \\cdot \\epsilon_2 + a_3 \\cdot \\epsilon_1\\epsilon_2$. They have been proposed by \u003ca href=\"https://doi.org/10.2514/6.2011-886\"\u003eFike and Alonso\u003c/a\u003e in an approach to automatic differentiation.\u003c/p\u003e \u003cp\u003eIn this entry we formalise hyperdual numbers and their application to forward differentiation. We show them to be an instance of multiple algebraic structures and then, along with facts about twice-differentiability, we define what we call the hyperdual extensions of functions on real-normed fields. This extension formally represents the proposed way that the first and second derivatives of a function can be automatically calculated. We demonstrate it on the standard logistic function $f(x) = \\frac{1}{1 + e^{-x}}$ and also reproduce the example analytic function $f(x) = \\frac{e^x}{\\sqrt{sin(x)^3 + cos(x)^3}}$ used for demonstration by Fike and Alonso.\u003c/p\u003e",
"authors": [
"Filip Smola",
"Jacques D. Fleuriot"
],
"date": "2021-12-31",
- "id": 45,
+ "id": 49,
"link": "/entries/Hyperdual.html",
"permalink": "/entries/Hyperdual.html",
"shortname": "Hyperdual",
"title": "Hyperdual Numbers and Forward Differentiation",
"topic_links": [
"mathematics/algebra",
"mathematics/analysis"
],
"topics": [
"Mathematics/Algebra",
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "This is a stepwise refinement and proof of the Gale-Shapley stable matching (or marriage) algorithm down to executable code. Both a purely functional implementation based on lists and a functional implementation based on efficient arrays (provided by the Collections Framework in the AFP) are developed. The latter implementation runs in time \u003ci\u003eO(n\u003csup\u003e2\u003c/sup\u003e)\u003c/i\u003e where \u003ci\u003en\u003c/i\u003e is the cardinality of the two sets to be matched.",
"authors": [
"Tobias Nipkow"
],
"date": "2021-12-29",
- "id": 46,
+ "id": 50,
"link": "/entries/Gale_Shapley.html",
"permalink": "/entries/Gale_Shapley.html",
"shortname": "Gale_Shapley",
"title": "Gale-Shapley Algorithm",
"topic_links": [
"computer-science/algorithms",
"mathematics/games-and-economics"
],
"topics": [
"Computer science/Algorithms",
"Mathematics/Games and economics"
],
"used_by": 0
},
{
"abstract": "We formalise a proof of Roth's Theorem on Arithmetic Progressions, a major result in additive combinatorics on the existence of 3-term arithmetic progressions in subsets of natural numbers. To this end, we follow a proof using graph regularity. We employ our recent formalisation of Szemerédi's Regularity Lemma, a major result in extremal graph theory, which we use here to prove the Triangle Counting Lemma and the Triangle Removal Lemma. Our sources are Yufei Zhao's MIT lecture notes \"\u003ca href=\"https://yufeizhao.com/gtac/gtac.pdf\"\u003eGraph Theory and Additive Combinatorics\u003c/a\u003e\" (latest version \u003ca href=\"https://yufeizhao.com/gtacbook/\"\u003ehere\u003c/a\u003e) and W.T. Gowers's Cambridge lecture notes \"\u003ca href=\"https://www.dpmms.cam.ac.uk/~par31/notes/tic.pdf\"\u003eTopics in Combinatorics\u003c/a\u003e\". We also refer to the University of Georgia notes by Stephanie Bell and Will Grodzicki, \"\u003ca href=\"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.432.327\"\u003eUsing Szemerédi's Regularity Lemma to Prove Roth's Theorem\u003c/a\u003e\".",
"authors": [
"Chelsea Edmonds",
"Angeliki Koutsoukou-Argyraki",
"Lawrence C. Paulson"
],
"date": "2021-12-28",
- "id": 47,
+ "id": 51,
"link": "/entries/Roth_Arithmetic_Progressions.html",
"permalink": "/entries/Roth_Arithmetic_Progressions.html",
"shortname": "Roth_Arithmetic_Progressions",
"title": "Roth's Theorem on Arithmetic Progressions",
"topic_links": [
"mathematics/graph-theory",
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Graph theory",
"Mathematics/Combinatorics"
],
"used_by": 0
},
{
"abstract": "We present a formalization of Markov Decision Processes with rewards. In particular we first build on Hölzl's formalization of MDPs (AFP entry: Markov_Models) and extend them with rewards. We proceed with an analysis of the expected total discounted reward criterion for infinite horizon MDPs. The central result is the construction of the iteration rule for the Bellman operator. We prove the optimality equations for this operator and show the existence of an optimal stationary deterministic solution. The analysis can be used to obtain dynamic programming algorithms such as value iteration and policy iteration to solve MDPs with formal guarantees. Our formalization is based on chapters 5 and 6 in Puterman's book \"Markov Decision Processes: Discrete Stochastic Dynamic Programming\".",
"authors": [
"Maximilian Schäffeler",
"Mohammad Abdulaziz"
],
"date": "2021-12-16",
- "id": 48,
+ "id": 52,
"link": "/entries/MDP-Rewards.html",
"permalink": "/entries/MDP-Rewards.html",
"shortname": "MDP-Rewards",
"title": "Markov Decision Processes with Rewards",
"topic_links": [
"mathematics/probability-theory"
],
"topics": [
"Mathematics/Probability theory"
],
"used_by": 1
},
{
"abstract": "We present a formalization of algorithms for solving Markov Decision Processes (MDPs) with formal guarantees on the optimality of their solutions. In particular we build on our analysis of the Bellman operator for discounted infinite horizon MDPs. From the iterator rule on the Bellman operator we directly derive executable value iteration and policy iteration algorithms to iteratively solve finite MDPs. We also prove correct optimized versions of value iteration that use matrix splittings to improve the convergence rate. In particular, we formally verify Gauss-Seidel value iteration and modified policy iteration. The algorithms are evaluated on two standard examples from the literature, namely, inventory management and gridworld. Our formalization covers most of chapter 6 in Puterman's book \"Markov Decision Processes: Discrete Stochastic Dynamic Programming\".",
"authors": [
"Maximilian Schäffeler",
"Mohammad Abdulaziz"
],
"date": "2021-12-16",
- "id": 49,
+ "id": 53,
"link": "/entries/MDP-Algorithms.html",
"permalink": "/entries/MDP-Algorithms.html",
"shortname": "MDP-Algorithms",
"title": "Verified Algorithms for Solving Markov Decision Processes",
"topic_links": [
"mathematics/probability-theory",
"computer-science/algorithms"
],
"topics": [
"Mathematics/Probability theory",
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "Tree automata have good closure properties and therefore a commonly used to prove/disprove properties. This formalization contains among other things the proofs of many closure properties of tree automata (anchored) ground tree transducers and regular relations. Additionally it includes the well known pumping lemma and a lifting of the Myhill Nerode theorem for regular languages to tree languages. We want to mention the existence of a \u003ca href=\"https://www.isa-afp.org/entries/Tree-Automata.html\"\u003etree automata APF-entry\u003c/a\u003e developed by Peter Lammich. His work is based on epsilon free top-down tree automata, while this entry builds on bottom-up tree auotamta with epsilon transitions. Moreover our formalization relies on the \u003ca href=\"https://www.isa-afp.org/entries/Collections.html\"\u003eCollections Framework\u003c/a\u003e, also by Peter Lammich, to obtain efficient code. All proven constructions of the closure properties are exportable using the Isabelle/HOL code generation facilities.",
"authors": [
"Alexander Lochmann",
"Bertram Felgenhauer",
"Christian Sternagel",
"René Thiemann",
"Thomas Sternagel"
],
"date": "2021-12-15",
- "id": 50,
+ "id": 54,
"link": "/entries/Regular_Tree_Relations.html",
"permalink": "/entries/Regular_Tree_Relations.html",
"shortname": "Regular_Tree_Relations",
"title": "Regular Tree Relations",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 2
},
{
"abstract": "In this work we formalise the isomorphism between simplicial complexes of dimension $n$ and monotone Boolean functions in $n$ variables, mainly following the definitions and results as introduced by N. A. Scoville. We also take advantage of the AFP representation of \u003ca href=\"https://www.isa-afp.org/entries/ROBDD.html\"\u003eROBDD\u003c/a\u003e (Reduced Ordered Binary Decision Diagrams) to compute the ROBDD representation of a given simplicial complex (by means of the isomorphism to Boolean functions). Some examples of simplicial complexes and associated Boolean functions are also presented.",
"authors": [
"Jesús Aransay",
"Alejandro del Campo",
"Julius Michaelis"
],
"date": "2021-11-29",
- "id": 51,
+ "id": 55,
"link": "/entries/Simplicial_complexes_and_boolean_functions.html",
"permalink": "/entries/Simplicial_complexes_and_boolean_functions.html",
"shortname": "Simplicial_complexes_and_boolean_functions",
"title": "Simplicial Complexes and Boolean functions",
"topic_links": [
"mathematics/topology"
],
"topics": [
"Mathematics/Topology"
],
"used_by": 0
},
{
"abstract": "The \u003cem\u003evan Emde Boas tree\u003c/em\u003e or \u003cem\u003evan Emde Boas priority queue\u003c/em\u003e is a data structure supporting membership test, insertion, predecessor and successor search, minimum and maximum determination and deletion in \u003cem\u003eO(log log U)\u003c/em\u003e time, where \u003cem\u003eU = 0,...,2\u003csup\u003en-1\u003c/sup\u003e\u003c/em\u003e is the overall range to be considered. \u003cp/\u003e The presented formalization follows Chapter 20 of the popular \u003cem\u003eIntroduction to Algorithms (3rd ed.)\u003c/em\u003e by Cormen, Leiserson, Rivest and Stein (CLRS), extending the list of formally verified CLRS algorithms. Our current formalization is based on the first author's bachelor's thesis. \u003cp/\u003e First, we prove correct a \u003cem\u003efunctional\u003c/em\u003e implementation, w.r.t. an abstract data type for sets. Apart from functional correctness, we show a resource bound, and runtime bounds w.r.t. manually defined timing functions for the operations. \u003cp/\u003e Next, we refine the operations to Imperative HOL with time, and show correctness and complexity. This yields a practically more efficient implementation, and eliminates the manually defined timing functions from the trusted base of the proof.",
"authors": [
"Thomas Ammer",
"Peter Lammich"
],
"date": "2021-11-23",
- "id": 52,
+ "id": 56,
"link": "/entries/Van_Emde_Boas_Trees.html",
"permalink": "/entries/Van_Emde_Boas_Trees.html",
"shortname": "Van_Emde_Boas_Trees",
"title": "van Emde Boas Trees",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "\"Foundations of Geometry\" is a mathematical book written by Hilbert in 1899. This entry is a complete formalization of \"Incidence\" (excluding cubic axioms), \"Order\" and \"Congruence\" (excluding point sequences) of the axioms constructed in this book. In addition, the theorem of the problem about the part that is treated implicitly and is not clearly stated in it is being carried out in parallel.",
"authors": [
"Fumiya Iwama"
],
"date": "2021-11-22",
- "id": 53,
+ "id": 57,
"link": "/entries/Foundation_of_geometry.html",
"permalink": "/entries/Foundation_of_geometry.html",
"shortname": "Foundation_of_geometry",
"title": "Foundation of geometry in planes, and some complements: Excluding the parallel axioms",
"topic_links": [
"mathematics/geometry"
],
"topics": [
"Mathematics/Geometry"
],
"used_by": 0
},
{
"abstract": "In this work we formalize the Hahn decomposition theorem for signed measures, namely that any measure space for a signed measure can be decomposed into a positive and a negative set, where every measurable subset of the positive one has a positive measure, and every measurable subset of the negative one has a negative measure. We also formalize the Jordan decomposition theorem as a corollary, which states that the signed measure under consideration admits a unique decomposition into a difference of two positive measures, at least one of which is finite.",
"authors": [
"Marie Cousin",
"Mnacho Echenim",
"Hervé Guiol"
],
"date": "2021-11-19",
- "id": 54,
+ "id": 58,
"link": "/entries/Hahn_Jordan_Decomposition.html",
"permalink": "/entries/Hahn_Jordan_Decomposition.html",
"shortname": "Hahn_Jordan_Decomposition",
"title": "The Hahn and Jordan Decomposition Theorems",
"topic_links": [
"mathematics/measure-and-integration"
],
"topics": [
"Mathematics/Measure and integration"
],
"used_by": 0
},
{
"abstract": "We present a shallow embedding of public announcement logic (PAL) with relativized general knowledge in HOL. We then use PAL to obtain an elegant encoding of the wise men puzzle, which we solve automatically using sledgehammer.",
"authors": [
"Christoph Benzmüller",
"Sebastian Reiche"
],
"date": "2021-11-08",
- "id": 55,
+ "id": 59,
"link": "/entries/PAL.html",
"permalink": "/entries/PAL.html",
"shortname": "PAL",
"title": "Automating Public Announcement Logic and the Wise Men Puzzle in Isabelle/HOL",
"topic_links": [
"logic/general-logic/logics-of-knowledge-and-belief"
],
"topics": [
"Logic/General logic/Logics of knowledge and belief"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eSimplified variants of Gödel's ontological argument are explored. Among those is a particularly interesting simplified argument which is (i) valid already in basic modal logics K or KT, (ii) which does not suffer from modal collapse, and (iii) which avoids the rather complex predicates of essence (Ess.) and necessary existence (NE) as used by Gödel. \u003c/p\u003e\u003cp\u003e Whether the presented variants increase or decrease the attractiveness and persuasiveness of the ontological argument is a question I would like to pass on to philosophy and theology. \u003c/p\u003e",
"authors": [
"Christoph Benzmüller"
],
"date": "2021-11-08",
- "id": 56,
+ "id": 60,
"link": "/entries/SimplifiedOntologicalArgument.html",
"permalink": "/entries/SimplifiedOntologicalArgument.html",
"shortname": "SimplifiedOntologicalArgument",
"title": "Exploring Simplified Variants of Gödel’s Ontological Argument in Isabelle/HOL",
"topic_links": [
"logic/philosophical-aspects",
"logic/general-logic/modal-logic"
],
"topics": [
"Logic/Philosophical aspects",
"Logic/General logic/Modal logic"
],
"used_by": 0
},
{
"abstract": "The AFP already contains a verified implementation of algebraic numbers. However, it is has a severe limitation in its factorization algorithm of real and complex polynomials: the factorization is only guaranteed to succeed if the coefficients of the polynomial are rational numbers. In this work, we verify an algorithm to factor all real and complex polynomials whose coefficients are algebraic. The existence of such an algorithm proves in a constructive way that the set of complex algebraic numbers is algebraically closed. Internally, the algorithm is based on resultants of multivariate polynomials and an approximation algorithm using interval arithmetic.",
"authors": [
"Manuel Eberl",
"René Thiemann"
],
"date": "2021-11-08",
- "id": 57,
+ "id": 61,
"link": "/entries/Factor_Algebraic_Polynomial.html",
"permalink": "/entries/Factor_Algebraic_Polynomial.html",
"shortname": "Factor_Algebraic_Polynomial",
"title": "Factorization of Polynomials with Algebraic Coefficients",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 2
},
{
"abstract": "In this formalisation, we construct real exponents as the limits of sequences of rational exponents. In particular, if $a \\ge 1$ and $x \\in \\mathbb{R}$, we choose an increasing rational sequence $r_n$ such that $\\lim_{n\\to\\infty} {r_n} = x$. Then the sequence $a^{r_n}$ is increasing and if $r$ is any rational number such that $r \u003e x$, $a^{r_n}$ is bounded above by $a^r$. By the convergence criterion for monotone sequences, $a^{r_n}$ converges. We define $a^ x = \\lim_{n\\to\\infty} a^{r_n}$ and show that it has the expected properties (for $a \\ge 0$). This particular construction of real exponents is needed instead of the usual one using the natural logarithm and exponential functions (which already exists in Isabelle) to support our mechanical derivation of Euler's exponential series as an ``infinite polynomial\". Aside from helping us avoid circular reasoning, this is, as far as we are aware, the first time real exponents are mechanised in this way within a proof assistant.",
"authors": [
"Jacques D. Fleuriot"
],
"date": "2021-11-08",
- "id": 58,
+ "id": 62,
"link": "/entries/Real_Power.html",
"permalink": "/entries/Real_Power.html",
"shortname": "Real_Power",
"title": "Real Exponents as the Limits of Sequences of Rational Exponents",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "\u003ca href=\"https://en.wikipedia.org/wiki/Szemerédi_regularity_lemma\"\u003eSzemerédi's regularity lemma\u003c/a\u003e is a key result in the study of large graphs. It asserts the existence of an upper bound on the number of parts the vertices of a graph need to be partitioned into such that the edges between the parts are random in a certain sense. This bound depends only on the desired precision and not on the graph itself, in the spirit of Ramsey's theorem. The formalisation follows online course notes by \u003ca href=\"https://www.dpmms.cam.ac.uk/~par31/notes/tic.pdf\"\u003eTim Gowers\u003c/a\u003e and \u003ca href=\"https://yufeizhao.com/gtacbook/\"\u003eYufei Zhao\u003c/a\u003e.",
"authors": [
"Chelsea Edmonds",
"Angeliki Koutsoukou-Argyraki",
"Lawrence C. Paulson"
],
"date": "2021-11-05",
- "id": 59,
+ "id": 63,
"link": "/entries/Szemeredi_Regularity.html",
"permalink": "/entries/Szemeredi_Regularity.html",
"shortname": "Szemeredi_Regularity",
"title": "Szemerédi's Regularity Lemma",
"topic_links": [
"mathematics/graph-theory",
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Graph theory",
"Mathematics/Combinatorics"
],
"used_by": 1
},
{
"abstract": "A formalization of the theory of quantum and classical registers as developed by (Unruh, Quantum and Classical Registers). In a nutshell, a register refers to a part of a larger memory or system that can be accessed independently. Registers can be constructed from other registers and several (compatible) registers can be composed. This formalization develops both the generic theory of registers as well as specific instantiations for classical and quantum registers.",
"authors": [
"Dominique Unruh"
],
"date": "2021-10-28",
- "id": 60,
+ "id": 64,
"link": "/entries/Registers.html",
"permalink": "/entries/Registers.html",
"shortname": "Registers",
"title": "Quantum and Classical Registers",
"topic_links": [
"computer-science/algorithms/quantum-computing",
"computer-science/programming-languages/logics",
"computer-science/semantics-and-reasoning"
],
"topics": [
"Computer science/Algorithms/Quantum computing",
"Computer science/Programming languages/Logics",
"Computer science/Semantics and reasoning"
],
"used_by": 0
},
{
"abstract": "The 1985 paper by Carlos Alchourrón, Peter Gärdenfors, and David Makinson (AGM), “On the Logic of Theory Change: Partial Meet Contraction and Revision Functions” launches a large and rapidly growing literature that employs formal models and logics to handle changing beliefs of a rational agent and to take into account new piece of information observed by this agent. In 2011, a review book titled \"AGM 25 Years: Twenty-Five Years of Research in Belief Change\" was edited to summarize the first twenty five years of works based on AGM. This HOL-based AFP entry is a faithful formalization of the AGM operators (e.g. contraction, revision, remainder ...) axiomatized in the original paper. It also contains the proofs of all the theorems stated in the paper that show how these operators combine. Both proofs of Harper and Levi identities are established.",
"authors": [
"Valentin Fouillard",
"Safouan Taha",
"Frédéric Boulanger",
"Nicolas Sabouret"
],
"date": "2021-10-19",
- "id": 61,
+ "id": 65,
"link": "/entries/Belief_Revision.html",
"permalink": "/entries/Belief_Revision.html",
"shortname": "Belief_Revision",
"title": "Belief Revision Theory",
"topic_links": [
"logic/general-logic/logics-of-knowledge-and-belief"
],
"topics": [
"Logic/General logic/Logics of knowledge and belief"
],
"used_by": 0
},
{
"abstract": "This AFP entry provides semantics for roughly 120 different X86-64 assembly instructions. These instructions include various moves, arithmetic/logical operations, jumps, call/return, SIMD extensions and others. External functions are supported by allowing a user to provide custom semantics for these calls. Floating-point operations are mapped to uninterpreted functions. The model provides semantics for register aliasing and a byte-level little-endian memory model. The semantics are purposefully incomplete, but overapproximative. For example, the precise effect of flags may be undefined for certain instructions, or instructions may simply have no semantics at all. In those cases, the semantics are mapped to universally quantified uninterpreted terms from a locale. Second, this entry provides a method to symbolic execution of basic blocks. The method, called ''se_step'' (for: symbolic execution step) fetches an instruction and updates the current symbolic state while keeping track of assumptions made over the memory model. A key component is a set of theorems that prove how reads from memory resolve after writes have occurred. Thirdly, this entry provides a parser that allows the user to copy-paste the output of the standard disassembly tool objdump into Isabelle/HOL. A couple small and explanatory examples are included, including functions from the word count program. Several examples can be supplied upon request (they are not included due to the running time of verification): functions from the floating-point modulo function from FDLIBM, the GLIBC strlen function and the CoreUtils SHA256 implementation.",
"authors": [
"Freek Verbeek",
"Abhijith Bharadwaj",
"Joshua Bockenek",
"Ian Roessle",
"Timmy Weerwag",
"Binoy Ravindran"
],
"date": "2021-10-13",
- "id": 62,
+ "id": 66,
"link": "/entries/X86_Semantics.html",
"permalink": "/entries/X86_Semantics.html",
"shortname": "X86_Semantics",
"title": "X86 instruction semantics and basic block symbolic execution",
"topic_links": [
"computer-science/hardware",
"computer-science/semantics-and-reasoning"
],
"topics": [
"Computer science/Hardware",
"Computer science/Semantics and reasoning"
],
"used_by": 0
},
{
"abstract": "We study models of state-based non-deterministic sequential computations and describe them using algebras. We propose algebras that describe iteration for strict and non-strict computations. They unify computation models which differ in the fixpoints used to represent iteration. We propose algebras that describe the infinite executions of a computation. They lead to a unified approximation order and results that connect fixpoints in the approximation and refinement orders. This unifies the semantics of recursion for a range of computation models. We propose algebras that describe preconditions and the effect of while-programs under postconditions. They unify correctness statements in two dimensions: one statement applies in various computation models to various correctness claims.",
"authors": [
"Walter Guttmann"
],
"date": "2021-10-12",
- "id": 63,
+ "id": 67,
"link": "/entries/Correctness_Algebras.html",
"permalink": "/entries/Correctness_Algebras.html",
"shortname": "Correctness_Algebras",
"title": "Algebras for Iteration, Infinite Executions and Correctness of Sequential Computations",
"topic_links": [
"computer-science/programming-languages/logics"
],
"topics": [
"Computer science/Programming languages/Logics"
],
"used_by": 0
},
{
"abstract": "This paper presents a formally verified quantifier elimination (QE) algorithm for first-order real arithmetic by linear and quadratic virtual substitution (VS) in Isabelle/HOL. The Tarski-Seidenberg theorem established that the first-order logic of real arithmetic is decidable by QE. However, in practice, QE algorithms are highly complicated and often combine multiple methods for performance. VS is a practically successful method for QE that targets formulas with low-degree polynomials. To our knowledge, this is the first work to formalize VS for quadratic real arithmetic including inequalities. The proofs necessitate various contributions to the existing multivariate polynomial libraries in Isabelle/HOL. Our framework is modularized and easily expandable (to facilitate integrating future optimizations), and could serve as a basis for developing practical general-purpose QE algorithms. Further, as our formalization is designed with practicality in mind, we export our development to SML and test the resulting code on 378 benchmarks from the literature, comparing to Redlog, Z3, Wolfram Engine, and SMT-RAT. This identified inconsistencies in some tools, underscoring the significance of a verified approach for the intricacies of real arithmetic.",
"authors": [
"Matias Scharager",
"Katherine Cordwell",
"Stefan Mitsch",
"André Platzer"
],
"date": "2021-10-02",
- "id": 64,
+ "id": 68,
"link": "/entries/Virtual_Substitution.html",
"permalink": "/entries/Virtual_Substitution.html",
"shortname": "Virtual_Substitution",
"title": "Verified Quadratic Virtual Substitution for Real Arithmetic",
"topic_links": [
"computer-science/algorithms/mathematical"
],
"topics": [
"Computer science/Algorithms/Mathematical"
],
"used_by": 0
},
{
"abstract": "This work is a formalization of the soundness and completeness of an axiomatic system for first-order logic. The proof system is based on System Q1 by Smullyan and the completeness proof follows his textbook \"First-Order Logic\" (Springer-Verlag 1968). The completeness proof is in the Henkin style where a consistent set is extended to a maximal consistent set using Lindenbaum's construction and Henkin witnesses are added during the construction to ensure saturation as well. The resulting set is a Hintikka set which, by the model existence theorem, is satisfiable in the Herbrand universe.",
"authors": [
"Asta Halkjær From"
],
"date": "2021-09-24",
- "id": 65,
+ "id": 69,
"link": "/entries/FOL_Axiomatic.html",
"permalink": "/entries/FOL_Axiomatic.html",
"shortname": "FOL_Axiomatic",
"title": "Soundness and Completeness of an Axiomatic System for First-Order Logic",
"topic_links": [
"logic/general-logic/classical-first-order-logic",
"logic/proof-theory"
],
"topics": [
"Logic/General logic/Classical first-order logic",
"Logic/Proof theory"
],
"used_by": 0
},
{
"abstract": "We present a formalization of bounded operators on complex vector spaces. Our formalization contains material on complex vector spaces (normed spaces, Banach spaces, Hilbert spaces) that complements and goes beyond the developments of real vectors spaces in the Isabelle/HOL standard library. We define the type of bounded operators between complex vector spaces (\u003cem\u003ecblinfun\u003c/em\u003e) and develop the theory of unitaries, projectors, extension of bounded linear functions (BLT theorem), adjoints, Loewner order, closed subspaces and more. For the finite-dimensional case, we provide code generation support by identifying finite-dimensional operators with matrices as formalized in the \u003ca href=\"Jordan_Normal_Form.html\"\u003eJordan_Normal_Form\u003c/a\u003e AFP entry.",
"authors": [
"José Manuel Rodríguez Caballero",
"Dominique Unruh"
],
"date": "2021-09-18",
- "id": 66,
+ "id": 70,
"link": "/entries/Complex_Bounded_Operators.html",
"permalink": "/entries/Complex_Bounded_Operators.html",
"shortname": "Complex_Bounded_Operators",
"title": "Complex Bounded Operators",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 1
},
{
"abstract": "We define the weighted path order (WPO) and formalize several properties such as strong normalization, the subterm property, and closure properties under substitutions and contexts. Our definition of WPO extends the original definition by also permitting multiset comparisons of arguments instead of just lexicographic extensions. Therefore, our WPO not only subsumes lexicographic path orders (LPO), but also recursive path orders (RPO). We formally prove these subsumptions and therefore all of the mentioned properties of WPO are automatically transferable to LPO and RPO as well. Such a transformation is not required for Knuth\u0026ndash;Bendix orders (KBO), since they have already been formalized. Nevertheless, we still provide a proof that WPO subsumes KBO and thereby underline the generality of WPO.",
"authors": [
"Christian Sternagel",
"René Thiemann",
"Akihisa Yamada"
],
"date": "2021-09-16",
- "id": 67,
+ "id": 71,
"link": "/entries/Weighted_Path_Order.html",
"permalink": "/entries/Weighted_Path_Order.html",
"shortname": "Weighted_Path_Order",
"title": "A Formalization of Weighted Path Orders and Recursive Path Orders",
"topic_links": [
"logic/rewriting"
],
"topics": [
"Logic/Rewriting"
],
"used_by": 1
},
{
"abstract": "This article provides a foundational framework for the formalization of category theory in the object logic ZFC in HOL of the formal proof assistant Isabelle. More specifically, this article provides a formalization of canonical set-theoretic constructions internalized in the type \u003ci\u003eV\u003c/i\u003e associated with the ZFC in HOL, establishes a design pattern for the formalization of mathematical structures using sequences and locales, and showcases the developed infrastructure by providing formalizations of the elementary theories of digraphs and semicategories. The methodology chosen for the formalization of the theories of digraphs and semicategories (and categories in future articles) rests on the ideas that were originally expressed in the article \u003ci\u003eSet-Theoretical Foundations of Category Theory\u003c/i\u003e written by Solomon Feferman and Georg Kreisel. Thus, in the context of this work, each of the aforementioned mathematical structures is represented as a term of the type \u003ci\u003eV\u003c/i\u003e embedded into a stage of the von Neumann hierarchy.",
"authors": [
"Mihails Milehins"
],
"date": "2021-09-06",
- "id": 68,
+ "id": 72,
"link": "/entries/CZH_Foundations.html",
"permalink": "/entries/CZH_Foundations.html",
"shortname": "CZH_Foundations",
"title": "Category Theory for ZFC in HOL I: Foundations: Design Patterns, Set Theory, Digraphs, Semicategories",
"topic_links": [
"mathematics/category-theory",
"logic/set-theory"
],
"topics": [
"Mathematics/Category theory",
"Logic/Set theory"
],
"used_by": 1
},
{
"abstract": "This article provides a formalization of the foundations of the theory of 1-categories in the object logic ZFC in HOL of the formal proof assistant Isabelle. The article builds upon the foundations that were established in the AFP entry \u003ci\u003eCategory Theory for ZFC in HOL I: Foundations: Design Patterns, Set Theory, Digraphs, Semicategories\u003c/i\u003e.",
"authors": [
"Mihails Milehins"
],
"date": "2021-09-06",
- "id": 69,
+ "id": 73,
"link": "/entries/CZH_Elementary_Categories.html",
"permalink": "/entries/CZH_Elementary_Categories.html",
"shortname": "CZH_Elementary_Categories",
"title": "Category Theory for ZFC in HOL II: Elementary Theory of 1-Categories",
"topic_links": [
"mathematics/category-theory"
],
"topics": [
"Mathematics/Category theory"
],
"used_by": 1
},
{
"abstract": "The article provides a formalization of elements of the theory of universal constructions for 1-categories (such as limits, adjoints and Kan extensions) in the object logic ZFC in HOL of the formal proof assistant Isabelle. The article builds upon the foundations established in the AFP entry \u003ci\u003eCategory Theory for ZFC in HOL II: Elementary Theory of 1-Categories\u003c/i\u003e.",
"authors": [
"Mihails Milehins"
],
"date": "2021-09-06",
- "id": 70,
+ "id": 74,
"link": "/entries/CZH_Universal_Constructions.html",
"permalink": "/entries/CZH_Universal_Constructions.html",
"shortname": "CZH_Universal_Constructions",
"title": "Category Theory for ZFC in HOL III: Universal Constructions",
"topic_links": [
"mathematics/category-theory"
],
"topics": [
"Mathematics/Category theory"
],
"used_by": 0
},
{
"abstract": "The article provides a collection of experimental general-purpose proof methods for the object logic Isabelle/HOL of the formal proof assistant Isabelle. The methods in the collection offer functionality that is similar to certain aspects of the functionality provided by the standard proof methods of Isabelle that combine classical reasoning and rewriting, such as the method \u003ci\u003eauto\u003c/i\u003e, but use a different approach for rewriting. More specifically, these methods allow for the side conditions of the rewrite rules to be solved via intro-resolution.",
"authors": [
"Mihails Milehins"
],
"date": "2021-09-06",
- "id": 71,
+ "id": 75,
"link": "/entries/Conditional_Simplification.html",
"permalink": "/entries/Conditional_Simplification.html",
"shortname": "Conditional_Simplification",
"title": "Conditional Simplification",
"topic_links": [
"tools"
],
"topics": [
"Tools"
],
"used_by": 1
},
{
"abstract": "This article provides a collection of experimental utilities for unoverloading of definitions and synthesis of conditional transfer rules for the object logic Isabelle/HOL of the formal proof assistant Isabelle written in Isabelle/ML.",
"authors": [
"Mihails Milehins"
],
"date": "2021-09-06",
- "id": 72,
+ "id": 76,
"link": "/entries/Conditional_Transfer_Rule.html",
"permalink": "/entries/Conditional_Transfer_Rule.html",
"shortname": "Conditional_Transfer_Rule",
"title": "Conditional Transfer Rule",
"topic_links": [
"tools"
],
"topics": [
"Tools"
],
"used_by": 1
},
{
"abstract": "In their article titled \u003ci\u003eFrom Types to Sets by Local Type Definitions in Higher-Order Logic\u003c/i\u003e and published in the proceedings of the conference \u003ci\u003eInteractive Theorem Proving\u003c/i\u003e in 2016, Ondřej Kunčar and Andrei Popescu propose an extension of the logic Isabelle/HOL and an associated algorithm for the relativization of the \u003ci\u003etype-based theorems\u003c/i\u003e to more flexible \u003ci\u003eset-based theorems\u003c/i\u003e, collectively referred to as \u003ci\u003eTypes-To-Sets\u003c/i\u003e. One of the aims of their work was to open an opportunity for the development of a software tool for applied relativization in the implementation of the logic Isabelle/HOL of the proof assistant Isabelle. In this article, we provide a prototype of a software framework for the interactive automated relativization of theorems in Isabelle/HOL, developed as an extension of the proof language Isabelle/Isar. The software framework incorporates the implementation of the proposed extension of the logic, and builds upon some of the ideas for further work expressed in the original article on Types-To-Sets by Ondřej Kunčar and Andrei Popescu and the subsequent article \u003ci\u003eSmooth Manifolds and Types to Sets for Linear Algebra in Isabelle/HOL\u003c/i\u003e that was written by Fabian Immler and Bohua Zhan and published in the proceedings of the \u003ci\u003eInternational Conference on Certified Programs and Proofs\u003c/i\u003e in 2019.",
"authors": [
"Mihails Milehins"
],
"date": "2021-09-06",
- "id": 73,
+ "id": 77,
"link": "/entries/Types_To_Sets_Extension.html",
"permalink": "/entries/Types_To_Sets_Extension.html",
"shortname": "Types_To_Sets_Extension",
"title": "Extension of Types-To-Sets",
"topic_links": [
"tools"
],
"topics": [
"Tools"
],
"used_by": 0
},
{
"abstract": "The article provides the command \u003cb\u003emk_ide\u003c/b\u003e for the object logic Isabelle/HOL of the formal proof assistant Isabelle. The command \u003cb\u003emk_ide\u003c/b\u003e enables the automated synthesis of the introduction, destruction and elimination rules from arbitrary definitions of constant predicates stated in Isabelle/HOL.",
"authors": [
"Mihails Milehins"
],
"date": "2021-09-06",
- "id": 74,
+ "id": 78,
"link": "/entries/Intro_Dest_Elim.html",
"permalink": "/entries/Intro_Dest_Elim.html",
"shortname": "Intro_Dest_Elim",
"title": "IDE: Introduction, Destruction, Elimination",
"topic_links": [
"tools"
],
"topics": [
"Tools"
],
"used_by": 1
},
{
"abstract": "This entry formalises the fast iterative algorithm for computing dominators due to Cooper, Harvey and Kennedy. It gives a specification of computing dominators on a control flow graph where each node refers to its reverse post order number. A semilattice of reversed-ordered list which represents dominators is built and a Kildall-style algorithm on the semilattice is defined for computing dominators. Finally the soundness and completeness of the algorithm are proved w.r.t. the specification.",
"authors": [
"Nan Jiang"
],
"date": "2021-09-05",
- "id": 75,
+ "id": 79,
"link": "/entries/Dominance_CHK.html",
"permalink": "/entries/Dominance_CHK.html",
"shortname": "Dominance_CHK",
"title": "A data flow analysis algorithm for computing dominators",
"topic_links": [
"computer-science/programming-languages/static-analysis"
],
"topics": [
"Computer science/Programming languages/Static analysis"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eWe formalize Cardano's formula to solve a cubic equation $$ax^3 + bx^2 + cx + d = 0,$$ as well as Ferrari's formula to solve a quartic equation. We further turn both formulas into executable algorithms based on the algebraic number implementation in the AFP. To this end we also slightly extended this library, namely by making the minimal polynomial of an algebraic number executable, and by defining and implementing $n$-th roots of complex numbers.\u003c/p\u003e",
"authors": [
"René Thiemann"
],
"date": "2021-09-03",
- "id": 76,
+ "id": 80,
"link": "/entries/Cubic_Quartic_Equations.html",
"permalink": "/entries/Cubic_Quartic_Equations.html",
"shortname": "Cubic_Quartic_Equations",
"title": "Solving Cubic and Quartic Equations",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "In the context of formal cryptographic protocol verification, logging-independent message anonymity is the property for a given message to remain anonymous despite the attacker's capability of mapping messages of that sort to agents based on some intrinsic feature of such messages, rather than by logging the messages exchanged by legitimate agents as with logging-dependent message anonymity. This paper illustrates how logging-independent message anonymity can be formalized according to the relational method for formal protocol verification by considering a real-world protocol, namely the Restricted Identification one by the BSI. This sample model is used to verify that the pseudonymous identifiers output by user identification tokens remain anonymous under the expected conditions.",
"authors": [
"Pasquale Noce"
],
"date": "2021-08-26",
- "id": 77,
+ "id": 81,
"link": "/entries/Logging_Independent_Anonymity.html",
"permalink": "/entries/Logging_Independent_Anonymity.html",
"shortname": "Logging_Independent_Anonymity",
"title": "Logging-independent Message Anonymity in the Relational Method",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "The Descartes test based on Bernstein coefficients and Descartes’ rule of signs effectively (over-)approximates the number of real roots of a univariate polynomial over an interval. In this entry we formalise the theorem of three circles, which gives sufficient conditions for when the Descartes test returns 0 or 1. This is the first step for efficient root isolation.",
"authors": [
"Fox Thomson",
"Wenda Li"
],
"date": "2021-08-21",
- "id": 78,
+ "id": 82,
"link": "/entries/Three_Circles.html",
"permalink": "/entries/Three_Circles.html",
"shortname": "Three_Circles",
"title": "The Theorem of Three Circles",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "This entry contains the confidentiality verification of the (functional kernel of) the CoCon conference management system [\u003ca href=\"https://doi.org/10.1007/978-3-319-08867-9_11\"\u003e1\u003c/a\u003e, \u003ca href=\"https://doi.org/10.1007/s10817-020-09566-9\"\u003e2\u003c/a\u003e]. The confidentiality properties refer to the documents managed by the system, namely papers, reviews, discussion logs and acceptance/rejection decisions, and also to the assignment of reviewers to papers. They have all been formulated as instances of BD Security [\u003ca href=\"https://doi.org/10.4230/LIPIcs.ITP.2021.3\"\u003e3\u003c/a\u003e, \u003ca href=\"https://www.isa-afp.org/entries/Bounded_Deducibility_Security.html\"\u003e4\u003c/a\u003e] and verified using the BD Security unwinding technique.",
"authors": [
"Andrei Popescu",
"Peter Lammich",
"Thomas Bauereiss"
],
"date": "2021-08-16",
- "id": 79,
+ "id": 83,
"link": "/entries/CoCon.html",
"permalink": "/entries/CoCon.html",
"shortname": "CoCon",
"title": "CoCon: A Confidentiality-Verified Conference Management System",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "Building on a previous \u003ca href=\"https://www.isa-afp.org/entries/Bounded_Deducibility_Security.html\"\u003eAFP entry\u003c/a\u003e that formalizes the Bounded-Deducibility Security (BD Security) framework \u003ca href=\"https://doi.org/10.4230/LIPIcs.ITP.2021.3\"\u003e[1]\u003c/a\u003e, we formalize compositionality and transport theorems for information flow security. These results allow lifting BD Security properties from individual components specified as transition systems, to a composition of systems specified as communicating products of transition systems. The underlying ideas of these results are presented in the papers \u003ca href=\"https://doi.org/10.4230/LIPIcs.ITP.2021.3\"\u003e[1]\u003c/a\u003e and \u003ca href=\"https://doi.org/10.1109/SP.2017.24\"\u003e[2]\u003c/a\u003e. The latter paper also describes a major case study where these results have been used: on verifying the CoSMeDis distributed social media platform (itself formalized as an \u003ca href=\"https://www.isa-afp.org/entries/CoSMeDis.html\"\u003eAFP entry\u003c/a\u003e that builds on this entry).",
"authors": [
"Thomas Bauereiss",
"Andrei Popescu"
],
"date": "2021-08-16",
- "id": 80,
+ "id": 84,
"link": "/entries/BD_Security_Compositional.html",
"permalink": "/entries/BD_Security_Compositional.html",
"shortname": "BD_Security_Compositional",
"title": "Compositional BD Security",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 1
},
{
"abstract": "This entry contains the confidentiality verification of the (functional kernel of) the CoSMed social media platform. The confidentiality properties are formalized as instances of BD Security [\u003ca href=\"https://doi.org/10.4230/LIPIcs.ITP.2021.3\"\u003e1\u003c/a\u003e, \u003ca href=\"https://www.isa-afp.org/entries/Bounded_Deducibility_Security.html\"\u003e2\u003c/a\u003e]. An innovation in the deployment of BD Security compared to previous work is the use of dynamic declassification triggers, incorporated as part of inductive bounds, for providing stronger guarantees that account for the repeated opening and closing of access windows. To further strengthen the confidentiality guarantees, we also prove \"traceback\" properties about the accessibility decisions affecting the information managed by the system.",
"authors": [
"Thomas Bauereiss",
"Andrei Popescu"
],
"date": "2021-08-16",
- "id": 81,
+ "id": 85,
"link": "/entries/CoSMed.html",
"permalink": "/entries/CoSMed.html",
"shortname": "CoSMed",
"title": "CoSMed: A confidentiality-verified social media platform",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "This entry contains the confidentiality verification of the (functional kernel of) the CoSMeDis distributed social media platform presented in [\u003ca href=\"https://doi.org/10.1109/SP.2017.24\"\u003e1\u003c/a\u003e]. CoSMeDis is a multi-node extension the CoSMed prototype social media platform [\u003ca href=\"https://doi.org/10.1007/978-3-319-43144-4_6\"\u003e2\u003c/a\u003e, \u003ca href=\"https://doi.org/10.1007/s10817-017-9443-3\"\u003e3\u003c/a\u003e, \u003ca href=\"https://www.isa-afp.org/entries/CoSMed.html\"\u003e4\u003c/a\u003e]. The confidentiality properties are formalized as instances of BD Security [\u003ca href=\"https://doi.org/10.4230/LIPIcs.ITP.2021.3\"\u003e5\u003c/a\u003e, \u003ca href=\"https://www.isa-afp.org/entries/Bounded_Deducibility_Security.html\"\u003e6\u003c/a\u003e]. The lifting of confidentiality properties from single nodes to the entire CoSMeDis network is performed using compositionality and transport theorems for BD Security, which are described in [\u003ca href=\"https://doi.org/10.1109/SP.2017.24\"\u003e1\u003c/a\u003e] and formalized in a separate \u003ca href=\"https://www.isa-afp.org/entries/BD_Security_Compositional.html\"\u003eAFP entry\u003c/a\u003e.",
"authors": [
"Thomas Bauereiss",
"Andrei Popescu"
],
"date": "2021-08-16",
- "id": 82,
+ "id": 86,
"link": "/entries/CoSMeDis.html",
"permalink": "/entries/CoSMeDis.html",
"shortname": "CoSMeDis",
"title": "CoSMeDis: A confidentiality-verified distributed social media platform",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "This entry defines a type class with an operator returning a fresh identifier, given a set of already used identifiers and a preferred identifier. The entry provides a default instantiation for any infinite type, as well as executable instantiations for natural numbers and strings.",
"authors": [
"Andrei Popescu",
"Thomas Bauereiss"
],
"date": "2021-08-16",
- "id": 83,
+ "id": 87,
"link": "/entries/Fresh_Identifiers.html",
"permalink": "/entries/Fresh_Identifiers.html",
"shortname": "Fresh_Identifiers",
"title": "Fresh identifiers",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 3
},
{
"abstract": "Combinatorial design theory studies incidence set systems with certain balance and symmetry properties. It is closely related to hypergraph theory. This formalisation presents a general library for formal reasoning on incidence set systems, designs and their applications, including formal definitions and proofs for many key properties, operations, and theorems on the construction and existence of designs. Notably, this includes formalising t-designs, balanced incomplete block designs (BIBD), group divisible designs (GDD), pairwise balanced designs (PBD), design isomorphisms, and the relationship between graphs and designs. A locale-centric approach has been used to manage the relationships between the many different types of designs. Theorems of particular interest include the necessary conditions for existence of a BIBD, Wilson's construction on GDDs, and Bose's inequality on resolvable designs. Parts of this formalisation are explored in the paper \"A Modular First Formalisation of Combinatorial Design Theory\", presented at CICM 2021.",
"authors": [
"Chelsea Edmonds",
"Lawrence C. Paulson"
],
"date": "2021-08-13",
- "id": 84,
+ "id": 88,
"link": "/entries/Design_Theory.html",
"permalink": "/entries/Design_Theory.html",
"shortname": "Design_Theory",
"title": "Combinatorial Design Theory",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 1
},
{
"abstract": "We study second-order formalisations of graph properties expressed as first-order formulas in relation algebras extended with a Kleene star. The formulas quantify over relations while still avoiding quantification over elements of the base set. We formalise the property of undirected graphs being acyclic this way. This involves a study of various kinds of orientation of graphs. We also verify basic algorithms to constructively prove several second-order properties.",
"authors": [
"Walter Guttmann"
],
"date": "2021-08-03",
- "id": 85,
+ "id": 89,
"link": "/entries/Relational_Forests.html",
"permalink": "/entries/Relational_Forests.html",
"shortname": "Relational_Forests",
"title": "Relational Forests",
"topic_links": [
"mathematics/graph-theory"
],
"topics": [
"Mathematics/Graph theory"
],
"used_by": 0
},
{
"abstract": "This is a formalisation of Schutz' system of axioms for Minkowski spacetime published under the name \"Independent axioms for Minkowski space-time\" in 1997, as well as most of the results in the third chapter (\"Temporal Order on a Path\") of the above monograph. Many results are proven here that cannot be found in Schutz, either preceding the theorem they are needed for, or within their own thematic section.",
"authors": [
"Richard Schmoetten",
"Jake Palmer",
"Jacques D. Fleuriot"
],
"date": "2021-07-27",
- "id": 86,
+ "id": 90,
"link": "/entries/Schutz_Spacetime.html",
"permalink": "/entries/Schutz_Spacetime.html",
"shortname": "Schutz_Spacetime",
"title": "Schutz' Independent Axioms for Minkowski Spacetime",
"topic_links": [
"mathematics/physics",
"mathematics/geometry"
],
"topics": [
"Mathematics/Physics",
"Mathematics/Geometry"
],
"used_by": 0
},
{
"abstract": "This article deals with the formalisation of some group-theoretic results including the fundamental theorem of finitely generated abelian groups characterising the structure of these groups as a uniquely determined product of cyclic groups. Both the invariant factor decomposition and the primary decomposition are covered. Additional work includes results about the direct product, the internal direct product and more group-theoretic lemmas.",
"authors": [
"Joseph Thommes",
"Manuel Eberl"
],
"date": "2021-07-07",
- "id": 87,
+ "id": 91,
"link": "/entries/Finitely_Generated_Abelian_Groups.html",
"permalink": "/entries/Finitely_Generated_Abelian_Groups.html",
"shortname": "Finitely_Generated_Abelian_Groups",
"title": "Finitely Generated Abelian Groups",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 1
},
{
"abstract": "SpecCheck is a \u003ca href=\"https://en.wikipedia.org/wiki/QuickCheck\"\u003eQuickCheck\u003c/a\u003e-like testing framework for Isabelle/ML. You can use it to write specifications for ML functions. SpecCheck then checks whether your specification holds by testing your function against a given number of generated inputs. It helps you to identify bugs by printing counterexamples on failure and provides you timing information. SpecCheck is customisable and allows you to specify your own input generators, test output formats, as well as pretty printers and shrinking functions for counterexamples among other things.",
"authors": [
"Kevin Kappelmann",
"Lukas Bulwahn",
"Sebastian Willenbrink"
],
"date": "2021-07-01",
- "id": 88,
+ "id": 92,
"link": "/entries/SpecCheck.html",
"permalink": "/entries/SpecCheck.html",
"shortname": "SpecCheck",
"title": "SpecCheck - Specification-Based Testing for Isabelle/ML",
"topic_links": [
"tools"
],
"topics": [
"Tools"
],
"used_by": 3
},
{
"abstract": "This article formalises the proof of Van der Waerden's Theorem from Ramsey theory. Van der Waerden's Theorem states that for integers $k$ and $l$ there exists a number $N$ which guarantees that if an integer interval of length at least $N$ is coloured with $k$ colours, there will always be an arithmetic progression of length $l$ of the same colour in said interval. The proof goes along the lines of \\cite{Swan}. The smallest number $N_{k,l}$ fulfilling Van der Waerden's Theorem is then called the Van der Waerden Number. Finding the Van der Waerden Number is still an open problem for most values of $k$ and $l$.",
"authors": [
"Katharina Kreuzer",
"Manuel Eberl"
],
"date": "2021-06-22",
- "id": 89,
+ "id": 93,
"link": "/entries/Van_der_Waerden.html",
"permalink": "/entries/Van_der_Waerden.html",
"shortname": "Van_der_Waerden",
"title": "Van der Waerden's Theorem",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 0
},
{
"abstract": "MiniSail is a kernel language for Sail, an instruction set architecture (ISA) specification language. Sail is an imperative language with a light-weight dependent type system similar to refinement type systems. From an ISA specification, the Sail compiler can generate theorem prover code and C (or OCaml) to give an executable emulator for an architecture. The idea behind MiniSail is to capture the key and novel features of Sail in terms of their syntax, typing rules and operational semantics, and to confirm that they work together by proving progress and preservation lemmas. We use the Nominal2 library to handle binding.",
"authors": [
"Mark Wassell"
],
"date": "2021-06-18",
- "id": 90,
+ "id": 94,
"link": "/entries/MiniSail.html",
"permalink": "/entries/MiniSail.html",
"shortname": "MiniSail",
"title": "MiniSail - A kernel language for the ISA specification language SAIL",
"topic_links": [
"computer-science/programming-languages/type-systems"
],
"topics": [
"Computer science/Programming languages/Type systems"
],
"used_by": 0
},
{
"abstract": "This work is a formalization of public announcement logic with countably many agents. It includes proofs of soundness and completeness for a variant of the axiom system PA + DIST! + NEC!. The completeness proof builds on the Epistemic Logic theory. Paper: \u003ca href=\"https://doi.org/10.1007/978-3-030-90138-7_2\"\u003ehttps://doi.org/10.1007/978-3-030-90138-7_2\u003c/a\u003e.",
"authors": [
"Asta Halkjær From"
],
"date": "2021-06-17",
- "id": 91,
+ "id": 95,
"link": "/entries/Public_Announcement_Logic.html",
"permalink": "/entries/Public_Announcement_Logic.html",
"shortname": "Public_Announcement_Logic",
"title": "Public Announcement Logic",
"topic_links": [
"logic/general-logic/logics-of-knowledge-and-belief"
],
"topics": [
"Logic/General logic/Logics of knowledge and belief"
],
"used_by": 0
},
{
"abstract": "This paper presents a compiler correctness proof for the didactic imperative programming language IMP, introduced in Nipkow and Klein's book on formal programming language semantics (version of March 2021), whose size is just two thirds of the book's proof in the number of formal text lines. As such, it promises to constitute a further enhanced reference for the formal verification of compilers meant for larger, real-world programming languages. The presented proof does not depend on language determinism, so that the proposed approach can be applied to non-deterministic languages as well. As a confirmation, this paper extends IMP with an additional non-deterministic choice command, and proves compiler correctness, viz. the simulation of compiled code execution by source code, for such extended language.",
"authors": [
"Pasquale Noce"
],
"date": "2021-06-04",
- "id": 92,
+ "id": 96,
"link": "/entries/IMP_Compiler.html",
"permalink": "/entries/IMP_Compiler.html",
"shortname": "IMP_Compiler",
"title": "A Shorter Compiler Correctness Proof for Language IMP",
"topic_links": [
"computer-science/programming-languages/compiling"
],
"topics": [
"Computer science/Programming languages/Compiling"
],
"used_by": 0
},
{
- "abstract": "We formalize basics of Combinatorics on Words. This is an extension of existing theories on lists. We provide additional properties related to prefix, suffix, factor, length and rotation. The topics include prefix and suffix comparability, mismatch, word power, total and reversed morphisms, border, periods, primitivity and roots. We also formalize basic, mostly folklore results related to word equations: equidivisibility, commutation and conjugation. Slightly advanced properties include the Periodicity lemma (often cited as the Fine and Wilf theorem) and the variant of the Lyndon-Schützenberger theorem for words. We support the algebraic point of view which sees words as generators of submonoids of a free monoid. This leads to the concepts of the (free) hull, the (free) basis (or code).",
+ "abstract": "We formalize basics of Combinatorics on Words. This is an extension of existing theories on lists. We provide additional properties related to prefix, suffix, factor, length and rotation. The topics include prefix and suffix comparability, mismatch, word power, total and reversed morphisms, border, periods, primitivity and roots. We also formalize basic, mostly folklore results related to word equations: equidivisibility, commutation and conjugation. Slightly advanced properties include the Periodicity lemma (often cited as the Fine and Wilf theorem) and the variant of the Lyndon-Schützenberger theorem for words, including its full parametric solution. We support the algebraic point of view which sees words as generators of submonoids of a free monoid. This leads to the concepts of the (free) hull, the (free) basis (or code). We also provide relevant proof methods and a tool to generate reverse-symmetric claims.",
"authors": [
"Štěpán Holub",
"Martin Raška",
"Štěpán Starosta"
],
"date": "2021-05-24",
- "id": 93,
+ "id": 97,
"link": "/entries/Combinatorics_Words.html",
"permalink": "/entries/Combinatorics_Words.html",
"shortname": "Combinatorics_Words",
"title": "Combinatorics on Words Basics",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 2
},
{
"abstract": "Graph lemma quantifies the defect effect of a system of word equations. That is, it provides an upper bound on the rank of the system. We formalize the proof based on the decomposition of a solution into its free basis. A direct application is an alternative proof of the fact that two noncommuting words form a code.",
"authors": [
"Štěpán Holub",
"Štěpán Starosta"
],
"date": "2021-05-24",
- "id": 94,
+ "id": 98,
"link": "/entries/Combinatorics_Words_Graph_Lemma.html",
"permalink": "/entries/Combinatorics_Words_Graph_Lemma.html",
"shortname": "Combinatorics_Words_Graph_Lemma",
"title": "Graph Lemma",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "Lyndon words are words lexicographically minimal in their conjugacy class. We formalize their basic properties and characterizations, in particular the concepts of the longest Lyndon suffix and the Lyndon factorization. Most of the work assumes a fixed lexicographical order. Nevertheless we also define the smallest relation guaranteeing lexicographical minimality of a given word (in its conjugacy class).",
"authors": [
"Štěpán Holub",
"Štěpán Starosta"
],
"date": "2021-05-24",
- "id": 95,
+ "id": 99,
"link": "/entries/Combinatorics_Words_Lyndon.html",
"permalink": "/entries/Combinatorics_Words_Lyndon.html",
"shortname": "Combinatorics_Words_Lyndon",
"title": "Lyndon words",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "This development provides a general definition for safe Regression Test Selection (RTS) algorithms. RTS algorithms select which tests to rerun on revised code, reducing the time required to check for newly introduced errors. An RTS algorithm is considered safe if and only if all deselected tests would have unchanged results. This definition is instantiated with two class-collection-based RTS algorithms run over the JVM as modeled by JinjaDCI. This is achieved with a general definition for Collection Semantics, small-step semantics instrumented to collect information during execution. As the RTS definition mandates safety, these instantiations include proofs of safety. This work is described in Mansky and Gunter's LSFA 2020 paper and Mansky's doctoral thesis (UIUC, 2020).",
"authors": [
"Susannah Mansky"
],
"date": "2021-04-30",
- "id": 96,
+ "id": 100,
"link": "/entries/Regression_Test_Selection.html",
"permalink": "/entries/Regression_Test_Selection.html",
"shortname": "Regression_Test_Selection",
"title": "Regression Test Selection",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "In this entry we formalize Isabelle's metalogic in Isabelle/HOL. Furthermore, we define a language of proof terms and an executable proof checker and prove its soundness wrt. the metalogic. The formalization is intentionally kept close to the Isabelle implementation(for example using de Brujin indices) to enable easy integration of generated code with the Isabelle system without a complicated translation layer. The formalization is described in our \u003ca href=\"https://arxiv.org/pdf/2104.12224.pdf\"\u003eCADE 28 paper\u003c/a\u003e.",
"authors": [
"Tobias Nipkow",
"Simon Roßkopf"
],
"date": "2021-04-27",
- "id": 97,
+ "id": 101,
"link": "/entries/Metalogic_ProofChecker.html",
"permalink": "/entries/Metalogic_ProofChecker.html",
"shortname": "Metalogic_ProofChecker",
"title": "Isabelle's Metalogic: Formalization and Proof Checker",
"topic_links": [
"logic/general-logic"
],
"topics": [
"Logic/General logic"
],
"used_by": 0
},
{
"abstract": "We formalize the \u003ci\u003eLifting the Exponent Lemma\u003c/i\u003e, which shows how to find the largest power of $p$ dividing $a^n \\pm b^n$, for a prime $p$ and positive integers $a$ and $b$. The proof follows \u003ca href=\"https://s3.amazonaws.com/aops-cdn.artofproblemsolving.com/resources/articles/lifting-the-exponent.pdf\"\u003eAmir Hossein Parvardi's\u003c/a\u003e.",
"authors": [
"Maya Kądziołka"
],
"date": "2021-04-27",
- "id": 98,
+ "id": 102,
"link": "/entries/Lifting_the_Exponent.html",
"permalink": "/entries/Lifting_the_Exponent.html",
"shortname": "Lifting_the_Exponent",
"title": "Lifting the Exponent",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "We formalize the univariate case of Ben-Or, Kozen, and Reif's decision procedure for first-order real arithmetic (the BKR algorithm). We also formalize the univariate case of Renegar's variation of the BKR algorithm. The two formalizations differ mathematically in minor ways (that have significant impact on the multivariate case), but are quite similar in proof structure. Both rely on sign-determination (finding the set of consistent sign assignments for a set of polynomials). The method used for sign-determination is similar to Tarski's original quantifier elimination algorithm (it stores key information in a matrix equation), but with a reduction step to keep complexity low.",
"authors": [
"Katherine Cordwell",
"Yong Kiam Tan",
"André Platzer"
],
"date": "2021-04-24",
- "id": 99,
+ "id": 103,
"link": "/entries/BenOr_Kozen_Reif.html",
"permalink": "/entries/BenOr_Kozen_Reif.html",
"shortname": "BenOr_Kozen_Reif",
"title": "The BKR Decision Procedure for Univariate Real Arithmetic",
"topic_links": [
"computer-science/algorithms/mathematical"
],
"topics": [
"Computer science/Algorithms/Mathematical"
],
"used_by": 1
},
{
"abstract": "This is a formalisation of the main result of Gale and Stewart from 1953, showing that closed finite games are determined. This property is now known as the Gale Stewart Theorem. While the original paper shows some additional theorems as well, we only formalize this main result, but do so in a somewhat general way. We formalize games of a fixed arbitrary length, including infinite length, using co-inductive lists, and show that defensive strategies exist unless the other player is winning. For closed games, defensive strategies are winning for the closed player, proving that such games are determined. For finite games, which are a special case in our formalisation, all games are closed.",
"authors": [
"Sebastiaan J. C. Joosten"
],
"date": "2021-04-23",
- "id": 100,
+ "id": 104,
"link": "/entries/GaleStewart_Games.html",
"permalink": "/entries/GaleStewart_Games.html",
"shortname": "GaleStewart_Games",
"title": "Gale-Stewart Games",
"topic_links": [
"mathematics/games-and-economics"
],
"topics": [
"Mathematics/Games and economics"
],
"used_by": 0
},
{
"abstract": "Large-scale stream processing systems often follow the dataflow paradigm, which enforces a program structure that exposes a high degree of parallelism. The Timely Dataflow distributed system supports expressive cyclic dataflows for which it offers low-latency data- and pipeline-parallel stream processing. To achieve high expressiveness and performance, Timely Dataflow uses an intricate distributed protocol for tracking the computation’s progress. We formalize this progress tracking protocol and verify its safety. Our formalization is described in detail in our forthcoming \u003ca href=\"https://traytel.bitbucket.io/papers/itp21-progress_tracking/safe.pdf\"\u003eITP'21 paper\u003c/a\u003e.",
"authors": [
"Matthias Brun",
"Sára Decova",
"Andrea Lattuada",
"Dmitriy Traytel"
],
"date": "2021-04-13",
- "id": 101,
+ "id": 105,
"link": "/entries/Progress_Tracking.html",
"permalink": "/entries/Progress_Tracking.html",
"shortname": "Progress_Tracking",
"title": "Formalization of Timely Dataflow's Progress Tracking Protocol",
"topic_links": [
"computer-science/algorithms/distributed"
],
"topics": [
"Computer science/Algorithms/Distributed"
],
"used_by": 0
},
{
"abstract": "We provide a characterisation of how information is propagated by program executions based on the tracking data and control dependencies within executions themselves. The characterisation might be used for deriving approximative safety properties to be targeted by static analyses or checked at runtime. We utilise a simple yet versatile control flow graph model as a program representation. As our model is not assumed to be finite it can be instantiated for a broad class of programs. The targeted security property is indistinguishable security where executions produce sequences of observations and only non-terminating executions are allowed to drop a tail of those. A very crude approximation of our characterisation is slicing based on program dependence graphs, which we use as a minimal example and derive a corresponding soundness result. For further details and applications refer to the authors upcoming dissertation.",
"authors": [
"Benedikt Nordhoff"
],
"date": "2021-04-01",
- "id": 102,
+ "id": 106,
"link": "/entries/IFC_Tracking.html",
"permalink": "/entries/IFC_Tracking.html",
"shortname": "IFC_Tracking",
"title": "Information Flow Control via Dependency Tracking",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "We formalize mainstream structures in algebraic geometry culminating in Grothendieck's schemes: presheaves of rings, sheaves of rings, ringed spaces, locally ringed spaces, affine schemes and schemes. We prove that the spectrum of a ring is a locally ringed space, hence an affine scheme. Finally, we prove that any affine scheme is a scheme.",
"authors": [
"Anthony Bordg",
"Lawrence C. Paulson",
"Wenda Li"
],
"date": "2021-03-29",
- "id": 103,
+ "id": 107,
"link": "/entries/Grothendieck_Schemes.html",
"permalink": "/entries/Grothendieck_Schemes.html",
"shortname": "Grothendieck_Schemes",
"title": "Grothendieck's Schemes in Algebraic Geometry",
"topic_links": [
"mathematics/algebra",
"mathematics/geometry"
],
"topics": [
"Mathematics/Algebra",
"Mathematics/Geometry"
],
"used_by": 0
},
{
"abstract": "We formalize the ring of \u003cem\u003ep\u003c/em\u003e-adic integers within the framework of the HOL-Algebra library. The carrier of the ring is formalized as the inverse limit of quotients of the integers by powers of a fixed prime \u003cem\u003ep\u003c/em\u003e. We define an integer-valued valuation, as well as an extended-integer valued valuation which sends 0 to the infinite element. Basic topological facts about the \u003cem\u003ep\u003c/em\u003e-adic integers are formalized, including completeness and sequential compactness. Taylor expansions of polynomials over a commutative ring are defined, culminating in the formalization of Hensel's Lemma based on a proof due to Keith Conrad.",
"authors": [
"Aaron Crighton"
],
"date": "2021-03-23",
- "id": 104,
+ "id": 108,
"link": "/entries/Padic_Ints.html",
"permalink": "/entries/Padic_Ints.html",
"shortname": "Padic_Ints",
"title": "Hensel's Lemma for the p-adic Integers",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "Constructive Cryptography (CC) [\u003ca href=\"https://conference.iiis.tsinghua.edu.cn/ICS2011/content/papers/14.html\"\u003eICS 2011\u003c/a\u003e, \u003ca href=\"https://doi.org/10.1007/978-3-642-27375-9_3\"\u003eTOSCA 2011\u003c/a\u003e, \u003ca href=\"https://doi.org/10.1007/978-3-662-53641-4_1\"\u003eTCC 2016\u003c/a\u003e] introduces an abstract approach to composable security statements that allows one to focus on a particular aspect of security proofs at a time. Instead of proving the properties of concrete systems, CC studies system classes, i.e., the shared behavior of similar systems, and their transformations. Modeling of systems communication plays a crucial role in composability and reusability of security statements; yet, this aspect has not been studied in any of the existing CC results. We extend our previous CC formalization [\u003ca href=\"https://isa-afp.org/entries/Constructive_Cryptography.html\"\u003eConstructive_Cryptography\u003c/a\u003e, \u003ca href=\"https://doi.org/10.1109/CSF.2019.00018\"\u003eCSF 2019\u003c/a\u003e] with a new semantic domain called Fused Resource Templates (FRT) that abstracts over the systems communication patterns in CC proofs. This widens the scope of cryptography proof formalizations in the CryptHOL library [\u003ca href=\"https://isa-afp.org/entries/CryptHOL.html\"\u003eCryptHOL\u003c/a\u003e, \u003ca href=\"https://doi.org/10.1007/978-3-662-49498-1_20\"\u003eESOP 2016\u003c/a\u003e, \u003ca href=\"https://doi.org/10.1007/s00145-019-09341-z\"\u003eJ Cryptol 2020\u003c/a\u003e]. This formalization is described in \u003ca href=\"http://www.andreas-lochbihler.de/pub/basin2021.pdf\"\u003eAbstract Modeling of Systems Communication in Constructive Cryptography using CryptHOL\u003c/a\u003e.",
"authors": [
"Andreas Lochbihler",
"S. Reza Sefidgar"
],
"date": "2021-03-17",
- "id": 105,
+ "id": 109,
"link": "/entries/Constructive_Cryptography_CM.html",
"permalink": "/entries/Constructive_Cryptography_CM.html",
"shortname": "Constructive_Cryptography_CM",
"title": "Constructive Cryptography in HOL: the Communication Modeling Aspect",
"topic_links": [
"computer-science/security/cryptography",
"mathematics/probability-theory"
],
"topics": [
"Computer science/Security/Cryptography",
"Mathematics/Probability theory"
],
"used_by": 0
},
{
"abstract": "We verify two algorithms for which modular arithmetic plays an essential role: Storjohann's variant of the LLL lattice basis reduction algorithm and Kopparty's algorithm for computing the Hermite normal form of a matrix. To do this, we also formalize some facts about the modulo operation with symmetric range. Our implementations are based on the original papers, but are otherwise efficient. For basis reduction we formalize two versions: one that includes all of the optimizations/heuristics from Storjohann's paper, and one excluding a heuristic that we observed to often decrease efficiency. We also provide a fast, self-contained certifier for basis reduction, based on the efficient Hermite normal form algorithm.",
"authors": [
"Ralph Bottesch",
"Jose Divasón",
"René Thiemann"
],
"date": "2021-03-12",
- "id": 106,
+ "id": 110,
"link": "/entries/Modular_arithmetic_LLL_and_HNF_algorithms.html",
"permalink": "/entries/Modular_arithmetic_LLL_and_HNF_algorithms.html",
"shortname": "Modular_arithmetic_LLL_and_HNF_algorithms",
"title": "Two algorithms based on modular arithmetic: lattice basis reduction and Hermite normal form computation",
"topic_links": [
"computer-science/algorithms/mathematical"
],
"topics": [
"Computer science/Algorithms/Mathematical"
],
"used_by": 0
},
{
"abstract": "This work contains a formalization of quantum projective measurements, also known as von Neumann measurements, which are based on elements of spectral theory. We also formalized the CHSH inequality, an inequality involving expectations in a probability space that is violated by quantum measurements, thus proving that quantum mechanics cannot be modeled with an underlying local hidden-variable theory.",
"authors": [
"Mnacho Echenim"
],
"date": "2021-03-03",
- "id": 107,
+ "id": 111,
"link": "/entries/Projective_Measurements.html",
"permalink": "/entries/Projective_Measurements.html",
"shortname": "Projective_Measurements",
"title": "Quantum projective measurements and the CHSH inequality",
"topic_links": [
"computer-science/algorithms/quantum-computing",
"mathematics/physics/quantum-information"
],
"topics": [
"Computer science/Algorithms/Quantum computing",
"Mathematics/Physics/Quantum information"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003eThis article provides a formalisation of the Hermite-Lindemann-Weierstraß Theorem (also known as simply Hermite-Lindemann or Lindemann-Weierstraß). This theorem is one of the crowning achievements of 19th century number theory.\u003c/p\u003e \u003cp\u003eThe theorem states that if $\\alpha_1, \\ldots, \\alpha_n\\in\\mathbb{C}$ are algebraic numbers that are linearly independent over $\\mathbb{Z}$, then $e^{\\alpha_1},\\ldots,e^{\\alpha_n}$ are algebraically independent over $\\mathbb{Q}$.\u003c/p\u003e \u003cp\u003eLike the \u003ca href=\"https://doi.org/10.1007/978-3-319-66107-0_5\"\u003eprevious formalisation in Coq by Bernard\u003c/a\u003e, I proceeded by formalising \u003ca href=\"https://doi.org/10.1017/CBO9780511565977\"\u003eBaker's version of the theorem and proof\u003c/a\u003e and then deriving the original one from that. Baker's version states that for any algebraic numbers $\\beta_1, \\ldots, \\beta_n\\in\\mathbb{C}$ and distinct algebraic numbers $\\alpha_i, \\ldots, \\alpha_n\\in\\mathbb{C}$, we have $\\beta_1 e^{\\alpha_1} + \\ldots + \\beta_n e^{\\alpha_n} = 0$ if and only if all the $\\beta_i$ are zero.\u003c/p\u003e \u003cp\u003eThis has a number of direct corollaries, e.g.:\u003c/p\u003e \u003cul\u003e \u003cli\u003e$e$ and $\\pi$ are transcendental\u003c/li\u003e \u003cli\u003e$e^z$, $\\sin z$, $\\tan z$, etc. are transcendental for algebraic $z\\in\\mathbb{C}\\setminus\\{0\\}$\u003c/li\u003e \u003cli\u003e$\\ln z$ is transcendental for algebraic $z\\in\\mathbb{C}\\setminus\\{0, 1\\}$\u003c/li\u003e \u003c/ul\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2021-03-03",
- "id": 108,
+ "id": 112,
"link": "/entries/Hermite_Lindemann.html",
"permalink": "/entries/Hermite_Lindemann.html",
"shortname": "Hermite_Lindemann",
"title": "The Hermite–Lindemann–Weierstraß Transcendence Theorem",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 1
},
{
"abstract": "We use Isabelle/HOL to verify elementary theorems and alternative axiomatizations of classical extensional mereology.",
"authors": [
"Ben Blumson"
],
"date": "2021-03-01",
- "id": 109,
+ "id": 113,
"link": "/entries/Mereology.html",
"permalink": "/entries/Mereology.html",
"shortname": "Mereology",
"title": "Mereology",
"topic_links": [
"logic/philosophical-aspects"
],
"topics": [
"Logic/Philosophical aspects"
],
"used_by": 0
},
{
"abstract": "We formally define sunflowers and provide a formalization of the sunflower lemma of Erd\u0026odblac;s and Rado: whenever a set of size-\u003ci\u003ek\u003c/i\u003e-sets has a larger cardinality than \u003ci\u003e(r - 1)\u003csup\u003ek\u003c/sup\u003e \u0026middot; k!\u003c/i\u003e, then it contains a sunflower of cardinality \u003ci\u003er\u003c/i\u003e.",
"authors": [
"René Thiemann"
],
"date": "2021-02-25",
- "id": 110,
+ "id": 114,
"link": "/entries/Sunflowers.html",
"permalink": "/entries/Sunflowers.html",
"shortname": "Sunflowers",
"title": "The Sunflower Lemma of Erdős and Rado",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 1
},
{
- "abstract": "In this work, we use the interactive theorem prover Isabelle/HOL to verify an imperative implementation of the classical B-tree data structure invented by Bayer and McCreight [ACM 1970]. The implementation supports set membership, insertion and deletion queries with efficient binary search for intra-node navigation. This is accomplished by first specifying the structure abstractly in the functional modeling language HOL and proving functional correctness. Using manual refinement, we derive an imperative implementation in Imperative/HOL. We show the validity of this refinement using the separation logic utilities from the \u003ca href=\"https://www.isa-afp.org/entries/Refine_Imperative_HOL.html\"\u003e Isabelle Refinement Framework \u003c/a\u003e . The code can be exported to the programming languages SML, OCaml and Scala. We examine the runtime of all operations indirectly by reproducing results of the logarithmic relationship between height and the number of nodes. The results are discussed in greater detail in the corresponding \u003ca href=\"https://mediatum.ub.tum.de/1596550\"\u003eBachelor's Thesis\u003c/a\u003e.",
+ "abstract": "In this work, we use the interactive theorem prover Isabelle/HOL to verify an imperative implementation of the classical B-tree data structure invented by Bayer and McCreight [ACM 1970]. The implementation supports set membership, insertion, deletion, iteration and range queries with efficient binary search for intra-node navigation. This is accomplished by first specifying the structure abstractly in the functional modeling language HOL and proving functional correctness. Using manual refinement, we derive an imperative implementation in Imperative/HOL. We show the validity of this refinement using the separation logic utilities from the \u003ca href=\"https://www.isa-afp.org/entries/Refine_Imperative_HOL.html\"\u003e Isabelle Refinement Framework \u003c/a\u003e . The code can be exported to the programming languages SML, OCaml and Scala. This entry contains two developments: \u003cdl\u003e \u003cdt\u003eB-Trees\u003c/dt\u003e \u003cdd\u003eThis formalisation is discussed in greater detail in the corresponding \u003ca href=\"https://mediatum.ub.tum.de/1596550\"\u003eBachelor's Thesis\u003c/a\u003e.\u003c/dd\u003e \u003cdt\u003eB+-Trees:\u003c/dt\u003e \u003cdd\u003eThis formalisation also supports range queries and is discussed in a paper published at ICTAC 2022.\u003c/dd\u003e \u003c/dl\u003e Change history: [2022-08-16]: Added formalisations of B+-Trees ",
"authors": [
"Niels Mündler"
],
"date": "2021-02-24",
- "id": 111,
+ "id": 115,
"link": "/entries/BTree.html",
"permalink": "/entries/BTree.html",
"shortname": "BTree",
"title": "A Verified Imperative Implementation of B-Trees",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eFormal Puiseux series are generalisations of formal power series and formal Laurent series that also allow for fractional exponents. They have the following general form: \\[\\sum_{i=N}^\\infty a_{i/d} X^{i/d}\\] where \u003cem\u003eN\u003c/em\u003e is an integer and \u003cem\u003ed\u003c/em\u003e is a positive integer.\u003c/p\u003e \u003cp\u003eThis entry defines these series including their basic algebraic properties. Furthermore, it proves the Newton–Puiseux Theorem, namely that the Puiseux series over an algebraically closed field of characteristic 0 are also algebraically closed.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2021-02-17",
- "id": 112,
+ "id": 116,
"link": "/entries/Formal_Puiseux_Series.html",
"permalink": "/entries/Formal_Puiseux_Series.html",
"shortname": "Formal_Puiseux_Series",
"title": "Formal Puiseux Series",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThe Law of Large Numbers states that, informally, if one performs a random experiment $X$ many times and takes the average of the results, that average will be very close to the expected value $E[X]$.\u003c/p\u003e \u003cp\u003e More formally, let $(X_i)_{i\\in\\mathbb{N}}$ be a sequence of independently identically distributed random variables whose expected value $E[X_1]$ exists. Denote the running average of $X_1, \\ldots, X_n$ as $\\overline{X}_n$. Then:\u003c/p\u003e \u003cul\u003e \u003cli\u003eThe Weak Law of Large Numbers states that $\\overline{X}_{n} \\longrightarrow E[X_1]$ in probability for $n\\to\\infty$, i.e. $\\mathcal{P}(|\\overline{X}_{n} - E[X_1]| \u003e \\varepsilon) \\longrightarrow 0$ as $n\\to\\infty$ for any $\\varepsilon \u003e 0$.\u003c/li\u003e \u003cli\u003eThe Strong Law of Large Numbers states that $\\overline{X}_{n} \\longrightarrow E[X_1]$ almost surely for $n\\to\\infty$, i.e. $\\mathcal{P}(\\overline{X}_{n} \\longrightarrow E[X_1]) = 1$.\u003c/li\u003e \u003c/ul\u003e \u003cp\u003eIn this entry, I formally prove the strong law and from it the weak law. The approach used for the proof of the strong law is a particularly quick and slick one based on ergodic theory, which was formalised by Gouëzel in another AFP entry.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2021-02-10",
- "id": 113,
+ "id": 117,
"link": "/entries/Laws_of_Large_Numbers.html",
"permalink": "/entries/Laws_of_Large_Numbers.html",
"shortname": "Laws_of_Large_Numbers",
"title": "The Laws of Large Numbers",
"topic_links": [
"mathematics/probability-theory"
],
"topics": [
"Mathematics/Probability theory"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThe \u003ca href=\"https://geocoq.github.io/GeoCoq/\"\u003eGeoCoq library\u003c/a\u003e contains a formalization of geometry using the Coq proof assistant. It contains both proofs about the foundations of geometry and high-level proofs in the same style as in high school. We port a part of the GeoCoq 2.4.0 library to Isabelle/HOL: more precisely, the files Chap02.v to Chap13_3.v, suma.v as well as the associated definitions and some useful files for the demonstration of certain parallel postulates. The synthetic approach of the demonstrations is directly inspired by those contained in GeoCoq. The names of the lemmas and theorems used are kept as far as possible as well as the definitions. \u003c/p\u003e \u003cp\u003eIt should be noted that T.J.M. Makarios has done \u003ca href=\"https://www.isa-afp.org/entries/Tarskis_Geometry.html\"\u003esome proofs in Tarski's Geometry\u003c/a\u003e. It uses a definition that does not quite coincide with the definition used in Geocoq and here. Furthermore, corresponding definitions in the \u003ca href=\"https://www.isa-afp.org/entries/Poincare_Disc.html\"\u003ePoincaré Disc Model development\u003c/a\u003e are not identical to those defined in GeoCoq. \u003c/p\u003e \u003cp\u003eIn the last part, it is formalized that, in the neutral/absolute space, the axiom of the parallels of Tarski's system implies the Playfair axiom, the 5th postulate of Euclid and Euclid's original parallel postulate. These proofs, which are not constructive, are directly inspired by Pierre Boutry, Charly Gries, Julien Narboux and Pascal Schreck. \u003c/p\u003e",
"authors": [
"Roland Coghetto"
],
"date": "2021-01-31",
- "id": 114,
+ "id": 118,
"link": "/entries/IsaGeoCoq.html",
"permalink": "/entries/IsaGeoCoq.html",
"shortname": "IsaGeoCoq",
"title": "Tarski's Parallel Postulate implies the 5th Postulate of Euclid, the Postulate of Playfair and the original Parallel Postulate of Euclid",
"topic_links": [
"mathematics/geometry"
],
"topics": [
"Mathematics/Geometry"
],
"used_by": 0
},
{
"abstract": "In a \u003ca href=\"https://xkcd.com/blue_eyes.html\"\u003epuzzle published by Randall Munroe\u003c/a\u003e, perfect logicians forbidden from communicating are stranded on an island, and may only leave once they have figured out their own eye color. We present a method of modeling the behavior of perfect logicians and formalize a solution of the puzzle.",
"authors": [
"Maya Kądziołka"
],
"date": "2021-01-30",
- "id": 115,
+ "id": 119,
"link": "/entries/Blue_Eyes.html",
"permalink": "/entries/Blue_Eyes.html",
"shortname": "Blue_Eyes",
"title": "Solution to the xkcd Blue Eyes puzzle",
"topic_links": [
"logic/general-logic/logics-of-knowledge-and-belief"
],
"topics": [
"Logic/General logic/Logics of knowledge and belief"
],
"used_by": 0
},
{
"abstract": "This is a verified implementation of a constant time queue. The original design is due to \u003ca href=\"https://doi.org/10.1016/0020-0190(81)90030-2\"\u003eHood and Melville\u003c/a\u003e. This formalization follows the presentation in \u003cem\u003ePurely Functional Data Structures\u003c/em\u003eby Okasaki.",
"authors": [
"Alejandro Gómez-Londoño"
],
"date": "2021-01-18",
- "id": 116,
+ "id": 120,
"link": "/entries/Hood_Melville_Queue.html",
"permalink": "/entries/Hood_Melville_Queue.html",
"shortname": "Hood_Melville_Queue",
"title": "Hood-Melville Queue",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "We extend Jinja to include static fields, methods, and instructions, and dynamic class initialization, based on the Java SE 8 specification. This includes extension of definitions and proofs. This work is partially described in Mansky and Gunter's paper at CPP 2019 and Mansky's doctoral thesis (UIUC, 2020).",
"authors": [
"Susannah Mansky"
],
"date": "2021-01-11",
- "id": 117,
+ "id": 121,
"link": "/entries/JinjaDCI.html",
"permalink": "/entries/JinjaDCI.html",
"shortname": "JinjaDCI",
"title": "JinjaDCI: a Java semantics with dynamic class initialization",
"topic_links": [
"computer-science/programming-languages/language-definitions"
],
"topics": [
"Computer science/Programming languages/Language definitions"
],
"used_by": 1
},
{
"abstract": "We formalize the basic results on cofinality of linearly ordered sets and ordinals and Šanin’s Lemma for uncountable families of finite sets. This last result is used to prove the countable chain condition for Cohen posets. We work in the set theory framework of Isabelle/ZF, using the Axiom of Choice as needed.",
"authors": [
"Pedro Sánchez Terraf"
],
"date": "2020-12-27",
- "id": 118,
+ "id": 122,
"link": "/entries/Delta_System_Lemma.html",
"permalink": "/entries/Delta_System_Lemma.html",
"shortname": "Delta_System_Lemma",
"title": "Cofinality and the Delta System Lemma",
"topic_links": [
"mathematics/combinatorics",
"logic/set-theory"
],
"topics": [
"Mathematics/Combinatorics",
"Logic/Set theory"
],
"used_by": 1
},
{
"abstract": "We introduce a generalized topological semantics for paraconsistent and paracomplete logics by drawing upon early works on topological Boolean algebras (cf. works by Kuratowski, Zarycki, McKinsey \u0026 Tarski, etc.). In particular, this work exemplarily illustrates the shallow semantical embeddings approach (\u003ca href=\"http://dx.doi.org/10.1007/s11787-012-0052-y\"\u003eSSE\u003c/a\u003e) employing the proof assistant Isabelle/HOL. By means of the SSE technique we can effectively harness theorem provers, model finders and 'hammers' for reasoning with quantified non-classical logics.",
"authors": [
"David Fuenmayor"
],
"date": "2020-12-17",
- "id": 119,
+ "id": 123,
"link": "/entries/Topological_Semantics.html",
"permalink": "/entries/Topological_Semantics.html",
"shortname": "Topological_Semantics",
"title": "Topological semantics for paraconsistent and paracomplete logics",
"topic_links": [
"logic/general-logic"
],
"topics": [
"Logic/General logic"
],
"used_by": 0
},
{
"abstract": "We verify the correctness of Prim's, Kruskal's and Borůvka's minimum spanning tree algorithms based on algebras for aggregation and minimisation.",
"authors": [
"Walter Guttmann",
"Nicolas Robinson-O'Brien"
],
"date": "2020-12-08",
- "id": 120,
+ "id": 124,
"link": "/entries/Relational_Minimum_Spanning_Trees.html",
"permalink": "/entries/Relational_Minimum_Spanning_Trees.html",
"shortname": "Relational_Minimum_Spanning_Trees",
"title": "Relational Minimum Spanning Tree Algorithms",
"topic_links": [
"computer-science/algorithms/graph"
],
"topics": [
"Computer science/Algorithms/Graph"
],
"used_by": 0
},
{
"abstract": "This Isabelle/HOL formalization builds on the \u003cem\u003eVeriComp\u003c/em\u003e entry of the \u003cem\u003eArchive of Formal Proofs\u003c/em\u003e to provide the following contributions: \u003cul\u003e \u003cli\u003ean operational semantics for a realistic virtual machine (Std) for dynamically typed programming languages;\u003c/li\u003e \u003cli\u003ethe formalization of an inline caching optimization (Inca), a proof of bisimulation with (Std), and a compilation function;\u003c/li\u003e \u003cli\u003ethe formalization of an unboxing optimization (Ubx), a proof of bisimulation with (Inca), and a simple compilation function.\u003c/li\u003e \u003c/ul\u003e This formalization was described in the CPP 2021 paper \u003cem\u003eTowards Efficient and Verified Virtual Machines for Dynamic Languages\u003c/em\u003e",
"authors": [
"Martin Desharnais"
],
"date": "2020-12-07",
- "id": 121,
+ "id": 125,
"link": "/entries/Interpreter_Optimizations.html",
"permalink": "/entries/Interpreter_Optimizations.html",
"shortname": "Interpreter_Optimizations",
"title": "Inline Caching and Unboxing Optimization for Interpreters",
"topic_links": [
"computer-science/programming-languages/misc"
],
"topics": [
"Computer science/Programming languages/Misc"
],
"used_by": 0
},
{
"abstract": "This paper introduces a new method for the formal verification of cryptographic protocols, the relational method, derived from Paulson's inductive method by means of some enhancements aimed at streamlining formal definitions and proofs, specially for protocols using public key cryptography. Moreover, this paper proposes a method to formalize a further security property, message anonymity, in addition to message confidentiality and authenticity. The relational method, including message anonymity, is then applied to the verification of a sample authentication protocol, comprising Password Authenticated Connection Establishment (PACE) with Chip Authentication Mapping followed by the explicit verification of an additional password over the PACE secure channel.",
"authors": [
"Pasquale Noce"
],
"date": "2020-12-05",
- "id": 122,
+ "id": 126,
"link": "/entries/Relational_Method.html",
"permalink": "/entries/Relational_Method.html",
"shortname": "Relational_Method",
"title": "The Relational Method with Message Anonymity for the Verification of Cryptographic Protocols",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "This work is an effort to formalise some quantum algorithms and results in quantum information theory. Formal methods being critical for the safety and security of algorithms and protocols, we foresee their widespread use for quantum computing in the future. We have developed a large library for quantum computing in Isabelle based on a matrix representation for quantum circuits, successfully formalising the no-cloning theorem, quantum teleportation, Deutsch's algorithm, the Deutsch-Jozsa algorithm and the quantum Prisoner's Dilemma.",
"authors": [
"Anthony Bordg",
"Hanna Lachnitt",
"Yijun He"
],
"date": "2020-11-22",
- "id": 123,
+ "id": 127,
"link": "/entries/Isabelle_Marries_Dirac.html",
"permalink": "/entries/Isabelle_Marries_Dirac.html",
"shortname": "Isabelle_Marries_Dirac",
"title": "Isabelle Marries Dirac: a Library for Quantum Computation and Quantum Information",
"topic_links": [
"computer-science/algorithms/quantum-computing",
"mathematics/physics/quantum-information"
],
"topics": [
"Computer science/Algorithms/Quantum computing",
"Mathematics/Physics/Quantum information"
],
"used_by": 1
},
{
"abstract": "We use a formal development for CSP, called HOL-CSP2.0, to analyse a family of refinement notions, comprising classic and new ones. This analysis enables to derive a number of properties that allow to deepen the understanding of these notions, in particular with respect to specification decomposition principles for the case of infinite sets of events. The established relations between the refinement relations help to clarify some obscure points in the CSP literature, but also provide a weapon for shorter refinement proofs. Furthermore, we provide a framework for state-normalisation allowing to formally reason on parameterised process architectures. As a result, we have a modern environment for formal proofs of concurrent systems that allow for the combination of general infinite processes with locally finite ones in a logically safe way. We demonstrate these verification-techniques for classical, generalised examples: The CopyBuffer for arbitrary data and the Dijkstra's Dining Philosopher Problem of arbitrary size.",
"authors": [
"Safouan Taha",
"Burkhart Wolff",
"Lina Ye"
],
"date": "2020-11-19",
- "id": 124,
+ "id": 128,
"link": "/entries/CSP_RefTK.html",
"permalink": "/entries/CSP_RefTK.html",
"shortname": "CSP_RefTK",
"title": "The HOL-CSP Refinement Toolkit",
"topic_links": [
"computer-science/concurrency/process-calculi",
"computer-science/semantics-and-reasoning"
],
"topics": [
"Computer science/Concurrency/Process calculi",
"Computer science/Semantics and reasoning"
],
"used_by": 0
},
{
"abstract": "This is an Isabelle/HOL formalisation of the semantics of the multi-valued planning tasks language that is used by the planning system Fast-Downward, the STRIPS fragment of the Planning Domain Definition Language (PDDL), and the STRIPS soundness meta-theory developed by Vladimir Lifschitz. It also contains formally verified checkers for checking the well-formedness of problems specified in either language as well the correctness of potential solutions. The formalisation in this entry was described in an earlier publication.",
"authors": [
"Mohammad Abdulaziz",
"Peter Lammich"
],
"date": "2020-10-29",
- "id": 125,
+ "id": 129,
"link": "/entries/AI_Planning_Languages_Semantics.html",
"permalink": "/entries/AI_Planning_Languages_Semantics.html",
"shortname": "AI_Planning_Languages_Semantics",
"title": "AI Planning Languages Semantics",
"topic_links": [
"computer-science/artificial-intelligence"
],
"topics": [
"Computer science/Artificial intelligence"
],
"used_by": 1
},
{
"abstract": "We present an executable formally verified SAT encoding of classical AI planning that is based on the encodings by Kautz and Selman and the one by Rintanen et al. The encoding was experimentally tested and shown to be usable for reasonably sized standard AI planning benchmarks. We also use it as a reference to test a state-of-the-art SAT-based planner, showing that it sometimes falsely claims that problems have no solutions of certain lengths. The formalisation in this submission was described in an independent publication.",
"authors": [
"Mohammad Abdulaziz",
"Friedrich Kurz"
],
"date": "2020-10-29",
- "id": 126,
+ "id": 130,
"link": "/entries/Verified_SAT_Based_AI_Planning.html",
"permalink": "/entries/Verified_SAT_Based_AI_Planning.html",
"shortname": "Verified_SAT_Based_AI_Planning",
"title": "Verified SAT-Based AI Planning",
"topic_links": [
"computer-science/artificial-intelligence"
],
"topics": [
"Computer science/Artificial intelligence"
],
"used_by": 0
},
{
"abstract": "The present Isabelle theory builds a formal model for both the International System of Quantities (ISQ) and the International System of Units (SI), which are both fundamental for physics and engineering. Both the ISQ and the SI are deeply integrated into Isabelle's type system. Quantities are parameterised by dimension types, which correspond to base vectors, and thus only quantities of the same dimension can be equated. Since the underlying \"algebra of quantities\" induces congruences on quantity and SI types, specific tactic support is developed to capture these. Our construction is validated by a test-set of known equivalences between both quantities and SI units. Moreover, the presented theory can be used for type-safe conversions between the SI system and others, like the British Imperial System (BIS).",
"authors": [
"Simon Foster",
"Burkhart Wolff"
],
"date": "2020-10-20",
- "id": 127,
+ "id": 131,
"link": "/entries/Physical_Quantities.html",
"permalink": "/entries/Physical_Quantities.html",
"shortname": "Physical_Quantities",
"title": "A Sound Type System for Physical Quantities, Units, and Measurements",
"topic_links": [
"mathematics/physics",
"computer-science/programming-languages/type-systems"
],
"topics": [
"Mathematics/Physics",
"Computer science/Programming languages/Type systems"
],
"used_by": 0
},
{
"abstract": "This entry includes useful syntactic sugar, new operators and functions, and their associated lemmas for finite maps which currently are not present in the standard Finite_Map theory.",
"authors": [
"Javier Díaz"
],
"date": "2020-10-12",
- "id": 128,
+ "id": 132,
"link": "/entries/Finite-Map-Extras.html",
"permalink": "/entries/Finite-Map-Extras.html",
"shortname": "Finite-Map-Extras",
"title": "Finite Map Extras",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "In this AFP entry, we extend our formalization of the core DOM with Shadow Roots. Shadow roots are a recent proposal of the web community to support a component-based development approach for client-side web applications. Shadow roots are a significant extension to the DOM standard and, as web standards are condemned to be backward compatible, such extensions often result in complex specification that may contain unwanted subtleties that can be detected by a formalization. Our Isabelle/HOL formalization is, in the sense of object-orientation, an extension of our formalization of the core DOM and enjoys the same basic properties, i.e., it is extensible, i.e., can be extended without the need of re-proving already proven properties and executable, i.e., we can generate executable code from our specification. We exploit the executability to show that our formalization complies to the official standard of the W3C, respectively, the WHATWG.",
"authors": [
"Achim D. Brucker",
"Michael Herzberg"
],
"date": "2020-09-28",
- "id": 129,
+ "id": 133,
"link": "/entries/Shadow_DOM.html",
"permalink": "/entries/Shadow_DOM.html",
"shortname": "Shadow_DOM",
"title": "A Formal Model of the Document Object Model with Shadow Roots",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 1
},
{
"abstract": "In this AFP entry, we extend our formalization of the safely composable DOM with Shadow Roots. This is a proposal for Shadow Roots with stricter safety guarantess than the standard compliant formalization (see \"Shadow DOM\"). Shadow Roots are a recent proposal of the web community to support a component-based development approach for client-side web applications. Shadow roots are a significant extension to the DOM standard and, as web standards are condemned to be backward compatible, such extensions often result in complex specification that may contain unwanted subtleties that can be detected by a formalization. Our Isabelle/HOL formalization is, in the sense of object-orientation, an extension of our formalization of the core DOM and enjoys the same basic properties, i.e., it is extensible, i.e., can be extended without the need of re-proving already proven properties and executable, i.e., we can generate executable code from our specification. We exploit the executability to show that our formalization complies to the official standard of the W3C, respectively, the WHATWG.",
"authors": [
"Achim D. Brucker",
"Michael Herzberg"
],
"date": "2020-09-28",
- "id": 130,
+ "id": 134,
"link": "/entries/Shadow_SC_DOM.html",
"permalink": "/entries/Shadow_SC_DOM.html",
"shortname": "Shadow_SC_DOM",
"title": "A Formal Model of the Safely Composable Document Object Model with Shadow Roots",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 1
},
{
"abstract": "While the (safely composable) DOM with shadow trees provide the technical basis for defining web components, it does neither defines the concept of web components nor specifies the safety properties that web components should guarantee. Consequently, the standard also does not discuss how or even if the methods for modifying the DOM respect component boundaries. In AFP entry, we present a formally verified model of safely composable web components and define safety properties which ensure that different web components can only interact with each other using well-defined interfaces. Moreover, our verification of the application programming interface (API) of the DOM revealed numerous invariants that implementations of the DOM API need to preserve to ensure the integrity of components. In comparison to the strict standard compliance formalization of Web Components in the AFP entry \"DOM_Components\", the notion of components in this entry (based on \"SC_DOM\" and \"Shadow_SC_DOM\") provides much stronger safety guarantees.",
"authors": [
"Achim D. Brucker",
"Michael Herzberg"
],
"date": "2020-09-28",
- "id": 131,
+ "id": 135,
"link": "/entries/SC_DOM_Components.html",
"permalink": "/entries/SC_DOM_Components.html",
"shortname": "SC_DOM_Components",
"title": "A Formalization of Safely Composable Web Components",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "While the DOM with shadow trees provide the technical basis for defining web components, the DOM standard neither defines the concept of web components nor specifies the safety properties that web components should guarantee. Consequently, the standard also does not discuss how or even if the methods for modifying the DOM respect component boundaries. In AFP entry, we present a formally verified model of web components and define safety properties which ensure that different web components can only interact with each other using well-defined interfaces. Moreover, our verification of the application programming interface (API) of the DOM revealed numerous invariants that implementations of the DOM API need to preserve to ensure the integrity of components.",
"authors": [
"Achim D. Brucker",
"Michael Herzberg"
],
"date": "2020-09-28",
- "id": 132,
+ "id": 136,
"link": "/entries/DOM_Components.html",
"permalink": "/entries/DOM_Components.html",
"shortname": "DOM_Components",
"title": "A Formalization of Web Components",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "In this AFP entry, we formalize the core of the Safely Composable Document Object Model (SC DOM). The SC DOM improve the standard DOM (as formalized in the AFP entry \"Core DOM\") by strengthening the tree boundaries set by shadow roots: in the SC DOM, the shadow root is a sub-class of the document class (instead of a base class). This modifications also results in changes to some API methods (e.g., getOwnerDocument) to return the nearest shadow root rather than the document root. As a result, many API methods that, when called on a node inside a shadow tree, would previously ``break out'' and return or modify nodes that are possibly outside the shadow tree, now stay within its boundaries. This change in behavior makes programs that operate on shadow trees more predictable for the developer and allows them to make more assumptions about other code accessing the DOM.",
"authors": [
"Achim D. Brucker",
"Michael Herzberg"
],
"date": "2020-09-28",
- "id": 133,
+ "id": 137,
"link": "/entries/Core_SC_DOM.html",
"permalink": "/entries/Core_SC_DOM.html",
"shortname": "Core_SC_DOM",
"title": "The Safely Composable DOM",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 1
},
{
"abstract": "We present an abstract formalization of G\u0026ouml;del's incompleteness theorems. We analyze sufficient conditions for the theorems' applicability to a partially specified logic. Our abstract perspective enables a comparison between alternative approaches from the literature. These include Rosser's variation of the first theorem, Jeroslow's variation of the second theorem, and the Swierczkowski\u0026ndash;Paulson semantics-based approach. This AFP entry is the main entry point to the results described in our CADE-27 paper \u003ca href=\"https://dx.doi.org/10.1007/978-3-030-29436-6_26\"\u003eA Formally Verified Abstract Account of Gödel's Incompleteness Theorems\u003c/a\u003e. As part of our abstract formalization's validation, we instantiate our locales twice in the separate AFP entries \u003ca href=\"https://www.isa-afp.org/entries/Goedel_HFSet_Semantic.html\"\u003eGoedel_HFSet_Semantic\u003c/a\u003e and \u003ca href=\"https://www.isa-afp.org/entries/Goedel_HFSet_Semanticless.html\"\u003eGoedel_HFSet_Semanticless\u003c/a\u003e.",
"authors": [
"Andrei Popescu",
"Dmitriy Traytel"
],
"date": "2020-09-16",
- "id": 134,
+ "id": 138,
"link": "/entries/Goedel_Incompleteness.html",
"permalink": "/entries/Goedel_Incompleteness.html",
"shortname": "Goedel_Incompleteness",
"title": "An Abstract Formalization of G\u0026ouml;del's Incompleteness Theorems",
"topic_links": [
"logic/proof-theory"
],
"topics": [
"Logic/Proof theory"
],
"used_by": 2
},
{
"abstract": "We validate an abstract formulation of G\u0026ouml;del's First and Second Incompleteness Theorems from a \u003ca href=\"https://www.isa-afp.org/entries/Goedel_Incompleteness.html\"\u003eseparate AFP entry\u003c/a\u003e by instantiating them to the case of \u003ci\u003efinite sound extensions of the Hereditarily Finite (HF) Set theory\u003c/i\u003e, i.e., FOL theories extending the HF Set theory with a finite set of axioms that are sound in the standard model. The concrete results had been previously formalised in an \u003ca href=\"https://www.isa-afp.org/entries/Incompleteness.html\"\u003eAFP entry by Larry Paulson\u003c/a\u003e; our instantiation reuses the infrastructure developed in that entry.",
"authors": [
"Andrei Popescu",
"Dmitriy Traytel"
],
"date": "2020-09-16",
- "id": 135,
+ "id": 139,
"link": "/entries/Goedel_HFSet_Semantic.html",
"permalink": "/entries/Goedel_HFSet_Semantic.html",
"shortname": "Goedel_HFSet_Semantic",
"title": "From Abstract to Concrete G\u0026ouml;del's Incompleteness Theorems\u0026mdash;Part I",
"topic_links": [
"logic/proof-theory"
],
"topics": [
"Logic/Proof theory"
],
"used_by": 0
},
{
"abstract": "We validate an abstract formulation of G\u0026ouml;del's Second Incompleteness Theorem from a \u003ca href=\"https://www.isa-afp.org/entries/Goedel_Incompleteness.html\"\u003eseparate AFP entry\u003c/a\u003e by instantiating it to the case of \u003ci\u003efinite consistent extensions of the Hereditarily Finite (HF) Set theory\u003c/i\u003e, i.e., consistent FOL theories extending the HF Set theory with a finite set of axioms. The instantiation draws heavily on infrastructure previously developed by Larry Paulson in his \u003ca href=\"https://www.isa-afp.org/entries/Incompleteness.html\"\u003edirect formalisation of the concrete result\u003c/a\u003e. It strengthens Paulson's formalization of G\u0026ouml;del's Second from that entry by \u003ci\u003enot\u003c/i\u003e assuming soundness, and in fact not relying on any notion of model or semantic interpretation. The strengthening was obtained by first replacing some of Paulson’s semantic arguments with proofs within his HF calculus, and then plugging in some of Paulson's (modified) lemmas to instantiate our soundness-free G\u0026ouml;del's Second locale.",
"authors": [
"Andrei Popescu",
"Dmitriy Traytel"
],
"date": "2020-09-16",
- "id": 136,
+ "id": 140,
"link": "/entries/Goedel_HFSet_Semanticless.html",
"permalink": "/entries/Goedel_HFSet_Semanticless.html",
"shortname": "Goedel_HFSet_Semanticless",
"title": "From Abstract to Concrete G\u0026ouml;del's Incompleteness Theorems\u0026mdash;Part II",
"topic_links": [
"logic/proof-theory"
],
"topics": [
"Logic/Proof theory"
],
"used_by": 0
},
{
"abstract": "We instantiate our syntax-independent logic infrastructure developed in \u003ca href=\"https://www.isa-afp.org/entries/Syntax_Independent_Logic.html\"\u003ea separate AFP entry\u003c/a\u003e to the FOL theory of Robinson arithmetic (also known as Q). The latter was formalised using Nominal Isabelle by adapting \u003ca href=\"https://www.isa-afp.org/entries/Incompleteness.html\"\u003eLarry Paulson’s formalization of the Hereditarily Finite Set theory\u003c/a\u003e.",
"authors": [
"Andrei Popescu",
"Dmitriy Traytel"
],
"date": "2020-09-16",
- "id": 137,
+ "id": 141,
"link": "/entries/Robinson_Arithmetic.html",
"permalink": "/entries/Robinson_Arithmetic.html",
"shortname": "Robinson_Arithmetic",
"title": "Robinson Arithmetic",
"topic_links": [
"logic/proof-theory"
],
"topics": [
"Logic/Proof theory"
],
"used_by": 0
},
{
"abstract": "We formalize a notion of logic whose terms and formulas are kept abstract. In particular, logical connectives, substitution, free variables, and provability are not defined, but characterized by their general properties as locale assumptions. Based on this abstract characterization, we develop further reusable reasoning infrastructure. For example, we define parallel substitution (along with proving its characterizing theorems) from single-point substitution. Similarly, we develop a natural deduction style proof system starting from the abstract Hilbert-style one. These one-time efforts benefit different concrete logics satisfying our locales' assumptions. We instantiate the syntax-independent logic infrastructure to Robinson arithmetic (also known as Q) in the AFP entry \u003ca href=\"https://www.isa-afp.org/entries/Robinson_Arithmetic.html\"\u003eRobinson_Arithmetic\u003c/a\u003e and to hereditarily finite set theory in the AFP entries \u003ca href=\"https://www.isa-afp.org/entries/Goedel_HFSet_Semantic.html\"\u003eGoedel_HFSet_Semantic\u003c/a\u003e and \u003ca href=\"https://www.isa-afp.org/entries/Goedel_HFSet_Semanticless.html\"\u003eGoedel_HFSet_Semanticless\u003c/a\u003e, which are part of our formalization of G\u0026ouml;del's Incompleteness Theorems described in our CADE-27 paper \u003ca href=\"https://dx.doi.org/10.1007/978-3-030-29436-6_26\"\u003eA Formally Verified Abstract Account of Gödel's Incompleteness Theorems\u003c/a\u003e.",
"authors": [
"Andrei Popescu",
"Dmitriy Traytel"
],
"date": "2020-09-16",
- "id": 138,
+ "id": 142,
"link": "/entries/Syntax_Independent_Logic.html",
"permalink": "/entries/Syntax_Independent_Logic.html",
"shortname": "Syntax_Independent_Logic",
"title": "Syntax-Independent Logic Infrastructure",
"topic_links": [
"logic/proof-theory"
],
"topics": [
"Logic/Proof theory"
],
"used_by": 2
},
{
"abstract": "In this AFP entry, we provide a formalisation of extended finite state machines (EFSMs) where models are represented as finite sets of transitions between states. EFSMs execute traces to produce observable outputs. We also define various simulation and equality metrics for EFSMs in terms of traces and prove their strengths in relation to each other. Another key contribution is a framework of function definitions such that LTL properties can be phrased over EFSMs. Finally, we provide a simple example case study in the form of a drinks machine.",
"authors": [
"Michael Foster",
"Achim D. Brucker",
"Ramsay G. Taylor",
"John Derrick"
],
"date": "2020-09-07",
- "id": 139,
+ "id": 143,
"link": "/entries/Extended_Finite_State_Machines.html",
"permalink": "/entries/Extended_Finite_State_Machines.html",
"shortname": "Extended_Finite_State_Machines",
"title": "A Formal Model of Extended Finite State Machines",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 1
},
{
"abstract": "In this AFP entry, we provide a formal implementation of a state-merging technique to infer extended finite state machines (EFSMs), complete with output and update functions, from black-box traces. In particular, we define the subsumption in context relation as a means of determining whether one transition is able to account for the behaviour of another. Building on this, we define the direct subsumption relation, which lifts the subsumption in context relation to EFSM level such that we can use it to determine whether it is safe to merge a given pair of transitions. Key proofs include the conditions necessary for subsumption to occur and that subsumption and direct subsumption are preorder relations. We also provide a number of different heuristics which can be used to abstract away concrete values into registers so that more states and transitions can be merged and provide proofs of the various conditions which must hold for these abstractions to subsume their ungeneralised counterparts. A Code Generator setup to create executable Scala code is also defined.",
"authors": [
"Michael Foster",
"Achim D. Brucker",
"Ramsay G. Taylor",
"John Derrick"
],
"date": "2020-09-07",
- "id": 140,
+ "id": 144,
"link": "/entries/Extended_Finite_State_Machine_Inference.html",
"permalink": "/entries/Extended_Finite_State_Machine_Inference.html",
"shortname": "Extended_Finite_State_Machine_Inference",
"title": "Inference of Extended Finite State Machines",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "Generating and checking proof certificates is important to increase the trust in automated reasoning tools. In recent years formal verification using computer algebra became more important and is heavily used in automated circuit verification. An existing proof format which covers algebraic reasoning and allows efficient proof checking is the practical algebraic calculus (PAC). In this development, we present the verified checker Pastèque that is obtained by synthesis via the Refinement Framework. This is the formalization going with our FMCAD'20 tool presentation.",
"authors": [
"Mathias Fleury",
"Daniela Kaufmann"
],
"date": "2020-08-31",
- "id": 141,
+ "id": 145,
"link": "/entries/PAC_Checker.html",
"permalink": "/entries/PAC_Checker.html",
"shortname": "PAC_Checker",
"title": "Practical Algebraic Calculus Checker",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e This entry formalizes some classical concepts and results from inductive inference of recursive functions. In the basic setting a partial recursive function (\"strategy\") must identify (\"learn\") all functions from a set (\"class\") of recursive functions. To that end the strategy receives more and more values $f(0), f(1), f(2), \\ldots$ of some function $f$ from the given class and in turn outputs descriptions of partial recursive functions, for example, Gödel numbers. The strategy is considered successful if the sequence of outputs (\"hypotheses\") converges to a description of $f$. A class of functions learnable in this sense is called \"learnable in the limit\". The set of all these classes is denoted by LIM. \u003c/p\u003e \u003cp\u003e Other types of inference considered are finite learning (FIN), behaviorally correct learning in the limit (BC), and some variants of LIM with restrictions on the hypotheses: total learning (TOTAL), consistent learning (CONS), and class-preserving learning (CP). The main results formalized are the proper inclusions $\\mathrm{FIN} \\subset \\mathrm{CP} \\subset \\mathrm{TOTAL} \\subset \\mathrm{CONS} \\subset \\mathrm{LIM} \\subset \\mathrm{BC} \\subset 2^{\\mathcal{R}}$, where $\\mathcal{R}$ is the set of all total recursive functions. Further results show that for all these inference types except CONS, strategies can be assumed to be total recursive functions; that all inference types but CP are closed under the subset relation between classes; and that no inference type is closed under the union of classes. \u003c/p\u003e \u003cp\u003e The above is based on a formalization of recursive functions heavily inspired by the \u003ca href=\"https://www.isa-afp.org/entries/Universal_Turing_Machine.html\"\u003eUniversal Turing Machine\u003c/a\u003e entry by Xu et al., but different in that it models partial functions with codomain \u003cem\u003enat option\u003c/em\u003e. The formalization contains a construction of a universal partial recursive function, without resorting to Turing machines, introduces decidability and recursive enumerability, and proves some standard results: existence of a Kleene normal form, the \u003cem\u003es-m-n\u003c/em\u003e theorem, Rice's theorem, and assorted fixed-point theorems (recursion theorems) by Kleene, Rogers, and Smullyan. \u003c/p\u003e",
"authors": [
"Frank J. Balbach"
],
"date": "2020-08-31",
- "id": 142,
+ "id": 146,
"link": "/entries/Inductive_Inference.html",
"permalink": "/entries/Inductive_Inference.html",
"shortname": "Inductive_Inference",
"title": "Some classical results in inductive inference of recursive functions",
"topic_links": [
"logic/computability",
"computer-science/machine-learning"
],
"topics": [
"Logic/Computability",
"Computer science/Machine learning"
],
"used_by": 0
},
{
"abstract": "We give a simple relation-algebraic semantics of read and write operations on associative arrays. The array operations seamlessly integrate with assignments in the Hoare-logic library. Using relation algebras and Kleene algebras we verify the correctness of an array-based implementation of disjoint-set forests with a naive union operation and a find operation with path compression.",
"authors": [
"Walter Guttmann"
],
"date": "2020-08-26",
- "id": 143,
+ "id": 147,
"link": "/entries/Relational_Disjoint_Set_Forests.html",
"permalink": "/entries/Relational_Disjoint_Set_Forests.html",
"shortname": "Relational_Disjoint_Set_Forests",
"title": "Relational Disjoint-Set Forests",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 1
},
{
"abstract": "This Isabelle/HOL formalization extends the AFP entry \u003cem\u003eSaturation_Framework\u003c/em\u003e with the following contributions: \u003cul\u003e \u003cli\u003ean application of the framework to prove Bachmair and Ganzinger's resolution prover RP refutationally complete, which was formalized in a more ad hoc fashion by Schlichtkrull et al. in the AFP entry \u003cem\u003eOrdered_Resultion_Prover\u003c/em\u003e;\u003c/li\u003e \u003cli\u003egeneralizations of various basic concepts formalized by Schlichtkrull et al., which were needed to verify RP and could be useful to formalize other calculi, such as superposition;\u003c/li\u003e \u003cli\u003ealternative proofs of fairness (and hence saturation and ultimately refutational completeness) for the given clause procedures GC and LGC, based on invariance.\u003c/li\u003e \u003c/ul\u003e",
"authors": [
"Jasmin Christian Blanchette",
"Sophie Tourret"
],
"date": "2020-08-25",
- "id": 144,
+ "id": 148,
"link": "/entries/Saturation_Framework_Extensions.html",
"permalink": "/entries/Saturation_Framework_Extensions.html",
"shortname": "Saturation_Framework_Extensions",
"title": "Extensions to the Comprehensive Framework for Saturation Theorem Proving",
"topic_links": [
"logic/general-logic/mechanization-of-proofs"
],
"topics": [
"Logic/General logic/Mechanization of proofs"
],
"used_by": 0
},
{
"abstract": "Richard Bird and collaborators have proposed a derivation of an intricate cyclic program that implements the Morris-Pratt string matching algorithm. Here we provide a proof of total correctness for Bird's derivation and complete it by adding Knuth's optimisation.",
"authors": [
"Peter Gammie"
],
"date": "2020-08-25",
- "id": 145,
+ "id": 149,
"link": "/entries/BirdKMP.html",
"permalink": "/entries/BirdKMP.html",
"shortname": "BirdKMP",
"title": "Putting the `K' into Bird's derivation of Knuth-Morris-Pratt string matching",
"topic_links": [
"computer-science/functional-programming"
],
"topics": [
"Computer science/Functional programming"
],
"used_by": 0
},
{
"abstract": "This is a formalisation of Amicable Numbers, involving some relevant material including Euler's sigma function, some relevant definitions, results and examples as well as rules such as Th\u0026#257;bit ibn Qurra's Rule, Euler's Rule, te Riele's Rule and Borho's Rule with breeders.",
"authors": [
"Angeliki Koutsoukou-Argyraki"
],
"date": "2020-08-04",
- "id": 146,
+ "id": 150,
"link": "/entries/Amicable_Numbers.html",
"permalink": "/entries/Amicable_Numbers.html",
"shortname": "Amicable_Numbers",
"title": "Amicable Numbers",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "The theory of partition relations concerns generalisations of Ramsey's theorem. For any ordinal $\\alpha$, write $\\alpha \\to (\\alpha, m)^2$ if for each function $f$ from unordered pairs of elements of $\\alpha$ into $\\{0,1\\}$, either there is a subset $X\\subseteq \\alpha$ order-isomorphic to $\\alpha$ such that $f\\{x,y\\}=0$ for all $\\{x,y\\}\\subseteq X$, or there is an $m$ element set $Y\\subseteq \\alpha$ such that $f\\{x,y\\}=1$ for all $\\{x,y\\}\\subseteq Y$. (In both cases, with $\\{x,y\\}$ we require $x\\not=y$.) In particular, the infinite Ramsey theorem can be written in this notation as $\\omega \\to (\\omega, \\omega)^2$, or if we restrict $m$ to the positive integers as above, then $\\omega \\to (\\omega, m)^2$ for all $m$. This entry formalises Larson's proof of $\\omega^\\omega \\to (\\omega^\\omega, m)^2$ along with a similar proof of a result due to Specker: $\\omega^2 \\to (\\omega^2, m)^2$. Also proved is a necessary result by Erdős and Milner: $\\omega^{1+\\alpha\\cdot n} \\to (\\omega^{1+\\alpha}, 2^n)^2$.",
"authors": [
"Lawrence C. Paulson"
],
"date": "2020-08-03",
- "id": 147,
+ "id": 151,
"link": "/entries/Ordinal_Partitions.html",
"permalink": "/entries/Ordinal_Partitions.html",
"shortname": "Ordinal_Partitions",
"title": "Ordinal Partitions",
"topic_links": [
"mathematics/combinatorics",
"logic/set-theory"
],
"topics": [
"Mathematics/Combinatorics",
"Logic/Set theory"
],
"used_by": 0
},
{
"abstract": "We provide a suitable distributed system model and implementation of the Chandy--Lamport distributed snapshot algorithm [ACM Transactions on Computer Systems, 3, 63-75, 1985]. Our main result is a formal termination and correctness proof of the Chandy--Lamport algorithm and its use in stable property detection.",
"authors": [
"Ben Fiedler",
"Dmitriy Traytel"
],
"date": "2020-07-21",
- "id": 148,
+ "id": 152,
"link": "/entries/Chandy_Lamport.html",
"permalink": "/entries/Chandy_Lamport.html",
"shortname": "Chandy_Lamport",
"title": "A Formal Proof of The Chandy--Lamport Distributed Snapshot Algorithm",
"topic_links": [
"computer-science/algorithms/distributed"
],
"topics": [
"Computer science/Algorithms/Distributed"
],
"used_by": 0
},
{
"abstract": "Binary relations are one of the standard ways to encode, characterise and reason about graphs. Relation algebras provide equational axioms for a large fragment of the calculus of binary relations. Although relations are standard tools in many areas of mathematics and computing, researchers usually fall back to point-wise reasoning when it comes to arguments about paths in a graph. We present a purely algebraic way to specify different kinds of paths in Kleene relation algebras, which are relation algebras equipped with an operation for reflexive transitive closure. We study the relationship between paths with a designated root vertex and paths without such a vertex. Since we stay in first-order logic this development helps with mechanising proofs. To demonstrate the applicability of the algebraic framework we verify the correctness of three basic graph algorithms.",
"authors": [
"Walter Guttmann",
"Peter Höfner"
],
"date": "2020-07-13",
- "id": 149,
+ "id": 153,
"link": "/entries/Relational_Paths.html",
"permalink": "/entries/Relational_Paths.html",
"shortname": "Relational_Paths",
"title": "Relational Characterisations of Paths",
"topic_links": [
"mathematics/graph-theory"
],
"topics": [
"Mathematics/Graph theory"
],
"used_by": 0
},
{
"abstract": "The Vienna Convention on Road Traffic defines the safe distance traffic rules informally. This could make autonomous vehicle liable for safe-distance-related accidents because there is no clear definition of how large a safe distance is. We provide a formally proven prescriptive definition of a safe distance, and checkers which can decide whether an autonomous vehicle is obeying the safe distance rule. Not only does our work apply to the domain of law, but it also serves as a specification for autonomous vehicle manufacturers and for online verification of path planners.",
"authors": [
"Albert Rizaldi",
"Fabian Immler"
],
"date": "2020-06-01",
- "id": 150,
+ "id": 154,
"link": "/entries/Safe_Distance.html",
"permalink": "/entries/Safe_Distance.html",
"shortname": "Safe_Distance",
"title": "A Formally Verified Checker of the Safe Distance Traffic Rules for Autonomous Vehicles",
"topic_links": [
"computer-science/algorithms/mathematical",
"mathematics/physics"
],
"topics": [
"Computer science/Algorithms/Mathematical",
"Mathematics/Physics"
],
"used_by": 0
},
{
"abstract": "This work presents a formal proof in Isabelle/HOL of an algorithm to transform a matrix into its Smith normal form, a canonical matrix form, in a general setting: the algorithm is parameterized by operations to prove its existence over elementary divisor rings, while execution is guaranteed over Euclidean domains. We also provide a formal proof on some results about the generality of this algorithm as well as the uniqueness of the Smith normal form. Since Isabelle/HOL does not feature dependent types, the development is carried out switching conveniently between two different existing libraries: the Hermite normal form (based on HOL Analysis) and the Jordan normal form AFP entries. This permits to reuse results from both developments and it is done by means of the lifting and transfer package together with the use of local type definitions.",
"authors": [
"Jose Divasón"
],
"date": "2020-05-23",
- "id": 151,
+ "id": 155,
"link": "/entries/Smith_Normal_Form.html",
"permalink": "/entries/Smith_Normal_Form.html",
"shortname": "Smith_Normal_Form",
"title": "A verified algorithm for computing the Smith normal form of a matrix",
"topic_links": [
"mathematics/algebra",
"computer-science/algorithms/mathematical"
],
"topics": [
"Mathematics/Algebra",
"Computer science/Algorithms/Mathematical"
],
"used_by": 1
},
{
"abstract": "In 1965, Nash-Williams discovered a generalisation of the infinite form of Ramsey's theorem. Where the latter concerns infinite sets of n-element sets for some fixed n, the Nash-Williams theorem concerns infinite sets of finite sets (or lists) subject to a “no initial segment” condition. The present formalisation follows a monograph on Ramsey Spaces by Todorčević.",
"authors": [
"Lawrence C. Paulson"
],
"date": "2020-05-16",
- "id": 152,
+ "id": 156,
"link": "/entries/Nash_Williams.html",
"permalink": "/entries/Nash_Williams.html",
"shortname": "Nash_Williams",
"title": "The Nash-Williams Partition Theorem",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 1
},
{
"abstract": "We define a generalized version of Knuth\u0026ndash;Bendix orders, including subterm coefficient functions. For these orders we formalize several properties such as strong normalization, the subterm property, closure properties under substitutions and contexts, as well as ground totality.",
"authors": [
"Christian Sternagel",
"René Thiemann"
],
"date": "2020-05-13",
- "id": 153,
+ "id": 157,
"link": "/entries/Knuth_Bendix_Order.html",
"permalink": "/entries/Knuth_Bendix_Order.html",
"shortname": "Knuth_Bendix_Order",
"title": "A Formalization of Knuth–Bendix Orders",
"topic_links": [
"logic/rewriting"
],
"topics": [
"Logic/Rewriting"
],
"used_by": 3
},
{
"abstract": "We formalise certain irrationality criteria for infinite series of the form: \\[\\sum_{n=1}^\\infty \\frac{b_n}{\\prod_{i=1}^n a_i} \\] where $\\{b_n\\}$ is a sequence of integers and $\\{a_n\\}$ a sequence of positive integers with $a_n \u003e1$ for all large n. The results are due to P. Erdős and E. G. Straus \u003ca href=\"https://projecteuclid.org/euclid.pjm/1102911140\"\u003e[1]\u003c/a\u003e. In particular, we formalise Theorem 2.1, Corollary 2.10 and Theorem 3.1. The latter is an application of Theorem 2.1 involving the prime numbers.",
"authors": [
"Angeliki Koutsoukou-Argyraki",
"Wenda Li"
],
"date": "2020-05-12",
- "id": 154,
+ "id": 158,
"link": "/entries/Irrational_Series_Erdos_Straus.html",
"permalink": "/entries/Irrational_Series_Erdos_Straus.html",
"shortname": "Irrational_Series_Erdos_Straus",
"title": "Irrationality Criteria for Series by Erdős and Straus",
"topic_links": [
"mathematics/number-theory",
"mathematics/analysis"
],
"topics": [
"Mathematics/Number theory",
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "This document contains a proof of the recursion theorem. This is a mechanization of the proof of the recursion theorem from the text \u003ci\u003eIntroduction to Set Theory\u003c/i\u003e, by Karel Hrbacek and Thomas Jech. This implementation may be used as the basis for a model of Peano arithmetic in ZF. While recursion and the natural numbers are already available in Isabelle/ZF, this clean development is much easier to follow.",
"authors": [
"Georgy Dunaev"
],
"date": "2020-05-11",
- "id": 155,
+ "id": 159,
"link": "/entries/Recursion-Addition.html",
"permalink": "/entries/Recursion-Addition.html",
"shortname": "Recursion-Addition",
"title": "Recursion Theorem in ZF",
"topic_links": [
"logic/set-theory"
],
"topics": [
"Logic/Set theory"
],
"used_by": 0
},
{
"abstract": "In the mid 80s, Lichtenstein, Pnueli, and Zuck proved a classical theorem stating that every formula of Past LTL (the extension of LTL with past operators) is equivalent to a formula of the form $\\bigwedge_{i=1}^n \\mathbf{G}\\mathbf{F} \\varphi_i \\vee \\mathbf{F}\\mathbf{G} \\psi_i$, where $\\varphi_i$ and $\\psi_i$ contain only past operators. Some years later, Chang, Manna, and Pnueli built on this result to derive a similar normal form for LTL. Both normalisation procedures have a non-elementary worst-case blow-up, and follow an involved path from formulas to counter-free automata to star-free regular expressions and back to formulas. We improve on both points. We present an executable formalisation of a direct and purely syntactic normalisation procedure for LTL yielding a normal form, comparable to the one by Chang, Manna, and Pnueli, that has only a single exponential blow-up.",
"authors": [
"Salomon Sickert"
],
"date": "2020-05-08",
- "id": 156,
+ "id": 160,
"link": "/entries/LTL_Normal_Form.html",
"permalink": "/entries/LTL_Normal_Form.html",
"shortname": "LTL_Normal_Form",
"title": "An Efficient Normalisation Procedure for Linear Temporal Logic: Isabelle/HOL Formalisation",
"topic_links": [
"computer-science/automata-and-formal-languages",
"logic/general-logic/temporal-logic"
],
"topics": [
"Computer science/Automata and formal languages",
"Logic/General logic/Temporal logic"
],
"used_by": 0
},
{
"abstract": "We formalize the theory of forcing in the set theory framework of Isabelle/ZF. Under the assumption of the existence of a countable transitive model of ZFC, we construct a proper generic extension and show that the latter also satisfies ZFC.",
"authors": [
"Emmanuel Gunther",
"Miguel Pagano",
"Pedro Sánchez Terraf"
],
"date": "2020-05-06",
- "id": 157,
+ "id": 161,
"link": "/entries/Forcing.html",
"permalink": "/entries/Forcing.html",
"shortname": "Forcing",
"title": "Formalization of Forcing in Isabelle/ZF",
"topic_links": [
"logic/set-theory"
],
"topics": [
"Logic/Set theory"
],
"used_by": 0
},
{
"abstract": "We formalize in Isabelle/HOL a result due to S. Banach and H. Steinhaus known as the Banach-Steinhaus theorem or Uniform boundedness principle: a pointwise-bounded family of continuous linear operators from a Banach space to a normed space is uniformly bounded. Our approach is an adaptation to Isabelle/HOL of a proof due to A. Sokal.",
"authors": [
"Dominique Unruh",
"José Manuel Rodríguez Caballero"
],
"date": "2020-05-02",
- "id": 158,
+ "id": 162,
"link": "/entries/Banach_Steinhaus.html",
"permalink": "/entries/Banach_Steinhaus.html",
"shortname": "Banach_Steinhaus",
"title": "Banach-Steinhaus Theorem",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 1
},
{
"abstract": "In this article, we present a proof theory for Attack Trees. Attack Trees are a well established and useful model for the construction of attacks on systems since they allow a stepwise exploration of high level attacks in application scenarios. Using the expressiveness of Higher Order Logic in Isabelle, we develop a generic theory of Attack Trees with a state-based semantics based on Kripke structures and CTL. The resulting framework allows mechanically supported logic analysis of the meta-theory of the proof calculus of Attack Trees and at the same time the developed proof theory enables application to case studies. A central correctness and completeness result proved in Isabelle establishes a connection between the notion of Attack Tree validity and CTL. The application is illustrated on the example of a healthcare IoT system and GDPR compliance verification.",
"authors": [
"Florian Kammüller"
],
"date": "2020-04-27",
- "id": 159,
+ "id": 163,
"link": "/entries/Attack_Trees.html",
"permalink": "/entries/Attack_Trees.html",
"shortname": "Attack_Trees",
"title": "Attack Trees in Isabelle for GDPR compliance of IoT healthcare systems",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThe Gaussian integers are the subring \u0026#8484;[i] of the complex numbers, i. e. the ring of all complex numbers with integral real and imaginary part. This article provides a definition of this ring as well as proofs of various basic properties, such as that they form a Euclidean ring and a full classification of their primes. An executable (albeit not very efficient) factorisation algorithm is also provided.\u003c/p\u003e \u003cp\u003eLastly, this Gaussian integer formalisation is used in two short applications:\u003c/p\u003e \u003col\u003e \u003cli\u003e The characterisation of all positive integers that can be written as sums of two squares\u003c/li\u003e \u003cli\u003e Euclid's formula for primitive Pythagorean triples\u003c/li\u003e \u003c/ol\u003e \u003cp\u003eWhile elementary proofs for both of these are already available in the AFP, the theory of Gaussian integers provides more concise proofs and a more high-level view.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2020-04-24",
- "id": 160,
+ "id": 164,
"link": "/entries/Gaussian_Integers.html",
"permalink": "/entries/Gaussian_Integers.html",
"shortname": "Gaussian_Integers",
"title": "Gaussian Integers",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThis article provides a formalisation of the symmetric multivariate polynomials known as \u003cem\u003epower sum polynomials\u003c/em\u003e. These are of the form p\u003csub\u003en\u003c/sub\u003e(\u003cem\u003eX\u003c/em\u003e\u003csub\u003e1\u003c/sub\u003e,\u0026hellip;, \u003cem\u003eX\u003c/em\u003e\u003csub\u003e\u003cem\u003ek\u003c/em\u003e\u003c/sub\u003e) = \u003cem\u003eX\u003c/em\u003e\u003csub\u003e1\u003c/sub\u003e\u003csup\u003en\u003c/sup\u003e + \u0026hellip; + X\u003csub\u003e\u003cem\u003ek\u003c/em\u003e\u003c/sub\u003e\u003csup\u003en\u003c/sup\u003e. A formal proof of the Girard–Newton Theorem is also given. This theorem relates the power sum polynomials to the elementary symmetric polynomials s\u003csub\u003e\u003cem\u003ek\u003c/em\u003e\u003c/sub\u003e in the form of a recurrence relation (-1)\u003csup\u003e\u003cem\u003ek\u003c/em\u003e\u003c/sup\u003e \u003cem\u003ek\u003c/em\u003e s\u003csub\u003e\u003cem\u003ek\u003c/em\u003e\u003c/sub\u003e = \u0026sum;\u003csub\u003ei\u0026isinv;[0,\u003cem\u003ek\u003c/em\u003e)\u003c/sub\u003e (-1)\u003csup\u003ei\u003c/sup\u003e s\u003csub\u003ei\u003c/sub\u003e p\u003csub\u003e\u003cem\u003ek\u003c/em\u003e-\u003cem\u003ei\u003c/em\u003e\u003c/sub\u003e\u0026thinsp;.\u003c/p\u003e \u003cp\u003eAs an application, this is then used to solve a generalised form of a puzzle given as an exercise in Dummit and Foote's \u003cem\u003eAbstract Algebra\u003c/em\u003e: For \u003cem\u003ek\u003c/em\u003e complex unknowns \u003cem\u003ex\u003c/em\u003e\u003csub\u003e1\u003c/sub\u003e, \u0026hellip;, \u003cem\u003ex\u003c/em\u003e\u003csub\u003e\u003cem\u003ek\u003c/em\u003e\u003c/sub\u003e, define p\u003csub\u003e\u003cem\u003ej\u003c/em\u003e\u003c/sub\u003e := \u003cem\u003ex\u003c/em\u003e\u003csub\u003e1\u003c/sub\u003e\u003csup\u003e\u003cem\u003ej\u003c/em\u003e\u003c/sup\u003e + \u0026hellip; + \u003cem\u003ex\u003c/em\u003e\u003csub\u003e\u003cem\u003ek\u003c/em\u003e\u003c/sub\u003e\u003csup\u003e\u003cem\u003ej\u003c/em\u003e\u003c/sup\u003e. Then for each vector \u003cem\u003ea\u003c/em\u003e \u0026isinv; \u0026#x2102;\u003csup\u003e\u003cem\u003ek\u003c/em\u003e\u003c/sup\u003e, show that there is exactly one solution to the system p\u003csub\u003e1\u003c/sub\u003e = a\u003csub\u003e1\u003c/sub\u003e, \u0026hellip;, p\u003csub\u003e\u003cem\u003ek\u003c/em\u003e\u003c/sub\u003e = a\u003csub\u003e\u003cem\u003ek\u003c/em\u003e\u003c/sub\u003e up to permutation of the \u003cem\u003ex\u003c/em\u003e\u003csub\u003e\u003cem\u003ei\u003c/em\u003e\u003c/sub\u003e and determine the value of p\u003csub\u003e\u003cem\u003ei\u003c/em\u003e\u003c/sub\u003e for i\u0026gt;k.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2020-04-24",
- "id": 161,
+ "id": 165,
"link": "/entries/Power_Sum_Polynomials.html",
"permalink": "/entries/Power_Sum_Polynomials.html",
"shortname": "Power_Sum_Polynomials",
"title": "Power Sum Polynomials",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003eThe Lambert \u003cem\u003eW\u003c/em\u003e function is a multi-valued function defined as the inverse function of \u003cem\u003ex\u003c/em\u003e \u0026#x21A6; \u003cem\u003ex\u003c/em\u003e e\u003csup\u003e\u003cem\u003ex\u003c/em\u003e\u003c/sup\u003e. Besides numerous applications in combinatorics, physics, and engineering, it also frequently occurs when solving equations containing both e\u003csup\u003e\u003cem\u003ex\u003c/em\u003e\u003c/sup\u003e and \u003cem\u003ex\u003c/em\u003e, or both \u003cem\u003ex\u003c/em\u003e and log \u003cem\u003ex\u003c/em\u003e.\u003c/p\u003e \u003cp\u003eThis article provides a definition of the two real-valued branches \u003cem\u003eW\u003c/em\u003e\u003csub\u003e0\u003c/sub\u003e(\u003cem\u003ex\u003c/em\u003e) and \u003cem\u003eW\u003c/em\u003e\u003csub\u003e-1\u003c/sub\u003e(\u003cem\u003ex\u003c/em\u003e) and proves various properties such as basic identities and inequalities, monotonicity, differentiability, asymptotic expansions, and the MacLaurin series of \u003cem\u003eW\u003c/em\u003e\u003csub\u003e0\u003c/sub\u003e(\u003cem\u003ex\u003c/em\u003e) at \u003cem\u003ex\u003c/em\u003e = 0.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2020-04-24",
- "id": 162,
+ "id": 166,
"link": "/entries/Lambert_W.html",
"permalink": "/entries/Lambert_W.html",
"shortname": "Lambert_W",
"title": "The Lambert W Function on the Reals",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "Our theories formalise various matrix properties that serve to establish existence, uniqueness and characterisation of the solution to affine systems of ordinary differential equations (ODEs). In particular, we formalise the operator and maximum norm of matrices. Then we use them to prove that square matrices form a Banach space, and in this setting, we show an instance of Picard-Lindelöf’s theorem for affine systems of ODEs. Finally, we use this formalisation to verify three simple hybrid programs.",
"authors": [
"Jonathan Julian Huerta y Munive"
],
"date": "2020-04-19",
- "id": 163,
+ "id": 167,
"link": "/entries/Matrices_for_ODEs.html",
"permalink": "/entries/Matrices_for_ODEs.html",
"shortname": "Matrices_for_ODEs",
"title": "Matrices for ODEs",
"topic_links": [
"mathematics/analysis",
"mathematics/algebra"
],
"topics": [
"Mathematics/Analysis",
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "Authenticated data structures allow several systems to convince each other that they are referring to the same data structure, even if each of them knows only a part of the data structure. Using inclusion proofs, knowledgeable systems can selectively share their knowledge with other systems and the latter can verify the authenticity of what is being shared. In this article, we show how to modularly define authenticated data structures, their inclusion proofs, and operations thereon as datatypes in Isabelle/HOL, using a shallow embedding. Modularity allows us to construct complicated trees from reusable building blocks, which we call Merkle functors. Merkle functors include sums, products, and function spaces and are closed under composition and least fixpoints. As a practical application, we model the hierarchical transactions of \u003ca href=\"https://www.canton.io\"\u003eCanton\u003c/a\u003e, a practical interoperability protocol for distributed ledgers, as authenticated data structures. This is a first step towards formalizing the Canton protocol and verifying its integrity and security guarantees.",
"authors": [
"Andreas Lochbihler",
"Ognjen Marić"
],
"date": "2020-04-16",
- "id": 164,
+ "id": 168,
"link": "/entries/ADS_Functor.html",
"permalink": "/entries/ADS_Functor.html",
"shortname": "ADS_Functor",
"title": "Authenticated Data Structures As Functors",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "Basin et al.'s \u003ca href=\"https://doi.org/10.1016/j.ipl.2014.09.009\"\u003esliding window algorithm (SWA)\u003c/a\u003e is an algorithm for combining the elements of subsequences of a sequence with an associative operator. It is greedy and minimizes the number of operator applications. We formalize the algorithm and verify its functional correctness. We extend the algorithm with additional operations and provide an alternative interface to the slide operation that does not require the entire input sequence.",
"authors": [
"Lukas Heimes",
"Dmitriy Traytel",
"Joshua Schneider"
],
"date": "2020-04-10",
- "id": 165,
+ "id": 169,
"link": "/entries/Sliding_Window_Algorithm.html",
"permalink": "/entries/Sliding_Window_Algorithm.html",
"shortname": "Sliding_Window_Algorithm",
"title": "Formalization of an Algorithm for Greedily Computing Associative Aggregations on Sliding Windows",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "This Isabelle/HOL formalization is the companion of the technical report “A comprehensive framework for saturation theorem proving”, itself companion of the eponym IJCAR 2020 paper, written by Uwe Waldmann, Sophie Tourret, Simon Robillard and Jasmin Blanchette. It verifies a framework for formal refutational completeness proofs of abstract provers that implement saturation calculi, such as ordered resolution or superposition, and allows to model entire prover architectures in such a way that the static refutational completeness of a calculus immediately implies the dynamic refutational completeness of a prover implementing the calculus using a variant of the given clause loop. The technical report “A comprehensive framework for saturation theorem proving” is available \u003ca href=\"http://matryoshka.gforge.inria.fr/pubs/satur_report.pdf\"\u003eon the Matryoshka website\u003c/a\u003e. The names of the Isabelle lemmas and theorems corresponding to the results in the report are indicated in the margin of the report.",
"authors": [
"Sophie Tourret"
],
"date": "2020-04-09",
- "id": 166,
+ "id": 170,
"link": "/entries/Saturation_Framework.html",
"permalink": "/entries/Saturation_Framework.html",
"shortname": "Saturation_Framework",
"title": "A Comprehensive Framework for Saturation Theorem Proving",
"topic_links": [
"logic/general-logic/mechanization-of-proofs"
],
"topics": [
"Logic/General logic/Mechanization of proofs"
],
"used_by": 1
},
{
"abstract": "A monitor is a runtime verification tool that solves the following problem: Given a stream of time-stamped events and a policy formulated in a specification language, decide whether the policy is satisfied at every point in the stream. We verify the correctness of an executable monitor for specifications given as formulas in metric first-order dynamic logic (MFODL), which combines the features of metric first-order temporal logic (MFOTL) and metric dynamic logic. Thus, MFODL supports real-time constraints, first-order parameters, and regular expressions. Additionally, the monitor supports aggregation operations such as count and sum. This formalization, which is described in a \u003ca href=\"http://people.inf.ethz.ch/trayteld/papers/ijcar20-verimonplus/verimonplus.pdf\"\u003e forthcoming paper at IJCAR 2020\u003c/a\u003e, significantly extends \u003ca href=\"https://www.isa-afp.org/entries/MFOTL_Monitor.html\"\u003eprevious work on a verified monitor\u003c/a\u003e for MFOTL. Apart from the addition of regular expressions and aggregations, we implemented \u003ca href=\"https://www.isa-afp.org/entries/Generic_Join.html\"\u003emulti-way joins\u003c/a\u003e and a specialized sliding window algorithm to further optimize the monitor.",
"authors": [
"Thibault Dardinier",
"Lukas Heimes",
"Martin Raszyk",
"Joshua Schneider",
"Dmitriy Traytel"
],
"date": "2020-04-09",
- "id": 167,
+ "id": 171,
"link": "/entries/MFODL_Monitor_Optimized.html",
"permalink": "/entries/MFODL_Monitor_Optimized.html",
"shortname": "MFODL_Monitor_Optimized",
"title": "Formalization of an Optimized Monitoring Algorithm for Metric First-Order Dynamic Logic with Aggregations",
"topic_links": [
"computer-science/algorithms",
"logic/general-logic/modal-logic",
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Algorithms",
"Logic/General logic/Modal logic",
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "In protocol verification we observe a wide spectrum from fully automated methods to interactive theorem proving with proof assistants like Isabelle/HOL. In this AFP entry, we present a fully-automated approach for verifying stateful security protocols, i.e., protocols with mutable state that may span several sessions. The approach supports reachability goals like secrecy and authentication. We also include a simple user-friendly transaction-based protocol specification language that is embedded into Isabelle.",
"authors": [
"Andreas V. Hess",
"Sebastian Mödersheim",
"Achim D. Brucker",
"Anders Schlichtkrull"
],
"date": "2020-04-08",
- "id": 168,
+ "id": 172,
"link": "/entries/Automated_Stateful_Protocol_Verification.html",
"permalink": "/entries/Automated_Stateful_Protocol_Verification.html",
"shortname": "Automated_Stateful_Protocol_Verification",
"title": "Automated Stateful Protocol Verification",
"topic_links": [
"computer-science/security",
"tools"
],
"topics": [
"Computer science/Security",
"Tools"
],
"used_by": 0
},
{
"abstract": "We provide in this AFP entry several relative soundness results for security protocols. In particular, we prove typing and compositionality results for stateful protocols (i.e., protocols with mutable state that may span several sessions), and that focuses on reachability properties. Such results are useful to simplify protocol verification by reducing it to a simpler problem: Typing results give conditions under which it is safe to verify a protocol in a typed model where only \"well-typed\" attacks can occur whereas compositionality results allow us to verify a composed protocol by only verifying the component protocols in isolation. The conditions on the protocols under which the results hold are furthermore syntactic in nature allowing for full automation. The foundation presented here is used in another entry to provide fully automated and formalized security proofs of stateful protocols.",
"authors": [
"Andreas V. Hess",
"Sebastian Mödersheim",
"Achim D. Brucker"
],
"date": "2020-04-08",
- "id": 169,
+ "id": 173,
"link": "/entries/Stateful_Protocol_Composition_and_Typing.html",
"permalink": "/entries/Stateful_Protocol_Composition_and_Typing.html",
"shortname": "Stateful_Protocol_Composition_and_Typing",
"title": "Stateful Protocol Composition and Typing",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 1
},
{
"abstract": "This work presents a formalisation of a generating function proof for Lucas's theorem. We first outline extensions to the existing Formal Power Series (FPS) library, including an equivalence relation for coefficients modulo \u003cem\u003en\u003c/em\u003e, an alternate binomial theorem statement, and a formalised proof of the Freshman's dream (mod \u003cem\u003ep\u003c/em\u003e) lemma. The second part of the work presents the formal proof of Lucas's Theorem. Working backwards, the formalisation first proves a well known corollary of the theorem which is easier to formalise, and then applies induction to prove the original theorem statement. The proof of the corollary aims to provide a good example of a formalised generating function equivalence proof using the FPS library. The final theorem statement is intended to be integrated into the formalised proof of Hilbert's 10th Problem.",
"authors": [
"Chelsea Edmonds"
],
"date": "2020-04-07",
- "id": 170,
+ "id": 174,
"link": "/entries/Lucas_Theorem.html",
"permalink": "/entries/Lucas_Theorem.html",
"shortname": "Lucas_Theorem",
"title": "Lucas's Theorem",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 1
},
{
"abstract": "Commutative Replicated Data Types (CRDTs) are a promising new class of data structures for large-scale shared mutable content in applications that only require eventual consistency. The WithOut Operational Transforms (WOOT) framework is a CRDT for collaborative text editing introduced by Oster et al. (CSCW 2006) for which the eventual consistency property was verified only for a bounded model to date. We contribute a formal proof for WOOTs strong eventual consistency.",
"authors": [
"Emin Karayel",
"Edgar Gonzàlez"
],
"date": "2020-03-25",
- "id": 171,
+ "id": 175,
"link": "/entries/WOOT_Strong_Eventual_Consistency.html",
"permalink": "/entries/WOOT_Strong_Eventual_Consistency.html",
"shortname": "WOOT_Strong_Eventual_Consistency",
"title": "Strong Eventual Consistency of the Collaborative Editing Framework WOOT",
"topic_links": [
"computer-science/algorithms/distributed"
],
"topics": [
"Computer science/Algorithms/Distributed"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThis article gives a formal version of Furstenberg's topological proof of the infinitude of primes. He defines a topology on the integers based on arithmetic progressions (or, equivalently, residue classes). Using some fairly obvious properties of this topology, the infinitude of primes is then easily obtained.\u003c/p\u003e \u003cp\u003eApart from this, this topology is also fairly ‘nice’ in general: it is second countable, metrizable, and perfect. All of these (well-known) facts are formally proven, including an explicit metric for the topology given by Zulfeqarr.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2020-03-22",
- "id": 172,
+ "id": 176,
"link": "/entries/Furstenberg_Topology.html",
"permalink": "/entries/Furstenberg_Topology.html",
"shortname": "Furstenberg_Topology",
"title": "Furstenberg's topology and his proof of the infinitude of primes",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "Recently, authors have proposed under-approximate logics for reasoning about programs. So far, all such logics have been confined to reasoning about individual program behaviours. Yet there exist many over-approximate relational logics for reasoning about pairs of programs and relating their behaviours. We present the first under-approximate relational logic, for the simple imperative language IMP. We prove our logic is both sound and complete. Additionally, we show how reasoning in this logic can be decomposed into non-relational reasoning in an under-approximate Hoare logic, mirroring Beringer’s result for over-approximate relational logics. We illustrate the application of our logic on some small examples in which we provably demonstrate the presence of insecurity.",
"authors": [
"Toby Murray"
],
"date": "2020-03-12",
- "id": 173,
+ "id": 177,
"link": "/entries/Relational-Incorrectness-Logic.html",
"permalink": "/entries/Relational-Incorrectness-Logic.html",
"shortname": "Relational-Incorrectness-Logic",
"title": "An Under-Approximate Relational Logic",
"topic_links": [
"computer-science/programming-languages/logics",
"computer-science/security"
],
"topics": [
"Computer science/Programming languages/Logics",
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "In this article, we present a formalization of the well-known \"Hello, World!\" code, including a formal framework for reasoning about IO. Our model is inspired by the handling of IO in Haskell. We start by formalizing the 🌍 and embrace the IO monad afterwards. Then we present a sample main :: IO (), followed by its proof of correctness.",
"authors": [
"Cornelius Diekmann",
"Lars Hupel"
],
"date": "2020-03-07",
- "id": 174,
+ "id": 178,
"link": "/entries/Hello_World.html",
"permalink": "/entries/Hello_World.html",
"shortname": "Hello_World",
"title": "Hello World",
"topic_links": [
"computer-science/functional-programming"
],
"topics": [
"Computer science/Functional programming"
],
"used_by": 0
},
{
"abstract": "In this formalization, we develop an implementation of the Goodstein function G in plain \u0026lambda;-calculus, linked to a concise, self-contained specification. The implementation works on a Church-encoded representation of countable ordinals. The initial conversion to hereditary base 2 is not covered, but the material is sufficient to compute the particular value G(16), and easily extends to other fixed arguments.",
"authors": [
"Bertram Felgenhauer"
],
"date": "2020-02-21",
- "id": 175,
+ "id": 179,
"link": "/entries/Goodstein_Lambda.html",
"permalink": "/entries/Goodstein_Lambda.html",
"shortname": "Goodstein_Lambda",
"title": "Implementing the Goodstein Function in \u0026lambda;-Calculus",
"topic_links": [
"logic/rewriting"
],
"topics": [
"Logic/Rewriting"
],
"used_by": 0
},
{
"abstract": "This is a generic framework for formalizing compiler transformations. It leverages Isabelle/HOL’s locales to abstract over concrete languages and transformations. It states common definitions for language semantics, program behaviours, forward and backward simulations, and compilers. We provide generic operations, such as simulation and compiler composition, and prove general (partial) correctness theorems, resulting in reusable proof components.",
"authors": [
"Martin Desharnais"
],
"date": "2020-02-10",
- "id": 176,
+ "id": 180,
"link": "/entries/VeriComp.html",
"permalink": "/entries/VeriComp.html",
"shortname": "VeriComp",
"title": "A Generic Framework for Verified Compilers",
"topic_links": [
"computer-science/programming-languages/compiling"
],
"topics": [
"Computer science/Programming languages/Compiling"
],
"used_by": 1
},
{
"abstract": "This article provides a formalization of the solution obtained by the author of the Problem “ARITHMETIC PROGRESSIONS” from the \u003ca href=\"https://www.ocf.berkeley.edu/~wwu/riddles/putnam.shtml\"\u003e Putnam exam problems of 2002\u003c/a\u003e. The statement of the problem is as follows: For which integers \u003cem\u003en\u003c/em\u003e \u003e 1 does the set of positive integers less than and relatively prime to \u003cem\u003en\u003c/em\u003e constitute an arithmetic progression?",
"authors": [
"José Manuel Rodríguez Caballero"
],
"date": "2020-02-01",
- "id": 177,
+ "id": 181,
"link": "/entries/Arith_Prog_Rel_Primes.html",
"permalink": "/entries/Arith_Prog_Rel_Primes.html",
"shortname": "Arith_Prog_Rel_Primes",
"title": "Arithmetic progressions and relative primes",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "We present a collection of axiom systems for the construction of Boolean subalgebras of larger overall algebras. The subalgebras are defined as the range of a complement-like operation on a semilattice. This technique has been used, for example, with the antidomain operation, dynamic negation and Stone algebras. We present a common ground for these constructions based on a new equational axiomatisation of Boolean algebras.",
"authors": [
"Walter Guttmann",
"Bernhard Möller"
],
"date": "2020-01-31",
- "id": 178,
+ "id": 182,
"link": "/entries/Subset_Boolean_Algebras.html",
"permalink": "/entries/Subset_Boolean_Algebras.html",
"shortname": "Subset_Boolean_Algebras",
"title": "A Hierarchy of Algebras for Boolean Subsets",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003eThis article provides formal proofs of basic properties of Mersenne numbers, i. e. numbers of the form 2\u003csup\u003e\u003cem\u003en\u003c/em\u003e\u003c/sup\u003e - 1, and especially of Mersenne primes.\u003c/p\u003e \u003cp\u003eIn particular, an efficient, verified, and executable version of the Lucas\u0026ndash;Lehmer test is developed. This test decides primality for Mersenne numbers in time polynomial in \u003cem\u003en\u003c/em\u003e.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2020-01-17",
- "id": 179,
+ "id": 183,
"link": "/entries/Mersenne_Primes.html",
"permalink": "/entries/Mersenne_Primes.html",
"shortname": "Mersenne_Primes",
"title": "Mersenne primes and the Lucas–Lehmer test",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "We present the first formal verification of approximation algorithms for NP-complete optimization problems: vertex cover, set cover, independent set, center selection, load balancing, and bin packing. The proofs correct incompletenesses in existing proofs and improve the approximation ratio in one case.",
"authors": [
"Robin Eßmann",
"Tobias Nipkow",
"Simon Robillard",
"Ujkan Sulejmani"
],
"date": "2020-01-16",
- "id": 180,
+ "id": 184,
"link": "/entries/Approximation_Algorithms.html",
"permalink": "/entries/Approximation_Algorithms.html",
"shortname": "Approximation_Algorithms",
"title": "Verified Approximation Algorithms",
"topic_links": [
"computer-science/algorithms/approximation"
],
"topics": [
"Computer science/Algorithms/Approximation"
],
"used_by": 0
},
{
"abstract": "This entry provides two related verified divide-and-conquer algorithms solving the fundamental \u003cem\u003eClosest Pair of Points\u003c/em\u003e problem in Computational Geometry. Functional correctness and the optimal running time of \u003cem\u003eO\u003c/em\u003e(\u003cem\u003en\u003c/em\u003e log \u003cem\u003en\u003c/em\u003e) are proved. Executable code is generated which is empirically competitive with handwritten reference implementations.",
"authors": [
"Martin Rau",
"Tobias Nipkow"
],
"date": "2020-01-13",
- "id": 181,
+ "id": 185,
"link": "/entries/Closest_Pair_Points.html",
"permalink": "/entries/Closest_Pair_Points.html",
"shortname": "Closest_Pair_Points",
"title": "Closest Pair of Points Algorithms",
"topic_links": [
"computer-science/algorithms/geometry"
],
"topics": [
"Computer science/Algorithms/Geometry"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e Skip lists are sorted linked lists enhanced with shortcuts and are an alternative to binary search trees. A skip lists consists of multiple levels of sorted linked lists where a list on level n is a subsequence of the list on level n − 1. In the ideal case, elements are skipped in such a way that a lookup in a skip lists takes O(log n) time. In a randomised skip list the skipped elements are choosen randomly. \u003c/p\u003e \u003cp\u003e This entry contains formalized proofs of the textbook results about the expected height and the expected length of a search path in a randomised skip list. \u003c/p\u003e",
"authors": [
"Max W. Haslbeck",
"Manuel Eberl"
],
"date": "2020-01-09",
- "id": 182,
+ "id": 186,
"link": "/entries/Skip_Lists.html",
"permalink": "/entries/Skip_Lists.html",
"shortname": "Skip_Lists",
"title": "Skip Lists",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e Taking as a starting point the author's previous work on developing aspects of category theory in Isabelle/HOL, this article gives a compatible formalization of the notion of \"bicategory\" and develops a framework within which formal proofs of facts about bicategories can be given. The framework includes a number of basic results, including the Coherence Theorem, the Strictness Theorem, pseudofunctors and biequivalence, and facts about internal equivalences and adjunctions in a bicategory. As a driving application and demonstration of the utility of the framework, it is used to give a formal proof of a theorem, due to Carboni, Kasangian, and Street, that characterizes up to biequivalence the bicategories of spans in a category with pullbacks. The formalization effort necessitated the filling-in of many details that were not evident from the brief presentation in the original paper, as well as identifying a few minor corrections along the way. \u003c/p\u003e\u003cp\u003e Revisions made subsequent to the first version of this article added additional material on pseudofunctors, pseudonatural transformations, modifications, and equivalence of bicategories; the main thrust being to give a proof that a pseudofunctor is a biequivalence if and only if it can be extended to an equivalence of bicategories. \u003c/p\u003e",
"authors": [
"Eugene W. Stark"
],
"date": "2020-01-06",
- "id": 183,
+ "id": 187,
"link": "/entries/Bicategory.html",
"permalink": "/entries/Bicategory.html",
"shortname": "Bicategory",
"title": "Bicategories",
"topic_links": [
"mathematics/category-theory"
],
"topics": [
"Mathematics/Category theory"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThis article provides a formalisation of Beukers's straightforward analytic proof that ζ(3) is irrational. This was first proven by Apéry (which is why this result is also often called ‘Apéry's Theorem’) using a more algebraic approach. This formalisation follows \u003ca href=\"http://people.math.sc.edu/filaseta/gradcourses/Math785/Math785Notes4.pdf\"\u003eFilaseta's presentation\u003c/a\u003e of Beukers's proof.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2019-12-27",
- "id": 184,
+ "id": 188,
"link": "/entries/Zeta_3_Irrational.html",
"permalink": "/entries/Zeta_3_Irrational.html",
"shortname": "Zeta_3_Irrational",
"title": "The Irrationality of ζ(3)",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "This work is a formalization of soundness and completeness proofs for a Seligman-style tableau system for hybrid logic. The completeness result is obtained via a synthetic approach using maximally consistent sets of tableau blocks. The formalization differs from previous work in a few ways. First, to avoid the need to backtrack in the construction of a tableau, the formalized system has no unnamed initial segment, and therefore no Name rule. Second, I show that the full Bridge rule is admissible in the system. Third, I start from rules restricted to only extend the branch with new formulas, including only witnessing diamonds that are not already witnessed, and show that the unrestricted rules are admissible. Similarly, I start from simpler versions of the @-rules and show that these are sufficient. The GoTo rule is restricted using a notion of potential such that each application consumes potential and potential is earned through applications of the remaining rules. I show that if a branch can be closed then it can be closed starting from a single unit. Finally, Nom is restricted by a fixed set of allowed nominals. The resulting system should be terminating.",
"authors": [
"Asta Halkjær From"
],
"date": "2019-12-20",
- "id": 185,
+ "id": 189,
"link": "/entries/Hybrid_Logic.html",
"permalink": "/entries/Hybrid_Logic.html",
"shortname": "Hybrid_Logic",
"title": "Formalizing a Seligman-Style Tableau System for Hybrid Logic",
"topic_links": [
"logic/general-logic/modal-logic"
],
"topics": [
"Logic/General logic/Modal logic"
],
"used_by": 0
},
{
"abstract": "The Poincaré-Bendixson theorem is a classical result in the study of (continuous) dynamical systems. Colloquially, it restricts the possible behaviors of planar dynamical systems: such systems cannot be chaotic. In practice, it is a useful tool for proving the existence of (limiting) periodic behavior in planar systems. The theorem is an interesting and challenging benchmark for formalized mathematics because proofs in the literature rely on geometric sketches and only hint at symmetric cases. It also requires a substantial background of mathematical theories, e.g., the Jordan curve theorem, real analysis, ordinary differential equations, and limiting (long-term) behavior of dynamical systems.",
"authors": [
"Fabian Immler",
"Yong Kiam Tan"
],
"date": "2019-12-18",
- "id": 186,
+ "id": 190,
"link": "/entries/Poincare_Bendixson.html",
"permalink": "/entries/Poincare_Bendixson.html",
"shortname": "Poincare_Bendixson",
"title": "The Poincaré-Bendixson Theorem",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "A formalization of geometry of complex numbers is presented. Fundamental objects that are investigated are the complex plane extended by a single infinite point, its objects (points, lines and circles), and groups of transformations that act on them (e.g., inversions and Möbius transformations). Most objects are defined algebraically, but correspondence with classical geometric definitions is shown.",
"authors": [
"Filip Marić",
"Danijela Simić"
],
"date": "2019-12-16",
- "id": 187,
+ "id": 191,
"link": "/entries/Complex_Geometry.html",
"permalink": "/entries/Complex_Geometry.html",
"shortname": "Complex_Geometry",
"title": "Complex Geometry",
"topic_links": [
"mathematics/geometry"
],
"topics": [
"Mathematics/Geometry"
],
"used_by": 2
},
{
"abstract": "We describe formalization of the Poincaré disc model of hyperbolic geometry within the Isabelle/HOL proof assistant. The model is defined within the extended complex plane (one dimensional complex projectives space \u0026#8450;P1), formalized in the AFP entry “Complex Geometry”. Points, lines, congruence of pairs of points, betweenness of triples of points, circles, and isometries are defined within the model. It is shown that the model satisfies all Tarski's axioms except the Euclid's axiom. It is shown that it satisfies its negation and the limiting parallels axiom (which proves it to be a model of hyperbolic geometry).",
"authors": [
"Danijela Simić",
"Filip Marić",
"Pierre Boutry"
],
"date": "2019-12-16",
- "id": 188,
+ "id": 192,
"link": "/entries/Poincare_Disc.html",
"permalink": "/entries/Poincare_Disc.html",
"shortname": "Poincare_Disc",
"title": "Poincaré Disc Model",
"topic_links": [
"mathematics/geometry"
],
"topics": [
"Mathematics/Geometry"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThis article provides a full formalisation of Chapter 8 of Apostol's \u003cem\u003e\u003ca href=\"https://www.springer.com/de/book/9780387901633\"\u003eIntroduction to Analytic Number Theory\u003c/a\u003e\u003c/em\u003e. Subjects that are covered are:\u003c/p\u003e \u003cul\u003e \u003cli\u003eperiodic arithmetic functions and their finite Fourier series\u003c/li\u003e \u003cli\u003e(generalised) Ramanujan sums\u003c/li\u003e \u003cli\u003eGauss sums and separable characters\u003c/li\u003e \u003cli\u003einduced moduli and primitive characters\u003c/li\u003e \u003cli\u003ethe Pólya\u0026mdash;Vinogradov inequality\u003c/li\u003e \u003c/ul\u003e",
"authors": [
"Rodrigo Raya",
"Manuel Eberl"
],
"date": "2019-12-10",
- "id": 189,
+ "id": 193,
"link": "/entries/Gauss_Sums.html",
"permalink": "/entries/Gauss_Sums.html",
"shortname": "Gauss_Sums",
"title": "Gauss Sums and the Pólya–Vinogradov Inequality",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "Counting sort is a well-known algorithm that sorts objects of any kind mapped to integer keys, or else to keys in one-to-one correspondence with some subset of the integers (e.g. alphabet letters). However, it is suitable for direct use, viz. not just as a subroutine of another sorting algorithm (e.g. radix sort), only if the key range is not significantly larger than the number of the objects to be sorted. This paper describes a tail-recursive generalization of counting sort making use of a bounded number of counters, suitable for direct use in case of a large, or even infinite key range of any kind, subject to the only constraint of being a subset of an arbitrary linear order. After performing a pen-and-paper analysis of how such algorithm has to be designed to maximize its efficiency, this paper formalizes the resulting generalized counting sort (GCsort) algorithm and then formally proves its correctness properties, namely that (a) the counters' number is maximized never exceeding the fixed upper bound, (b) objects are conserved, (c) objects get sorted, and (d) the algorithm is stable.",
"authors": [
"Pasquale Noce"
],
"date": "2019-12-04",
- "id": 190,
+ "id": 194,
"link": "/entries/Generalized_Counting_Sort.html",
"permalink": "/entries/Generalized_Counting_Sort.html",
"shortname": "Generalized_Counting_Sort",
"title": "An Efficient Generalization of Counting Sort for Large, possibly Infinite Key Ranges",
"topic_links": [
"computer-science/algorithms",
"computer-science/functional-programming"
],
"topics": [
"Computer science/Algorithms",
"Computer science/Functional programming"
],
"used_by": 0
},
{
"abstract": "Interval_Arithmetic implements conservative interval arithmetic computations, then uses this interval arithmetic to implement a simple programming language where all terms have 32-bit signed word values, with explicit infinities for terms outside the representable bounds. Our target use case is interpreters for languages that must have a well-understood low-level behavior. We include a formalization of bounded-length strings which are used for the identifiers of our language. Bounded-length identifiers are useful in some applications, for example the \u003ca href=\"https://www.isa-afp.org/entries/Differential_Dynamic_Logic.html\"\u003eDifferential_Dynamic_Logic\u003c/a\u003e article, where a Euclidean space indexed by identifiers demands that identifiers are finitely many.",
"authors": [
"Rose Bohrer"
],
"date": "2019-11-27",
- "id": 191,
+ "id": 195,
"link": "/entries/Interval_Arithmetic_Word32.html",
"permalink": "/entries/Interval_Arithmetic_Word32.html",
"shortname": "Interval_Arithmetic_Word32",
"title": "Interval Arithmetic on 32-bit Words",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThis entry is a new formalisation of ZFC set theory in Isabelle/HOL. It is logically equivalent to Obua's HOLZF; the point is to have the closest possible integration with the rest of Isabelle/HOL, minimising the amount of new notations and exploiting type classes.\u003c/p\u003e \u003cp\u003eThere is a type \u003cem\u003eV\u003c/em\u003e of sets and a function \u003cem\u003eelts :: V =\u0026gt; V set\u003c/em\u003e mapping a set to its elements. Classes simply have type \u003cem\u003eV set\u003c/em\u003e, and a predicate identifies the small classes: those that correspond to actual sets. Type classes connected with orders and lattices are used to minimise the amount of new notation for concepts such as the subset relation, union and intersection. Basic concepts — Cartesian products, disjoint sums, natural numbers, functions, etc. — are formalised.\u003c/p\u003e \u003cp\u003eMore advanced set-theoretic concepts, such as transfinite induction, ordinals, cardinals and the transitive closure of a set, are also provided. The definition of addition and multiplication for general sets (not just ordinals) follows Kirby.\u003c/p\u003e \u003cp\u003eThe theory provides two type classes with the aim of facilitating developments that combine \u003cem\u003eV\u003c/em\u003e with other Isabelle/HOL types: \u003cem\u003eembeddable\u003c/em\u003e, the class of types that can be injected into \u003cem\u003eV\u003c/em\u003e (including \u003cem\u003eV\u003c/em\u003e itself as well as \u003cem\u003eV*V\u003c/em\u003e, etc.), and \u003cem\u003esmall\u003c/em\u003e, the class of types that correspond to some ZF set.\u003c/p\u003e extra-history = Change history: [2020-01-28]: Generalisation of the \"small\" predicate and order types to arbitrary sets; ordinal exponentiation; introduction of the coercion ord_of_nat :: \"nat =\u003e V\"; numerous new lemmas. (revision 6081d5be8d08)",
"authors": [
"Lawrence C. Paulson"
],
"date": "2019-10-24",
- "id": 192,
+ "id": 196,
"link": "/entries/ZFC_in_HOL.html",
"permalink": "/entries/ZFC_in_HOL.html",
"shortname": "ZFC_in_HOL",
"title": "Zermelo Fraenkel Set Theory in Higher-Order Logic",
"topic_links": [
"logic/set-theory"
],
"topics": [
"Logic/Set theory"
],
"used_by": 4
},
{
"abstract": "We present a framework for C code in C11 syntax deeply integrated into the Isabelle/PIDE development environment. Our framework provides an abstract interface for verification back-ends to be plugged-in independently. Thus, various techniques such as deductive program verification or white-box testing can be applied to the same source, which is part of an integrated PIDE document model. Semantic back-ends are free to choose the supported C fragment and its semantics. In particular, they can differ on the chosen memory model or the specification mechanism for framing conditions. Our framework supports semantic annotations of C sources in the form of comments. Annotations serve to locally control back-end settings, and can express the term focus to which an annotation refers. Both the logical and the syntactic context are available when semantic annotations are evaluated. As a consequence, a formula in an annotation can refer both to HOL or C variables. Our approach demonstrates the degree of maturity and expressive power the Isabelle/PIDE sub-system has achieved in recent years. Our integration technique employs Lex and Yacc style grammars to ensure efficient deterministic parsing. This is the core-module of Isabelle/C; the AFP package for Clean and Clean_wrapper as well as AutoCorres and AutoCorres_wrapper (available via git) are applications of this front-end.",
"authors": [
"Frédéric Tuong",
"Burkhart Wolff"
],
"date": "2019-10-22",
- "id": 193,
+ "id": 197,
"link": "/entries/Isabelle_C.html",
"permalink": "/entries/Isabelle_C.html",
"shortname": "Isabelle_C",
"title": "Isabelle/C",
"topic_links": [
"computer-science/programming-languages/language-definitions",
"computer-science/semantics-and-reasoning",
"tools"
],
"topics": [
"Computer science/Programming languages/Language definitions",
"Computer science/Semantics and reasoning",
"Tools"
],
"used_by": 0
},
{
"abstract": "VerifyThis 2019 (http://www.pm.inf.ethz.ch/research/verifythis.html) was a program verification competition associated with ETAPS 2019. It was the 8th event in the VerifyThis competition series. In this entry, we present polished and completed versions of our solutions that we created during the competition.",
"authors": [
"Peter Lammich",
"Simon Wimmer"
],
"date": "2019-10-16",
- "id": 194,
+ "id": 198,
"link": "/entries/VerifyThis2019.html",
"permalink": "/entries/VerifyThis2019.html",
"shortname": "VerifyThis2019",
"title": "VerifyThis 2019 -- Polished Isabelle Solutions",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "We formalise with Isabelle/HOL some basic elements of Aristotle's assertoric syllogistic following the \u003ca href=\"https://plato.stanford.edu/entries/aristotle-logic/\"\u003earticle from the Stanford Encyclopedia of Philosophy by Robin Smith.\u003c/a\u003e To this end, we use a set theoretic formulation (covering both individual and general predication). In particular, we formalise the deductions in the Figures and after that we present Aristotle's metatheoretical observation that all deductions in the Figures can in fact be reduced to either Barbara or Celarent. As the formal proofs prove to be straightforward, the interest of this entry lies in illustrating the functionality of Isabelle and high efficiency of Sledgehammer for simple exercises in philosophy.",
"authors": [
"Angeliki Koutsoukou-Argyraki"
],
"date": "2019-10-08",
- "id": 195,
+ "id": 199,
"link": "/entries/Aristotles_Assertoric_Syllogistic.html",
"permalink": "/entries/Aristotles_Assertoric_Syllogistic.html",
"shortname": "Aristotles_Assertoric_Syllogistic",
"title": "Aristotle's Assertoric Syllogistic",
"topic_links": [
"logic/philosophical-aspects"
],
"topics": [
"Logic/Philosophical aspects"
],
"used_by": 0
},
{
"abstract": "We use CryptHOL to formalise commitment schemes and Sigma-protocols. Both are widely used fundamental two party cryptographic primitives. Security for commitment schemes is considered using game-based definitions whereas the security of Sigma-protocols is considered using both the game-based and simulation-based security paradigms. In this work, we first define security for both primitives and then prove secure multiple case studies: the Schnorr, Chaum-Pedersen and Okamoto Sigma-protocols as well as a construction that allows for compound (AND and OR statements) Sigma-protocols and the Pedersen and Rivest commitment schemes. We also prove that commitment schemes can be constructed from Sigma-protocols. We formalise this proof at an abstract level, only assuming the existence of a Sigma-protocol; consequently, the instantiations of this result for the concrete Sigma-protocols we consider come for free.",
"authors": [
"David Butler",
"Andreas Lochbihler"
],
"date": "2019-10-07",
- "id": 196,
+ "id": 200,
"link": "/entries/Sigma_Commit_Crypto.html",
"permalink": "/entries/Sigma_Commit_Crypto.html",
"shortname": "Sigma_Commit_Crypto",
"title": "Sigma Protocols and Commitment Schemes",
"topic_links": [
"computer-science/security/cryptography"
],
"topics": [
"Computer science/Security/Cryptography"
],
"used_by": 1
},
{
"abstract": "Clean is based on a simple, abstract execution model for an imperative target language. “Abstract” is understood in contrast to “Concrete Semantics”; alternatively, the term “shallow-style embedding” could be used. It strives for a type-safe notion of program-variables, an incremental construction of the typed state-space, support of incremental verification, and open-world extensibility of new type definitions being intertwined with the program definitions. Clean is based on a “no-frills” state-exception monad with the usual definitions of bind and unit for the compositional glue of state-based computations. Clean offers conditionals and loops supporting C-like control-flow operators such as break and return. The state-space construction is based on the extensible record package. Direct recursion of procedures is supported. Clean’s design strives for extreme simplicity. It is geared towards symbolic execution and proven correct verification tools. The underlying libraries of this package, however, deliberately restrict themselves to the most elementary infrastructure for these tasks. The package is intended to serve as demonstrator semantic backend for Isabelle/C, or for the test-generation techniques.",
"authors": [
"Frédéric Tuong",
"Burkhart Wolff"
],
"date": "2019-10-04",
- "id": 197,
+ "id": 201,
"link": "/entries/Clean.html",
"permalink": "/entries/Clean.html",
"shortname": "Clean",
"title": "Clean - An Abstract Imperative Programming Language and its Theory",
"topic_links": [
"computer-science/programming-languages",
"computer-science/semantics-and-reasoning"
],
"topics": [
"Computer science/Programming languages",
"Computer science/Semantics and reasoning"
],
"used_by": 0
},
{
"abstract": "Worst-case optimal multiway-join algorithms are recent seminal achievement of the database community. These algorithms compute the natural join of multiple relational databases and improve in the worst case over traditional query plan optimizations of nested binary joins. In 2014, \u003ca href=\"https://doi.org/10.1145/2590989.2590991\"\u003eNgo, Ré, and Rudra\u003c/a\u003e gave a unified presentation of different multi-way join algorithms. We formalized and proved correct their \"Generic Join\" algorithm and extended it to support negative joins.",
"authors": [
"Thibault Dardinier"
],
"date": "2019-09-16",
- "id": 198,
+ "id": 202,
"link": "/entries/Generic_Join.html",
"permalink": "/entries/Generic_Join.html",
"shortname": "Generic_Join",
"title": "Formalization of Multiway-Join Algorithms",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 1
},
{
"abstract": "These components formalise a semantic framework for the deductive verification of hybrid systems. They support reasoning about continuous evolutions of hybrid programs in the style of differential dynamics logic. Vector fields or flows model these evolutions, and their verification is done with invariants for the former or orbits for the latter. Laws of modal Kleene algebra or categorical predicate transformers implement the verification condition generation. Examples show the approach at work.",
"authors": [
"Jonathan Julian Huerta y Munive"
],
"date": "2019-09-10",
- "id": 199,
+ "id": 203,
"link": "/entries/Hybrid_Systems_VCs.html",
"permalink": "/entries/Hybrid_Systems_VCs.html",
"shortname": "Hybrid_Systems_VCs",
"title": "Verification Components for Hybrid Systems",
"topic_links": [
"mathematics/algebra",
"mathematics/analysis"
],
"topics": [
"Mathematics/Algebra",
"Mathematics/Analysis"
],
"used_by": 1
},
{
"abstract": "This development formalises the square integrable functions over the reals and the basics of Fourier series. It culminates with a proof that every well-behaved periodic function can be approximated by a Fourier series. The material is ported from HOL Light: https://github.com/jrh13/hol-light/blob/master/100/fourier.ml",
"authors": [
"Lawrence C. Paulson"
],
"date": "2019-09-06",
- "id": 200,
+ "id": 204,
"link": "/entries/Fourier.html",
"permalink": "/entries/Fourier.html",
"shortname": "Fourier",
"title": "Fourier Series",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "The focus of this case study is re-use in abstract algebra. It contains locale-based formalisations of selected parts of set, group and ring theory from Jacobson's \u003ci\u003eBasic Algebra\u003c/i\u003e leading to the respective fundamental homomorphism theorems. The study is not intended as a library base for abstract algebra. It rather explores an approach towards abstract algebra in Isabelle.",
"authors": [
"Clemens Ballarin"
],
"date": "2019-08-30",
- "id": 201,
+ "id": 205,
"link": "/entries/Jacobson_Basic_Algebra.html",
"permalink": "/entries/Jacobson_Basic_Algebra.html",
"shortname": "Jacobson_Basic_Algebra",
"title": "A Case Study in Basic Algebra",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
- "used_by": 2
+ "used_by": 3
},
{
"abstract": "This entry provides a formalisation of a refinement of an adaptive state counting algorithm, used to test for reduction between finite state machines. The algorithm has been originally presented by Hierons in the paper \u003ca href=\"https://doi.org/10.1109/TC.2004.85\"\u003eTesting from a Non-Deterministic Finite State Machine Using Adaptive State Counting\u003c/a\u003e. Definitions for finite state machines and adaptive test cases are given and many useful theorems are derived from these. The algorithm is formalised using mutually recursive functions, for which it is proven that the generated test suite is sufficient to test for reduction against finite state machines of a certain fault domain. Additionally, the algorithm is specified in a simple WHILE-language and its correctness is shown using Hoare-logic.",
"authors": [
"Robert Sachtleben"
],
"date": "2019-08-16",
- "id": 202,
+ "id": 206,
"link": "/entries/Adaptive_State_Counting.html",
"permalink": "/entries/Adaptive_State_Counting.html",
"shortname": "Adaptive_State_Counting",
"title": "Formalisation of an Adaptive State Counting Algorithm",
"topic_links": [
"computer-science/automata-and-formal-languages",
"computer-science/algorithms"
],
"topics": [
"Computer science/Automata and formal languages",
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "This entry formalizes the Laplace transform and concrete Laplace transforms for arithmetic functions, frequency shift, integration and (higher) differentiation in the time domain. It proves Lerch's lemma and uniqueness of the Laplace transform for continuous functions. In order to formalize the foundational assumptions, this entry contains a formalization of piecewise continuous functions and functions of exponential order.",
"authors": [
"Fabian Immler"
],
"date": "2019-08-14",
- "id": 203,
+ "id": 207,
"link": "/entries/Laplace_Transform.html",
"permalink": "/entries/Laplace_Transform.html",
"shortname": "Laplace_Transform",
"title": "Laplace Transform",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "Communicating Concurrent Kleene Algebra (C²KA) is a mathematical framework for capturing the communicating and concurrent behaviour of agents in distributed systems. It extends Hoare et al.'s Concurrent Kleene Algebra (CKA) with communication actions through the notions of stimuli and shared environments. C²KA has applications in studying system-level properties of distributed systems such as safety, security, and reliability. In this work, we formalize results about C²KA and its application for distributed systems specification. We first formalize the stimulus structure and behaviour structure (CKA). Next, we combine them to formalize C²KA and its properties. Then, we formalize notions and properties related to the topology of distributed systems and the potential for communication via stimuli and via shared environments of agents, all within the algebraic setting of C²KA.",
"authors": [
"Maxime Buyse",
"Jason Jaskolka"
],
"date": "2019-08-06",
- "id": 204,
+ "id": 208,
"link": "/entries/C2KA_DistributedSystems.html",
"permalink": "/entries/C2KA_DistributedSystems.html",
"shortname": "C2KA_DistributedSystems",
"title": "Communicating Concurrent Kleene Algebra for Distributed Systems Specification",
"topic_links": [
"computer-science/automata-and-formal-languages",
"mathematics/algebra"
],
"topics": [
"Computer science/Automata and formal languages",
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "We use the previous formalization of the general simplex algorithm to formulate an algorithm for solving linear programs. We encode the linear programs using only linear constraints. Solving these constraints also solves the original linear program. This algorithm is proven to be sound by applying the weak duality theorem which is also part of this formalization.",
"authors": [
"Julian Parsert",
"Cezary Kaliszyk"
],
"date": "2019-08-06",
- "id": 205,
+ "id": 209,
"link": "/entries/Linear_Programming.html",
"permalink": "/entries/Linear_Programming.html",
"shortname": "Linear_Programming",
"title": "Linear Programming",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThis entry contains formalisations of the answers to three of the six problem of the International Mathematical Olympiad 2019, namely Q1, Q4, and Q5.\u003c/p\u003e \u003cp\u003eThe reason why these problems were chosen is that they are particularly amenable to formalisation: they can be solved with minimal use of libraries. The remaining three concern geometry and graph theory, which, in the author's opinion, are more difficult to formalise resp. require a more complex library.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2019-08-05",
- "id": 206,
+ "id": 210,
"link": "/entries/IMO2019.html",
"permalink": "/entries/IMO2019.html",
"shortname": "IMO2019",
"title": "Selected Problems from the International Mathematical Olympiad 2019",
"topic_links": [
"mathematics/misc"
],
"topics": [
"Mathematics/Misc"
],
"used_by": 0
},
{
"abstract": "We formalize the static properties of personal Byzantine quorum systems (PBQSs) and Stellar quorum systems, as described in the paper ``Stellar Consensus by Reduction'' (to appear at DISC 2019).",
"authors": [
"Giuliano Losa"
],
"date": "2019-08-01",
- "id": 207,
+ "id": 211,
"link": "/entries/Stellar_Quorums.html",
"permalink": "/entries/Stellar_Quorums.html",
"shortname": "Stellar_Quorums",
"title": "Stellar Quorum Systems",
"topic_links": [
"computer-science/algorithms/distributed"
],
"topics": [
"Computer science/Algorithms/Distributed"
],
"used_by": 0
},
{
"abstract": "The design of complex systems involves different formalisms for modeling their different parts or aspects. The global model of a system may therefore consist of a coordination of concurrent sub-models that use different paradigms. We develop here a theory for a language used to specify the timed coordination of such heterogeneous subsystems by addressing the following issues: \u003cul\u003e\u003cli\u003ethe behavior of the sub-systems is observed only at a series of discrete instants,\u003c/li\u003e\u003cli\u003eevents may occur in different sub-systems at unrelated times, leading to polychronous systems, which do not necessarily have a common base clock,\u003c/li\u003e\u003cli\u003ecoordination between subsystems involves causality, so the occurrence of an event may enforce the occurrence of other events, possibly after a certain duration has elapsed or an event has occurred a given number of times,\u003c/li\u003e\u003cli\u003ethe domain of time (discrete, rational, continuous...) may be different in the subsystems, leading to polytimed systems,\u003c/li\u003e\u003cli\u003ethe time frames of different sub-systems may be related (for instance, time in a GPS satellite and in a GPS receiver on Earth are related although they are not the same).\u003c/li\u003e\u003c/ul\u003e Firstly, a denotational semantics of the language is defined. Then, in order to be able to incrementally check the behavior of systems, an operational semantics is given, with proofs of progress, soundness and completeness with regard to the denotational semantics. These proofs are made according to a setup that can scale up when new operators are added to the language. In order for specifications to be composed in a clean way, the language should be invariant by stuttering (i.e., adding observation instants at which nothing happens). The proof of this invariance is also given.",
"authors": [
"Hai Nguyen Van",
"Frédéric Boulanger",
"Burkhart Wolff"
],
"date": "2019-07-30",
- "id": 208,
+ "id": 212,
"link": "/entries/TESL_Language.html",
"permalink": "/entries/TESL_Language.html",
"shortname": "TESL_Language",
"title": "A Formal Development of a Polychronous Polytimed Coordination Language",
"topic_links": [
"computer-science/system-description-languages",
"computer-science/semantics-and-reasoning",
"computer-science/concurrency"
],
"topics": [
"Computer science/System description languages",
"Computer science/Semantics and reasoning",
"Computer science/Concurrency"
],
"used_by": 0
},
{
"abstract": "This entry is concerned with the principle of order extension, i.e. the extension of an order relation to a total order relation. To this end, we prove a more general version of Szpilrajn's extension theorem employing terminology from the book \"Consistency, Choice, and Rationality\" by Bossert and Suzumura. We also formalize theorem 2.7 of their book.",
"authors": [
"Peter Zeller",
"Lukas Stevens"
],
"date": "2019-07-27",
- "id": 209,
+ "id": 213,
"link": "/entries/Szpilrajn.html",
"permalink": "/entries/Szpilrajn.html",
"shortname": "Szpilrajn",
"title": "Order Extension and Szpilrajn's Extension Theorem",
"topic_links": [
"mathematics/order"
],
"topics": [
"Mathematics/Order"
],
"used_by": 1
},
{
"abstract": "This work formalizes soundness and completeness of a one-sided sequent calculus for first-order logic. The completeness is shown via a translation from a complete semantic tableau calculus, the proof of which is based on the First-Order Logic According to Fitting theory. The calculi and proof techniques are taken from Ben-Ari's Mathematical Logic for Computer Science. Paper: \u003ca href=\"http://ceur-ws.org/Vol-3002/paper7.pdf\"\u003ehttp://ceur-ws.org/Vol-3002/paper7.pdf\u003c/a\u003e.",
"authors": [
"Asta Halkjær From"
],
"date": "2019-07-18",
- "id": 210,
+ "id": 214,
"link": "/entries/FOL_Seq_Calc1.html",
"permalink": "/entries/FOL_Seq_Calc1.html",
"shortname": "FOL_Seq_Calc1",
"title": "A Sequent Calculus for First-Order Logic",
"topic_links": [
"logic/proof-theory"
],
"topics": [
"Logic/Proof theory"
],
"used_by": 1
},
{
"abstract": "This entry contains the formalization that accompanies my PhD thesis (see https://lars.hupel.info/research/codegen/). I develop a verified compilation toolchain from executable specifications in Isabelle/HOL to CakeML abstract syntax trees. This improves over the state-of-the-art in Isabelle by providing a trustworthy procedure for code generation.",
"authors": [
"Lars Hupel"
],
"date": "2019-07-08",
- "id": 211,
+ "id": 215,
"link": "/entries/CakeML_Codegen.html",
"permalink": "/entries/CakeML_Codegen.html",
"shortname": "CakeML_Codegen",
"title": "A Verified Code Generator from Isabelle/HOL to CakeML",
"topic_links": [
"computer-science/programming-languages/compiling",
"logic/rewriting"
],
"topics": [
"Computer science/Programming languages/Compiling",
"Logic/Rewriting"
],
"used_by": 0
},
{
"abstract": "A monitor is a runtime verification tool that solves the following problem: Given a stream of time-stamped events and a policy formulated in a specification language, decide whether the policy is satisfied at every point in the stream. We verify the correctness of an executable monitor for specifications given as formulas in metric first-order temporal logic (MFOTL), an expressive extension of linear temporal logic with real-time constraints and first-order quantification. The verified monitor implements a simplified variant of the algorithm used in the efficient MonPoly monitoring tool. The formalization is presented in a \u003ca href=\"https://doi.org/10.1007/978-3-030-32079-9_18\"\u003eRV 2019 paper\u003c/a\u003e, which also compares the output of the verified monitor to that of other monitoring tools on randomly generated inputs. This case study revealed several errors in the optimized but unverified tools.",
"authors": [
"Joshua Schneider",
"Dmitriy Traytel"
],
"date": "2019-07-04",
- "id": 212,
+ "id": 216,
"link": "/entries/MFOTL_Monitor.html",
"permalink": "/entries/MFOTL_Monitor.html",
"shortname": "MFOTL_Monitor",
"title": "Formalization of a Monitoring Algorithm for Metric First-Order Temporal Logic",
"topic_links": [
"computer-science/algorithms",
"logic/general-logic/temporal-logic",
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Algorithms",
"Logic/General logic/Temporal logic",
"Computer science/Automata and formal languages"
],
"used_by": 2
},
{
"abstract": "We develop an Isabelle/HOL library of order-theoretic concepts, such as various completeness conditions and fixed-point theorems. We keep our formalization as general as possible: we reprove several well-known results about complete orders, often without any properties of ordering, thus complete non-orders. In particular, we generalize the Knaster–Tarski theorem so that we ensure the existence of a quasi-fixed point of monotone maps over complete non-orders, and show that the set of quasi-fixed points is complete under a mild condition—attractivity—which is implied by either antisymmetry or transitivity. This result generalizes and strengthens a result by Stauti and Maaden. Finally, we recover Kleene’s fixed-point theorem for omega-complete non-orders, again using attractivity to prove that Kleene’s fixed points are least quasi-fixed points.",
"authors": [
"Akihisa Yamada",
"Jérémy Dubut"
],
"date": "2019-06-27",
- "id": 213,
+ "id": 217,
"link": "/entries/Complete_Non_Orders.html",
"permalink": "/entries/Complete_Non_Orders.html",
"shortname": "Complete_Non_Orders",
"title": "Complete Non-Orders and Fixed Points",
"topic_links": [
"mathematics/order"
],
"topics": [
"Mathematics/Order"
],
"used_by": 0
},
{
"abstract": "We present a new, purely functional, simple and efficient data structure combining a search tree and a priority queue, which we call a \u003cem\u003epriority search tree\u003c/em\u003e. The salient feature of priority search trees is that they offer a decrease-key operation, something that is missing from other simple, purely functional priority queue implementations. Priority search trees can be implemented on top of any search tree. This entry does the implementation for red-black trees. This entry formalizes the first part of our ITP-2019 proof pearl \u003cem\u003ePurely Functional, Simple and Efficient Priority Search Trees and Applications to Prim and Dijkstra\u003c/em\u003e.",
"authors": [
"Peter Lammich",
"Tobias Nipkow"
],
"date": "2019-06-25",
- "id": 214,
+ "id": 218,
"link": "/entries/Priority_Search_Trees.html",
"permalink": "/entries/Priority_Search_Trees.html",
"shortname": "Priority_Search_Trees",
"title": "Priority Search Trees",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 1
},
{
"abstract": "We verify purely functional, simple and efficient implementations of Prim's and Dijkstra's algorithms. This constitutes the first verification of an executable and even efficient version of Prim's algorithm. This entry formalizes the second part of our ITP-2019 proof pearl \u003cem\u003ePurely Functional, Simple and Efficient Priority Search Trees and Applications to Prim and Dijkstra\u003c/em\u003e.",
"authors": [
"Peter Lammich",
"Tobias Nipkow"
],
"date": "2019-06-25",
- "id": 215,
+ "id": 219,
"link": "/entries/Prim_Dijkstra_Simple.html",
"permalink": "/entries/Prim_Dijkstra_Simple.html",
"shortname": "Prim_Dijkstra_Simple",
"title": "Purely Functional, Simple, and Efficient Implementation of Prim and Dijkstra",
"topic_links": [
"computer-science/algorithms/graph"
],
"topics": [
"Computer science/Algorithms/Graph"
],
"used_by": 0
},
{
"abstract": "We formalize results about linear inqualities, mainly from Schrijver's book. The main results are the proof of the fundamental theorem on linear inequalities, Farkas' lemma, Carathéodory's theorem, the Farkas-Minkowsky-Weyl theorem, the decomposition theorem of polyhedra, and Meyer's result that the integer hull of a polyhedron is a polyhedron itself. Several theorems include bounds on the appearing numbers, and in particular we provide an a-priori bound on mixed-integer solutions of linear inequalities.",
"authors": [
"Ralph Bottesch",
"Alban Reynaud",
"René Thiemann"
],
"date": "2019-06-21",
- "id": 216,
+ "id": 220,
"link": "/entries/Linear_Inequalities.html",
"permalink": "/entries/Linear_Inequalities.html",
"shortname": "Linear_Inequalities",
"title": "Linear Inequalities",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 2
},
{
"abstract": "This entry formalizes Hilbert's Nullstellensatz, an important theorem in algebraic geometry that can be viewed as the generalization of the Fundamental Theorem of Algebra to multivariate polynomials: If a set of (multivariate) polynomials over an algebraically closed field has no common zero, then the ideal it generates is the entire polynomial ring. The formalization proves several equivalent versions of this celebrated theorem: the weak Nullstellensatz, the strong Nullstellensatz (connecting algebraic varieties and radical ideals), and the field-theoretic Nullstellensatz. The formalization follows Chapter 4.1. of \u003ca href=\"https://link.springer.com/book/10.1007/978-0-387-35651-8\"\u003eIdeals, Varieties, and Algorithms\u003c/a\u003e by Cox, Little and O'Shea.",
"authors": [
"Alexander Maletzky"
],
"date": "2019-06-16",
- "id": 217,
+ "id": 221,
"link": "/entries/Nullstellensatz.html",
"permalink": "/entries/Nullstellensatz.html",
"shortname": "Nullstellensatz",
"title": "Hilbert's Nullstellensatz",
"topic_links": [
"mathematics/algebra",
"mathematics/geometry"
],
"topics": [
"Mathematics/Algebra",
"Mathematics/Geometry"
],
"used_by": 0
},
{
"abstract": "This entry formalizes the connection between Gröbner bases and Macaulay matrices (sometimes also referred to as `generalized Sylvester matrices'). In particular, it contains a method for computing Gröbner bases, which proceeds by first constructing some Macaulay matrix of the initial set of polynomials, then row-reducing this matrix, and finally converting the result back into a set of polynomials. The output is shown to be a Gröbner basis if the Macaulay matrix constructed in the first step is sufficiently large. In order to obtain concrete upper bounds on the size of the matrix (and hence turn the method into an effectively executable algorithm), Dubé's degree bounds on Gröbner bases are utilized; consequently, they are also part of the formalization.",
"authors": [
"Alexander Maletzky"
],
"date": "2019-06-15",
- "id": 218,
+ "id": 222,
"link": "/entries/Groebner_Macaulay.html",
"permalink": "/entries/Groebner_Macaulay.html",
"shortname": "Groebner_Macaulay",
"title": "Gröbner Bases, Macaulay Matrices and Dubé's Degree Bounds",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "In this submission array-based binary minimum heaps are formalized. The correctness of the following heap operations is proved: insert, get-min, delete-min and make-heap. These are then used to verify an in-place heapsort. The formalization is based on IMP2, an imperative program verification framework implemented in Isabelle/HOL. The verified heap functions are iterative versions of the partly recursive functions found in \"Algorithms and Data Structures – The Basic Toolbox\" by K. Mehlhorn and P. Sanders and \"Introduction to Algorithms\" by T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein.",
"authors": [
"Simon Griebel"
],
"date": "2019-06-13",
- "id": 219,
+ "id": 223,
"link": "/entries/IMP2_Binary_Heap.html",
"permalink": "/entries/IMP2_Binary_Heap.html",
"shortname": "IMP2_Binary_Heap",
"title": "Binary Heaps for IMP2",
"topic_links": [
"computer-science/data-structures",
"computer-science/algorithms"
],
"topics": [
"Computer science/Data structures",
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "This formalization provides differential game logic (dGL), a logic for proving properties of hybrid game. In addition to the syntax and semantics, it formalizes a uniform substitution calculus for dGL. Church's uniform substitutions substitute a term or formula for a function or predicate symbol everywhere. The uniform substitutions for dGL also substitute hybrid games for a game symbol everywhere. We prove soundness of one-pass uniform substitutions and the axioms of differential game logic with respect to their denotational semantics. One-pass uniform substitutions are faster by postponing soundness-critical admissibility checks with a linear pass homomorphic application and regain soundness by a variable condition at the replacements. The formalization is based on prior non-mechanized soundness proofs for dGL.",
"authors": [
"André Platzer"
],
"date": "2019-06-03",
- "id": 220,
+ "id": 224,
"link": "/entries/Differential_Game_Logic.html",
"permalink": "/entries/Differential_Game_Logic.html",
"shortname": "Differential_Game_Logic",
"title": "Differential Game Logic",
"topic_links": [
"computer-science/programming-languages/logics"
],
"topics": [
"Computer science/Programming languages/Logics"
],
"used_by": 0
},
{
"abstract": "This entry provides a formalization of multidimensional binary trees, also known as k-d trees. It includes a balanced build algorithm as well as the nearest neighbor algorithm and the range search algorithm. It is based on the papers \u003ca href=\"https://dl.acm.org/citation.cfm?doid=361002.361007\"\u003eMultidimensional binary search trees used for associative searching\u003c/a\u003e and \u003ca href=\"https://dl.acm.org/citation.cfm?doid=355744.355745\"\u003e An Algorithm for Finding Best Matches in Logarithmic Expected Time\u003c/a\u003e.",
"authors": [
"Martin Rau"
],
"date": "2019-05-30",
- "id": 221,
+ "id": 225,
"link": "/entries/KD_Tree.html",
"permalink": "/entries/KD_Tree.html",
"shortname": "KD_Tree",
"title": "Multidimensional Binary Search Trees",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "Authenticated data structures are a technique for outsourcing data storage and maintenance to an untrusted server. The server is required to produce an efficiently checkable and cryptographically secure proof that it carried out precisely the requested computation. \u003ca href=\"https://doi.org/10.1145/2535838.2535851\"\u003eMiller et al.\u003c/a\u003e introduced \u0026lambda;\u0026bull; (pronounced \u003ci\u003elambda auth\u003c/i\u003e)\u0026mdash;a functional programming language with a built-in primitive authentication construct, which supports a wide range of user-specified authenticated data structures while guaranteeing certain correctness and security properties for all well-typed programs. We formalize \u0026lambda;\u0026bull; and prove its correctness and security properties. With Isabelle's help, we uncover and repair several mistakes in the informal proofs and lemma statements. Our findings are summarized in an \u003ca href=\"https://doi.org/10.4230/LIPIcs.ITP.2019.10\"\u003eITP'19 paper\u003c/a\u003e.",
"authors": [
"Matthias Brun",
"Dmitriy Traytel"
],
"date": "2019-05-14",
- "id": 222,
+ "id": 226,
"link": "/entries/LambdaAuth.html",
"permalink": "/entries/LambdaAuth.html",
"shortname": "LambdaAuth",
"title": "Formalization of Generic Authenticated Data Structures",
"topic_links": [
"computer-science/security",
"computer-science/programming-languages/lambda-calculi"
],
"topics": [
"Computer science/Security",
"Computer science/Programming languages/Lambda calculi"
],
"used_by": 0
},
{
"abstract": "We use CryptHOL to consider Multi-Party Computation (MPC) protocols. MPC was first considered by Yao in 1983 and recent advances in efficiency and an increased demand mean it is now deployed in the real world. Security is considered using the real/ideal world paradigm. We first define security in the semi-honest security setting where parties are assumed not to deviate from the protocol transcript. In this setting we prove multiple Oblivious Transfer (OT) protocols secure and then show security for the gates of the GMW protocol. We then define malicious security, this is a stronger notion of security where parties are assumed to be fully corrupted by an adversary. In this setting we again consider OT, as it is a fundamental building block of almost all MPC protocols.",
"authors": [
"David Aspinall",
"David Butler"
],
"date": "2019-05-09",
- "id": 223,
+ "id": 227,
"link": "/entries/Multi_Party_Computation.html",
"permalink": "/entries/Multi_Party_Computation.html",
"shortname": "Multi_Party_Computation",
"title": "Multi-Party Computation",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "This is a complete formalization of the work of Hoare and Roscoe on the denotational semantics of the Failure/Divergence Model of CSP. It follows essentially the presentation of CSP in Roscoe’s Book ”Theory and Practice of Concurrency” [8] and the semantic details in a joint Paper of Roscoe and Brooks ”An improved failures model for communicating processes\". The present work is based on a prior formalization attempt, called HOL-CSP 1.0, done in 1997 by H. Tej and B. Wolff with the Isabelle proof technology available at that time. This work revealed minor, but omnipresent foundational errors in key concepts like the process invariant. The present version HOL-CSP profits from substantially improved libraries (notably HOLCF), improved automated proof techniques, and structured proof techniques in Isar and is substantially shorter but more complete.",
"authors": [
"Safouan Taha",
"Lina Ye",
"Burkhart Wolff"
],
"date": "2019-04-26",
- "id": 224,
+ "id": 228,
"link": "/entries/HOL-CSP.html",
"permalink": "/entries/HOL-CSP.html",
"shortname": "HOL-CSP",
"title": "HOL-CSP Version 2.0",
"topic_links": [
"computer-science/concurrency/process-calculi",
"computer-science/semantics-and-reasoning"
],
"topics": [
"Computer science/Concurrency/Process calculi",
"Computer science/Semantics and reasoning"
],
"used_by": 1
},
{
"abstract": "We present a formalisation of the unified translation approach of linear temporal logic (LTL) into ω-automata from [1]. This approach decomposes LTL formulas into ``simple'' languages and allows a clear separation of concerns: first, we formalise the purely logical result yielding this decomposition; second, we instantiate this generic theory to obtain a construction for deterministic (state-based) Rabin automata (DRA). We extract from this particular instantiation an executable tool translating LTL to DRAs. To the best of our knowledge this is the first verified translation from LTL to DRAs that is proven to be double exponential in the worst case which asymptotically matches the known lower bound. \u003cp\u003e [1] Javier Esparza, Jan Kretínský, Salomon Sickert. One Theorem to Rule Them All: A Unified Translation of LTL into ω-Automata. LICS 2018",
"authors": [
"Benedikt Seidl",
"Salomon Sickert"
],
"date": "2019-04-16",
- "id": 225,
+ "id": 229,
"link": "/entries/LTL_Master_Theorem.html",
"permalink": "/entries/LTL_Master_Theorem.html",
"shortname": "LTL_Master_Theorem",
"title": "A Compositional and Unified Translation of LTL into ω-Automata",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 1
},
{
"abstract": "We formalize a theory of syntax with bindings that has been developed and refined over the last decade to support several large formalization efforts. Terms are defined for an arbitrary number of constructors of varying numbers of inputs, quotiented to alpha-equivalence and sorted according to a binding signature. The theory includes many properties of the standard operators on terms: substitution, swapping and freshness. It also includes bindings-aware induction and recursion principles and support for semantic interpretation. This work has been presented in the ITP 2017 paper “A Formalized General Theory of Syntax with Bindings”.",
"authors": [
"Lorenzo Gheri",
"Andrei Popescu"
],
"date": "2019-04-06",
- "id": 226,
+ "id": 230,
"link": "/entries/Binding_Syntax_Theory.html",
"permalink": "/entries/Binding_Syntax_Theory.html",
"shortname": "Binding_Syntax_Theory",
"title": "A General Theory of Syntax with Bindings",
"topic_links": [
"computer-science/programming-languages/lambda-calculi",
"computer-science/functional-programming",
"logic/general-logic/mechanization-of-proofs"
],
"topics": [
"Computer science/Programming languages/Lambda calculi",
"Computer science/Functional programming",
"Logic/General logic/Mechanization of proofs"
],
"used_by": 0
},
{
"abstract": "We formalize the proofs of two transcendence criteria by J. Hančl and P. Rucki that assert the transcendence of the sums of certain infinite series built up by sequences that fulfil certain properties. Both proofs make use of Roth's celebrated theorem on diophantine approximations to algebraic numbers from 1955 which we implement as an assumption without having formalised its proof.",
"authors": [
"Angeliki Koutsoukou-Argyraki",
"Wenda Li"
],
"date": "2019-03-27",
- "id": 227,
+ "id": 231,
"link": "/entries/Transcendence_Series_Hancl_Rucki.html",
"permalink": "/entries/Transcendence_Series_Hancl_Rucki.html",
"shortname": "Transcendence_Series_Hancl_Rucki",
"title": "The Transcendence of Certain Infinite Series",
"topic_links": [
"mathematics/analysis",
"mathematics/number-theory"
],
"topics": [
"Mathematics/Analysis",
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "We formalize quantum Hoare logic as given in [1]. In particular, we specify the syntax and denotational semantics of a simple model of quantum programs. Then, we write down the rules of quantum Hoare logic for partial correctness, and show the soundness and completeness of the resulting proof system. As an application, we verify the correctness of Grover’s algorithm.",
"authors": [
"Junyi Liu",
"Bohua Zhan",
"Shuling Wang",
"Shenggang Ying",
"Tao Liu",
"Yangjia Li",
"Mingsheng Ying",
"Naijun Zhan"
],
"date": "2019-03-24",
- "id": 228,
+ "id": 232,
"link": "/entries/QHLProver.html",
"permalink": "/entries/QHLProver.html",
"shortname": "QHLProver",
"title": "Quantum Hoare Logic",
"topic_links": [
"computer-science/programming-languages/logics",
"computer-science/semantics-and-reasoning"
],
"topics": [
"Computer science/Programming languages/Logics",
"Computer science/Semantics and reasoning"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003eThe theory is a formalization of the \u003ca href=\"https://www.omg.org/spec/OCL/\"\u003eOCL\u003c/a\u003e type system, its abstract syntax and expression typing rules. The theory does not define a concrete syntax and a semantics. In contrast to \u003ca href=\"https://www.isa-afp.org/entries/Featherweight_OCL.html\"\u003eFeatherweight OCL\u003c/a\u003e, it is based on a deep embedding approach. The type system is defined from scratch, it is not based on the Isabelle HOL type system.\u003c/p\u003e \u003cp\u003eThe Safe OCL distincts nullable and non-nullable types. Also the theory gives a formal definition of \u003ca href=\"http://ceur-ws.org/Vol-1512/paper07.pdf\"\u003esafe navigation operations\u003c/a\u003e. The Safe OCL typing rules are much stricter than rules given in the OCL specification. It allows one to catch more errors on a type checking phase.\u003c/p\u003e \u003cp\u003eThe type theory presented is four-layered: classes, basic types, generic types, errorable types. We introduce the following new types: non-nullable types (T[1]), nullable types (T[?]), OclSuper. OclSuper is a supertype of all other types (basic types, collections, tuples). This type allows us to define a total supremum function, so types form an upper semilattice. It allows us to define rich expression typing rules in an elegant manner.\u003c/p\u003e \u003cp\u003eThe Preliminaries Chapter of the theory defines a number of helper lemmas for transitive closures and tuples. It defines also a generic object model independent from OCL. It allows one to use the theory as a reference for formalization of analogous languages.\u003c/p\u003e",
"authors": [
"Denis Nikiforov"
],
"date": "2019-03-09",
- "id": 229,
+ "id": 233,
"link": "/entries/Safe_OCL.html",
"permalink": "/entries/Safe_OCL.html",
"shortname": "Safe_OCL",
"title": "Safe OCL",
"topic_links": [
"computer-science/programming-languages/language-definitions"
],
"topics": [
"Computer science/Programming languages/Language definitions"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThis entry is a formalisation of Chapter 4 (and parts of Chapter 3) of Apostol's \u003ca href=\"https://www.springer.com/de/book/9780387901633\"\u003e\u003cem\u003eIntroduction to Analytic Number Theory\u003c/em\u003e\u003c/a\u003e. The main topics that are addressed are properties of the distribution of prime numbers that can be shown in an elementary way (i.\u0026thinsp;e. without the Prime Number Theorem), the various equivalent forms of the PNT (which imply each other in elementary ways), and consequences that follow from the PNT in elementary ways. The latter include, most notably, asymptotic bounds for the number of distinct prime factors of \u003cem\u003en\u003c/em\u003e, the divisor function \u003cem\u003ed(n)\u003c/em\u003e, Euler's totient function \u003cem\u003e\u0026phi;(n)\u003c/em\u003e, and lcm(1,\u0026hellip;,\u003cem\u003en\u003c/em\u003e).\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2019-02-21",
- "id": 230,
+ "id": 234,
"link": "/entries/Prime_Distribution_Elementary.html",
"permalink": "/entries/Prime_Distribution_Elementary.html",
"shortname": "Prime_Distribution_Elementary",
"title": "Elementary Facts About the Distribution of Primes",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 3
},
{
"abstract": "This Isabelle/HOL formalization defines a greedy algorithm for finding a minimum weight basis on a weighted matroid and proves its correctness. This algorithm is an abstract version of Kruskal's algorithm. We interpret the abstract algorithm for the cycle matroid (i.e. forests in a graph) and refine it to imperative executable code using an efficient union-find data structure. Our formalization can be instantiated for different graph representations. We provide instantiations for undirected graphs and symmetric directed graphs.",
"authors": [
"Maximilian P. L. Haslbeck",
"Peter Lammich",
"Julian Biendarra"
],
"date": "2019-02-14",
- "id": 231,
+ "id": 235,
"link": "/entries/Kruskal.html",
"permalink": "/entries/Kruskal.html",
"shortname": "Kruskal",
"title": "Kruskal's Algorithm for Minimum Spanning Forest",
"topic_links": [
"computer-science/algorithms/graph"
],
"topics": [
"Computer science/Algorithms/Graph"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThe most efficient known primality tests are \u003cem\u003eprobabilistic\u003c/em\u003e in the sense that they use randomness and may, with some probability, mistakenly classify a composite number as prime \u0026ndash; but never a prime number as composite. Examples of this are the Miller\u0026ndash;Rabin test, the Solovay\u0026ndash;Strassen test, and (in most cases) Fermat's test.\u003c/p\u003e \u003cp\u003eThis entry defines these three tests and proves their correctness. It also develops some of the number-theoretic foundations, such as Carmichael numbers and the Jacobi symbol with an efficient executable algorithm to compute it.\u003c/p\u003e",
"authors": [
"Daniel Stüwe",
"Manuel Eberl"
],
"date": "2019-02-11",
- "id": 232,
+ "id": 236,
"link": "/entries/Probabilistic_Prime_Tests.html",
"permalink": "/entries/Probabilistic_Prime_Tests.html",
"shortname": "Probabilistic_Prime_Tests",
"title": "Probabilistic Primality Testing",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 1
},
{
- "abstract": "We formalise results from computability theory: recursive functions, undecidability of the halting problem, and the existence of a universal Turing machine. This formalisation is the AFP entry corresponding to the paper Mechanising Turing Machines and Computability Theory in Isabelle/HOL, ITP 2013.",
+ "abstract": "This entry formalises results from computability theory: recursive functions, undecidability of the halting problem, and the existence of a universal Turing machine. This formalisation is the AFP entry corresponding to the paper Mechanising Turing Machines and Computability Theory in Isabelle/HOL, ITP 2013. The main book used for this formalisation is by Boolos, Burgess, and Jeffrey on \u003ci\u003eComputability and Logic\u003c/i\u003e. Joosten contributed mainly by making the files ready for the AFP. His need for a formalisation of Turing Machines arose from realising that the current formalisation of saturation graphs (also in the AFP) was missing a key undecidability result present in his paper on \u003ci\u003eFinding models through graph saturation\u003c/i\u003e. Regensburger contributed by adding definitions for concepts like Turing Decidability, Turing Computability and Turing Reducibility for problem reduction. He also enhanced the result about the undecidability of the General Halting Problem given in the original AFP entry by first proving the undecidability of the Special Halting Problem and then proving its reducibility to the general problem. The original version of this AFP entry did only prove a weak form of the undecidability theorem. The main motivation behind this contribution is to make the AFP entry accessible for bachelor and master students. ",
"authors": [
"Jian Xu",
"Xingyuan Zhang",
"Christian Urban",
- "Sebastiaan J. C. Joosten"
+ "Sebastiaan J. C. Joosten",
+ "Franz Regensburger"
],
"date": "2019-02-08",
- "id": 233,
+ "id": 237,
"link": "/entries/Universal_Turing_Machine.html",
"permalink": "/entries/Universal_Turing_Machine.html",
"shortname": "Universal_Turing_Machine",
"title": "Universal Turing Machine",
"topic_links": [
"logic/computability",
"computer-science/automata-and-formal-languages"
],
"topics": [
"Logic/Computability",
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "Isabelle/UTP is a mechanised theory engineering toolkit based on Hoare and He’s Unifying Theories of Programming (UTP). UTP enables the creation of denotational, algebraic, and operational semantics for different programming languages using an alphabetised relational calculus. We provide a semantic embedding of the alphabetised relational calculus in Isabelle/HOL, including new type definitions, relational constructors, automated proof tactics, and accompanying algebraic laws. Isabelle/UTP can be used to both capture laws of programming for different languages, and put these fundamental theorems to work in the creation of associated verification tools, using calculi like Hoare logics. This document describes the relational core of the UTP in Isabelle/HOL.",
"authors": [
"Simon Foster",
"Frank Zeyda",
"Yakoub Nemouchi",
"Pedro Ribeiro",
"Burkhart Wolff"
],
"date": "2019-02-01",
- "id": 234,
+ "id": 238,
"link": "/entries/UTP.html",
"permalink": "/entries/UTP.html",
"shortname": "UTP",
"title": "Isabelle/UTP: Mechanised Theory Engineering for Unifying Theories of Programming",
"topic_links": [
"computer-science/programming-languages/logics"
],
"topics": [
"Computer science/Programming languages/Logics"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThis entry defines the set of \u003cem\u003einversions\u003c/em\u003e of a list, i.e. the pairs of indices that violate sortedness. It also proves the correctness of the well-known \u003cem\u003eO\u003c/em\u003e(\u003cem\u003en log n\u003c/em\u003e) divide-and-conquer algorithm to compute the number of inversions.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2019-02-01",
- "id": 235,
+ "id": 239,
"link": "/entries/List_Inversions.html",
"permalink": "/entries/List_Inversions.html",
"shortname": "List_Inversions",
"title": "The Inversions of a List",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "We formalize a proof of Motzkin's transposition theorem and Farkas' lemma in Isabelle/HOL. Our proof is based on the formalization of the simplex algorithm which, given a set of linear constraints, either returns a satisfying assignment to the problem or detects unsatisfiability. By reusing facts about the simplex algorithm we show that a set of linear constraints is unsatisfiable if and only if there is a linear combination of the constraints which evaluates to a trivially unsatisfiable inequality.",
"authors": [
"Ralph Bottesch",
"Max W. Haslbeck",
"René Thiemann"
],
"date": "2019-01-17",
- "id": 236,
+ "id": 240,
"link": "/entries/Farkas.html",
"permalink": "/entries/Farkas.html",
"shortname": "Farkas",
"title": "Farkas' Lemma and Motzkin's Transposition Theorem",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 1
},
{
"abstract": "In this formalization, I introduce a higher-order term algebra, generalizing the notions of free variables, matching, and substitution. The need arose from the work on a \u003ca href=\"http://dx.doi.org/10.1007/978-3-319-89884-1_35\"\u003everified compiler from Isabelle to CakeML\u003c/a\u003e. Terms can be thought of as consisting of a generic (free variables, constants, application) and a specific part. As example applications, this entry provides instantiations for de-Bruijn terms, terms with named variables, and \u003ca href=\"https://www.isa-afp.org/entries/Lambda_Free_RPOs.html\"\u003eBlanchette’s \u0026lambda;-free higher-order terms\u003c/a\u003e. Furthermore, I implement translation functions between de-Bruijn terms and named terms and prove their correctness.",
"authors": [
"Lars Hupel"
],
"date": "2019-01-15",
- "id": 237,
+ "id": 241,
"link": "/entries/Higher_Order_Terms.html",
"permalink": "/entries/Higher_Order_Terms.html",
"shortname": "Higher_Order_Terms",
"title": "An Algebra for Higher-Order Terms",
"topic_links": [
"computer-science/programming-languages/lambda-calculi"
],
"topics": [
"Computer science/Programming languages/Lambda calculi"
],
"used_by": 1
},
{
"abstract": "IMP2 is a simple imperative language together with Isabelle tooling to create a program verification environment in Isabelle/HOL. The tools include a C-like syntax, a verification condition generator, and Isabelle commands for the specification of programs. The framework is modular, i.e., it allows easy reuse of already proved programs within larger programs. This entry comes with a quickstart guide and a large collection of examples, spanning basic algorithms with simple proofs to more advanced algorithms and proof techniques like data refinement. Some highlights from the examples are: \u003cul\u003e \u003cli\u003eBisection Square Root, \u003c/li\u003e \u003cli\u003eExtended Euclid, \u003c/li\u003e \u003cli\u003eExponentiation by Squaring, \u003c/li\u003e \u003cli\u003eBinary Search, \u003c/li\u003e \u003cli\u003eInsertion Sort, \u003c/li\u003e \u003cli\u003eQuicksort, \u003c/li\u003e \u003cli\u003eDepth First Search. \u003c/li\u003e \u003c/ul\u003e The abstract syntax and semantics are very simple and well-documented. They are suitable to be used in a course, as extension to the IMP language which comes with the Isabelle distribution. While this entry is limited to a simple imperative language, the ideas could be extended to more sophisticated languages.",
"authors": [
"Peter Lammich",
"Simon Wimmer"
],
"date": "2019-01-15",
- "id": 238,
+ "id": 242,
"link": "/entries/IMP2.html",
"permalink": "/entries/IMP2.html",
"shortname": "IMP2",
"title": "IMP2 – Simple Program Verification in Isabelle/HOL",
"topic_links": [
"computer-science/programming-languages/logics",
"computer-science/algorithms"
],
"topics": [
"Computer science/Programming languages/Logics",
"Computer science/Algorithms"
],
"used_by": 1
},
{
"abstract": "When verifying a concurrent program, it is usual to assume that memory is sequentially consistent. However, most modern multiprocessors depend on store buffering for efficiency, and provide native sequential consistency only at a substantial performance penalty. To regain sequential consistency, a programmer has to follow an appropriate programming discipline. However, na\u0026iuml;ve disciplines, such as protecting all shared accesses with locks, are not flexible enough for building high-performance multiprocessor software. We present a new discipline for concurrent programming under TSO (total store order, with store buffer forwarding). It does not depend on concurrency primitives, such as locks. Instead, threads use ghost operations to acquire and release ownership of memory addresses. A thread can write to an address only if no other thread owns it, and can read from an address only if it owns it or it is shared and the thread has flushed its store buffer since it last wrote to an address it did not own. This discipline covers both coarse-grained concurrency (where data is protected by locks) as well as fine-grained concurrency (where atomic operations race to memory). We formalize this discipline in Isabelle/HOL, and prove that if every execution of a program in a system without store buffers follows the discipline, then every execution of the program with store buffers is sequentially consistent. Thus, we can show sequential consistency under TSO by ordinary assertional reasoning about the program, without having to consider store buffers at all.",
"authors": [
"Ernie Cohen",
"Norbert Schirmer"
],
"date": "2019-01-07",
- "id": 239,
+ "id": 243,
"link": "/entries/Store_Buffer_Reduction.html",
"permalink": "/entries/Store_Buffer_Reduction.html",
"shortname": "Store_Buffer_Reduction",
"title": "A Reduction Theorem for Store Buffers",
"topic_links": [
"computer-science/concurrency"
],
"topics": [
"Computer science/Concurrency"
],
"used_by": 0
},
{
"abstract": "In this AFP entry, we formalize the core of the Document Object Model (DOM). At its core, the DOM defines a tree-like data structure for representing documents in general and HTML documents in particular. It is the heart of any modern web browser. Formalizing the key concepts of the DOM is a prerequisite for the formal reasoning over client-side JavaScript programs and for the analysis of security concepts in modern web browsers. We present a formalization of the core DOM, with focus on the node-tree and the operations defined on node-trees, in Isabelle/HOL. We use the formalization to verify the functional correctness of the most important functions defined in the DOM standard. Moreover, our formalization is 1) extensible, i.e., can be extended without the need of re-proving already proven properties and 2) executable, i.e., we can generate executable code from our specification.",
"authors": [
"Achim D. Brucker",
"Michael Herzberg"
],
"date": "2018-12-26",
- "id": 240,
+ "id": 244,
"link": "/entries/Core_DOM.html",
"permalink": "/entries/Core_DOM.html",
"shortname": "Core_DOM",
"title": "A Formal Model of the Document Object Model",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 1
},
{
"abstract": "Concurrent revisions is a concurrency control model developed by Microsoft Research. It has many interesting properties that distinguish it from other well-known models such as transactional memory. One of these properties is \u003cem\u003edeterminacy\u003c/em\u003e: programs written within the model always produce the same outcome, independent of scheduling activity. The concurrent revisions model has an operational semantics, with an informal proof of determinacy. This document contains an Isabelle/HOL formalization of this semantics and the proof of determinacy.",
"authors": [
"Roy Overbeek"
],
"date": "2018-12-25",
- "id": 241,
+ "id": 245,
"link": "/entries/Concurrent_Revisions.html",
"permalink": "/entries/Concurrent_Revisions.html",
"shortname": "Concurrent_Revisions",
"title": "Formalization of Concurrent Revisions",
"topic_links": [
"computer-science/concurrency"
],
"topics": [
"Computer science/Concurrency"
],
"used_by": 0
},
{
"abstract": "This entry contains the application of auto2 to verifying functional and imperative programs. Algorithms and data structures that are verified include linked lists, binary search trees, red-black trees, interval trees, priority queue, quicksort, union-find, Dijkstra's algorithm, and a sweep-line algorithm for detecting rectangle intersection. The imperative verification is based on Imperative HOL and its separation logic framework. A major goal of this work is to set up automation in order to reduce the length of proof that the user needs to provide, both for verifying functional programs and for working with separation logic.",
"authors": [
"Bohua Zhan"
],
"date": "2018-12-21",
- "id": 242,
+ "id": 246,
"link": "/entries/Auto2_Imperative_HOL.html",
"permalink": "/entries/Auto2_Imperative_HOL.html",
"shortname": "Auto2_Imperative_HOL",
"title": "Verifying Imperative Programs using Auto2",
"topic_links": [
"computer-science/algorithms",
"computer-science/data-structures"
],
"topics": [
"Computer science/Algorithms",
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "Inspired by Abstract Cryptography, we extend CryptHOL, a framework for formalizing game-based proofs, with an abstract model of Random Systems and provide proof rules about their composition and equality. This foundation facilitates the formalization of Constructive Cryptography proofs, where the security of a cryptographic scheme is realized as a special form of construction in which a complex random system is built from simpler ones. This is a first step towards a fully-featured compositional framework, similar to Universal Composability framework, that supports formalization of simulation-based proofs.",
"authors": [
"Andreas Lochbihler",
"S. Reza Sefidgar"
],
"date": "2018-12-17",
- "id": 243,
+ "id": 247,
"link": "/entries/Constructive_Cryptography.html",
"permalink": "/entries/Constructive_Cryptography.html",
"shortname": "Constructive_Cryptography",
"title": "Constructive Cryptography in HOL",
"topic_links": [
"computer-science/security/cryptography",
"mathematics/probability-theory"
],
"topics": [
"Computer science/Security/Cryptography",
"Mathematics/Probability theory"
],
"used_by": 1
},
{
"abstract": "These components add further fundamental order and lattice-theoretic concepts and properties to Isabelle's libraries. They follow by and large the introductory sections of the Compendium of Continuous Lattices, covering directed and filtered sets, down-closed and up-closed sets, ideals and filters, Galois connections, closure and co-closure operators. Some emphasis is on duality and morphisms between structures, as in the Compendium. To this end, three ad-hoc approaches to duality are compared.",
"authors": [
"Georg Struth"
],
"date": "2018-12-11",
- "id": 244,
+ "id": 248,
"link": "/entries/Order_Lattice_Props.html",
"permalink": "/entries/Order_Lattice_Props.html",
"shortname": "Order_Lattice_Props",
"title": "Properties of Orderings and Lattices",
"topic_links": [
"mathematics/order"
],
"topics": [
"Mathematics/Order"
],
"used_by": 2
},
{
"abstract": "These mathematical components formalise basic properties of quantales, together with some important models, constructions, and concepts, including quantic nuclei and conuclei.",
"authors": [
"Georg Struth"
],
"date": "2018-12-11",
- "id": 245,
+ "id": 249,
"link": "/entries/Quantales.html",
"permalink": "/entries/Quantales.html",
"shortname": "Quantales",
"title": "Quantales",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 1
},
{
"abstract": "These mathematical components formalise predicate transformer semantics for programs, yet currently only for partial correctness and in the absence of faults. A first part for isotone (or monotone), Sup-preserving and Inf-preserving transformers follows Back and von Wright's approach, with additional emphasis on the quantalic structure of algebras of transformers. The second part develops Sup-preserving and Inf-preserving predicate transformers from the powerset monad, via its Kleisli category and Eilenberg-Moore algebras, with emphasis on adjunctions and dualities, as well as isomorphisms between relations, state transformers and predicate transformers.",
"authors": [
"Georg Struth"
],
"date": "2018-12-11",
- "id": 246,
+ "id": 250,
"link": "/entries/Transformer_Semantics.html",
"permalink": "/entries/Transformer_Semantics.html",
"shortname": "Transformer_Semantics",
"title": "Transformer Semantics",
"topic_links": [
"mathematics/algebra",
"computer-science/semantics-and-reasoning"
],
"topics": [
"Mathematics/Algebra",
"Computer science/Semantics and reasoning"
],
"used_by": 1
},
{
"abstract": "This Isabelle/HOL formalization refines the abstract ordered resolution prover presented in Section 4.3 of Bachmair and Ganzinger's \"Resolution Theorem Proving\" chapter in the \u003ci\u003eHandbook of Automated Reasoning\u003c/i\u003e. The result is a functional implementation of a first-order prover.",
"authors": [
"Anders Schlichtkrull",
"Jasmin Christian Blanchette",
"Dmitriy Traytel"
],
"date": "2018-11-23",
- "id": 247,
+ "id": 251,
"link": "/entries/Functional_Ordered_Resolution_Prover.html",
"permalink": "/entries/Functional_Ordered_Resolution_Prover.html",
"shortname": "Functional_Ordered_Resolution_Prover",
"title": "A Verified Functional Implementation of Bachmair and Ganzinger's Ordered Resolution Prover",
"topic_links": [
"logic/general-logic/mechanization-of-proofs"
],
"topics": [
"Logic/General logic/Mechanization of proofs"
],
"used_by": 0
},
{
"abstract": "This is an Isabelle/HOL formalisation of graph saturation, closely following a \u003ca href=\"https://doi.org/10.1016/j.jlamp.2018.06.005\"\u003epaper by the author\u003c/a\u003e on graph saturation. Nine out of ten lemmas of the original paper are proven in this formalisation. The formalisation additionally includes two theorems that show the main premise of the paper: that consistency and entailment are decided through graph saturation. This formalisation does not give executable code, and it did not implement any of the optimisations suggested in the paper.",
"authors": [
"Sebastiaan J. C. Joosten"
],
"date": "2018-11-23",
- "id": 248,
+ "id": 252,
"link": "/entries/Graph_Saturation.html",
"permalink": "/entries/Graph_Saturation.html",
"shortname": "Graph_Saturation",
"title": "Graph Saturation",
"topic_links": [
"logic/rewriting",
"mathematics/graph-theory"
],
"topics": [
"Logic/Rewriting",
"Mathematics/Graph theory"
],
"used_by": 0
},
{
"abstract": "Auto2 is a saturation-based heuristic prover for higher-order logic, implemented as a tactic in Isabelle. This entry contains the instantiation of auto2 for Isabelle/HOL, along with two basic examples: solutions to some of the Pelletier’s problems, and elementary number theory of primes.",
"authors": [
"Bohua Zhan"
],
"date": "2018-11-20",
- "id": 249,
+ "id": 253,
"link": "/entries/Auto2_HOL.html",
"permalink": "/entries/Auto2_HOL.html",
"shortname": "Auto2_HOL",
"title": "Auto2 Prover",
"topic_links": [
"tools"
],
"topics": [
"Tools"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003eThis article defines the combinatorial structures known as \u003cem\u003eIndependence Systems\u003c/em\u003e and \u003cem\u003eMatroids\u003c/em\u003e and provides basic concepts and theorems related to them. These structures play an important role in combinatorial optimisation, e. g. greedy algorithms such as Kruskal's algorithm. The development is based on Oxley's \u003ca href=\"http://www.math.lsu.edu/~oxley/survey4.pdf\"\u003e`What is a Matroid?'\u003c/a\u003e.\u003c/p\u003e",
"authors": [
"Jonas Keinholz"
],
"date": "2018-11-16",
- "id": 250,
+ "id": 254,
"link": "/entries/Matroids.html",
"permalink": "/entries/Matroids.html",
"shortname": "Matroids",
"title": "Matroids",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003eWe provide a framework for automatically deriving instances for generic type classes. Our approach is inspired by Haskell's \u003ci\u003egeneric-deriving\u003c/i\u003e package and Scala's \u003ci\u003eshapeless\u003c/i\u003e library. In addition to generating the code for type class functions, we also attempt to automatically prove type class laws for these instances. As of now, however, some manual proofs are still required for recursive datatypes.\u003c/p\u003e \u003cp\u003eNote: There are already articles in the AFP that provide automatic instantiation for a number of classes. Concretely, \u003ca href=\"https://www.isa-afp.org/entries/Deriving.html\"\u003eDeriving\u003c/a\u003e allows the automatic instantiation of comparators, linear orders, equality, and hashing. \u003ca href=\"https://www.isa-afp.org/entries/Show.html\"\u003eShow\u003c/a\u003e instantiates a Haskell-style \u003ci\u003eshow\u003c/i\u003e class.\u003c/p\u003e\u003cp\u003eOur approach works for arbitrary classes (with some Isabelle/HOL overhead for each class), but a smaller set of datatypes.\u003c/p\u003e",
"authors": [
"Jonas Rädle",
"Lars Hupel"
],
"date": "2018-11-06",
- "id": 251,
+ "id": 255,
"link": "/entries/Generic_Deriving.html",
"permalink": "/entries/Generic_Deriving.html",
"shortname": "Generic_Deriving",
"title": "Deriving generic class instances for datatypes",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "An ambitious ethical theory ---Alan Gewirth's \"Principle of Generic Consistency\"--- is encoded and analysed in Isabelle/HOL. Gewirth's theory has stirred much attention in philosophy and ethics and has been proposed as a potential means to bound the impact of artificial general intelligence.",
"authors": [
"David Fuenmayor",
"Christoph Benzmüller"
],
"date": "2018-10-30",
- "id": 252,
+ "id": 256,
"link": "/entries/GewirthPGCProof.html",
"permalink": "/entries/GewirthPGCProof.html",
"shortname": "GewirthPGCProof",
"title": "Formalisation and Evaluation of Alan Gewirth's Proof for the Principle of Generic Consistency in Isabelle/HOL",
"topic_links": [
"logic/philosophical-aspects"
],
"topics": [
"Logic/Philosophical aspects"
],
"used_by": 0
},
{
"abstract": "This work is a formalization of epistemic logic with countably many agents. It includes proofs of soundness and completeness for the axiom system K. The completeness proof is based on the textbook \"Reasoning About Knowledge\" by Fagin, Halpern, Moses and Vardi (MIT Press 1995). The extensions of system K (T, KB, K4, S4, S5) and their completeness proofs are based on the textbook \"Modal Logic\" by Blackburn, de Rijke and Venema (Cambridge University Press 2001). Papers: \u003ca href=\"https://doi.org/10.1007/978-3-030-88853-4_1\"\u003ehttps://doi.org/10.1007/978-3-030-88853-4_1\u003c/a\u003e, \u003ca href=\"https://doi.org/10.1007/978-3-030-90138-7_2\"\u003ehttps://doi.org/10.1007/978-3-030-90138-7_2\u003c/a\u003e.",
"authors": [
"Asta Halkjær From"
],
"date": "2018-10-29",
- "id": 253,
+ "id": 257,
"link": "/entries/Epistemic_Logic.html",
"permalink": "/entries/Epistemic_Logic.html",
"shortname": "Epistemic_Logic",
"title": "Epistemic Logic: Completeness of Modal Logics",
"topic_links": [
"logic/general-logic/logics-of-knowledge-and-belief"
],
"topics": [
"Logic/General logic/Logics of knowledge and belief"
],
"used_by": 1
},
{
"abstract": "We formalize the definition and basic properties of smooth manifolds in Isabelle/HOL. Concepts covered include partition of unity, tangent and cotangent spaces, and the fundamental theorem of path integrals. We also examine some concrete manifolds such as spheres and projective spaces. The formalization makes extensive use of the analysis and linear algebra libraries in Isabelle/HOL, in particular its “types-to-sets” mechanism.",
"authors": [
"Fabian Immler",
"Bohua Zhan"
],
"date": "2018-10-22",
- "id": 254,
+ "id": 258,
"link": "/entries/Smooth_Manifolds.html",
"permalink": "/entries/Smooth_Manifolds.html",
"shortname": "Smooth_Manifolds",
"title": "Smooth Manifolds",
"topic_links": [
"mathematics/analysis",
"mathematics/topology"
],
"topics": [
"Mathematics/Analysis",
"Mathematics/Topology"
],
"used_by": 0
},
{
"abstract": "This Isabelle/HOL formalization defines the Embedding Path Order (EPO) for higher-order terms without lambda-abstraction and proves many useful properties about it. In contrast to the lambda-free recursive path orders, it does not fully coincide with RPO on first-order terms, but it is compatible with arbitrary higher-order contexts.",
"authors": [
"Alexander Bentkamp"
],
"date": "2018-10-19",
- "id": 255,
+ "id": 259,
"link": "/entries/Lambda_Free_EPO.html",
"permalink": "/entries/Lambda_Free_EPO.html",
"shortname": "Lambda_Free_EPO",
"title": "Formalization of the Embedding Path Order for Lambda-Free Higher-Order Terms",
"topic_links": [
"logic/rewriting"
],
"topics": [
"Logic/Rewriting"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThis work is a formalisation of the Randomised Binary Search Trees introduced by Martínez and Roura, including definitions and correctness proofs.\u003c/p\u003e \u003cp\u003eLike randomised treaps, they are a probabilistic data structure that behaves exactly as if elements were inserted into a non-balancing BST in random order. However, unlike treaps, they only use discrete probability distributions, but their use of randomness is more complicated.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2018-10-19",
- "id": 256,
+ "id": 260,
"link": "/entries/Randomised_BSTs.html",
"permalink": "/entries/Randomised_BSTs.html",
"shortname": "Randomised_BSTs",
"title": "Randomised Binary Search Trees",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "A completeness threshold is required to guarantee the completeness of planning as satisfiability, and bounded model checking of safety properties. One valid completeness threshold is the diameter of the underlying transition system. The diameter is the maximum element in the set of lengths of all shortest paths between pairs of states. The diameter is not calculated exactly in our setting, where the transition system is succinctly described using a (propositionally) factored representation. Rather, an upper bound on the diameter is calculated compositionally, by bounding the diameters of small abstract subsystems, and then composing those. We port a HOL4 formalisation of a compositional algorithm for computing a relatively tight upper bound on the system diameter. This compositional algorithm exploits acyclicity in the state space to achieve compositionality, and it was introduced by Abdulaziz et. al. The formalisation that we port is described as a part of another paper by Abdulaziz et. al. As a part of this porting we developed a libray about transition systems, which shall be of use in future related mechanisation efforts.",
"authors": [
"Friedrich Kurz",
"Mohammad Abdulaziz"
],
"date": "2018-10-12",
- "id": 257,
+ "id": 261,
"link": "/entries/Factored_Transition_System_Bounding.html",
"permalink": "/entries/Factored_Transition_System_Bounding.html",
"shortname": "Factored_Transition_System_Bounding",
"title": "Upper Bounding Diameters of State Spaces of Factored Transition Systems",
"topic_links": [
"computer-science/automata-and-formal-languages",
"mathematics/graph-theory"
],
"topics": [
"Computer science/Automata and formal languages",
"Mathematics/Graph theory"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThis entry shows the transcendence of \u0026pi; based on the classic proof using the fundamental theorem of symmetric polynomials first given by von Lindemann in 1882, but the formalisation mostly follows the version by Niven. The proof reuses much of the machinery developed in the AFP entry on the transcendence of \u003cem\u003ee\u003c/em\u003e.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2018-09-28",
- "id": 258,
+ "id": 262,
"link": "/entries/Pi_Transcendental.html",
"permalink": "/entries/Pi_Transcendental.html",
"shortname": "Pi_Transcendental",
"title": "The Transcendence of π",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003eA symmetric polynomial is a polynomial in variables \u003cem\u003eX\u003c/em\u003e\u003csub\u003e1\u003c/sub\u003e,\u0026hellip;,\u003cem\u003eX\u003c/em\u003e\u003csub\u003en\u003c/sub\u003e that does not discriminate between its variables, i.\u0026thinsp;e. it is invariant under any permutation of them. These polynomials are important in the study of the relationship between the coefficients of a univariate polynomial and its roots in its algebraic closure.\u003c/p\u003e \u003cp\u003eThis article provides a definition of symmetric polynomials and the elementary symmetric polynomials e\u003csub\u003e1\u003c/sub\u003e,\u0026hellip;,e\u003csub\u003en\u003c/sub\u003e and proofs of their basic properties, including three notable ones:\u003c/p\u003e \u003cul\u003e \u003cli\u003e Vieta's formula, which gives an explicit expression for the \u003cem\u003ek\u003c/em\u003e-th coefficient of a univariate monic polynomial in terms of its roots \u003cem\u003ex\u003c/em\u003e\u003csub\u003e1\u003c/sub\u003e,\u0026hellip;,\u003cem\u003ex\u003c/em\u003e\u003csub\u003en\u003c/sub\u003e, namely \u003cem\u003ec\u003c/em\u003e\u003csub\u003e\u003cem\u003ek\u003c/em\u003e\u003c/sub\u003e = (-1)\u003csup\u003e\u003cem\u003en\u003c/em\u003e-\u003cem\u003ek\u003c/em\u003e\u003c/sup\u003e\u0026thinsp;e\u003csub\u003e\u003cem\u003en\u003c/em\u003e-\u003cem\u003ek\u003c/em\u003e\u003c/sub\u003e(\u003cem\u003ex\u003c/em\u003e\u003csub\u003e1\u003c/sub\u003e,\u0026hellip;,\u003cem\u003ex\u003c/em\u003e\u003csub\u003en\u003c/sub\u003e).\u003c/li\u003e \u003cli\u003eSecond, the Fundamental Theorem of Symmetric Polynomials, which states that any symmetric polynomial is itself a uniquely determined polynomial combination of the elementary symmetric polynomials.\u003c/li\u003e \u003cli\u003eThird, as a corollary of the previous two, that given a polynomial over some ring \u003cem\u003eR\u003c/em\u003e, any symmetric polynomial combination of its roots is also in \u003cem\u003eR\u003c/em\u003e even when the roots are not. \u003c/ul\u003e \u003cp\u003e Both the symmetry property itself and the witness for the Fundamental Theorem are executable. \u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2018-09-25",
- "id": 259,
+ "id": 263,
"link": "/entries/Symmetric_Polynomials.html",
"permalink": "/entries/Symmetric_Polynomials.html",
"shortname": "Symmetric_Polynomials",
"title": "Symmetric Polynomials",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 2
},
{
"abstract": "\u003cp\u003eThis article formalizes signature-based algorithms for computing Gr\u0026ouml;bner bases. Such algorithms are, in general, superior to other algorithms in terms of efficiency, and have not been formalized in any proof assistant so far. The present development is both generic, in the sense that most known variants of signature-based algorithms are covered by it, and effectively executable on concrete input thanks to Isabelle's code generator. Sample computations of benchmark problems show that the verified implementation of signature-based algorithms indeed outperforms the existing implementation of Buchberger's algorithm in Isabelle/HOL.\u003c/p\u003e \u003cp\u003eBesides total correctness of the algorithms, the article also proves that under certain conditions they a-priori detect and avoid all useless zero-reductions, and always return 'minimal' (in some sense) Gr\u0026ouml;bner bases if an input parameter is chosen in the right way.\u003c/p\u003e\u003cp\u003eThe formalization follows the recent survey article by Eder and Faug\u0026egrave;re.\u003c/p\u003e",
"authors": [
"Alexander Maletzky"
],
"date": "2018-09-20",
- "id": 260,
+ "id": 264,
"link": "/entries/Signature_Groebner.html",
"permalink": "/entries/Signature_Groebner.html",
"shortname": "Signature_Groebner",
"title": "Signature-Based Gröbner Basis Algorithms",
"topic_links": [
"mathematics/algebra",
"computer-science/algorithms/mathematical"
],
"topics": [
"Mathematics/Algebra",
"Computer science/Algorithms/Mathematical"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThis article provides a short proof of the Prime Number Theorem in several equivalent forms, most notably \u0026pi;(\u003cem\u003ex\u003c/em\u003e) ~ \u003cem\u003ex\u003c/em\u003e/ln \u003cem\u003ex\u003c/em\u003e where \u0026pi;(\u003cem\u003ex\u003c/em\u003e) is the number of primes no larger than \u003cem\u003ex\u003c/em\u003e. It also defines other basic number-theoretic functions related to primes like Chebyshev's functions \u0026thetasym; and \u0026psi; and the \u0026ldquo;\u003cem\u003en\u003c/em\u003e-th prime number\u0026rdquo; function p\u003csub\u003e\u003cem\u003en\u003c/em\u003e\u003c/sub\u003e. We also show various bounds and relationship between these functions are shown. Lastly, we derive Mertens' First and Second Theorem, i.\u0026thinsp;e. \u0026sum;\u003csub\u003e\u003cem\u003ep\u003c/em\u003e\u0026le;\u003cem\u003ex\u003c/em\u003e\u003c/sub\u003e ln \u003cem\u003ep\u003c/em\u003e/\u003cem\u003ep\u003c/em\u003e = ln \u003cem\u003ex\u003c/em\u003e + \u003cem\u003eO\u003c/em\u003e(1) and \u0026sum;\u003csub\u003e\u003cem\u003ep\u003c/em\u003e\u0026le;\u003cem\u003ex\u003c/em\u003e\u003c/sub\u003e 1/\u003cem\u003ep\u003c/em\u003e = ln ln \u003cem\u003ex\u003c/em\u003e + M + \u003cem\u003eO\u003c/em\u003e(1/ln \u003cem\u003ex\u003c/em\u003e). We also give explicit bounds for the remainder terms.\u003c/p\u003e \u003cp\u003eThe proof of the Prime Number Theorem builds on a library of Dirichlet series and analytic combinatorics. We essentially follow the presentation by Newman. The core part of the proof is a Tauberian theorem for Dirichlet series, which is proven using complex analysis and then used to strengthen Mertens' First Theorem to \u0026sum;\u003csub\u003e\u003cem\u003ep\u003c/em\u003e\u0026le;\u003cem\u003ex\u003c/em\u003e\u003c/sub\u003e ln \u003cem\u003ep\u003c/em\u003e/\u003cem\u003ep\u003c/em\u003e = ln \u003cem\u003ex\u003c/em\u003e + c + \u003cem\u003eo\u003c/em\u003e(1).\u003c/p\u003e \u003cp\u003eA variant of this proof has been formalised before by Harrison in HOL Light, and formalisations of Selberg's elementary proof exist both by Avigad \u003cem\u003eet al.\u003c/em\u003e in Isabelle and by Carneiro in Metamath. The advantage of the analytic proof is that, while it requires more powerful mathematical tools, it is considerably shorter and clearer. This article attempts to provide a short and clear formalisation of all components of that proof using the full range of mathematical machinery available in Isabelle, staying as close as possible to Newman's simple paper proof.\u003c/p\u003e",
"authors": [
"Manuel Eberl",
"Lawrence C. Paulson"
],
"date": "2018-09-19",
- "id": 261,
+ "id": 265,
"link": "/entries/Prime_Number_Theorem.html",
"permalink": "/entries/Prime_Number_Theorem.html",
"shortname": "Prime_Number_Theorem",
"title": "The Prime Number Theorem",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 4
},
{
"abstract": "We develop algebras for aggregation and minimisation for weight matrices and for edge weights in graphs. We verify the correctness of Prim's and Kruskal's minimum spanning tree algorithms based on these algebras. We also show numerous instances of these algebras based on linearly ordered commutative semigroups.",
"authors": [
"Walter Guttmann"
],
"date": "2018-09-15",
- "id": 262,
+ "id": 266,
"link": "/entries/Aggregation_Algebras.html",
"permalink": "/entries/Aggregation_Algebras.html",
"shortname": "Aggregation_Algebras",
"title": "Aggregation Algebras",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 1
},
{
"abstract": "We develop the basic theory of Octonions, including various identities and properties of the octonions and of the octonionic product, a description of 7D isometries and representations of orthogonal transformations. To this end we first develop the theory of the vector cross product in 7 dimensions. The development of the theory of Octonions is inspired by that of the theory of Quaternions by Lawrence Paulson. However, we do not work within the type class real_algebra_1 because the octonionic product is not associative.",
"authors": [
"Angeliki Koutsoukou-Argyraki"
],
"date": "2018-09-14",
- "id": 263,
+ "id": 267,
"link": "/entries/Octonions.html",
"permalink": "/entries/Octonions.html",
"shortname": "Octonions",
"title": "Octonions",
"topic_links": [
"mathematics/algebra",
"mathematics/geometry"
],
"topics": [
"Mathematics/Algebra",
"Mathematics/Geometry"
],
"used_by": 0
},
{
"abstract": "This theory is inspired by the HOL Light development of quaternions, but follows its own route. Quaternions are developed coinductively, as in the existing formalisation of the complex numbers. Quaternions are quickly shown to belong to the type classes of real normed division algebras and real inner product spaces. And therefore they inherit a great body of facts involving algebraic laws, limits, continuity, etc., which must be proved explicitly in the HOL Light version. The development concludes with the geometric interpretation of the product of imaginary quaternions.",
"authors": [
"Lawrence C. Paulson"
],
"date": "2018-09-05",
- "id": 264,
+ "id": 268,
"link": "/entries/Quaternions.html",
"permalink": "/entries/Quaternions.html",
"shortname": "Quaternions",
"title": "Quaternions",
"topic_links": [
"mathematics/algebra",
"mathematics/geometry"
],
"topics": [
"Mathematics/Algebra",
"Mathematics/Geometry"
],
"used_by": 0
},
{
"abstract": "This entry is mainly about counting and approximating real roots (of a polynomial) with multiplicity. We have first formalised the Budan-Fourier theorem: given a polynomial with real coefficients, we can calculate sign variations on Fourier sequences to over-approximate the number of real roots (counting multiplicity) within an interval. When all roots are known to be real, the over-approximation becomes tight: we can utilise this theorem to count real roots exactly. It is also worth noting that Descartes' rule of sign is a direct consequence of the Budan-Fourier theorem, and has been included in this entry. In addition, we have extended previous formalised Sturm's theorem to count real roots with multiplicity, while the original Sturm's theorem only counts distinct real roots. Compared to the Budan-Fourier theorem, our extended Sturm's theorem always counts roots exactly but may suffer from greater computational cost.",
"authors": [
"Wenda Li"
],
"date": "2018-09-02",
- "id": 265,
+ "id": 269,
"link": "/entries/Budan_Fourier.html",
"permalink": "/entries/Budan_Fourier.html",
"shortname": "Budan_Fourier",
"title": "The Budan-Fourier Theorem and Counting Real Roots with Multiplicity",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 2
},
{
"abstract": "We present an Isabelle/HOL formalization and total correctness proof for the incremental version of the Simplex algorithm which is used in most state-of-the-art SMT solvers. It supports extraction of satisfying assignments, extraction of minimal unsatisfiable cores, incremental assertion of constraints and backtracking. The formalization relies on stepwise program refinement, starting from a simple specification, going through a number of refinement steps, and ending up in a fully executable functional implementation. Symmetries present in the algorithm are handled with special care.",
"authors": [
"Filip Marić",
"Mirko Spasić",
"René Thiemann"
],
"date": "2018-08-24",
- "id": 266,
+ "id": 270,
"link": "/entries/Simplex.html",
"permalink": "/entries/Simplex.html",
"shortname": "Simplex",
"title": "An Incremental Simplex Algorithm with Unsatisfiable Core Generation",
"topic_links": [
"computer-science/algorithms/optimization"
],
"topics": [
"Computer science/Algorithms/Optimization"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003e We formalize undecidablity results for Minsky machines. To this end, we also formalize recursive inseparability. \u003c/p\u003e\u003cp\u003e We start by proving that Minsky machines can compute arbitrary primitive recursive and recursive functions. We then show that there is a deterministic Minsky machine with one argument and two final states such that the set of inputs that are accepted in one state is recursively inseparable from the set of inputs that are accepted in the other state. \u003c/p\u003e\u003cp\u003e As a corollary, the set of Minsky configurations that reach the first state but not the second recursively inseparable from the set of Minsky configurations that reach the second state but not the first. In particular both these sets are undecidable. \u003c/p\u003e\u003cp\u003e We do \u003cem\u003enot\u003c/em\u003e prove that recursive functions can simulate Minsky machines. \u003c/p\u003e",
"authors": [
"Bertram Felgenhauer"
],
"date": "2018-08-14",
- "id": 267,
+ "id": 271,
"link": "/entries/Minsky_Machines.html",
"permalink": "/entries/Minsky_Machines.html",
"shortname": "Minsky_Machines",
"title": "Minsky Machines",
"topic_links": [
"logic/computability"
],
"topics": [
"Logic/Computability"
],
"used_by": 0
},
{
"abstract": "We have formalized the computation of fair prices for derivative products in discrete financial models. As an application, we derive a way to compute fair prices of derivative products in the Cox-Ross-Rubinstein model of a financial market, thus completing the work that was presented in this \u003ca href=\"https://hal.archives-ouvertes.fr/hal-01562944\"\u003epaper\u003c/a\u003e.",
"authors": [
"Mnacho Echenim"
],
"date": "2018-07-16",
- "id": 268,
+ "id": 272,
"link": "/entries/DiscretePricing.html",
"permalink": "/entries/DiscretePricing.html",
"shortname": "DiscretePricing",
"title": "Pricing in discrete financial models",
"topic_links": [
"mathematics/probability-theory",
"mathematics/games-and-economics"
],
"topics": [
"Mathematics/Probability theory",
"Mathematics/Games and economics"
],
"used_by": 0
},
{
"abstract": "Utility functions form an essential part of game theory and economics. In order to guarantee the existence of utility functions most of the time sufficient properties are assumed in an axiomatic manner. One famous and very common set of such assumptions is that of expected utility theory. Here, the rationality, continuity, and independence of preferences is assumed. The von-Neumann-Morgenstern Utility theorem shows that these assumptions are necessary and sufficient for an expected utility function to exists. This theorem was proven by Neumann and Morgenstern in ``Theory of Games and Economic Behavior'' which is regarded as one of the most influential works in game theory. The formalization includes formal definitions of the underlying concepts including continuity and independence of preferences.",
"authors": [
"Julian Parsert",
"Cezary Kaliszyk"
],
"date": "2018-07-04",
- "id": 269,
+ "id": 273,
"link": "/entries/Neumann_Morgenstern_Utility.html",
"permalink": "/entries/Neumann_Morgenstern_Utility.html",
"shortname": "Neumann_Morgenstern_Utility",
"title": "Von-Neumann-Morgenstern Utility Theorem",
"topic_links": [
"mathematics/games-and-economics"
],
"topics": [
"Mathematics/Games and economics"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e This article gives the basic theory of Pell's equation \u003cem\u003ex\u003c/em\u003e\u003csup\u003e2\u003c/sup\u003e = 1 + \u003cem\u003eD\u003c/em\u003e\u0026thinsp;\u003cem\u003ey\u003c/em\u003e\u003csup\u003e2\u003c/sup\u003e, where \u003cem\u003eD\u003c/em\u003e\u0026thinsp;\u0026isin;\u0026thinsp;\u0026#8469; is a parameter and \u003cem\u003ex\u003c/em\u003e, \u003cem\u003ey\u003c/em\u003e are integer variables. \u003c/p\u003e \u003cp\u003e The main result that is proven is the following: If \u003cem\u003eD\u003c/em\u003e is not a perfect square, then there exists a \u003cem\u003efundamental solution\u003c/em\u003e (\u003cem\u003ex\u003c/em\u003e\u003csub\u003e0\u003c/sub\u003e, \u003cem\u003ey\u003c/em\u003e\u003csub\u003e0\u003c/sub\u003e) that is not the trivial solution (1, 0) and which generates all other solutions (\u003cem\u003ex\u003c/em\u003e, \u003cem\u003ey\u003c/em\u003e) in the sense that there exists some \u003cem\u003en\u003c/em\u003e\u0026thinsp;\u0026isin;\u0026thinsp;\u0026#8469; such that |\u003cem\u003ex\u003c/em\u003e| + |\u003cem\u003ey\u003c/em\u003e|\u0026thinsp;\u0026radic;\u003cspan style=\"text-decoration: overline\"\u003e\u003cem\u003eD\u003c/em\u003e\u003c/span\u003e = (\u003cem\u003ex\u003c/em\u003e\u003csub\u003e0\u003c/sub\u003e + \u003cem\u003ey\u003c/em\u003e\u003csub\u003e0\u003c/sub\u003e\u0026thinsp;\u0026radic;\u003cspan style=\"text-decoration: overline\"\u003e\u003cem\u003eD\u003c/em\u003e\u003c/span\u003e)\u003csup\u003e\u003cem\u003en\u003c/em\u003e\u003c/sup\u003e. This also implies that the set of solutions is infinite, and it gives us an explicit and executable characterisation of all the solutions. \u003c/p\u003e \u003cp\u003e Based on this, simple executable algorithms for computing the fundamental solution and the infinite sequence of all non-negative solutions are also provided. \u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2018-06-23",
- "id": 270,
+ "id": 274,
"link": "/entries/Pell.html",
"permalink": "/entries/Pell.html",
"shortname": "Pell",
"title": "Pell's Equation",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 1
},
{
"abstract": "We formalize the basics of projective geometry. In particular, we give a proof of the so-called Hessenberg's theorem in projective plane geometry. We also provide a proof of the so-called Desargues's theorem based on an axiomatization of (higher) projective space geometry using the notion of rank of a matroid. This last approach allows to handle incidence relations in an homogeneous way dealing only with points and without the need of talking explicitly about lines, planes or any higher entity.",
"authors": [
"Anthony Bordg"
],
"date": "2018-06-14",
- "id": 271,
+ "id": 275,
"link": "/entries/Projective_Geometry.html",
"permalink": "/entries/Projective_Geometry.html",
"shortname": "Projective_Geometry",
"title": "Projective Geometry",
"topic_links": [
"mathematics/geometry"
],
"topics": [
"Mathematics/Geometry"
],
"used_by": 0
},
{
"abstract": "We formalize the localization of a commutative ring R with respect to a multiplicative subset (i.e. a submonoid of R seen as a multiplicative monoid). This localization is itself a commutative ring and we build the natural homomorphism of rings from R to its localization.",
"authors": [
"Anthony Bordg"
],
"date": "2018-06-14",
- "id": 272,
+ "id": 276,
"link": "/entries/Localization_Ring.html",
"permalink": "/entries/Localization_Ring.html",
"shortname": "Localization_Ring",
"title": "The Localization of a Commutative Ring",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "This entry provides a formalization of the abstract theory of ample set partial order reduction. The formalization includes transition systems with actions, trace theory, as well as basics on finite, infinite, and lazy sequences. We also provide a basic framework for static analysis on concurrent systems with respect to the ample set condition.",
"authors": [
"Julian Brunner"
],
"date": "2018-06-05",
- "id": 273,
+ "id": 277,
"link": "/entries/Partial_Order_Reduction.html",
"permalink": "/entries/Partial_Order_Reduction.html",
"shortname": "Partial_Order_Reduction",
"title": "Partial Order Reduction",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 1
},
{
"abstract": "This article formalizes recursive algorithms for the construction of optimal binary search trees given fixed access frequencies. We follow Knuth (1971), Yao (1980) and Mehlhorn (1984). The algorithms are memoized with the help of the AFP article \u003ca href=\"Monad_Memo_DP.html\"\u003eMonadification, Memoization and Dynamic Programming\u003c/a\u003e, thus yielding dynamic programming algorithms.",
"authors": [
"Tobias Nipkow",
"Dániel Somogyi"
],
"date": "2018-05-27",
- "id": 274,
+ "id": 278,
"link": "/entries/Optimal_BST.html",
"permalink": "/entries/Optimal_BST.html",
"shortname": "Optimal_BST",
"title": "Optimal Binary Search Trees",
"topic_links": [
"computer-science/algorithms",
"computer-science/data-structures"
],
"topics": [
"Computer science/Algorithms",
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "This entry contains a formalization of hidden Markov models [3] based on Johannes Hölzl's formalization of discrete time Markov chains [1]. The basic definitions are provided and the correctness of two main (dynamic programming) algorithms for hidden Markov models is proved: the forward algorithm for computing the likelihood of an observed sequence, and the Viterbi algorithm for decoding the most probable hidden state sequence. The Viterbi algorithm is made executable including memoization. Hidden markov models have various applications in natural language processing. For an introduction see Jurafsky and Martin [2].",
"authors": [
"Simon Wimmer"
],
"date": "2018-05-25",
- "id": 275,
+ "id": 279,
"link": "/entries/Hidden_Markov_Models.html",
"permalink": "/entries/Hidden_Markov_Models.html",
"shortname": "Hidden_Markov_Models",
"title": "Hidden Markov Models",
"topic_links": [
"mathematics/probability-theory",
"computer-science/algorithms"
],
"topics": [
"Mathematics/Probability theory",
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "We present a formalization of probabilistic timed automata (PTA) for which we try to follow the formula MDP + TA = PTA as far as possible: our work starts from our existing formalizations of Markov decision processes (MDP) and timed automata (TA) and combines them modularly. We prove the fundamental result for probabilistic timed automata: the region construction that is known from timed automata carries over to the probabilistic setting. In particular, this allows us to prove that minimum and maximum reachability probabilities can be computed via a reduction to MDP model checking, including the case where one wants to disregard unrealizable behavior. Further information can be found in our ITP paper [2].",
"authors": [
"Simon Wimmer",
"Johannes Hölzl"
],
"date": "2018-05-24",
- "id": 276,
+ "id": 280,
"link": "/entries/Probabilistic_Timed_Automata.html",
"permalink": "/entries/Probabilistic_Timed_Automata.html",
"shortname": "Probabilistic_Timed_Automata",
"title": "Probabilistic Timed Automata",
"topic_links": [
"mathematics/probability-theory",
"computer-science/automata-and-formal-languages"
],
"topics": [
"Mathematics/Probability theory",
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "This document provides a concise overview on the core results of our previous work on the exploration of axioms systems for category theory. Extending the previous studies (http://arxiv.org/abs/1609.01493) we include one further axiomatic theory in our experiments. This additional theory has been suggested by Mac Lane in 1948. We show that the axioms proposed by Mac Lane are equivalent to the ones we studied before, which includes an axioms set suggested by Scott in the 1970s and another axioms set proposed by Freyd and Scedrov in 1990, which we slightly modified to remedy a minor technical issue.",
"authors": [
"Christoph Benzmüller",
"Dana Scott"
],
"date": "2018-05-23",
- "id": 277,
+ "id": 281,
"link": "/entries/AxiomaticCategoryTheory.html",
"permalink": "/entries/AxiomaticCategoryTheory.html",
"shortname": "AxiomaticCategoryTheory",
"title": "Axiom Systems for Category Theory in Free Logic",
"topic_links": [
"mathematics/category-theory"
],
"topics": [
"Mathematics/Category theory"
],
"used_by": 0
},
{
"abstract": "We formalize with Isabelle/HOL a proof of a theorem by J. Hancl asserting the irrationality of the sum of a series consisting of rational numbers, built up by sequences that fulfill certain properties. Even though the criterion is a number theoretic result, the proof makes use only of analytical arguments. We also formalize a corollary of the theorem for a specific series fulfilling the assumptions of the theorem.",
"authors": [
"Angeliki Koutsoukou-Argyraki",
"Wenda Li"
],
"date": "2018-05-23",
- "id": 278,
+ "id": 282,
"link": "/entries/Irrationality_J_Hancl.html",
"permalink": "/entries/Irrationality_J_Hancl.html",
"shortname": "Irrationality_J_Hancl",
"title": "Irrational Rapidly Convergent Series",
"topic_links": [
"mathematics/number-theory",
"mathematics/analysis"
],
"topics": [
"Mathematics/Number theory",
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "We present a lightweight framework for the automatic verified (functional or imperative) memoization of recursive functions. Our tool can turn a pure Isabelle/HOL function definition into a monadified version in a state monad or the Imperative HOL heap monad, and prove a correspondence theorem. We provide a variety of memory implementations for the two types of monads. A number of simple techniques allow us to achieve bottom-up computation and space-efficient memoization. The framework’s utility is demonstrated on a number of representative dynamic programming problems. A detailed description of our work can be found in the accompanying paper [2].",
"authors": [
"Simon Wimmer",
"Shuwei Hu",
"Tobias Nipkow"
],
"date": "2018-05-22",
- "id": 279,
+ "id": 283,
"link": "/entries/Monad_Memo_DP.html",
"permalink": "/entries/Monad_Memo_DP.html",
"shortname": "Monad_Memo_DP",
"title": "Monadification, Memoization and Dynamic Programming",
"topic_links": [
"computer-science/algorithms",
"computer-science/functional-programming"
],
"topics": [
"Computer science/Algorithms",
"Computer science/Functional programming"
],
"used_by": 2
},
{
"abstract": "We introduce OpSets, an executable framework for specifying and reasoning about the semantics of replicated datatypes that provide eventual consistency in a distributed system, and for mechanically verifying algorithms that implement these datatypes. Our approach is simple but expressive, allowing us to succinctly specify a variety of abstract datatypes, including maps, sets, lists, text, graphs, trees, and registers. Our datatypes are also composable, enabling the construction of complex data structures. To demonstrate the utility of OpSets for analysing replication algorithms, we highlight an important correctness property for collaborative text editing that has traditionally been overlooked; algorithms that do not satisfy this property can exhibit awkward interleaving of text. We use OpSets to specify this correctness property and prove that although one existing replication algorithm satisfies this property, several other published algorithms do not.",
"authors": [
"Martin Kleppmann",
"Victor B. F. Gomes",
"Dominic P. Mulligan",
"Alastair R. Beresford"
],
"date": "2018-05-10",
- "id": 280,
+ "id": 284,
"link": "/entries/OpSets.html",
"permalink": "/entries/OpSets.html",
"shortname": "OpSets",
"title": "OpSets: Sequential Specifications for Replicated Datatypes",
"topic_links": [
"computer-science/algorithms/distributed",
"computer-science/data-structures"
],
"topics": [
"Computer science/Algorithms/Distributed",
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "The \"Modular Assembly Kit for Security Properties\" (MAKS) is a framework for both the definition and verification of possibilistic information-flow security properties at the specification-level. MAKS supports the uniform representation of a wide range of possibilistic information-flow properties and provides support for the verification of such properties via unwinding results and compositionality results. We provide a formalization of this framework in Isabelle/HOL.",
"authors": [
"Oliver Bračevac",
"Richard Gay",
"Sylvia Grewe",
"Heiko Mantel",
"Henning Sudbrock",
"Markus Tasch"
],
"date": "2018-05-07",
- "id": 281,
+ "id": 285,
"link": "/entries/Modular_Assembly_Kit_Security.html",
"permalink": "/entries/Modular_Assembly_Kit_Security.html",
"shortname": "Modular_Assembly_Kit_Security",
"title": "An Isabelle/HOL Formalization of the Modular Assembly Kit for Security Properties",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "This is a mechanised specification of the WebAssembly language, drawn mainly from the previously published paper formalisation of Haas et al. Also included is a full proof of soundness of the type system, together with a verified type checker and interpreter. We include only a partial procedure for the extraction of the type checker and interpreter here. For more details, please see our paper in CPP 2018.",
"authors": [
"Conrad Watt"
],
"date": "2018-04-29",
- "id": 282,
+ "id": 286,
"link": "/entries/WebAssembly.html",
"permalink": "/entries/WebAssembly.html",
"shortname": "WebAssembly",
"title": "WebAssembly",
"topic_links": [
"computer-science/programming-languages/language-definitions"
],
"topics": [
"Computer science/Programming languages/Language definitions"
],
"used_by": 0
},
{
"abstract": "\u003ca href=\"http://www.pm.inf.ethz.ch/research/verifythis.html\"\u003eVerifyThis 2018\u003c/a\u003e was a program verification competition associated with ETAPS 2018. It was the 7th event in the VerifyThis competition series. In this entry, we present polished and completed versions of our solutions that we created during the competition.",
"authors": [
"Peter Lammich",
"Simon Wimmer"
],
"date": "2018-04-27",
- "id": 283,
+ "id": 287,
"link": "/entries/VerifyThis2018.html",
"permalink": "/entries/VerifyThis2018.html",
"shortname": "VerifyThis2018",
"title": "VerifyThis 2018 - Polished Isabelle Solutions",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "Bounded natural functors (BNFs) provide a modular framework for the construction of (co)datatypes in higher-order logic. Their functorial operations, the mapper and relator, are restricted to a subset of the parameters, namely those where recursion can take place. For certain applications, such as free theorems, data refinement, quotients, and generalised rewriting, it is desirable that these operations do not ignore the other parameters. In this article, we formalise the generalisation BNF\u003csub\u003eCC\u003c/sub\u003e that extends the mapper and relator to covariant and contravariant parameters. We show that \u003col\u003e \u003cli\u003e BNF\u003csub\u003eCC\u003c/sub\u003es are closed under functor composition and least and greatest fixpoints,\u003c/li\u003e \u003cli\u003e subtypes inherit the BNF\u003csub\u003eCC\u003c/sub\u003e structure under conditions that generalise those for the BNF case, and\u003c/li\u003e \u003cli\u003e BNF\u003csub\u003eCC\u003c/sub\u003es preserve quotients under mild conditions.\u003c/li\u003e \u003c/ol\u003e These proofs are carried out for abstract BNF\u003csub\u003eCC\u003c/sub\u003es similar to the AFP entry BNF Operations. In addition, we apply the BNF\u003csub\u003eCC\u003c/sub\u003e theory to several concrete functors.",
"authors": [
"Andreas Lochbihler",
"Joshua Schneider"
],
"date": "2018-04-24",
- "id": 284,
+ "id": 288,
"link": "/entries/BNF_CC.html",
"permalink": "/entries/BNF_CC.html",
"shortname": "BNF_CC",
"title": "Bounded Natural Functors with Covariance and Contravariance",
"topic_links": [
"computer-science/functional-programming",
"tools"
],
"topics": [
"Computer science/Functional programming",
"Tools"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThis formalisation contains the proof that there is no anonymous Social Choice Function for at least three agents and alternatives that fulfils both Pareto-Efficiency and Fishburn-Strategyproofness. It was derived from a proof of \u003ca href=\"http://dss.in.tum.de/files/brandt-research/stratset.pdf\"\u003eBrandt \u003cem\u003eet al.\u003c/em\u003e\u003c/a\u003e, which relies on an unverified translation of a fixed finite instance of the original problem to SAT. This Isabelle proof contains a machine-checked version of both the statement for exactly three agents and alternatives and the lifting to the general case.\u003c/p\u003e",
"authors": [
"Felix Brandt",
"Manuel Eberl",
"Christian Saile",
"Christian Stricker"
],
"date": "2018-03-22",
- "id": 285,
+ "id": 289,
"link": "/entries/Fishburn_Impossibility.html",
"permalink": "/entries/Fishburn_Impossibility.html",
"shortname": "Fishburn_Impossibility",
"title": "The Incompatibility of Fishburn-Strategyproofness and Pareto-Efficiency",
"topic_links": [
"mathematics/games-and-economics"
],
"topics": [
"Mathematics/Games and economics"
],
"used_by": 0
},
{
"abstract": "This theory provides a verified implementation of weight-balanced trees following the work of \u003ca href=\"https://doi.org/10.1017/S0956796811000104\"\u003eHirai and Yamamoto\u003c/a\u003e who proved that all parameters in a certain range are valid, i.e. guarantee that insertion and deletion preserve weight-balance. Instead of a general theorem we provide parameterized proofs of preservation of the invariant that work for many (all?) valid parameters.",
"authors": [
"Tobias Nipkow",
"Stefan Dirix"
],
"date": "2018-03-13",
- "id": 286,
+ "id": 290,
"link": "/entries/Weight_Balanced_Trees.html",
"permalink": "/entries/Weight_Balanced_Trees.html",
"shortname": "Weight_Balanced_Trees",
"title": "Weight-Balanced Trees",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "CakeML is a functional programming language with a proven-correct compiler and runtime system. This entry contains an unofficial version of the CakeML semantics that has been exported from the Lem specifications to Isabelle. Additionally, there are some hand-written theory files that adapt the exported code to Isabelle and port proofs from the HOL4 formalization, e.g. termination and equivalence proofs.",
"authors": [
"Lars Hupel",
"Yu Zhang"
],
"date": "2018-03-12",
- "id": 287,
+ "id": 291,
"link": "/entries/CakeML.html",
"permalink": "/entries/CakeML.html",
"shortname": "CakeML",
"title": "CakeML",
"topic_links": [
"computer-science/programming-languages/language-definitions"
],
"topics": [
"Computer science/Programming languages/Language definitions"
],
"used_by": 1
},
{
"abstract": "The following document formalizes and verifies several architectural design patterns. Each pattern specification is formalized in terms of a locale where the locale assumptions correspond to the assumptions which a pattern poses on an architecture. Thus, pattern specifications may build on top of each other by interpreting the corresponding locale. A pattern is verified using the framework provided by the AFP entry Dynamic Architectures. Currently, the document consists of formalizations of 4 different patterns: the singleton, the publisher subscriber, the blackboard pattern, and the blockchain pattern. Thereby, the publisher component of the publisher subscriber pattern is modeled as an instance of the singleton pattern and the blackboard pattern is modeled as an instance of the publisher subscriber pattern. In general, this entry provides the first steps towards an overall theory of architectural design patterns.",
"authors": [
"Diego Marmsoler"
],
"date": "2018-03-01",
- "id": 288,
+ "id": 292,
"link": "/entries/Architectural_Design_Patterns.html",
"permalink": "/entries/Architectural_Design_Patterns.html",
"shortname": "Architectural_Design_Patterns",
"title": "A Theory of Architectural Design Patterns",
"topic_links": [
"computer-science/system-description-languages"
],
"topics": [
"Computer science/System description languages"
],
"used_by": 0
},
{
"abstract": "We study three different Hoare logics for reasoning about time bounds of imperative programs and formalize them in Isabelle/HOL: a classical Hoare like logic due to Nielson, a logic with potentials due to Carbonneaux \u003ci\u003eet al.\u003c/i\u003e and a \u003ci\u003eseparation logic\u003c/i\u003e following work by Atkey, Chaguérand and Pottier. These logics are formally shown to be sound and complete. Verification condition generators are developed and are shown sound and complete too. We also consider variants of the systems where we abstract from multiplicative constants in the running time bounds, thus supporting a big-O style of reasoning. Finally we compare the expressive power of the three systems.",
"authors": [
"Maximilian P. L. Haslbeck",
"Tobias Nipkow"
],
"date": "2018-02-26",
- "id": 289,
+ "id": 293,
"link": "/entries/Hoare_Time.html",
"permalink": "/entries/Hoare_Time.html",
"shortname": "Hoare_Time",
"title": "Hoare Logics for Time Bounds",
"topic_links": [
"computer-science/programming-languages/logics"
],
"topics": [
"Computer science/Programming languages/Logics"
],
"used_by": 0
},
{
"abstract": "Short vectors in lattices and factors of integer polynomials are related. Each factor of an integer polynomial belongs to a certain lattice. When factoring polynomials, the condition that we are looking for an irreducible polynomial means that we must look for a small element in a lattice, which can be done by a basis reduction algorithm. In this development we formalize this connection and thereby one main application of the LLL basis reduction algorithm: an algorithm to factor square-free integer polynomials which runs in polynomial time. The work is based on our previous Berlekamp–Zassenhaus development, where the exponential reconstruction phase has been replaced by the polynomial-time basis reduction algorithm. Thanks to this formalization we found a serious flaw in a textbook.",
"authors": [
"Jose Divasón",
"Sebastiaan J. C. Joosten",
"René Thiemann",
"Akihisa Yamada"
],
"date": "2018-02-06",
- "id": 290,
+ "id": 294,
"link": "/entries/LLL_Factorization.html",
"permalink": "/entries/LLL_Factorization.html",
"shortname": "LLL_Factorization",
"title": "A verified factorization algorithm for integer polynomials with polynomial complexity",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "We formalize basic results on first-order terms, including matching and a first-order unification algorithm, as well as well-foundedness of the subsumption order. This entry is part of the \u003ci\u003eIsabelle Formalization of Rewriting\u003c/i\u003e \u003ca href=\"http://cl-informatik.uibk.ac.at/isafor\"\u003eIsaFoR\u003c/a\u003e, where first-order terms are omni-present: the unification algorithm is used to certify several confluence and termination techniques, like critical-pair computation and dependency graph approximations; and the subsumption order is a crucial ingredient for completion.",
"authors": [
"Christian Sternagel",
"René Thiemann"
],
"date": "2018-02-06",
- "id": 291,
+ "id": 295,
"link": "/entries/First_Order_Terms.html",
"permalink": "/entries/First_Order_Terms.html",
"shortname": "First_Order_Terms",
"title": "First-Order Terms",
"topic_links": [
"logic/rewriting",
"computer-science/algorithms"
],
"topics": [
"Logic/Rewriting",
"Computer science/Algorithms"
],
"used_by": 5
},
{
"abstract": "\u003cp\u003e This entry provides the definitions and basic properties of the complex and real error function erf and the complementary error function erfc. Additionally, it gives their full asymptotic expansions. \u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2018-02-06",
- "id": 292,
+ "id": 296,
"link": "/entries/Error_Function.html",
"permalink": "/entries/Error_Function.html",
"shortname": "Error_Function",
"title": "The Error Function",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e A Treap is a binary tree whose nodes contain pairs consisting of some payload and an associated priority. It must have the search-tree property w.r.t. the payloads and the heap property w.r.t. the priorities. Treaps are an interesting data structure that is related to binary search trees (BSTs) in the following way: if one forgets all the priorities of a treap, the resulting BST is exactly the same as if one had inserted the elements into an empty BST in order of ascending priority. This means that a treap behaves like a BST where we can pretend the elements were inserted in a different order from the one in which they were actually inserted. \u003c/p\u003e \u003cp\u003e In particular, by choosing these priorities at random upon insertion of an element, we can pretend that we inserted the elements in \u003cem\u003erandom order\u003c/em\u003e, so that the shape of the resulting tree is that of a random BST no matter in what order we insert the elements. This is the main result of this formalisation.\u003c/p\u003e",
"authors": [
"Max W. Haslbeck",
"Manuel Eberl",
"Tobias Nipkow"
],
"date": "2018-02-06",
- "id": 293,
+ "id": 297,
"link": "/entries/Treaps.html",
"permalink": "/entries/Treaps.html",
"shortname": "Treaps",
"title": "Treaps",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "The Lenstra-Lenstra-Lovász basis reduction algorithm, also known as LLL algorithm, is an algorithm to find a basis with short, nearly orthogonal vectors of an integer lattice. Thereby, it can also be seen as an approximation to solve the shortest vector problem (SVP), which is an NP-hard problem, where the approximation quality solely depends on the dimension of the lattice, but not the lattice itself. The algorithm also possesses many applications in diverse fields of computer science, from cryptanalysis to number theory, but it is specially well-known since it was used to implement the first polynomial-time algorithm to factor polynomials. In this work we present the first mechanized soundness proof of the LLL algorithm to compute short vectors in lattices. The formalization follows a textbook by von zur Gathen and Gerhard.",
"authors": [
"Ralph Bottesch",
"Jose Divasón",
"Max W. Haslbeck",
"Sebastiaan J. C. Joosten",
"René Thiemann",
"Akihisa Yamada"
],
"date": "2018-02-02",
- "id": 294,
+ "id": 298,
"link": "/entries/LLL_Basis_Reduction.html",
"permalink": "/entries/LLL_Basis_Reduction.html",
"shortname": "LLL_Basis_Reduction",
"title": "A verified LLL algorithm",
"topic_links": [
"computer-science/algorithms/mathematical",
"mathematics/algebra"
],
"topics": [
"Computer science/Algorithms/Mathematical",
"Mathematics/Algebra"
],
"used_by": 3
},
{
"abstract": "This Isabelle/HOL formalization covers Sections 2 to 4 of Bachmair and Ganzinger's \"Resolution Theorem Proving\" chapter in the \u003cem\u003eHandbook of Automated Reasoning\u003c/em\u003e. This includes soundness and completeness of unordered and ordered variants of ground resolution with and without literal selection, the standard redundancy criterion, a general framework for refutational theorem proving, and soundness and completeness of an abstract first-order prover.",
"authors": [
"Anders Schlichtkrull",
"Jasmin Christian Blanchette",
"Dmitriy Traytel",
"Uwe Waldmann"
],
"date": "2018-01-18",
- "id": 295,
+ "id": 299,
"link": "/entries/Ordered_Resolution_Prover.html",
"permalink": "/entries/Ordered_Resolution_Prover.html",
"shortname": "Ordered_Resolution_Prover",
"title": "Formalization of Bachmair and Ganzinger's Ordered Resolution Prover",
"topic_links": [
"logic/general-logic/mechanization-of-proofs"
],
"topics": [
"Logic/General logic/Mechanization of proofs"
],
"used_by": 4
},
{
"abstract": "A geodesic metric space is Gromov hyperbolic if all its geodesic triangles are thin, i.e., every side is contained in a fixed thickening of the two other sides. While this definition looks innocuous, it has proved extremely important and versatile in modern geometry since its introduction by Gromov. We formalize the basic classical properties of Gromov hyperbolic spaces, notably the Morse lemma asserting that quasigeodesics are close to geodesics, the invariance of hyperbolicity under quasi-isometries, we define and study the Gromov boundary and its associated distance, and prove that a quasi-isometry between Gromov hyperbolic spaces extends to a homeomorphism of the boundaries. We also prove a less classical theorem, by Bonk and Schramm, asserting that a Gromov hyperbolic space embeds isometrically in a geodesic Gromov-hyperbolic space. As the original proof uses a transfinite sequence of Cauchy completions, this is an interesting formalization exercise. Along the way, we introduce basic material on isometries, quasi-isometries, Lipschitz maps, geodesic spaces, the Hausdorff distance, the Cauchy completion of a metric space, and the exponential on extended real numbers.",
"authors": [
"Sebastien Gouezel"
],
"date": "2018-01-16",
- "id": 296,
+ "id": 300,
"link": "/entries/Gromov_Hyperbolicity.html",
"permalink": "/entries/Gromov_Hyperbolicity.html",
"shortname": "Gromov_Hyperbolicity",
"title": "Gromov Hyperbolicity",
"topic_links": [
"mathematics/geometry"
],
"topics": [
"Mathematics/Geometry"
],
"used_by": 0
},
{
"abstract": "We formalise a statement of Green’s theorem—the first formalisation to our knowledge—in Isabelle/HOL. The theorem statement that we formalise is enough for most applications, especially in physics and engineering. Our formalisation is made possible by a novel proof that avoids the ubiquitous line integral cancellation argument. This eliminates the need to formalise orientations and region boundaries explicitly with respect to the outwards-pointing normal vector. Instead we appeal to a homological argument about equivalences between paths.",
"authors": [
"Mohammad Abdulaziz",
"Lawrence C. Paulson"
],
"date": "2018-01-11",
- "id": 297,
+ "id": 301,
"link": "/entries/Green.html",
"permalink": "/entries/Green.html",
"shortname": "Green",
"title": "An Isabelle/HOL formalisation of Green's Theorem",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "We present a formally verified implementation of multivariate Taylor models. Taylor models are a form of rigorous polynomial approximation, consisting of an approximation polynomial based on Taylor expansions, combined with a rigorous bound on the approximation error. Taylor models were introduced as a tool to mitigate the dependency problem of interval arithmetic. Our implementation automatically computes Taylor models for the class of elementary functions, expressed by composition of arithmetic operations and basic functions like exp, sin, or square root.",
"authors": [
"Christoph Traut",
"Fabian Immler"
],
"date": "2018-01-08",
- "id": 298,
+ "id": 302,
"link": "/entries/Taylor_Models.html",
"permalink": "/entries/Taylor_Models.html",
"shortname": "Taylor_Models",
"title": "Taylor Models",
"topic_links": [
"computer-science/algorithms/mathematical",
"computer-science/data-structures",
"mathematics/analysis",
"mathematics/algebra"
],
"topics": [
"Computer science/Algorithms/Mathematical",
"Computer science/Data structures",
"Mathematics/Analysis",
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "This entry shows that the falling factorial of a sum can be computed with an expression using binomial coefficients and the falling factorial of its summands. The entry provides three different proofs: a combinatorial proof, an induction proof and an algebraic proof using the Vandermonde identity. The three formalizations try to follow their informal presentations from a Mathematics Stack Exchange page as close as possible. The induction and algebraic formalization end up to be very close to their informal presentation, whereas the combinatorial proof first requires the introduction of list interleavings, and significant more detail than its informal presentation.",
"authors": [
"Lukas Bulwahn"
],
"date": "2017-12-22",
- "id": 299,
+ "id": 303,
"link": "/entries/Falling_Factorial_Sum.html",
"permalink": "/entries/Falling_Factorial_Sum.html",
"shortname": "Falling_Factorial_Sum",
"title": "The Falling Factorial of a Sum",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThis article provides a formalisation of Dirichlet characters and Dirichlet \u003cem\u003eL\u003c/em\u003e-functions including proofs of their basic properties \u0026ndash; most notably their analyticity, their areas of convergence, and their non-vanishing for \u0026Re;(s) \u0026ge; 1. All of this is built in a very high-level style using Dirichlet series. The proof of the non-vanishing follows a very short and elegant proof by Newman, which we attempt to reproduce faithfully in a similar level of abstraction in Isabelle.\u003c/p\u003e \u003cp\u003eThis also leads to a relatively short proof of Dirichlet’s Theorem, which states that, if \u003cem\u003eh\u003c/em\u003e and \u003cem\u003en\u003c/em\u003e are coprime, there are infinitely many primes \u003cem\u003ep\u003c/em\u003e with \u003cem\u003ep\u003c/em\u003e \u0026equiv; \u003cem\u003eh\u003c/em\u003e (mod \u003cem\u003en\u003c/em\u003e).\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2017-12-21",
- "id": 300,
+ "id": 304,
"link": "/entries/Dirichlet_L.html",
"permalink": "/entries/Dirichlet_L.html",
"shortname": "Dirichlet_L",
"title": "Dirichlet L-Functions and Dirichlet's Theorem",
"topic_links": [
"mathematics/number-theory",
"mathematics/algebra"
],
"topics": [
"Mathematics/Number theory",
"Mathematics/Algebra"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003eThis article provides a formalisation of Snyder’s simple and elegant proof of the Mason\u0026ndash;Stothers theorem, which is the polynomial analogue of the famous abc Conjecture for integers. Remarkably, Snyder found this very elegant proof when he was still a high-school student.\u003c/p\u003e \u003cp\u003eIn short, the statement of the theorem is that three non-zero coprime polynomials \u003cem\u003eA\u003c/em\u003e, \u003cem\u003eB\u003c/em\u003e, \u003cem\u003eC\u003c/em\u003e over a field which sum to 0 and do not all have vanishing derivatives fulfil max{deg(\u003cem\u003eA\u003c/em\u003e), deg(\u003cem\u003eB\u003c/em\u003e), deg(\u003cem\u003eC\u003c/em\u003e)} \u003c deg(rad(\u003cem\u003eABC\u003c/em\u003e)) where the rad(\u003cem\u003eP\u003c/em\u003e) denotes the \u003cem\u003eradical\u003c/em\u003e of \u003cem\u003eP\u003c/em\u003e, i.\u0026thinsp;e. the product of all unique irreducible factors of \u003cem\u003eP\u003c/em\u003e.\u003c/p\u003e \u003cp\u003eThis theorem also implies a kind of polynomial analogue of Fermat’s Last Theorem for polynomials: except for trivial cases, \u003cem\u003eA\u003csup\u003en\u003c/sup\u003e\u003c/em\u003e + \u003cem\u003eB\u003csup\u003en\u003c/sup\u003e\u003c/em\u003e + \u003cem\u003eC\u003csup\u003en\u003c/sup\u003e\u003c/em\u003e = 0 implies n\u0026nbsp;\u0026le;\u0026nbsp;2 for coprime polynomials \u003cem\u003eA\u003c/em\u003e, \u003cem\u003eB\u003c/em\u003e, \u003cem\u003eC\u003c/em\u003e over a field.\u003c/em\u003e\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2017-12-21",
- "id": 301,
+ "id": 305,
"link": "/entries/Mason_Stothers.html",
"permalink": "/entries/Mason_Stothers.html",
"shortname": "Mason_Stothers",
"title": "The Mason–Stothers Theorem",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThis entry provides an executable functional implementation of the Median-of-Medians algorithm for selecting the \u003cem\u003ek\u003c/em\u003e-th smallest element of an unsorted list deterministically in linear time. The size bounds for the recursive call that lead to the linear upper bound on the run-time of the algorithm are also proven. \u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2017-12-21",
- "id": 302,
+ "id": 306,
"link": "/entries/Median_Of_Medians_Selection.html",
"permalink": "/entries/Median_Of_Medians_Selection.html",
"shortname": "Median_Of_Medians_Selection",
"title": "The Median-of-Medians Selection Algorithm",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 1
},
{
"abstract": "This entry formalizes the closure property of bounded natural functors (BNFs) under seven operations. These operations and the corresponding proofs constitute the core of Isabelle's (co)datatype package. To be close to the implemented tactics, the proofs are deliberately formulated as detailed apply scripts. The (co)datatypes together with (co)induction principles and (co)recursors are byproducts of the fixpoint operations LFP and GFP. Composition of BNFs is subdivided into four simpler operations: Compose, Kill, Lift, and Permute. The N2M operation provides mutual (co)induction principles and (co)recursors for nested (co)datatypes.",
"authors": [
"Jasmin Christian Blanchette",
"Andrei Popescu",
"Dmitriy Traytel"
],
"date": "2017-12-19",
- "id": 303,
+ "id": 307,
"link": "/entries/BNF_Operations.html",
"permalink": "/entries/BNF_Operations.html",
"shortname": "BNF_Operations",
"title": "Operations on Bounded Natural Functors",
"topic_links": [
"tools"
],
"topics": [
"Tools"
],
"used_by": 0
},
{
"abstract": "The Knuth-Morris-Pratt algorithm is often used to show that the problem of finding a string \u003ci\u003es\u003c/i\u003e in a text \u003ci\u003et\u003c/i\u003e can be solved deterministically in \u003ci\u003eO(|s| + |t|)\u003c/i\u003e time. We use the Isabelle Refinement Framework to formulate and verify the algorithm. Via refinement, we apply some optimisations and finally use the \u003cem\u003eSepref\u003c/em\u003e tool to obtain executable code in \u003cem\u003eImperative/HOL\u003c/em\u003e.",
"authors": [
"Fabian Hellauer",
"Peter Lammich"
],
"date": "2017-12-18",
- "id": 304,
+ "id": 308,
"link": "/entries/Knuth_Morris_Pratt.html",
"permalink": "/entries/Knuth_Morris_Pratt.html",
"shortname": "Knuth_Morris_Pratt",
"title": "The string search algorithm by Knuth, Morris and Pratt",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "Stochastic matrices are a convenient way to model discrete-time and finite state Markov chains. The Perron\u0026ndash;Frobenius theorem tells us something about the existence and uniqueness of non-negative eigenvectors of a stochastic matrix. In this entry, we formalize stochastic matrices, link the formalization to the existing AFP-entry on Markov chains, and apply the Perron\u0026ndash;Frobenius theorem to prove that stationary distributions always exist, and they are unique if the stochastic matrix is irreducible.",
"authors": [
"René Thiemann"
],
"date": "2017-11-22",
- "id": 305,
+ "id": 309,
"link": "/entries/Stochastic_Matrices.html",
"permalink": "/entries/Stochastic_Matrices.html",
"shortname": "Stochastic_Matrices",
"title": "Stochastic Matrices and the Perron-Frobenius Theorem",
"topic_links": [
"mathematics/algebra",
"computer-science/automata-and-formal-languages"
],
"topics": [
"Mathematics/Algebra",
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "We provide our Isabelle/HOL formalization of a Conflict-free Replicated Datatype for Internet Message Access Protocol commands. We show that Strong Eventual Consistency (SEC) is guaranteed by proving the commutativity of concurrent operations. We base our formalization on the recently proposed \"framework for establishing Strong Eventual Consistency for Conflict-free Replicated Datatypes\" (AFP.CRDT) from Gomes et al. Hence, we provide an additional example of how the recently proposed framework can be used to design and prove CRDTs.",
"authors": [
"Tim Jungnickel",
"Lennart Oldenburg",
"Matthias Loibl"
],
"date": "2017-11-09",
- "id": 306,
+ "id": 310,
"link": "/entries/IMAP-CRDT.html",
"permalink": "/entries/IMAP-CRDT.html",
"shortname": "IMAP-CRDT",
"title": "The IMAP CmRDT",
"topic_links": [
"computer-science/algorithms/distributed",
"computer-science/data-structures"
],
"topics": [
"Computer science/Algorithms/Distributed",
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "We present a semantic embedding of a spatio-temporal multi-modal logic, specifically defined to reason about motorway traffic, into Isabelle/HOL. The semantic model is an abstraction of a motorway, emphasising local spatial properties, and parameterised by the types of sensors deployed in the vehicles. We use the logic to define controller constraints to ensure safety, i.e., the absence of collisions on the motorway. After proving safety with a restrictive definition of sensors, we relax these assumptions and show how to amend the controller constraints to still guarantee safety.",
"authors": [
"Sven Linker"
],
"date": "2017-11-06",
- "id": 307,
+ "id": 311,
"link": "/entries/Hybrid_Multi_Lane_Spatial_Logic.html",
"permalink": "/entries/Hybrid_Multi_Lane_Spatial_Logic.html",
"shortname": "Hybrid_Multi_Lane_Spatial_Logic",
"title": "Hybrid Multi-Lane Spatial Logic",
"topic_links": [
"logic/general-logic/modal-logic"
],
"topics": [
"Logic/General logic/Modal logic"
],
"used_by": 0
},
{
"abstract": "We discuss a topological curiosity discovered by Kuratowski (1922): the fact that the number of distinct operators on a topological space generated by compositions of closure and complement never exceeds 14, and is exactly 14 in the case of R. In addition, we prove a theorem due to Chagrov (1982) that classifies topological spaces according to the number of such operators they support.",
"authors": [
"Peter Gammie",
"Gianpaolo Gioiosa"
],
"date": "2017-10-26",
- "id": 308,
+ "id": 312,
"link": "/entries/Kuratowski_Closure_Complement.html",
"permalink": "/entries/Kuratowski_Closure_Complement.html",
"shortname": "Kuratowski_Closure_Complement",
"title": "The Kuratowski Closure-Complement Theorem",
"topic_links": [
"mathematics/topology"
],
"topics": [
"Mathematics/Topology"
],
"used_by": 0
},
{
"abstract": "This entry provides a verified implementation of rank-based Büchi Complementation. The verification is done in three steps: \u003col\u003e \u003cli\u003eDefinition of odd rankings and proof that an automaton rejects a word iff there exists an odd ranking for it.\u003c/li\u003e \u003cli\u003eDefinition of the complement automaton and proof that it accepts exactly those words for which there is an odd ranking.\u003c/li\u003e \u003cli\u003eVerified implementation of the complement automaton using the Isabelle Collections Framework.\u003c/li\u003e \u003c/ol\u003e",
"authors": [
"Julian Brunner"
],
"date": "2017-10-19",
- "id": 309,
+ "id": 313,
"link": "/entries/Buchi_Complementation.html",
"permalink": "/entries/Buchi_Complementation.html",
"shortname": "Buchi_Complementation",
"title": "Büchi Complementation",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "This entry provides a very abstract theory of transition systems that can be instantiated to express various types of automata. A transition system is typically instantiated by providing a set of initial states, a predicate for enabled transitions, and a transition execution function. From this, it defines the concepts of finite and infinite paths as well as the set of reachable states, among other things. Many useful theorems, from basic path manipulation rules to coinduction and run construction rules, are proven in this abstract transition system context. The library comes with instantiations for DFAs, NFAs, and Büchi automata.",
"authors": [
"Julian Brunner"
],
"date": "2017-10-19",
- "id": 310,
+ "id": 314,
"link": "/entries/Transition_Systems_and_Automata.html",
"permalink": "/entries/Transition_Systems_and_Automata.html",
"shortname": "Transition_Systems_and_Automata",
"title": "Transition Systems and Automata",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 4
},
{
"abstract": "Based on evaluating Cauchy indices through remainder sequences, this entry provides an effective procedure to count the number of complex roots (with multiplicity) of a polynomial within various shapes (e.g., rectangle, circle and half-plane). Potential applications of this entry include certified complex root isolation (of a polynomial) and testing the Routh-Hurwitz stability criterion (i.e., to check whether all the roots of some characteristic polynomial have negative real parts).",
"authors": [
"Wenda Li"
],
"date": "2017-10-17",
- "id": 311,
+ "id": 315,
"link": "/entries/Count_Complex_Roots.html",
"permalink": "/entries/Count_Complex_Roots.html",
"shortname": "Count_Complex_Roots",
"title": "Count the Number of Complex Roots",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 1
},
{
"abstract": "In complex analysis, the winding number measures the number of times a path (counterclockwise) winds around a point, while the Cauchy index can approximate how the path winds. This entry provides a formalisation of the Cauchy index, which is then shown to be related to the winding number. In addition, this entry also offers a tactic that enables users to evaluate the winding number by calculating Cauchy indices.",
"authors": [
"Wenda Li"
],
"date": "2017-10-17",
- "id": 312,
+ "id": 316,
"link": "/entries/Winding_Number_Eval.html",
"permalink": "/entries/Winding_Number_Eval.html",
"shortname": "Winding_Number_Eval",
"title": "Evaluate Winding Numbers through Cauchy Indices",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 2
},
{
"abstract": "We formalize the theory of homogeneous linear diophantine equations, focusing on two main results: (1) an abstract characterization of minimal complete sets of solutions, and (2) an algorithm computing them. Both, the characterization and the algorithm are based on previous work by Huet. Our starting point is a simple but inefficient variant of Huet's lexicographic algorithm incorporating improved bounds due to Clausen and Fortenbacher. We proceed by proving its soundness and completeness. Finally, we employ code equations to obtain a reasonably efficient implementation. Thus, we provide a formally verified solver for homogeneous linear diophantine equations.",
"authors": [
"Florian Messner",
"Julian Parsert",
"Jonas Schöpf",
"Christian Sternagel"
],
"date": "2017-10-14",
- "id": 313,
+ "id": 317,
"link": "/entries/Diophantine_Eqns_Lin_Hom.html",
"permalink": "/entries/Diophantine_Eqns_Lin_Hom.html",
"shortname": "Diophantine_Eqns_Lin_Hom",
"title": "Homogeneous Linear Diophantine Equations",
"topic_links": [
"computer-science/algorithms/mathematical",
"mathematics/number-theory",
"tools"
],
"topics": [
"Computer science/Algorithms/Mathematical",
"Mathematics/Number theory",
"Tools"
],
"used_by": 0
},
{
"abstract": "This entry is a formalisation of much of Chapters 2, 3, and 11 of Apostol's \u0026ldquo;Introduction to Analytic Number Theory\u0026rdquo;. This includes: \u003cul\u003e \u003cli\u003eDefinitions and basic properties for several number-theoretic functions (Euler's \u0026phi;, M\u0026ouml;bius \u0026mu;, Liouville's \u0026lambda;, the divisor function \u0026sigma;, von Mangoldt's \u0026Lambda;)\u003c/li\u003e \u003cli\u003eExecutable code for most of these functions, the most efficient implementations using the factoring algorithm by Thiemann \u003ci\u003eet al.\u003c/i\u003e\u003c/li\u003e \u003cli\u003eDirichlet products and formal Dirichlet series\u003c/li\u003e \u003cli\u003eAnalytic results connecting convergent formal Dirichlet series to complex functions\u003c/li\u003e \u003cli\u003eEuler product expansions\u003c/li\u003e \u003cli\u003eAsymptotic estimates of number-theoretic functions including the density of squarefree integers and the average number of divisors of a natural number\u003c/li\u003e \u003c/ul\u003e These results are useful as a basis for developing more number-theoretic results, such as the Prime Number Theorem.",
"authors": [
"Manuel Eberl"
],
"date": "2017-10-12",
- "id": 314,
+ "id": 318,
"link": "/entries/Dirichlet_Series.html",
"permalink": "/entries/Dirichlet_Series.html",
"shortname": "Dirichlet_Series",
"title": "Dirichlet Series",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 4
},
{
"abstract": "\u003cp\u003e Linear recurrences with constant coefficients are an interesting class of recurrence equations that can be solved explicitly. The most famous example are certainly the Fibonacci numbers with the equation \u003ci\u003ef\u003c/i\u003e(\u003ci\u003en\u003c/i\u003e) = \u003ci\u003ef\u003c/i\u003e(\u003ci\u003en\u003c/i\u003e-1) + \u003ci\u003ef\u003c/i\u003e(\u003ci\u003en\u003c/i\u003e - 2) and the quite non-obvious closed form (\u003ci\u003e\u0026phi;\u003c/i\u003e\u003csup\u003e\u003ci\u003en\u003c/i\u003e\u003c/sup\u003e - (-\u003ci\u003e\u0026phi;\u003c/i\u003e)\u003csup\u003e-\u003ci\u003en\u003c/i\u003e\u003c/sup\u003e) / \u0026radic;\u003cspan style=\"text-decoration: overline\"\u003e5\u003c/span\u003e where \u0026phi; is the golden ratio. \u003c/p\u003e \u003cp\u003e In this work, I build on existing tools in Isabelle \u0026ndash; such as formal power series and polynomial factorisation algorithms \u0026ndash; to develop a theory of these recurrences and derive a fully executable solver for them that can be exported to programming languages like Haskell. \u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2017-10-12",
- "id": 315,
+ "id": 319,
"link": "/entries/Linear_Recurrences.html",
"permalink": "/entries/Linear_Recurrences.html",
"shortname": "Linear_Recurrences",
"title": "Linear Recurrences",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003eThis entry builds upon the results about formal and analytic Dirichlet series to define the Hurwitz \u0026zeta; function \u0026zeta;(\u003cem\u003ea\u003c/em\u003e,\u003cem\u003es\u003c/em\u003e) and, based on that, the Riemann \u0026zeta; function \u0026zeta;(\u003cem\u003es\u003c/em\u003e). This is done by first defining them for \u0026real;(\u003cem\u003ez\u003c/em\u003e) \u003e 1 and then successively extending the domain to the left using the Euler\u0026ndash;MacLaurin formula.\u003c/p\u003e \u003cp\u003eApart from the most basic facts such as analyticity, the following results are provided:\u003c/p\u003e \u003cul\u003e \u003cli\u003ethe Stieltjes constants and the Laurent expansion of \u0026zeta;(\u003cem\u003es\u003c/em\u003e) at \u003cem\u003es\u003c/em\u003e = 1\u003c/li\u003e \u003cli\u003ethe non-vanishing of \u0026zeta;(\u003cem\u003es\u003c/em\u003e) for \u0026real;(\u003cem\u003ez\u003c/em\u003e) \u0026ge; 1\u003c/li\u003e \u003cli\u003ethe relationship between \u0026zeta;(\u003cem\u003ea\u003c/em\u003e,\u003cem\u003es\u003c/em\u003e) and \u0026Gamma;\u003c/li\u003e \u003cli\u003ethe special values at negative integers and positive even integers\u003c/li\u003e \u003cli\u003eHurwitz's formula and the reflection formula for \u0026zeta;(\u003cem\u003es\u003c/em\u003e)\u003c/li\u003e \u003cli\u003ethe \u003ca href=\"https://arxiv.org/abs/math/0405478\"\u003e Hadjicostas\u0026ndash;Chapman formula\u003c/a\u003e\u003c/li\u003e \u003c/ul\u003e \u003cp\u003eThe entry also contains Euler's analytic proof of the infinitude of primes, based on the fact that \u0026zeta;(\u003ci\u003es\u003c/i\u003e) has a pole at \u003ci\u003es\u003c/i\u003e = 1.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2017-10-12",
- "id": 316,
+ "id": 320,
"link": "/entries/Zeta_Function.html",
"permalink": "/entries/Zeta_Function.html",
"shortname": "Zeta_Function",
"title": "The Hurwitz and Riemann ζ Functions",
"topic_links": [
"mathematics/number-theory",
"mathematics/analysis"
],
"topics": [
"Mathematics/Number theory",
"Mathematics/Analysis"
],
"used_by": 3
},
{
"abstract": "Computers may help us to understand --not just verify-- philosophical arguments. By utilizing modern proof assistants in an iterative interpretive process, we can reconstruct and assess an argument by fully formal means. Through the mechanization of a variant of St. Anselm's ontological argument by E. J. Lowe, which is a paradigmatic example of a natural-language argument with strong ties to metaphysics and religion, we offer an ideal showcase for our computer-assisted interpretive method.",
"authors": [
"David Fuenmayor",
"Christoph Benzmüller"
],
"date": "2017-09-21",
- "id": 317,
+ "id": 321,
"link": "/entries/Lowe_Ontological_Argument.html",
"permalink": "/entries/Lowe_Ontological_Argument.html",
"shortname": "Lowe_Ontological_Argument",
"title": "Computer-assisted Reconstruction and Assessment of E. J. Lowe's Modal Ontological Argument",
"topic_links": [
"logic/philosophical-aspects"
],
"topics": [
"Logic/Philosophical aspects"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e We present an embedding of the second-order fragment of the Theory of Abstract Objects as described in Edward Zalta's upcoming work \u003ca href=\"https://mally.stanford.edu/principia.pdf\"\u003ePrincipia Logico-Metaphysica (PLM)\u003c/a\u003e in the automated reasoning framework Isabelle/HOL. The Theory of Abstract Objects is a metaphysical theory that reifies property patterns, as they for example occur in the abstract reasoning of mathematics, as \u003cb\u003eabstract objects\u003c/b\u003e and provides an axiomatic framework that allows to reason about these objects. It thereby serves as a fundamental metaphysical theory that can be used to axiomatize and describe a wide range of philosophical objects, such as Platonic forms or Leibniz' concepts, and has the ambition to function as a foundational theory of mathematics. The target theory of our embedding as described in chapters 7-9 of PLM employs a modal relational type theory as logical foundation for which a representation in functional type theory is \u003ca href=\"https://mally.stanford.edu/Papers/rtt.pdf\"\u003eknown to be challenging\u003c/a\u003e. \u003c/p\u003e \u003cp\u003e Nevertheless we arrive at a functioning representation of the theory in the functional logic of Isabelle/HOL based on a semantical representation of an Aczel-model of the theory. Based on this representation we construct an implementation of the deductive system of PLM which allows to automatically and interactively find and verify theorems of PLM. \u003c/p\u003e \u003cp\u003e Our work thereby supports the concept of shallow semantical embeddings of logical systems in HOL as a universal tool for logical reasoning \u003ca href=\"http://www.mi.fu-berlin.de/inf/groups/ag-ki/publications/Universal-Reasoning/1703_09620_pd.pdf\"\u003eas promoted by Christoph Benzm\u0026uuml;ller\u003c/a\u003e. \u003c/p\u003e \u003cp\u003e The most notable result of the presented work is the discovery of a previously unknown paradox in the formulation of the Theory of Abstract Objects. The embedding of the theory in Isabelle/HOL played a vital part in this discovery. Furthermore it was possible to immediately offer several options to modify the theory to guarantee its consistency. Thereby our work could provide a significant contribution to the development of a proper grounding for object theory. \u003c/p\u003e",
"authors": [
"Daniel Kirchner"
],
"date": "2017-09-17",
- "id": 318,
+ "id": 322,
"link": "/entries/PLM.html",
"permalink": "/entries/PLM.html",
"shortname": "PLM",
"title": "Representation and Partial Automation of the Principia Logico-Metaphysica in Isabelle/HOL",
"topic_links": [
"logic/philosophical-aspects"
],
"topics": [
"Logic/Philosophical aspects"
],
"used_by": 0
},
{
"abstract": "Paul Oppenheimer and Edward Zalta's formalisation of Anselm's ontological argument for the existence of God is automated by embedding a free logic for definite descriptions within Isabelle/HOL.",
"authors": [
"Ben Blumson"
],
"date": "2017-09-06",
- "id": 319,
+ "id": 323,
"link": "/entries/AnselmGod.html",
"permalink": "/entries/AnselmGod.html",
"shortname": "AnselmGod",
"title": "Anselm's God in Isabelle/HOL",
"topic_links": [
"logic/philosophical-aspects"
],
"topics": [
"Logic/Philosophical aspects"
],
"used_by": 0
},
{
"abstract": "Economic activity has always been a fundamental part of society. Due to modern day politics, economic theory has gained even more influence on our lives. Thus we want models and theories to be as precise as possible. This can be achieved using certification with the help of formal proof technology. Hence we will use Isabelle/HOL to construct two economic models, that of the the pure exchange economy and a version of the Arrow-Debreu Model. We will prove that the \u003ci\u003eFirst Theorem of Welfare Economics\u003c/i\u003e holds within both. The theorem is the mathematical formulation of Adam Smith's famous \u003ci\u003einvisible hand\u003c/i\u003e and states that a group of self-interested and rational actors will eventually achieve an efficient allocation of goods and services.",
"authors": [
"Julian Parsert",
"Cezary Kaliszyk"
],
"date": "2017-09-01",
- "id": 320,
+ "id": 324,
"link": "/entries/First_Welfare_Theorem.html",
"permalink": "/entries/First_Welfare_Theorem.html",
"shortname": "First_Welfare_Theorem",
"title": "Microeconomics and the First Welfare Theorem",
"topic_links": [
"mathematics/games-and-economics"
],
"topics": [
"Mathematics/Games and economics"
],
"used_by": 1
},
{
"abstract": "The Orbit-Stabiliser theorem is a basic result in the algebra of groups that factors the order of a group into the sizes of its orbits and stabilisers. We formalize the notion of a group action and the related concepts of orbits and stabilisers. This allows us to prove the orbit-stabiliser theorem. In the second part of this work, we formalize the tetrahedral group and use the orbit-stabiliser theorem to prove that there are twelve (orientation-preserving) rotations of the tetrahedron.",
"authors": [
"Jonas Rädle"
],
"date": "2017-08-20",
- "id": 321,
+ "id": 325,
"link": "/entries/Orbit_Stabiliser.html",
"permalink": "/entries/Orbit_Stabiliser.html",
"shortname": "Orbit_Stabiliser",
"title": "Orbit-Stabiliser Theorem with Application to Rotational Symmetries",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e Andersson introduced \u003cem\u003egeneral balanced trees\u003c/em\u003e, search trees based on the design principle of partial rebuilding: perform update operations naively until the tree becomes too unbalanced, at which point a whole subtree is rebalanced. This article defines and analyzes a functional version of general balanced trees, which we call \u003cem\u003eroot-balanced trees\u003c/em\u003e. Using a lightweight model of execution time, amortized logarithmic complexity is verified in the theorem prover Isabelle. \u003c/p\u003e \u003cp\u003e This is the Isabelle formalization of the material decribed in the APLAS 2017 article \u003ca href=\"http://www21.in.tum.de/~nipkow/pubs/aplas17.html\"\u003eVerified Root-Balanced Trees\u003c/a\u003e by the same author, which also presents experimental results that show competitiveness of root-balanced with AVL and red-black trees. \u003c/p\u003e",
"authors": [
"Tobias Nipkow"
],
"date": "2017-08-20",
- "id": 322,
+ "id": 326,
"link": "/entries/Root_Balanced_Tree.html",
"permalink": "/entries/Root_Balanced_Tree.html",
"shortname": "Root_Balanced_Tree",
"title": "Root-Balanced Tree",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 2
},
{
"abstract": "The propositions-as-types correspondence is ordinarily presented as linking the metatheory of typed λ-calculi and the proof theory of intuitionistic logic. Griffin observed that this correspondence could be extended to classical logic through the use of control operators. This observation set off a flurry of further research, leading to the development of Parigots λμ-calculus. In this work, we formalise λμ- calculus in Isabelle/HOL and prove several metatheoretical properties such as type preservation and progress.",
"authors": [
"Cristina Matache",
"Victor B. F. Gomes",
"Dominic P. Mulligan"
],
"date": "2017-08-16",
- "id": 323,
+ "id": 327,
"link": "/entries/LambdaMu.html",
"permalink": "/entries/LambdaMu.html",
"shortname": "LambdaMu",
"title": "The LambdaMu-calculus",
"topic_links": [
"computer-science/programming-languages/lambda-calculi"
],
"topics": [
"Computer science/Programming languages/Lambda calculi"
],
"used_by": 0
},
{
"abstract": "This entry formalizes the two geometric theorems, Stewart's and Apollonius' theorem. Stewart's Theorem relates the length of a triangle's cevian to the lengths of the triangle's two sides. Apollonius' Theorem is a specialisation of Stewart's theorem, restricting the cevian to be the median. The proof applies the law of cosines, some basic geometric facts about triangles and then simply transforms the terms algebraically to yield the conjectured relation. The formalization in Isabelle can closely follow the informal proofs described in the Wikipedia articles of those two theorems.",
"authors": [
"Lukas Bulwahn"
],
"date": "2017-07-31",
- "id": 324,
+ "id": 328,
"link": "/entries/Stewart_Apollonius.html",
"permalink": "/entries/Stewart_Apollonius.html",
"shortname": "Stewart_Apollonius",
"title": "Stewart's Theorem and Apollonius' Theorem",
"topic_links": [
"mathematics/geometry"
],
"topics": [
"Mathematics/Geometry"
],
"used_by": 0
},
{
"abstract": "The architecture of a system describes the system's overall organization into components and connections between those components. With the emergence of mobile computing, dynamic architectures have become increasingly important. In such architectures, components may appear or disappear, and connections may change over time. In the following we mechanize a theory of dynamic architectures and verify the soundness of a corresponding calculus. Therefore, we first formalize the notion of configuration traces as a model for dynamic architectures. Then, the behavior of single components is formalized in terms of behavior traces and an operator is introduced and studied to extract the behavior of a single component out of a given configuration trace. Then, behavior trace assertions are introduced as a temporal specification technique to specify behavior of components. Reasoning about component behavior in a dynamic context is formalized in terms of a calculus for dynamic architectures. Finally, the soundness of the calculus is verified by introducing an alternative interpretation for behavior trace assertions over configuration traces and proving the rules of the calculus. Since projection may lead to finite as well as infinite behavior traces, they are formalized in terms of coinductive lists. Thus, our theory is based on Lochbihler's formalization of coinductive lists. The theory may be applied to verify properties for dynamic architectures.",
"authors": [
"Diego Marmsoler"
],
"date": "2017-07-28",
- "id": 325,
+ "id": 329,
"link": "/entries/DynamicArchitectures.html",
"permalink": "/entries/DynamicArchitectures.html",
"shortname": "DynamicArchitectures",
"title": "Dynamic Architectures",
"topic_links": [
"computer-science/system-description-languages"
],
"topics": [
"Computer science/System description languages"
],
"used_by": 1
},
{
"abstract": "We present a semantics for an applied call-by-value lambda-calculus that is compositional, extensional, and elementary. We present four different views of the semantics: 1) as a relational (big-step) semantics that is not operational but instead declarative, 2) as a denotational semantics that does not use domain theory, 3) as a non-deterministic interpreter, and 4) as a variant of the intersection type systems of the Torino group. We prove that the semantics is correct by showing that it is sound and complete with respect to operational semantics on programs and that is sound with respect to contextual equivalence. We have not yet investigated whether it is fully abstract. We demonstrate that this approach to semantics is useful with three case studies. First, we use the semantics to prove correctness of a compiler optimization that inlines function application. Second, we adapt the semantics to the polymorphic lambda-calculus extended with general recursion and prove semantic type soundness. Third, we adapt the semantics to the call-by-value lambda-calculus with mutable references. \u003cbr\u003e The paper that accompanies these Isabelle theories is \u003ca href=\"https://arxiv.org/abs/1707.03762\"\u003eavailable on arXiv\u003c/a\u003e.",
"authors": [
"Jeremy Siek"
],
"date": "2017-07-21",
- "id": 326,
+ "id": 330,
"link": "/entries/Decl_Sem_Fun_PL.html",
"permalink": "/entries/Decl_Sem_Fun_PL.html",
"shortname": "Decl_Sem_Fun_PL",
"title": "Declarative Semantics for Functional Languages",
"topic_links": [
"computer-science/programming-languages"
],
"topics": [
"Computer science/Programming languages"
],
"used_by": 0
},
{
"abstract": "The Isabelle/HOLCF-Prelude is a formalization of a large part of Haskell's standard prelude in Isabelle/HOLCF. We use it to prove the correctness of the Eratosthenes' Sieve, in its self-referential implementation commonly used to showcase Haskell's laziness; prove correctness of GHC's \"fold/build\" rule and related rewrite rules; and certify a number of hints suggested by HLint.",
"authors": [
"Joachim Breitner",
"Brian Huffman",
"Neil Mitchell",
"Christian Sternagel"
],
"date": "2017-07-15",
- "id": 327,
+ "id": 331,
"link": "/entries/HOLCF-Prelude.html",
"permalink": "/entries/HOLCF-Prelude.html",
"shortname": "HOLCF-Prelude",
"title": "HOLCF-Prelude",
"topic_links": [
"computer-science/functional-programming"
],
"topics": [
"Computer science/Functional programming"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003eMinkowski's theorem relates a subset of \u0026#8477;\u003csup\u003en\u003c/sup\u003e, the Lebesgue measure, and the integer lattice \u0026#8484;\u003csup\u003en\u003c/sup\u003e: It states that any convex subset of \u0026#8477;\u003csup\u003en\u003c/sup\u003e with volume greater than 2\u003csup\u003en\u003c/sup\u003e contains at least one lattice point from \u0026#8484;\u003csup\u003en\u003c/sup\u003e\\{0}, i.\u0026thinsp;e. a non-zero point with integer coefficients.\u003c/p\u003e \u003cp\u003eA related theorem which directly implies this is Blichfeldt's theorem, which states that any subset of \u0026#8477;\u003csup\u003en\u003c/sup\u003e with a volume greater than 1 contains two different points whose difference vector has integer components.\u003c/p\u003e \u003cp\u003eThe entry contains a proof of both theorems.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2017-07-13",
- "id": 328,
+ "id": 332,
"link": "/entries/Minkowskis_Theorem.html",
"permalink": "/entries/Minkowskis_Theorem.html",
"shortname": "Minkowskis_Theorem",
"title": "Minkowski's Theorem",
"topic_links": [
"mathematics/geometry",
"mathematics/number-theory"
],
"topics": [
"Mathematics/Geometry",
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "I formalise a Church-style simply-typed \\(\\lambda\\)-calculus, extended with pairs, a unit value, and projection functions, and show some metatheory of the calculus, such as the subject reduction property. Particular attention is paid to the treatment of names in the calculus. A nominal style of binding is used, but I use a manual approach over Nominal Isabelle in order to extract an executable type inference algorithm. More information can be found in my \u003ca href=\"http://www.openthesis.org/documents/Verified-Metatheory-Type-Inference-Simply-603182.html\"\u003eundergraduate dissertation\u003c/a\u003e.",
"authors": [
"Michael Rawson"
],
"date": "2017-07-09",
- "id": 329,
+ "id": 333,
"link": "/entries/Name_Carrying_Type_Inference.html",
"permalink": "/entries/Name_Carrying_Type_Inference.html",
"shortname": "Name_Carrying_Type_Inference",
"title": "Verified Metatheory and Type Inference for a Name-Carrying Simply-Typed Lambda Calculus",
"topic_links": [
"computer-science/programming-languages/type-systems"
],
"topics": [
"Computer science/Programming languages/Type systems"
],
"used_by": 0
},
{
"abstract": "In this work, we focus on the correctness of Conflict-free Replicated Data Types (CRDTs), a class of algorithm that provides strong eventual consistency guarantees for replicated data. We develop a modular and reusable framework for verifying the correctness of CRDT algorithms. We avoid correctness issues that have dogged previous mechanised proofs in this area by including a network model in our formalisation, and proving that our theorems hold in all possible network behaviours. Our axiomatic network model is a standard abstraction that accurately reflects the behaviour of real-world computer networks. Moreover, we identify an abstract convergence theorem, a property of order relations, which provides a formal definition of strong eventual consistency. We then obtain the first machine-checked correctness theorems for three concrete CRDTs: the Replicated Growable Array, the Observed-Remove Set, and an Increment-Decrement Counter.",
"authors": [
"Victor B. F. Gomes",
"Martin Kleppmann",
"Dominic P. Mulligan",
"Alastair R. Beresford"
],
"date": "2017-07-07",
- "id": 330,
+ "id": 334,
"link": "/entries/CRDT.html",
"permalink": "/entries/CRDT.html",
"shortname": "CRDT",
"title": "A framework for establishing Strong Eventual Consistency for Conflict-free Replicated Datatypes",
"topic_links": [
"computer-science/algorithms/distributed",
"computer-science/data-structures"
],
"topics": [
"Computer science/Algorithms/Distributed",
"Computer science/Data structures"
],
"used_by": 1
},
{
"abstract": "We develop Stone-Kleene relation algebras, which expand Stone relation algebras with a Kleene star operation to describe reachability in weighted graphs. Many properties of the Kleene star arise as a special case of a more general theory of iteration based on Conway semirings extended by simulation axioms. This includes several theorems representing complex program transformations. We formally prove the correctness of Conway's automata-based construction of the Kleene star of a matrix. We prove numerous results useful for reasoning about weighted graphs.",
"authors": [
"Walter Guttmann"
],
"date": "2017-07-06",
- "id": 331,
+ "id": 335,
"link": "/entries/Stone_Kleene_Relation_Algebras.html",
"permalink": "/entries/Stone_Kleene_Relation_Algebras.html",
"shortname": "Stone_Kleene_Relation_Algebras",
"title": "Stone-Kleene Relation Algebras",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 4
},
{
"abstract": "We formalize a range of proof systems for classical propositional logic (sequent calculus, natural deduction, Hilbert systems, resolution) and prove the most important meta-theoretic results about semantics and proofs: compactness, soundness, completeness, translations between proof systems, cut-elimination, interpolation and model existence.",
"authors": [
"Julius Michaelis",
"Tobias Nipkow"
],
"date": "2017-06-21",
- "id": 332,
+ "id": 336,
"link": "/entries/Propositional_Proof_Systems.html",
"permalink": "/entries/Propositional_Proof_Systems.html",
"shortname": "Propositional_Proof_Systems",
"title": "Propositional Proof Systems",
"topic_links": [
"logic/proof-theory"
],
"topics": [
"Logic/Proof theory"
],
"used_by": 2
},
{
"abstract": "Partial Semigroups are relevant to the foundations of quantum mechanics and combinatorics as well as to interval and separation logics. Convolution algebras can be understood either as algebras of generalised binary modalities over ternary Kripke frames, in particular over partial semigroups, or as algebras of quantale-valued functions which are equipped with a convolution-style operation of multiplication that is parametrised by a ternary relation. Convolution algebras provide algebraic semantics for various substructural logics, including categorial, relevance and linear logics, for separation logic and for interval logics; they cover quantitative and qualitative applications. These mathematical components for partial semigroups and convolution algebras provide uniform foundations from which models of computation based on relations, program traces or pomsets, and verification components for separation or interval temporal logics can be built with little effort.",
"authors": [
"Brijesh Dongol",
"Victor B. F. Gomes",
"Ian J. Hayes",
"Georg Struth"
],
"date": "2017-06-13",
- "id": 333,
+ "id": 337,
"link": "/entries/PSemigroupsConvolution.html",
"permalink": "/entries/PSemigroupsConvolution.html",
"shortname": "PSemigroupsConvolution",
"title": "Partial Semigroups and Convolution Algebras",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "In the 18th century, Georges-Louis Leclerc, Comte de Buffon posed and later solved the following problem, which is often called the first problem ever solved in geometric probability: Given a floor divided into vertical strips of the same width, what is the probability that a needle thrown onto the floor randomly will cross two strips? This entry formally defines the problem in the case where the needle's position is chosen uniformly at random in a single strip around the origin (which is equivalent to larger arrangements due to symmetry). It then provides proofs of the simple solution in the case where the needle's length is no greater than the width of the strips and the more complicated solution in the opposite case.",
"authors": [
"Manuel Eberl"
],
"date": "2017-06-06",
- "id": 334,
+ "id": 338,
"link": "/entries/Buffons_Needle.html",
"permalink": "/entries/Buffons_Needle.html",
"shortname": "Buffons_Needle",
"title": "Buffon's Needle Problem",
"topic_links": [
"mathematics/probability-theory",
"mathematics/geometry"
],
"topics": [
"Mathematics/Probability theory",
"Mathematics/Geometry"
],
"used_by": 0
},
{
"abstract": "We present a formalization of flow networks and the Min-Cut-Max-Flow theorem. Our formal proof closely follows a standard textbook proof, and is accessible even without being an expert in Isabelle/HOL, the interactive theorem prover used for the formalization.",
"authors": [
"Peter Lammich",
"S. Reza Sefidgar"
],
"date": "2017-06-01",
- "id": 335,
+ "id": 339,
"link": "/entries/Flow_Networks.html",
"permalink": "/entries/Flow_Networks.html",
"shortname": "Flow_Networks",
"title": "Flow Networks and the Min-Cut-Max-Flow Theorem",
"topic_links": [
"mathematics/graph-theory"
],
"topics": [
"Mathematics/Graph theory"
],
"used_by": 2
},
{
"abstract": "We present a formalization of push-relabel algorithms for computing the maximum flow in a network. We start with Goldberg's et al.~generic push-relabel algorithm, for which we show correctness and the time complexity bound of O(V^2E). We then derive the relabel-to-front and FIFO implementation. Using stepwise refinement techniques, we derive an efficient verified implementation. Our formal proof of the abstract algorithms closely follows a standard textbook proof. It is accessible even without being an expert in Isabelle/HOL, the interactive theorem prover used for the formalization.",
"authors": [
"Peter Lammich",
"S. Reza Sefidgar"
],
"date": "2017-06-01",
- "id": 336,
+ "id": 340,
"link": "/entries/Prpu_Maxflow.html",
"permalink": "/entries/Prpu_Maxflow.html",
"shortname": "Prpu_Maxflow",
"title": "Formalizing Push-Relabel Algorithms",
"topic_links": [
"computer-science/algorithms/graph",
"mathematics/graph-theory"
],
"topics": [
"Computer science/Algorithms/Graph",
"Mathematics/Graph theory"
],
"used_by": 0
},
{
"abstract": "Lenses provide an abstract interface for manipulating data types through spatially-separated views. They are defined abstractly in terms of two functions, \u003cem\u003eget\u003c/em\u003e, the return a value from the source type, and \u003cem\u003eput\u003c/em\u003e that updates the value. We mechanise the underlying theory of lenses, in terms of an algebraic hierarchy of lenses, including well-behaved and very well-behaved lenses, each lens class being characterised by a set of lens laws. We also mechanise a lens algebra in Isabelle that enables their composition and comparison, so as to allow construction of complex lenses. This is accompanied by a large library of algebraic laws. Moreover we also show how the lens classes can be applied by instantiating them with a number of Isabelle data types.",
"authors": [
"Simon Foster",
"Frank Zeyda"
],
"date": "2017-05-25",
- "id": 337,
+ "id": 341,
"link": "/entries/Optics.html",
"permalink": "/entries/Optics.html",
"shortname": "Optics",
"title": "Optics",
"topic_links": [
"computer-science/functional-programming",
"mathematics/algebra"
],
"topics": [
"Computer science/Functional programming",
"Mathematics/Algebra"
],
"used_by": 1
},
{
"abstract": "We propose a development method for security protocols based on stepwise refinement. Our refinement strategy transforms abstract security goals into protocols that are secure when operating over an insecure channel controlled by a Dolev-Yao-style intruder. As intermediate levels of abstraction, we employ messageless guard protocols and channel protocols communicating over channels with security properties. These abstractions provide insights on why protocols are secure and foster the development of families of protocols sharing common structure and properties. We have implemented our method in Isabelle/HOL and used it to develop different entity authentication and key establishment protocols, including realistic features such as key confirmation, replay caches, and encrypted tickets. Our development highlights that guard protocols and channel protocols provide fundamental abstractions for bridging the gap between security properties and standard protocol descriptions based on cryptographic messages. It also shows that our refinement approach scales to protocols of nontrivial size and complexity.",
"authors": [
"Christoph Sprenger",
"Ivano Somaini"
],
"date": "2017-05-24",
- "id": 338,
+ "id": 342,
"link": "/entries/Security_Protocol_Refinement.html",
"permalink": "/entries/Security_Protocol_Refinement.html",
"shortname": "Security_Protocol_Refinement",
"title": "Developing Security Protocols by Refinement",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "Isabelle's code generator natively supports type classes. For targets that do not have language support for classes and instances, it performs the well-known dictionary translation, as described by Haftmann and Nipkow. This translation happens outside the logic, i.e., there is no guarantee that it is correct, besides the pen-and-paper proof. This work implements a certified dictionary translation that produces new class-free constants and derives equality theorems.",
"authors": [
"Lars Hupel"
],
"date": "2017-05-24",
- "id": 339,
+ "id": 343,
"link": "/entries/Dict_Construction.html",
"permalink": "/entries/Dict_Construction.html",
"shortname": "Dict_Construction",
"title": "Dictionary Construction",
"topic_links": [
"tools"
],
"topics": [
"Tools"
],
"used_by": 1
},
{
"abstract": "The Floyd-Warshall algorithm [Flo62, Roy59, War62] is a classic dynamic programming algorithm to compute the length of all shortest paths between any two vertices in a graph (i.e. to solve the all-pairs shortest path problem, or APSP for short). Given a representation of the graph as a matrix of weights M, it computes another matrix M' which represents a graph with the same path lengths and contains the length of the shortest path between any two vertices i and j. This is only possible if the graph does not contain any negative cycles. However, in this case the Floyd-Warshall algorithm will detect the situation by calculating a negative diagonal entry. This entry includes a formalization of the algorithm and of these key properties. The algorithm is refined to an efficient imperative version using the Imperative Refinement Framework.",
"authors": [
"Simon Wimmer",
"Peter Lammich"
],
"date": "2017-05-08",
- "id": 340,
+ "id": 344,
"link": "/entries/Floyd_Warshall.html",
"permalink": "/entries/Floyd_Warshall.html",
"shortname": "Floyd_Warshall",
"title": "The Floyd-Warshall Algorithm for Shortest Paths",
"topic_links": [
"computer-science/algorithms/graph"
],
"topics": [
"Computer science/Algorithms/Graph"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eCryptHOL provides a framework for formalising cryptographic arguments in Isabelle/HOL. It shallowly embeds a probabilistic functional programming language in higher order logic. The language features monadic sequencing, recursion, random sampling, failures and failure handling, and black-box access to oracles. Oracles are probabilistic functions which maintain hidden state between different invocations. All operators are defined in the new semantic domain of generative probabilistic values, a codatatype. We derive proof rules for the operators and establish a connection with the theory of relational parametricity. Thus, the resuting proofs are trustworthy and comprehensible, and the framework is extensible and widely applicable. \u003c/p\u003e\u003cp\u003e The framework is used in the accompanying AFP entry \"Game-based Cryptography in HOL\". There, we show-case our framework by formalizing different game-based proofs from the literature. This formalisation continues the work described in the author's ESOP 2016 paper.\u003c/p\u003e",
"authors": [
"Andreas Lochbihler"
],
"date": "2017-05-05",
- "id": 341,
+ "id": 345,
"link": "/entries/CryptHOL.html",
"permalink": "/entries/CryptHOL.html",
"shortname": "CryptHOL",
"title": "CryptHOL",
"topic_links": [
"computer-science/security/cryptography",
"computer-science/functional-programming",
"mathematics/probability-theory"
],
"topics": [
"Computer science/Security/Cryptography",
"Computer science/Functional programming",
"Mathematics/Probability theory"
],
"used_by": 3
},
{
"abstract": "The notion of a monad cannot be expressed within higher-order logic (HOL) due to type system restrictions. We show that if a monad is used with values of only one type, this notion can be formalised in HOL. Based on this idea, we develop a library of effect specifications and implementations of monads and monad transformers. Hence, we can abstract over the concrete monad in HOL definitions and thus use the same definition for different (combinations of) effects. We illustrate the usefulness of effect polymorphism with a monadic interpreter for a simple language.",
"authors": [
"Andreas Lochbihler"
],
"date": "2017-05-05",
- "id": 342,
+ "id": 346,
"link": "/entries/Monomorphic_Monad.html",
"permalink": "/entries/Monomorphic_Monad.html",
"shortname": "Monomorphic_Monad",
"title": "Effect polymorphism in higher-order logic",
"topic_links": [
"computer-science/functional-programming"
],
"topics": [
"Computer science/Functional programming"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003eIn this AFP entry, we show how to specify game-based cryptographic security notions and formally prove secure several cryptographic constructions from the literature using the CryptHOL framework. Among others, we formalise the notions of a random oracle, a pseudo-random function, an unpredictable function, and of encryption schemes that are indistinguishable under chosen plaintext and/or ciphertext attacks. We prove the random-permutation/random-function switching lemma, security of the Elgamal and hashed Elgamal public-key encryption scheme and correctness and security of several constructions with pseudo-random functions. \u003c/p\u003e\u003cp\u003eOur proofs follow the game-hopping style advocated by Shoup and Bellare and Rogaway, from which most of the examples have been taken. We generalise some of their results such that they can be reused in other proofs. Thanks to CryptHOL's integration with Isabelle's parametricity infrastructure, many simple hops are easily justified using the theory of representation independence.\u003c/p\u003e",
"authors": [
"Andreas Lochbihler",
"S. Reza Sefidgar",
"Bhargav Bhatt"
],
"date": "2017-05-05",
- "id": 343,
+ "id": 347,
"link": "/entries/Game_Based_Crypto.html",
"permalink": "/entries/Game_Based_Crypto.html",
"shortname": "Game_Based_Crypto",
"title": "Game-based cryptography in HOL",
"topic_links": [
"computer-science/security/cryptography"
],
"topics": [
"Computer science/Security/Cryptography"
],
"used_by": 2
},
{
"abstract": "The usual monad laws can directly be used as rewrite rules for Isabelle’s simplifier to normalise monadic HOL terms and decide equivalences. In a commutative monad, however, the commutativity law is a higher-order permutative rewrite rule that makes the simplifier loop. This AFP entry implements a simproc that normalises monadic expressions in commutative monads using ordered rewriting. The simproc can also permute computations across control operators like if and case.",
"authors": [
"Joshua Schneider",
"Manuel Eberl",
"Andreas Lochbihler"
],
"date": "2017-05-05",
- "id": 344,
+ "id": 348,
"link": "/entries/Monad_Normalisation.html",
"permalink": "/entries/Monad_Normalisation.html",
"shortname": "Monad_Normalisation",
"title": "Monad normalisation",
"topic_links": [
"tools",
"computer-science/functional-programming",
"logic/rewriting"
],
"topics": [
"Tools",
"Computer science/Functional programming",
"Logic/Rewriting"
],
"used_by": 3
},
{
"abstract": "This AFP entry defines a probabilistic while operator based on sub-probability mass functions and formalises zero-one laws and variant rules for probabilistic loop termination. As applications, we implement probabilistic algorithms for the Bernoulli, geometric and arbitrary uniform distributions that only use fair coin flips, and prove them correct and terminating with probability 1.",
"authors": [
"Andreas Lochbihler"
],
"date": "2017-05-05",
- "id": 345,
+ "id": 349,
"link": "/entries/Probabilistic_While.html",
"permalink": "/entries/Probabilistic_While.html",
"shortname": "Probabilistic_While",
"title": "Probabilistic while loop",
"topic_links": [
"computer-science/functional-programming",
"mathematics/probability-theory",
"computer-science/algorithms"
],
"topics": [
"Computer science/Functional programming",
"Mathematics/Probability theory",
"Computer science/Algorithms"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003e Building on the formalization of basic category theory set out in the author's previous AFP article, the present article formalizes some basic aspects of the theory of monoidal categories. Among the notions defined here are monoidal category, monoidal functor, and equivalence of monoidal categories. The main theorems formalized are MacLane's coherence theorem and the constructions of the free monoidal category and free strict monoidal category generated by a given category. The coherence theorem is proved syntactically, using a structurally recursive approach to reduction of terms that might have some novel aspects. We also give proofs of some results given by Etingof et al, which may prove useful in a formal setting. In particular, we show that the left and right unitors need not be taken as given data in the definition of monoidal category, nor does the definition of monoidal functor need to take as given a specific isomorphism expressing the preservation of the unit object. Our definitions of monoidal category and monoidal functor are stated so as to take advantage of the economy afforded by these facts. \u003c/p\u003e\u003cp\u003e Revisions made subsequent to the first version of this article added material on cartesian monoidal categories; showing that the underlying category of a cartesian monoidal category is a cartesian category, and that every cartesian category extends to a cartesian monoidal category. \u003c/p\u003e",
"authors": [
"Eugene W. Stark"
],
"date": "2017-05-04",
- "id": 346,
+ "id": 350,
"link": "/entries/MonoidalCategory.html",
"permalink": "/entries/MonoidalCategory.html",
"shortname": "MonoidalCategory",
"title": "Monoidal Categories",
"topic_links": [
"mathematics/category-theory"
],
"topics": [
"Mathematics/Category theory"
],
"used_by": 1
},
{
"abstract": "A computer-formalisation of the essential parts of Fitting's textbook \"Types, Tableaus and Gödel's God\" in Isabelle/HOL is presented. In particular, Fitting's (and Anderson's) variant of the ontological argument is verified and confirmed. This variant avoids the modal collapse, which has been criticised as an undesirable side-effect of Kurt Gödel's (and Dana Scott's) versions of the ontological argument. Fitting's work is employing an intensional higher-order modal logic, which we shallowly embed here in classical higher-order logic. We then utilize the embedded logic for the formalisation of Fitting's argument. (See also the earlier AFP entry ``Gödel's God in Isabelle/HOL''.)",
"authors": [
"David Fuenmayor",
"Christoph Benzmüller"
],
"date": "2017-05-01",
- "id": 347,
+ "id": 351,
"link": "/entries/Types_Tableaus_and_Goedels_God.html",
"permalink": "/entries/Types_Tableaus_and_Goedels_God.html",
"shortname": "Types_Tableaus_and_Goedels_God",
"title": "Types, Tableaus and Gödel’s God in Isabelle/HOL",
"topic_links": [
"logic/philosophical-aspects"
],
"topics": [
"Logic/Philosophical aspects"
],
"used_by": 0
},
{
"abstract": "This formalisation accompanies the paper \u003ca href=\"https://arxiv.org/abs/1702.03277\"\u003eLocal Lexing\u003c/a\u003e which introduces a novel parsing concept of the same name. The paper also gives a high-level algorithm for local lexing as an extension of Earley's algorithm. This formalisation proves the algorithm to be correct with respect to its local lexing semantics. As a special case, this formalisation thus also contains a proof of the correctness of Earley's algorithm. The paper contains a short outline of how this formalisation is organised.",
"authors": [
"Steven Obua"
],
"date": "2017-04-28",
- "id": 348,
+ "id": 352,
"link": "/entries/LocalLexing.html",
"permalink": "/entries/LocalLexing.html",
"shortname": "LocalLexing",
"title": "Local Lexing",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "Isabelle's code generator performs various adaptations for target languages. Among others, constructor applications have to be fully saturated. That means that for constructor calls occuring as arguments to higher-order functions, synthetic lambdas have to be inserted. This entry provides tooling to avoid this construction altogether by introducing constructor functions.",
"authors": [
"Lars Hupel"
],
"date": "2017-04-19",
- "id": 349,
+ "id": 353,
"link": "/entries/Constructor_Funs.html",
"permalink": "/entries/Constructor_Funs.html",
"shortname": "Constructor_Funs",
"title": "Constructor Functions",
"topic_links": [
"tools"
],
"topics": [
"Tools"
],
"used_by": 1
},
{
"abstract": "Isabelle's code generator performs various adaptations for target languages. Among others, case statements are printed as match expressions. Internally, this is a sophisticated procedure, because in HOL, case statements are represented as nested calls to the case combinators as generated by the datatype package. Furthermore, the procedure relies on laziness of match expressions in the target language, i.e., that branches guarded by patterns that fail to match are not evaluated. Similarly, \u003ctt\u003eif-then-else\u003c/tt\u003e is printed to the corresponding construct in the target language. This entry provides tooling to replace these special cases in the code generator by ignoring these target language features, instead printing case expressions and \u003ctt\u003eif-then-else\u003c/tt\u003e as functions.",
"authors": [
"Lars Hupel"
],
"date": "2017-04-18",
- "id": 350,
+ "id": 354,
"link": "/entries/Lazy_Case.html",
"permalink": "/entries/Lazy_Case.html",
"shortname": "Lazy_Case",
"title": "Lazifying case constants",
"topic_links": [
"tools"
],
"topics": [
"Tools"
],
"used_by": 1
},
{
"abstract": "We formalize the theory of subresultants and the subresultant polynomial remainder sequence as described by Brown and Traub. As a result, we obtain efficient certified algorithms for computing the resultant and the greatest common divisor of polynomials.",
"authors": [
"Sebastiaan J. C. Joosten",
"René Thiemann",
"Akihisa Yamada"
],
"date": "2017-04-06",
- "id": 351,
+ "id": 355,
"link": "/entries/Subresultants.html",
"permalink": "/entries/Subresultants.html",
"shortname": "Subresultants",
"title": "Subresultants",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003eThis entry contains proofs for the textbook results about the distributions of the height and internal path length of random binary search trees (BSTs), i.\u0026thinsp;e. BSTs that are formed by taking an empty BST and inserting elements from a fixed set in random order.\u003c/p\u003e \u003cp\u003eIn particular, we prove a logarithmic upper bound on the expected height and the \u003cem\u003eΘ(n log n)\u003c/em\u003e closed-form solution for the expected internal path length in terms of the harmonic numbers. We also show how the internal path length relates to the average-case cost of a lookup in a BST.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2017-04-04",
- "id": 352,
+ "id": 356,
"link": "/entries/Random_BSTs.html",
"permalink": "/entries/Random_BSTs.html",
"shortname": "Random_BSTs",
"title": "Expected Shape of Random Binary Search Trees",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 2
},
{
"abstract": "\u003cp\u003eThis article contains a formal proof of the well-known fact that number of comparisons that a comparison-based sorting algorithm needs to perform to sort a list of length \u003cem\u003en\u003c/em\u003e is at least \u003cem\u003elog\u003csub\u003e2\u003c/sub\u003e\u0026nbsp;(n!)\u003c/em\u003e in the worst case, i.\u0026thinsp;e.\u0026nbsp;\u003cem\u003eΩ(n log n)\u003c/em\u003e.\u003c/p\u003e \u003cp\u003eFor this purpose, a shallow embedding for comparison-based sorting algorithms is defined: a sorting algorithm is a recursive datatype containing either a HOL function or a query of a comparison oracle with a continuation containing the remaining computation. This makes it possible to force the algorithm to use only comparisons and to track the number of comparisons made.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2017-03-15",
- "id": 353,
+ "id": 357,
"link": "/entries/Comparison_Sort_Lower_Bound.html",
"permalink": "/entries/Comparison_Sort_Lower_Bound.html",
"shortname": "Comparison_Sort_Lower_Bound",
"title": "Lower bound on comparison-based sorting algorithms",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 2
},
{
"abstract": "\u003cp\u003eWe give a formal proof of the well-known results about the number of comparisons performed by two variants of QuickSort: first, the expected number of comparisons of randomised QuickSort (i.\u0026thinsp;e.\u0026nbsp;QuickSort with random pivot choice) is \u003cem\u003e2\u0026thinsp;(n+1)\u0026thinsp;H\u003csub\u003en\u003c/sub\u003e - 4\u0026thinsp;n\u003c/em\u003e, which is asymptotically equivalent to \u003cem\u003e2\u0026thinsp;n ln n\u003c/em\u003e; second, the number of comparisons performed by the classic non-randomised QuickSort has the same distribution in the average case as the randomised one.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2017-03-15",
- "id": 354,
+ "id": 358,
"link": "/entries/Quick_Sort_Cost.html",
"permalink": "/entries/Quick_Sort_Cost.html",
"shortname": "Quick_Sort_Cost",
"title": "The number of comparisons in QuickSort",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003eThe Euler-MacLaurin formula relates the value of a discrete sum to that of the corresponding integral in terms of the derivatives at the borders of the summation and a remainder term. Since the remainder term is often very small as the summation bounds grow, this can be used to compute asymptotic expansions for sums.\u003c/p\u003e \u003cp\u003eThis entry contains a proof of this formula for functions from the reals to an arbitrary Banach space. Two variants of the formula are given: the standard textbook version and a variant outlined in \u003cem\u003eConcrete Mathematics\u003c/em\u003e that is more useful for deriving asymptotic estimates.\u003c/p\u003e \u003cp\u003eAs example applications, we use that formula to derive the full asymptotic expansion of the harmonic numbers and the sum of inverse squares.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2017-03-10",
- "id": 355,
+ "id": 359,
"link": "/entries/Euler_MacLaurin.html",
"permalink": "/entries/Euler_MacLaurin.html",
"shortname": "Euler_MacLaurin",
"title": "The Euler–MacLaurin Formula",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 2
},
{
"abstract": "We prove the group law for elliptic curves in Weierstrass form over fields of characteristic greater than 2. In addition to affine coordinates, we also formalize projective coordinates, which allow for more efficient computations. By specializing the abstract formalization to prime fields, we can apply the curve operations to parameters used in standard security protocols.",
"authors": [
"Stefan Berghofer"
],
"date": "2017-02-28",
- "id": 356,
+ "id": 360,
"link": "/entries/Elliptic_Curves_Group_Law.html",
"permalink": "/entries/Elliptic_Curves_Group_Law.html",
"shortname": "Elliptic_Curves_Group_Law",
"title": "The Group Law for Elliptic Curves",
"topic_links": [
"computer-science/security/cryptography"
],
"topics": [
"Computer science/Security/Cryptography"
],
"used_by": 0
},
{
"abstract": "We present a formalization of Menger's Theorem for directed and undirected graphs in Isabelle/HOL. This well-known result shows that if two non-adjacent distinct vertices u, v in a directed graph have no separator smaller than n, then there exist n internally vertex-disjoint paths from u to v. The version for undirected graphs follows immediately because undirected graphs are a special case of directed graphs.",
"authors": [
"Christoph Dittmann"
],
"date": "2017-02-26",
- "id": 357,
+ "id": 361,
"link": "/entries/Menger.html",
"permalink": "/entries/Menger.html",
"shortname": "Menger",
"title": "Menger's Theorem",
"topic_links": [
"mathematics/graph-theory"
],
"topics": [
"Mathematics/Graph theory"
],
"used_by": 0
},
{
"abstract": "We formalize differential dynamic logic, a logic for proving properties of hybrid systems. The proof calculus in this formalization is based on the uniform substitution principle. We show it is sound with respect to our denotational semantics, which provides increased confidence in the correctness of the KeYmaera X theorem prover based on this calculus. As an application, we include a proof term checker embedded in Isabelle/HOL with several example proofs. Published in: Rose Bohrer, Vincent Rahli, Ivana Vukotic, Marcus Völp, André Platzer: Formally verified differential dynamic logic. CPP 2017.",
"authors": [
"Rose Bohrer"
],
"date": "2017-02-13",
- "id": 358,
+ "id": 362,
"link": "/entries/Differential_Dynamic_Logic.html",
"permalink": "/entries/Differential_Dynamic_Logic.html",
"shortname": "Differential_Dynamic_Logic",
"title": "Differential Dynamic Logic",
"topic_links": [
"logic/general-logic/modal-logic",
"computer-science/programming-languages/logics"
],
"topics": [
"Logic/General logic/Modal logic",
"Computer science/Programming languages/Logics"
],
"used_by": 0
},
{
"abstract": "A formalized coinductive account of the abstract development of Brotherston, Gorogiannis, and Petersen [APLAS 2012], in a slightly more general form since we work with arbitrary infinite proofs, which may be acyclic. This work is described in detail in an article by the authors, published in 2017 in the \u003cem\u003eJournal of Automated Reasoning\u003c/em\u003e. The abstract proof can be instantiated for various formalisms, including first-order logic with inductive predicates.",
"authors": [
"Jasmin Christian Blanchette",
"Andrei Popescu",
"Dmitriy Traytel"
],
"date": "2017-02-10",
- "id": 359,
+ "id": 363,
"link": "/entries/Abstract_Soundness.html",
"permalink": "/entries/Abstract_Soundness.html",
"shortname": "Abstract_Soundness",
"title": "Abstract Soundness",
"topic_links": [
"logic/proof-theory"
],
"topics": [
"Logic/Proof theory"
],
"used_by": 2
},
{
"abstract": "We develop Stone relation algebras, which generalise relation algebras by replacing the underlying Boolean algebra structure with a Stone algebra. We show that finite matrices over extended real numbers form an instance. As a consequence, relation-algebraic concepts and methods can be used for reasoning about weighted graphs. We also develop a fixpoint calculus and apply it to compare different definitions of reflexive-transitive closures in semirings.",
"authors": [
"Walter Guttmann"
],
"date": "2017-02-07",
- "id": 360,
+ "id": 364,
"link": "/entries/Stone_Relation_Algebras.html",
"permalink": "/entries/Stone_Relation_Algebras.html",
"shortname": "Stone_Relation_Algebras",
"title": "Stone Relation Algebras",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 1
},
{
"abstract": "We develop a family of key agreement protocols that are correct by construction. Our work substantially extends prior work on developing security protocols by refinement. First, we strengthen the adversary by allowing him to compromise different resources of protocol participants, such as their long-term keys or their session keys. This enables the systematic development of protocols that ensure strong properties such as perfect forward secrecy. Second, we broaden the class of protocols supported to include those with non-atomic keys and equationally defined cryptographic operators. We use these extensions to develop key agreement protocols including signed Diffie-Hellman and the core of IKEv1 and SKEME.",
"authors": [
"Joseph Lallemand",
"Christoph Sprenger"
],
"date": "2017-01-31",
- "id": 361,
+ "id": 365,
"link": "/entries/Key_Agreement_Strong_Adversaries.html",
"permalink": "/entries/Key_Agreement_Strong_Adversaries.html",
"shortname": "Key_Agreement_Strong_Adversaries",
"title": "Refining Authenticated Key Agreement with Strong Adversaries",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eBernoulli numbers were first discovered in the closed-form expansion of the sum 1\u003csup\u003em\u003c/sup\u003e + 2\u003csup\u003em\u003c/sup\u003e + \u0026hellip; + n\u003csup\u003em\u003c/sup\u003e for a fixed m and appear in many other places. This entry provides three different definitions for them: a recursive one, an explicit one, and one through their exponential generating function.\u003c/p\u003e \u003cp\u003eIn addition, we prove some basic facts, e.g. their relation to sums of powers of integers and that all odd Bernoulli numbers except the first are zero, and some advanced facts like their relationship to the Riemann zeta function on positive even integers.\u003c/p\u003e \u003cp\u003eWe also prove the correctness of the Akiyama\u0026ndash;Tanigawa algorithm for computing Bernoulli numbers with reasonable efficiency, and we define the periodic Bernoulli polynomials (which appear e.g. in the Euler\u0026ndash;MacLaurin summation formula and the expansion of the log-Gamma function) and prove their basic properties.\u003c/p\u003e",
"authors": [
"Lukas Bulwahn",
"Manuel Eberl"
],
"date": "2017-01-24",
- "id": 362,
+ "id": 366,
"link": "/entries/Bernoulli.html",
"permalink": "/entries/Bernoulli.html",
"shortname": "Bernoulli",
"title": "Bernoulli Numbers",
"topic_links": [
"mathematics/analysis",
"mathematics/number-theory"
],
"topics": [
"Mathematics/Analysis",
"Mathematics/Number theory"
],
- "used_by": 4
+ "used_by": 5
},
{
"abstract": "\u003cp\u003eBertrand's postulate is an early result on the distribution of prime numbers: For every positive integer n, there exists a prime number that lies strictly between n and 2n. The proof is ported from John Harrison's formalisation in HOL Light. It proceeds by first showing that the property is true for all n greater than or equal to 600 and then showing that it also holds for all n below 600 by case distinction. \u003c/p\u003e",
"authors": [
"Julian Biendarra",
"Manuel Eberl"
],
"date": "2017-01-17",
- "id": 363,
+ "id": 367,
"link": "/entries/Bertrands_Postulate.html",
"permalink": "/entries/Bertrands_Postulate.html",
"shortname": "Bertrands_Postulate",
"title": "Bertrand's postulate",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 2
},
{
"abstract": "\u003cp\u003eThis formalization is an extension to \u003ca href=\"https://www.isa-afp.org/entries/Formal_SSA.html\"\u003e\"Verified Construction of Static Single Assignment Form\"\u003c/a\u003e. In their work, the authors have shown that \u003ca href=\"https://doi.org/10.1007/978-3-642-37051-9_6\"\u003eBraun et al.'s static single assignment (SSA) construction algorithm\u003c/a\u003e produces minimal SSA form for input programs with a reducible control flow graph (CFG). However Braun et al. also proposed an extension to their algorithm that they claim produces minimal SSA form even for irreducible CFGs.\u003cbr\u003e In this formalization we support that claim by giving a mechanized proof. \u003c/p\u003e \u003cp\u003eAs the extension of Braun et al.'s algorithm aims for removing so-called redundant strongly connected components of phi functions, we show that this suffices to guarantee minimality according to \u003ca href=\"https://doi.org/10.1145/115372.115320\"\u003eCytron et al.\u003c/a\u003e.\u003c/p\u003e",
"authors": [
"Max Wagner",
"Denis Lohner"
],
"date": "2017-01-17",
- "id": 364,
+ "id": 368,
"link": "/entries/Minimal_SSA.html",
"permalink": "/entries/Minimal_SSA.html",
"shortname": "Minimal_SSA",
"title": "Minimal Static Single Assignment Form",
"topic_links": [
"computer-science/programming-languages/compiling"
],
"topics": [
"Computer science/Programming languages/Compiling"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThis work contains a proof that Euler's number e is transcendental. The proof follows the standard approach of assuming that e is algebraic and then using a specific integer polynomial to derive two inconsistent bounds, leading to a contradiction.\u003c/p\u003e \u003cp\u003eThis kind of approach can be found in many different sources; this formalisation mostly follows a \u003ca href=\"http://planetmath.org/proofoflindemannweierstrasstheoremandthateandpiaretranscendental\"\u003ePlanetMath article\u003c/a\u003e by Roger Lipsett.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2017-01-12",
- "id": 365,
+ "id": 369,
"link": "/entries/E_Transcendental.html",
"permalink": "/entries/E_Transcendental.html",
"shortname": "E_Transcendental",
"title": "The Transcendence of e",
"topic_links": [
"mathematics/analysis",
"mathematics/number-theory"
],
"topics": [
"Mathematics/Analysis",
"Mathematics/Number theory"
],
"used_by": 2
},
{
"abstract": "We present a formal model of network protocols and their application to modeling firewall policies. The formalization is based on the Unified Policy Framework (UPF). The formalization was originally developed with for generating test cases for testing the security configuration actual firewall and router (middle-boxes) using HOL-TestGen. Our work focuses on modeling application level protocols on top of tcp/ip.",
"authors": [
"Achim D. Brucker",
"Lukas Brügger",
"Burkhart Wolff"
],
"date": "2017-01-08",
- "id": 366,
+ "id": 370,
"link": "/entries/UPF_Firewall.html",
"permalink": "/entries/UPF_Firewall.html",
"shortname": "UPF_Firewall",
"title": "Formal Network Models and Their Application to Firewall Policies",
"topic_links": [
"computer-science/security",
"computer-science/networks"
],
"topics": [
"Computer science/Security",
"Computer science/Networks"
],
"used_by": 0
},
{
"abstract": "This paper constructs a formal model of a Diffie-Hellman password-based authentication protocol between a user and a smart card, and proves its security. The protocol provides for the dispatch of the user's password to the smart card on a secure messaging channel established by means of Password Authenticated Connection Establishment (PACE), where the mapping method being used is Chip Authentication Mapping. By applying and suitably extending Paulson's Inductive Method, this paper proves that the protocol establishes trustworthy secure messaging channels, preserves the secrecy of users' passwords, and provides an effective mutual authentication service. What is more, these security properties turn out to hold independently of the secrecy of the PACE authentication key.",
"authors": [
"Pasquale Noce"
],
"date": "2017-01-03",
- "id": 367,
+ "id": 371,
"link": "/entries/Password_Authentication_Protocol.html",
"permalink": "/entries/Password_Authentication_Protocol.html",
"shortname": "Password_Authentication_Protocol",
"title": "Verification of a Diffie-Hellman Password-based Authentication Protocol by Extending the Inductive Method",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eWe present a certified declarative first-order prover with equality based on John Harrison's Handbook of Practical Logic and Automated Reasoning, Cambridge University Press, 2009. ML code reflection is used such that the entire prover can be executed within Isabelle as a very simple interactive proof assistant. As examples we consider Pelletier's problems 1-46.\u003c/p\u003e \u003cp\u003eReference: Programming and Verifying a Declarative First-Order Prover in Isabelle/HOL. Alexander Birch Jensen, John Bruntse Larsen, Anders Schlichtkrull \u0026 Jørgen Villadsen. AI Communications 31:281-299 2018. \u003ca href=\"https://content.iospress.com/articles/ai-communications/aic764\"\u003e https://content.iospress.com/articles/ai-communications/aic764\u003c/a\u003e\u003c/p\u003e \u003cp\u003eSee also: Students' Proof Assistant (SPA). \u003ca href=https://github.com/logic-tools/spa\u003e https://github.com/logic-tools/spa\u003c/a\u003e\u003c/p\u003e",
"authors": [
"Alexander Birch Jensen",
"Anders Schlichtkrull",
"Jørgen Villadsen"
],
"date": "2017-01-01",
- "id": 368,
+ "id": 372,
"link": "/entries/FOL_Harrison.html",
"permalink": "/entries/FOL_Harrison.html",
"shortname": "FOL_Harrison",
"title": "First-Order Logic According to Harrison",
"topic_links": [
"logic/general-logic/mechanization-of-proofs"
],
"topics": [
"Logic/General logic/Mechanization of proofs"
],
"used_by": 0
},
{
"abstract": "The concurrent refinement algebra developed here is designed to provide a foundation for rely/guarantee reasoning about concurrent programs. The algebra builds on a complete lattice of commands by providing sequential composition, parallel composition and a novel weak conjunction operator. The weak conjunction operator coincides with the lattice supremum providing its arguments are non-aborting, but aborts if either of its arguments do. Weak conjunction provides an abstract version of a guarantee condition as a guarantee process. We distinguish between models that distribute sequential composition over non-deterministic choice from the left (referred to as being conjunctive in the refinement calculus literature) and those that don't. Least and greatest fixed points of monotone functions are provided to allow recursion and iteration operators to be added to the language. Additional iteration laws are available for conjunctive models. The rely quotient of processes \u003ci\u003ec\u003c/i\u003e and \u003ci\u003ei\u003c/i\u003e is the process that, if executed in parallel with \u003ci\u003ei\u003c/i\u003e implements \u003ci\u003ec\u003c/i\u003e. It represents an abstract version of a rely condition generalised to a process.",
"authors": [
"Julian Fell",
"Ian J. Hayes",
"Andrius Velykis"
],
"date": "2016-12-30",
- "id": 369,
+ "id": 373,
"link": "/entries/Concurrent_Ref_Alg.html",
"permalink": "/entries/Concurrent_Ref_Alg.html",
"shortname": "Concurrent_Ref_Alg",
"title": "Concurrent Refinement Algebra and Rely Quotients",
"topic_links": [
"computer-science/concurrency"
],
"topics": [
"Computer science/Concurrency"
],
"used_by": 0
},
{
"abstract": "This entry provides all cardinality theorems of the Twelvefold Way. The Twelvefold Way systematically classifies twelve related combinatorial problems concerning two finite sets, which include counting permutations, combinations, multisets, set partitions and number partitions. This development builds upon the existing formal developments with cardinality theorems for those structures. It provides twelve bijections from the various structures to different equivalence classes on finite functions, and hence, proves cardinality formulae for these equivalence classes on finite functions.",
"authors": [
"Lukas Bulwahn"
],
"date": "2016-12-29",
- "id": 370,
+ "id": 374,
"link": "/entries/Twelvefold_Way.html",
"permalink": "/entries/Twelvefold_Way.html",
"shortname": "Twelvefold_Way",
"title": "The Twelvefold Way",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 0
},
{
"abstract": "Isabelle includes various automatic tools for finding proofs under certain conditions. However, for each conjecture, knowing which automation to use, and how to tweak its parameters, is currently labour intensive. We have developed a language, PSL, designed to capture high level proof strategies. PSL offloads the construction of human-readable fast-to-replay proof scripts to automatic search, making use of search-time information about each conjecture. Our preliminary evaluations show that PSL reduces the labour cost of interactive theorem proving. This submission contains the implementation of PSL and an example theory file, Example.thy, showing how to write poof strategies in PSL.",
"authors": [
"Yutaka Nagashima"
],
"date": "2016-12-20",
- "id": 371,
+ "id": 375,
"link": "/entries/Proof_Strategy_Language.html",
"permalink": "/entries/Proof_Strategy_Language.html",
"shortname": "Proof_Strategy_Language",
"title": "Proof Strategy Language",
"topic_links": [
"tools"
],
"topics": [
"Tools"
],
"used_by": 0
},
{
"abstract": "Paraconsistency is about handling inconsistency in a coherent way. In classical and intuitionistic logic everything follows from an inconsistent theory. A paraconsistent logic avoids the explosion. Quite a few applications in computer science and engineering are discussed in the Intelligent Systems Reference Library Volume 110: Towards Paraconsistent Engineering (Springer 2016). We formalize a paraconsistent many-valued logic that we motivated and described in a special issue on logical approaches to paraconsistency (Journal of Applied Non-Classical Logics 2005). We limit ourselves to the propositional fragment of the higher-order logic. The logic is based on so-called key equalities and has a countably infinite number of truth values. We prove theorems in the logic using the definition of validity. We verify truth tables and also counterexamples for non-theorems. We prove meta-theorems about the logic and finally we investigate a case study.",
"authors": [
"Anders Schlichtkrull",
"Jørgen Villadsen"
],
"date": "2016-12-07",
- "id": 372,
+ "id": 376,
"link": "/entries/Paraconsistency.html",
"permalink": "/entries/Paraconsistency.html",
"shortname": "Paraconsistency",
"title": "Paraconsistency",
"topic_links": [
"logic/general-logic/paraconsistent-logics"
],
"topics": [
"Logic/General logic/Paraconsistent logics"
],
"used_by": 0
},
{
"abstract": "We propose a concurrency reasoning framework for imperative programs, based on the Owicki-Gries (OG) foundational shared-variable concurrency method. Our framework combines the approaches of Hoare-Parallel, a formalisation of OG in Isabelle/HOL for a simple while-language, and Simpl, a generic imperative language embedded in Isabelle/HOL, allowing formal reasoning on C programs. We define the Complx language, extending the syntax and semantics of Simpl with support for parallel composition and synchronisation. We additionally define an OG logic, which we prove sound w.r.t. the semantics, and a verification condition generator, both supporting involved low-level imperative constructs such as function calls and abrupt termination. We illustrate our framework on an example that features exceptions, guards and function calls. We aim to then target concurrent operating systems, such as the interruptible eChronos embedded operating system for which we already have a model-level OG proof using Hoare-Parallel.",
"authors": [
"Sidney Amani",
"June Andronick",
"Maksym Bortin",
"Corey Lewis",
"Christine Rizkallah",
"Joseph Tuong"
],
"date": "2016-11-29",
- "id": 373,
+ "id": 377,
"link": "/entries/Complx.html",
"permalink": "/entries/Complx.html",
"shortname": "Complx",
"title": "COMPLX: A Verification Framework for Concurrent Imperative Programs",
"topic_links": [
"computer-science/programming-languages/logics",
"computer-science/programming-languages/language-definitions"
],
"topics": [
"Computer science/Programming languages/Logics",
"Computer science/Programming languages/Language definitions"
],
"used_by": 0
},
{
"abstract": "This is the Isabelle formalization of the material decribed in the eponymous \u003ca href=\"https://doi.org/10.1007/978-3-642-32347-8_9\"\u003eITP 2012 paper\u003c/a\u003e. It develops a generic abstract interpreter for a while-language, including widening and narrowing. The collecting semantics and the abstract interpreter operate on annotated commands: the program is represented as a syntax tree with the semantic information directly embedded, without auxiliary labels. The aim of the formalization is simplicity, not efficiency or precision. This is motivated by the inclusion of the material in a theorem prover based course on semantics. A similar (but more polished) development is covered in the book \u003ca href=\"https://doi.org/10.1007/978-3-319-10542-0\"\u003eConcrete Semantics\u003c/a\u003e.",
"authors": [
"Tobias Nipkow"
],
"date": "2016-11-23",
- "id": 374,
+ "id": 378,
"link": "/entries/Abs_Int_ITP2012.html",
"permalink": "/entries/Abs_Int_ITP2012.html",
"shortname": "Abs_Int_ITP2012",
"title": "Abstract Interpretation of Annotated Commands",
"topic_links": [
"computer-science/programming-languages/static-analysis"
],
"topics": [
"Computer science/Programming languages/Static analysis"
],
"used_by": 0
},
{
"abstract": "We bring the labelled sequent calculus $LS_{PASL}$ for propositional abstract separation logic to Isabelle. The tactics given here are directly applied on an extension of the Separation Algebra in the AFP. In addition to the cancellative separation algebra, we further consider some useful properties in the heap model of separation logic, such as indivisible unit, disjointness, and cross-split. The tactics are essentially a proof search procedure for the calculus $LS_{PASL}$. We wrap the tactics in an Isabelle method called separata, and give a few examples of separation logic formulae which are provable by separata.",
"authors": [
"Zhe Hou",
"David Sanan",
"Alwen Tiu",
"Rajeev Gore",
"Ranald Clouston"
],
"date": "2016-11-16",
- "id": 375,
+ "id": 379,
"link": "/entries/Separata.html",
"permalink": "/entries/Separata.html",
"shortname": "Separata",
"title": "Separata: Isabelle tactics for Separation Algebra",
"topic_links": [
"computer-science/programming-languages/logics",
"tools"
],
"topics": [
"Computer science/Programming languages/Logics",
"Tools"
],
"used_by": 0
},
{
"abstract": "This Isabelle/HOL formalization defines Knuth–Bendix orders for higher-order terms without lambda-abstraction and proves many useful properties about them. The main order fully coincides with the standard transfinite KBO with subterm coefficients on first-order terms. It appears promising as the basis of a higher-order superposition calculus.",
"authors": [
"Heiko Becker",
"Jasmin Christian Blanchette",
"Uwe Waldmann",
"Daniel Wand"
],
"date": "2016-11-12",
- "id": 376,
+ "id": 380,
"link": "/entries/Lambda_Free_KBOs.html",
"permalink": "/entries/Lambda_Free_KBOs.html",
"shortname": "Lambda_Free_KBOs",
"title": "Formalization of Knuth–Bendix Orders for Lambda-Free Higher-Order Terms",
"topic_links": [
"logic/rewriting"
],
"topics": [
"Logic/Rewriting"
],
"used_by": 0
},
{
"abstract": "This Isabelle/HOL formalization introduces a nested multiset datatype and defines Dershowitz and Manna's nested multiset order. The order is proved well founded and linear. By removing one constructor, we transform the nested multisets into hereditary multisets. These are isomorphic to the syntactic ordinals—the ordinals can be recursively expressed in Cantor normal form. Addition, subtraction, multiplication, and linear orders are provided on this type.",
"authors": [
"Jasmin Christian Blanchette",
"Mathias Fleury",
"Dmitriy Traytel"
],
"date": "2016-11-12",
- "id": 377,
+ "id": 381,
"link": "/entries/Nested_Multisets_Ordinals.html",
"permalink": "/entries/Nested_Multisets_Ordinals.html",
"shortname": "Nested_Multisets_Ordinals",
"title": "Formalization of Nested Multisets, Hereditary Multisets, and Syntactic Ordinals",
"topic_links": [
"logic/rewriting"
],
"topics": [
"Logic/Rewriting"
],
"used_by": 7
},
{
"abstract": "Deep learning has had a profound impact on computer science in recent years, with applications to search engines, image recognition and language processing, bioinformatics, and more. Recently, Cohen et al. provided theoretical evidence for the superiority of deep learning over shallow learning. This formalization of their work simplifies and generalizes the original proof, while working around the limitations of the Isabelle type system. To support the formalization, I developed reusable libraries of formalized mathematics, including results about the matrix rank, the Lebesgue measure, and multivariate polynomials, as well as a library for tensor analysis.",
"authors": [
"Alexander Bentkamp"
],
"date": "2016-11-10",
- "id": 378,
+ "id": 382,
"link": "/entries/Deep_Learning.html",
"permalink": "/entries/Deep_Learning.html",
"shortname": "Deep_Learning",
"title": "Expressiveness of Deep Learning",
"topic_links": [
"computer-science/machine-learning",
"mathematics/analysis"
],
"topics": [
"Computer science/Machine learning",
"Mathematics/Analysis"
],
"used_by": 1
},
{
"abstract": "We formalize a uniform semantic substrate for a wide variety of process calculi where states and action labels can be from arbitrary nominal sets. A Hennessy-Milner logic for these systems is defined, and proved adequate for bisimulation equivalence. A main novelty is the construction of an infinitary nominal data type to model formulas with (finitely supported) infinite conjunctions and actions that may contain binding names. The logic is generalized to treat different bisimulation variants such as early, late and open in a systematic way.",
"authors": [
"Tjark Weber",
"Lars-Henrik Eriksson",
"Joachim Parrow",
"Johannes Borgström",
"Ramunas Gutkovas"
],
"date": "2016-10-25",
- "id": 379,
+ "id": 383,
"link": "/entries/Modal_Logics_for_NTS.html",
"permalink": "/entries/Modal_Logics_for_NTS.html",
"shortname": "Modal_Logics_for_NTS",
"title": "Modal Logics for Nominal Transition Systems",
"topic_links": [
"computer-science/concurrency/process-calculi",
"logic/general-logic/modal-logic"
],
"topics": [
"Computer science/Concurrency/Process calculi",
"Logic/General logic/Modal logic"
],
"used_by": 0
},
{
"abstract": "We mechanize proofs of several results from the matching with contracts literature, which generalize those of the classical two-sided matching scenarios that go by the name of stable marriage. Our focus is on game theoretic issues. Along the way we develop executable algorithms for computing optimal stable matches.",
"authors": [
"Peter Gammie"
],
"date": "2016-10-24",
- "id": 380,
+ "id": 384,
"link": "/entries/Stable_Matching.html",
"permalink": "/entries/Stable_Matching.html",
"shortname": "Stable_Matching",
"title": "Stable Matching",
"topic_links": [
"mathematics/games-and-economics"
],
"topics": [
"Mathematics/Games and economics"
],
"used_by": 0
},
{
"abstract": "We present LOFT — Linux firewall OpenFlow Translator, a system that transforms the main routing table and FORWARD chain of iptables of a Linux-based firewall into a set of static OpenFlow rules. Our implementation is verified against a model of a simplified Linux-based router and we can directly show how much of the original functionality is preserved.",
"authors": [
"Julius Michaelis",
"Cornelius Diekmann"
],
"date": "2016-10-21",
- "id": 381,
+ "id": 385,
"link": "/entries/LOFT.html",
"permalink": "/entries/LOFT.html",
"shortname": "LOFT",
"title": "LOFT — Verified Migration of Linux Firewalls to SDN",
"topic_links": [
"computer-science/networks"
],
"topics": [
"Computer science/Networks"
],
"used_by": 0
},
{
"abstract": "We formalise the SPARCv8 instruction set architecture (ISA) which is used in processors such as LEON3. Our formalisation can be specialised to any SPARCv8 CPU, here we use LEON3 as a running example. Our model covers the operational semantics for all the instructions in the integer unit of the SPARCv8 architecture and it supports Isabelle code export, which effectively turns the Isabelle model into a SPARCv8 CPU simulator. We prove the language-based non-interference property for the LEON3 processor. Our model is based on deterministic monad, which is a modified version of the non-deterministic monad from NICTA/l4v.",
"authors": [
"Zhe Hou",
"David Sanan",
"Alwen Tiu",
"Yang Liu"
],
"date": "2016-10-19",
- "id": 382,
+ "id": 386,
"link": "/entries/SPARCv8.html",
"permalink": "/entries/SPARCv8.html",
"shortname": "SPARCv8",
"title": "A formal model for the SPARCv8 ISA and a proof of non-interference for the LEON3 processor",
"topic_links": [
"computer-science/security",
"computer-science/hardware"
],
"topics": [
"Computer science/Security",
"Computer science/Hardware"
],
"used_by": 0
},
{
"abstract": "This document contains a proof of the necessary condition on the code rate of a source code, namely that this code rate is bounded by the entropy of the source. This represents one half of Shannon's source coding theorem, which is itself an equivalence.",
"authors": [
"Quentin Hibon",
"Lawrence C. Paulson"
],
"date": "2016-10-19",
- "id": 383,
+ "id": 387,
"link": "/entries/Source_Coding_Theorem.html",
"permalink": "/entries/Source_Coding_Theorem.html",
"shortname": "Source_Coding_Theorem",
"title": "Source Coding Theorem",
"topic_links": [
"mathematics/probability-theory"
],
"topics": [
"Mathematics/Probability theory"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eWe formalize the Berlekamp-Zassenhaus algorithm for factoring square-free integer polynomials in Isabelle/HOL. We further adapt an existing formalization of Yun’s square-free factorization algorithm to integer polynomials, and thus provide an efficient and certified factorization algorithm for arbitrary univariate polynomials. \u003c/p\u003e \u003cp\u003eThe algorithm first performs a factorization in the prime field GF(p) and then performs computations in the integer ring modulo p^k, where both p and k are determined at runtime. Since a natural modeling of these structures via dependent types is not possible in Isabelle/HOL, we formalize the whole algorithm using Isabelle’s recent addition of local type definitions. \u003c/p\u003e \u003cp\u003eThrough experiments we verify that our algorithm factors polynomials of degree 100 within seconds. \u003c/p\u003e",
"authors": [
"Jose Divasón",
"Sebastiaan J. C. Joosten",
"René Thiemann",
"Akihisa Yamada"
],
"date": "2016-10-14",
- "id": 384,
+ "id": 388,
"link": "/entries/Berlekamp_Zassenhaus.html",
"permalink": "/entries/Berlekamp_Zassenhaus.html",
"shortname": "Berlekamp_Zassenhaus",
"title": "The Factorization Algorithm of Berlekamp and Zassenhaus",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
- "used_by": 5
+ "used_by": 7
},
{
"abstract": "This entry provides a geometric proof of the intersecting chords theorem. The theorem states that when two chords intersect each other inside a circle, the products of their segments are equal. After a short review of existing proofs in the literature, I decided to use a proof approach that employs reasoning about lengths of line segments, the orthogonality of two lines and the Pythagoras Law. Hence, one can understand the formalized proof easily with the knowledge of a few general geometric facts that are commonly taught in high-school. This theorem is the 55th theorem of the Top 100 Theorems list.",
"authors": [
"Lukas Bulwahn"
],
"date": "2016-10-11",
- "id": 385,
+ "id": 389,
"link": "/entries/Chord_Segments.html",
"permalink": "/entries/Chord_Segments.html",
"shortname": "Chord_Segments",
"title": "Intersecting Chords Theorem",
"topic_links": [
"mathematics/geometry"
],
"topics": [
"Mathematics/Geometry"
],
"used_by": 0
},
{
"abstract": "Lp is the space of functions whose p-th power is integrable. It is one of the most fundamental Banach spaces that is used in analysis and probability. We develop a framework for function spaces, and then implement the Lp spaces in this framework using the existing integration theory in Isabelle/HOL. Our development contains most fundamental properties of Lp spaces, notably the Hölder and Minkowski inequalities, completeness of Lp, duality, stability under almost sure convergence, multiplication of functions in Lp and Lq, stability under conditional expectation.",
"authors": [
"Sebastien Gouezel"
],
"date": "2016-10-05",
- "id": 386,
+ "id": 390,
"link": "/entries/Lp.html",
"permalink": "/entries/Lp.html",
"shortname": "Lp",
"title": "Lp spaces",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 2
},
{
"abstract": "\u003cp\u003eThis work defines and proves the correctness of the Fisher–Yates algorithm for shuffling – i.e. producing a random permutation – of a list. The algorithm proceeds by traversing the list and in each step swapping the current element with a random element from the remaining list.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2016-09-30",
- "id": 387,
+ "id": 391,
"link": "/entries/Fisher_Yates.html",
"permalink": "/entries/Fisher_Yates.html",
"shortname": "Fisher_Yates",
"title": "Fisher–Yates shuffle",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "Allen’s interval calculus is a qualitative temporal representation of time events. Allen introduced 13 binary relations that describe all the possible arrangements between two events, i.e. intervals with non-zero finite length. The compositions are pertinent to reasoning about knowledge of time. In particular, a consistency problem of relation constraints is commonly solved with a guideline from these compositions. We formalize the relations together with an axiomatic system. We proof the validity of the 169 compositions of these relations. We also define nests as the sets of intervals that share a meeting point. We prove that nests give the ordering properties of points without introducing a new datatype for points. [1] J.F. Allen. Maintaining Knowledge about Temporal Intervals. In Commun. ACM, volume 26, pages 832–843, 1983. [2] J. F. Allen and P. J. Hayes. A Common-sense Theory of Time. In Proceedings of the 9th International Joint Conference on Artificial Intelligence (IJCAI’85), pages 528–531, 1985.",
"authors": [
"Fadoua Ghourabi"
],
"date": "2016-09-29",
- "id": 388,
+ "id": 392,
"link": "/entries/Allen_Calculus.html",
"permalink": "/entries/Allen_Calculus.html",
"shortname": "Allen_Calculus",
"title": "Allen's Interval Calculus",
"topic_links": [
"logic/general-logic/temporal-logic",
"mathematics/order"
],
"topics": [
"Logic/General logic/Temporal logic",
"Mathematics/Order"
],
"used_by": 0
},
{
"abstract": "This Isabelle/HOL formalization defines recursive path orders (RPOs) for higher-order terms without lambda-abstraction and proves many useful properties about them. The main order fully coincides with the standard RPO on first-order terms also in the presence of currying, distinguishing it from previous work. An optimized variant is formalized as well. It appears promising as the basis of a higher-order superposition calculus.",
"authors": [
"Jasmin Christian Blanchette",
"Uwe Waldmann",
"Daniel Wand"
],
"date": "2016-09-23",
- "id": 389,
+ "id": 393,
"link": "/entries/Lambda_Free_RPOs.html",
"permalink": "/entries/Lambda_Free_RPOs.html",
"shortname": "Lambda_Free_RPOs",
"title": "Formalization of Recursive Path Orders for Lambda-Free Higher-Order Terms",
"topic_links": [
"logic/rewriting"
],
"topics": [
"Logic/Rewriting"
],
"used_by": 5
},
{
"abstract": "We present a big step semantics of the filtering behavior of the Linux/netfilter iptables firewall. We provide algorithms to simplify complex iptables rulests to a simple firewall model (c.f. AFP entry \u003ca href=\"https://www.isa-afp.org/entries/Simple_Firewall.html\"\u003eSimple_Firewall\u003c/a\u003e) and to verify spoofing protection of a ruleset. Internally, we embed our semantics into ternary logic, ultimately supporting every iptables match condition by abstracting over unknowns. Using this AFP entry and all entries it depends on, we created an easy-to-use, stand-alone haskell tool called \u003ca href=\"http://iptables.isabelle.systems\"\u003efffuu\u003c/a\u003e. The tool does not require any input \u0026mdash;except for the \u003ctt\u003eiptables-save\u003c/tt\u003e dump of the analyzed firewall\u0026mdash; and presents interesting results about the user's ruleset. Real-Word firewall errors have been uncovered, and the correctness of rulesets has been proved, with the help of our tool.",
"authors": [
"Cornelius Diekmann",
"Lars Hupel"
],
"date": "2016-09-09",
- "id": 390,
+ "id": 394,
"link": "/entries/Iptables_Semantics.html",
"permalink": "/entries/Iptables_Semantics.html",
"shortname": "Iptables_Semantics",
"title": "Iptables Semantics",
"topic_links": [
"computer-science/networks"
],
"topics": [
"Computer science/Networks"
],
"used_by": 2
},
{
"abstract": "We provide a formalization of a variant of the superposition calculus, together with formal proofs of soundness and refutational completeness (w.r.t. the usual redundancy criteria based on clause ordering). This version of the calculus uses all the standard restrictions of the superposition rules, together with the following refinement, inspired by the basic superposition calculus: each clause is associated with a set of terms which are assumed to be in normal form -- thus any application of the replacement rule on these terms is blocked. The set is initially empty and terms may be added or removed at each inference step. The set of terms that are assumed to be in normal form includes any term introduced by previous unifiers as well as any term occurring in the parent clauses at a position that is smaller (according to some given ordering on positions) than a previously replaced term. The standard superposition calculus corresponds to the case where the set of irreducible terms is always empty.",
"authors": [
"Nicolas Peltier"
],
"date": "2016-09-06",
- "id": 391,
+ "id": 395,
"link": "/entries/SuperCalc.html",
"permalink": "/entries/SuperCalc.html",
"shortname": "SuperCalc",
"title": "A Variant of the Superposition Calculus",
"topic_links": [
"logic/proof-theory"
],
"topics": [
"Logic/Proof theory"
],
"used_by": 0
},
{
"abstract": "A range of algebras between lattices and Boolean algebras generalise the notion of a complement. We develop a hierarchy of these pseudo-complemented algebras that includes Stone algebras. Independently of this theory we study filters based on partial orders. Both theories are combined to prove Chen and Grätzer's construction theorem for Stone algebras. The latter involves extensive reasoning about algebraic structures in addition to reasoning in algebraic structures.",
"authors": [
"Walter Guttmann"
],
"date": "2016-09-06",
- "id": 392,
+ "id": 396,
"link": "/entries/Stone_Algebras.html",
"permalink": "/entries/Stone_Algebras.html",
"shortname": "Stone_Algebras",
"title": "Stone Algebras",
"topic_links": [
"mathematics/order"
],
"topics": [
"Mathematics/Order"
],
"used_by": 2
},
{
"abstract": "\u003cp\u003eThis work contains a proof of Stirling's formula both for the factorial $n! \\sim \\sqrt{2\\pi n} (n/e)^n$ on natural numbers and the real Gamma function $\\Gamma(x)\\sim \\sqrt{2\\pi/x} (x/e)^x$. The proof is based on work by \u003ca href=\"http://www.maths.lancs.ac.uk/~jameson/stirlgamma.pdf\"\u003eGraham Jameson\u003c/a\u003e.\u003c/p\u003e \u003cp\u003eThis is then extended to the full asymptotic expansion $$\\log\\Gamma(z) = \\big(z - \\tfrac{1}{2}\\big)\\log z - z + \\tfrac{1}{2}\\log(2\\pi) + \\sum_{k=1}^{n-1} \\frac{B_{k+1}}{k(k+1)} z^{-k}\\\\ {} - \\frac{1}{n} \\int_0^\\infty B_n([t])(t + z)^{-n}\\,\\text{d}t$$ uniformly for all complex $z\\neq 0$ in the cone $\\text{arg}(z)\\leq \\alpha$ for any $\\alpha\\in(0,\\pi)$, with which the above asymptotic relation for \u0026Gamma; is also extended to complex arguments.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2016-09-01",
- "id": 393,
+ "id": 397,
"link": "/entries/Stirling_Formula.html",
"permalink": "/entries/Stirling_Formula.html",
"shortname": "Stirling_Formula",
"title": "Stirling's formula",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 5
},
{
"abstract": "This entry contains definitions for routing with routing tables/longest prefix matching. A routing table entry is modelled as a record of a prefix match, a metric, an output port, and an optional next hop. A routing table is a list of entries, sorted by prefix length and metric. Additionally, a parser and serializer for the output of the ip-route command, a function to create a relation from output port to corresponding destination IP space, and a model of a Linux-style router are included.",
"authors": [
"Julius Michaelis",
"Cornelius Diekmann"
],
"date": "2016-08-31",
- "id": 394,
+ "id": 398,
"link": "/entries/Routing.html",
"permalink": "/entries/Routing.html",
"shortname": "Routing",
"title": "Routing",
"topic_links": [
"computer-science/networks"
],
"topics": [
"Computer science/Networks"
],
"used_by": 1
},
{
"abstract": "We present a simple model of a firewall. The firewall can accept or drop a packet and can match on interfaces, IP addresses, protocol, and ports. It was designed to feature nice mathematical properties: The type of match expressions was carefully crafted such that the conjunction of two match expressions is only one match expression. This model is too simplistic to mirror all aspects of the real world. In the upcoming entry \"Iptables Semantics\", we will translate the Linux firewall iptables to this model. For a fixed service (e.g. ssh, http), we provide an algorithm to compute an overview of the firewall's filtering behavior. The algorithm computes minimal service matrices, i.e. graphs which partition the complete IPv4 and IPv6 address space and visualize the allowed accesses between partitions. For a detailed description, see \u003ca href=\"http://dl.ifip.org/db/conf/networking/networking2016/1570232858.pdf\"\u003eVerified iptables Firewall Analysis\u003c/a\u003e, IFIP Networking 2016.",
"authors": [
"Cornelius Diekmann",
"Julius Michaelis",
"Max W. Haslbeck"
],
"date": "2016-08-24",
- "id": 395,
+ "id": 399,
"link": "/entries/Simple_Firewall.html",
"permalink": "/entries/Simple_Firewall.html",
"shortname": "Simple_Firewall",
"title": "Simple Firewall",
"topic_links": [
"computer-science/networks"
],
"topics": [
"Computer science/Networks"
],
"used_by": 1
},
{
"abstract": "TRACER is a tool for verifying safety properties of sequential C programs. TRACER attempts at building a finite symbolic execution graph which over-approximates the set of all concrete reachable states and the set of feasible paths. We present an abstract framework for TRACER and similar CEGAR-like systems. The framework provides 1) a graph- transformation based method for reducing the feasible paths in control-flow graphs, 2) a model for symbolic execution, subsumption, predicate abstraction and invariant generation. In this framework we formally prove two key properties: correct construction of the symbolic states and preservation of feasible paths. The framework focuses on core operations, leaving to concrete prototypes to “fit in” heuristics for combining them. The accompanying paper (published in ITP 2016) can be found at https://www.lri.fr/∼wolff/papers/conf/2016-itp-InfPathsNSE.pdf.",
"authors": [
"Romain Aissat",
"Frederic Voisin",
"Burkhart Wolff"
],
"date": "2016-08-18",
- "id": 396,
+ "id": 400,
"link": "/entries/InfPathElimination.html",
"permalink": "/entries/InfPathElimination.html",
"shortname": "InfPathElimination",
"title": "Infeasible Paths Elimination by Symbolic Execution Techniques: Proof of Correctness and Preservation of Paths",
"topic_links": [
"computer-science/programming-languages/static-analysis"
],
"topics": [
"Computer science/Programming languages/Static analysis"
],
"used_by": 0
},
{
"abstract": "We present a formalization of the Ford-Fulkerson method for computing the maximum flow in a network. Our formal proof closely follows a standard textbook proof, and is accessible even without being an expert in Isabelle/HOL--- the interactive theorem prover used for the formalization. We then use stepwise refinement to obtain the Edmonds-Karp algorithm, and formally prove a bound on its complexity. Further refinement yields a verified implementation, whose execution time compares well to an unverified reference implementation in Java. This entry is based on our ITP-2016 paper with the same title.",
"authors": [
"Peter Lammich",
"S. Reza Sefidgar"
],
"date": "2016-08-12",
- "id": 397,
+ "id": 401,
"link": "/entries/EdmondsKarp_Maxflow.html",
"permalink": "/entries/EdmondsKarp_Maxflow.html",
"shortname": "EdmondsKarp_Maxflow",
"title": "Formalizing the Edmonds-Karp Algorithm",
"topic_links": [
"computer-science/algorithms/graph"
],
"topics": [
"Computer science/Algorithms/Graph"
],
"used_by": 1
},
{
"abstract": "We present the Imperative Refinement Framework (IRF), a tool that supports a stepwise refinement based approach to imperative programs. This entry is based on the material we presented in [ITP-2015, CPP-2016]. It uses the Monadic Refinement Framework as a frontend for the specification of the abstract programs, and Imperative/HOL as a backend to generate executable imperative programs. The IRF comes with tool support to synthesize imperative programs from more abstract, functional ones, using efficient imperative implementations for the abstract data structures. This entry also includes the Imperative Isabelle Collection Framework (IICF), which provides a library of re-usable imperative collection data structures. Moreover, this entry contains a quickstart guide and a reference manual, which provide an introduction to using the IRF for Isabelle/HOL experts. It also provids a collection of (partly commented) practical examples, some highlights being Dijkstra's Algorithm, Nested-DFS, and a generic worklist algorithm with subsumption. Finally, this entry contains benchmark scripts that compare the runtime of some examples against reference implementations of the algorithms in Java and C++. [ITP-2015] Peter Lammich: Refinement to Imperative/HOL. ITP 2015: 253--269 [CPP-2016] Peter Lammich: Refinement based verification of imperative data structures. CPP 2016: 27--36",
"authors": [
"Peter Lammich"
],
"date": "2016-08-08",
- "id": 398,
+ "id": 402,
"link": "/entries/Refine_Imperative_HOL.html",
"permalink": "/entries/Refine_Imperative_HOL.html",
"shortname": "Refine_Imperative_HOL",
"title": "The Imperative Refinement Framework",
"topic_links": [
"computer-science/semantics-and-reasoning",
"computer-science/data-structures"
],
"topics": [
"Computer science/Semantics and reasoning",
"Computer science/Data structures"
],
"used_by": 5
},
{
"abstract": "This entry provides an analytic proof to Ptolemy's Theorem using polar form transformation and trigonometric identities. In this formalization, we use ideas from John Harrison's HOL Light formalization and the proof sketch on the Wikipedia entry of Ptolemy's Theorem. This theorem is the 95th theorem of the Top 100 Theorems list.",
"authors": [
"Lukas Bulwahn"
],
"date": "2016-08-07",
- "id": 399,
+ "id": 403,
"link": "/entries/Ptolemys_Theorem.html",
"permalink": "/entries/Ptolemys_Theorem.html",
"shortname": "Ptolemys_Theorem",
"title": "Ptolemy's Theorem",
"topic_links": [
"mathematics/geometry"
],
"topics": [
"Mathematics/Geometry"
],
"used_by": 0
},
{
"abstract": "In 1964, Fitch showed that the paradox of the surprise hanging can be resolved by showing that the judge’s verdict is inconsistent. His formalization builds on Gödel’s coding of provability. In this theory, we reproduce his proof in Isabelle, building on Paulson’s formalisation of Gödel’s incompleteness theorems.",
"authors": [
"Joachim Breitner"
],
"date": "2016-07-17",
- "id": 400,
+ "id": 404,
"link": "/entries/Surprise_Paradox.html",
"permalink": "/entries/Surprise_Paradox.html",
"shortname": "Surprise_Paradox",
"title": "Surprise Paradox",
"topic_links": [
"logic/proof-theory"
],
"topics": [
"Logic/Proof theory"
],
"used_by": 0
},
{
"abstract": "This library defines three different versions of pairing heaps: a functional version of the original design based on binary trees [Fredman et al. 1986], the version by Okasaki [1998] and a modified version of the latter that is free of structural invariants. \u003cp\u003e The amortized complexity of pairing heaps is analyzed in the AFP article \u003ca href=\"http://isa-afp.org/entries/Amortized_Complexity.html\"\u003eAmortized Complexity\u003c/a\u003e.",
"authors": [
"Hauke Brinkop",
"Tobias Nipkow"
],
"date": "2016-07-14",
- "id": 401,
+ "id": 405,
"link": "/entries/Pairing_Heap.html",
"permalink": "/entries/Pairing_Heap.html",
"shortname": "Pairing_Heap",
"title": "Pairing Heap",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 2
},
{
"abstract": "\u003cp\u003e This entry presents a framework for the modular verification of DFS-based algorithms, which is described in our [CPP-2015] paper. It provides a generic DFS algorithm framework, that can be parameterized with user-defined actions on certain events (e.g. discovery of new node). It comes with an extensible library of invariants, which can be used to derive invariants of a specific parameterization. Using refinement techniques, efficient implementations of the algorithms can easily be derived. Here, the framework comes with templates for a recursive and a tail-recursive implementation, and also with several templates for implementing the data structures required by the DFS algorithm. Finally, this entry contains a set of re-usable DFS-based algorithms, which illustrate the application of the framework. \u003c/p\u003e\u003cp\u003e [CPP-2015] Peter Lammich, René Neumann: A Framework for Verifying Depth-First Search Algorithms. CPP 2015: 137-146\u003c/p\u003e",
"authors": [
"Peter Lammich",
"René Neumann"
],
"date": "2016-07-05",
- "id": 402,
+ "id": 406,
"link": "/entries/DFS_Framework.html",
"permalink": "/entries/DFS_Framework.html",
"shortname": "DFS_Framework",
"title": "A Framework for Verifying Depth-First Search Algorithms",
"topic_links": [
"computer-science/algorithms/graph"
],
"topics": [
"Computer science/Algorithms/Graph"
],
"used_by": 4
},
{
"abstract": "We provide a basic formal framework for the theory of chamber complexes and Coxeter systems, and for buildings as thick chamber complexes endowed with a system of apartments. Along the way, we develop some of the general theory of abstract simplicial complexes and of groups (relying on the \u003ci\u003egroup_add\u003c/i\u003e class for the basics), including free groups and group presentations, and their universal properties. The main results verified are that the deletion condition is both necessary and sufficient for a group with a set of generators of order two to be a Coxeter system, and that the apartments in a (thick) building are all uniformly Coxeter.",
"authors": [
"Jeremy Sylvestre"
],
"date": "2016-07-01",
- "id": 403,
+ "id": 407,
"link": "/entries/Buildings.html",
"permalink": "/entries/Buildings.html",
"shortname": "Buildings",
"title": "Chamber Complexes, Coxeter Systems, and Buildings",
"topic_links": [
"mathematics/algebra",
"mathematics/geometry"
],
"topics": [
"Mathematics/Algebra",
"Mathematics/Geometry"
],
"used_by": 0
},
{
"abstract": "This theory is a formalization of the resolution calculus for first-order logic. It is proven sound and complete. The soundness proof uses the substitution lemma, which shows a correspondence between substitutions and updates to an environment. The completeness proof uses semantic trees, i.e. trees whose paths are partial Herbrand interpretations. It employs Herbrand's theorem in a formulation which states that an unsatisfiable set of clauses has a finite closed semantic tree. It also uses the lifting lemma which lifts resolution derivation steps from the ground world up to the first-order world. The theory is presented in a paper in the Journal of Automated Reasoning [Sch18] which extends a paper presented at the International Conference on Interactive Theorem Proving [Sch16]. An earlier version was presented in an MSc thesis [Sch15]. The formalization mostly follows textbooks by Ben-Ari [BA12], Chang and Lee [CL73], and Leitsch [Lei97]. The theory is part of the IsaFoL project [IsaFoL]. \u003cp\u003e \u003ca name=\"Sch18\"\u003e\u003c/a\u003e[Sch18] Anders Schlichtkrull. \"Formalization of the Resolution Calculus for First-Order Logic\". Journal of Automated Reasoning, 2018.\u003cbr\u003e \u003ca name=\"Sch16\"\u003e\u003c/a\u003e[Sch16] Anders Schlichtkrull. \"Formalization of the Resolution Calculus for First-Order Logic\". In: ITP 2016. Vol. 9807. LNCS. Springer, 2016.\u003cbr\u003e \u003ca name=\"Sch15\"\u003e\u003c/a\u003e[Sch15] Anders Schlichtkrull. \u003ca href=\"https://people.compute.dtu.dk/andschl/Thesis.pdf\"\u003e \"Formalization of Resolution Calculus in Isabelle\"\u003c/a\u003e. \u003ca href=\"https://people.compute.dtu.dk/andschl/Thesis.pdf\"\u003ehttps://people.compute.dtu.dk/andschl/Thesis.pdf\u003c/a\u003e. MSc thesis. Technical University of Denmark, 2015.\u003cbr\u003e \u003ca name=\"BA12\"\u003e\u003c/a\u003e[BA12] Mordechai Ben-Ari. \u003ci\u003eMathematical Logic for Computer Science\u003c/i\u003e. 3rd. Springer, 2012.\u003cbr\u003e \u003ca name=\"CL73\"\u003e\u003c/a\u003e[CL73] Chin-Liang Chang and Richard Char-Tung Lee. \u003ci\u003eSymbolic Logic and Mechanical Theorem Proving\u003c/i\u003e. 1st. Academic Press, Inc., 1973.\u003cbr\u003e \u003ca name=\"Lei97\"\u003e\u003c/a\u003e[Lei97] Alexander Leitsch. \u003ci\u003eThe Resolution Calculus\u003c/i\u003e. Texts in theoretical computer science. Springer, 1997.\u003cbr\u003e \u003ca name=\"IsaFoL\"\u003e\u003c/a\u003e[IsaFoL] IsaFoL authors. \u003ca href=\"https://bitbucket.org/jasmin_blanchette/isafol\"\u003e IsaFoL: Isabelle Formalization of Logic\u003c/a\u003e. \u003ca href=\"https://bitbucket.org/jasmin_blanchette/isafol\"\u003ehttps://bitbucket.org/jasmin_blanchette/isafol\u003c/a\u003e.",
"authors": [
"Anders Schlichtkrull"
],
"date": "2016-06-30",
- "id": 404,
+ "id": 408,
"link": "/entries/Resolution_FOL.html",
"permalink": "/entries/Resolution_FOL.html",
"shortname": "Resolution_FOL",
"title": "The Resolution Calculus for First-Order Logic",
"topic_links": [
"logic/general-logic/mechanization-of-proofs"
],
"topics": [
"Logic/General logic/Mechanization of proofs"
],
"used_by": 0
},
{
"abstract": "We formalize the Z property introduced by Dehornoy and van Oostrom. First we show that for any abstract rewrite system, Z implies confluence. Then we give two examples of proofs using Z: confluence of lambda-calculus with respect to beta-reduction and confluence of combinatory logic.",
"authors": [
"Bertram Felgenhauer",
"Julian Nagele",
"Vincent van Oostrom",
"Christian Sternagel"
],
"date": "2016-06-30",
- "id": 405,
+ "id": 409,
"link": "/entries/Rewriting_Z.html",
"permalink": "/entries/Rewriting_Z.html",
"shortname": "Rewriting_Z",
"title": "The Z Property",
"topic_links": [
"logic/rewriting"
],
"topics": [
"Logic/Rewriting"
],
"used_by": 0
},
{
"abstract": "The paper \"Compositional Verification and Refinement of Concurrent Value-Dependent Noninterference\" by Murray et. al. (CSF 2016) presents a compositional theory of refinement for a value-dependent noninterference property, defined in (Murray, PLAS 2015), for concurrent programs. This development formalises that refinement theory, and demonstrates its application on some small examples.",
"authors": [
"Toby Murray",
"Robert Sison",
"Edward Pierzchalski",
"Christine Rizkallah"
],
"date": "2016-06-28",
- "id": 406,
+ "id": 410,
"link": "/entries/Dependent_SIFUM_Refinement.html",
"permalink": "/entries/Dependent_SIFUM_Refinement.html",
"shortname": "Dependent_SIFUM_Refinement",
"title": "Compositional Security-Preserving Refinement for Concurrent Imperative Programs",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "This entry contains a definition of IP addresses and a library to work with them. Generic IP addresses are modeled as machine words of arbitrary length. Derived from this generic definition, IPv4 addresses are 32bit machine words, IPv6 addresses are 128bit words. Additionally, IPv4 addresses can be represented in dot-decimal notation and IPv6 addresses in (compressed) colon-separated notation. We support toString functions and parsers for both notations. Sets of IP addresses can be represented with a netmask (e.g. 192.168.0.0/255.255.0.0) or in CIDR notation (e.g. 192.168.0.0/16). To provide executable code for set operations on IP address ranges, the library includes a datatype to work on arbitrary intervals of machine words.",
"authors": [
"Cornelius Diekmann",
"Julius Michaelis",
"Lars Hupel"
],
"date": "2016-06-28",
- "id": 407,
+ "id": 411,
"link": "/entries/IP_Addresses.html",
"permalink": "/entries/IP_Addresses.html",
"shortname": "IP_Addresses",
"title": "IP Addresses",
"topic_links": [
"computer-science/networks"
],
"topics": [
"Computer science/Networks"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003eThis entry provides three lemmas to count the number of multisets of a given size and finite carrier set. The first lemma provides a cardinality formula assuming that the multiset's elements are chosen from the given carrier set. The latter two lemmas provide formulas assuming that the multiset's elements also cover the given carrier set, i.e., each element of the carrier set occurs in the multiset at least once.\u003c/p\u003e \u003cp\u003eThe proof of the first lemma uses the argument of the recurrence relation for counting multisets. The proof of the second lemma is straightforward, and the proof of the third lemma is easily obtained using the first cardinality lemma. A challenge for the formalization is the derivation of the required induction rule, which is a special combination of the induction rules for finite sets and natural numbers. The induction rule is derived by defining a suitable inductive predicate and transforming the predicate's induction rule.\u003c/p\u003e",
"authors": [
"Lukas Bulwahn"
],
"date": "2016-06-26",
- "id": 408,
+ "id": 412,
"link": "/entries/Card_Multisets.html",
"permalink": "/entries/Card_Multisets.html",
"shortname": "Card_Multisets",
"title": "Cardinality of Multisets",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 1
},
{
- "abstract": "\u003cp\u003e This article attempts to develop a usable framework for doing category theory in Isabelle/HOL. Our point of view, which to some extent differs from that of the previous AFP articles on the subject, is to try to explore how category theory can be done efficaciously within HOL, rather than trying to match exactly the way things are done using a traditional approach. To this end, we define the notion of category in an \"object-free\" style, in which a category is represented by a single partial composition operation on arrows. This way of defining categories provides some advantages in the context of HOL, including the ability to avoid the use of records and the possibility of defining functors and natural transformations simply as certain functions on arrows, rather than as composite objects. We define various constructions associated with the basic notions, including: dual category, product category, functor category, discrete category, free category, functor composition, and horizontal and vertical composite of natural transformations. A \"set category\" locale is defined that axiomatizes the notion \"category of all sets at a type and all functions between them,\" and a fairly extensive set of properties of set categories is derived from the locale assumptions. The notion of a set category is used to prove the Yoneda Lemma in a general setting of a category equipped with a \"hom embedding,\" which maps arrows of the category to the \"universe\" of the set category. We also give a treatment of adjunctions, defining adjunctions via left and right adjoint functors, natural bijections between hom-sets, and unit and counit natural transformations, and showing the equivalence of these definitions. We also develop the theory of limits, including representations of functors, diagrams and cones, and diagonal functors. We show that right adjoint functors preserve limits, and that limits can be constructed via products and equalizers. We characterize the conditions under which limits exist in a set category. We also examine the case of limits in a functor category, ultimately culminating in a proof that the Yoneda embedding preserves limits. \u003c/p\u003e\u003cp\u003e Revisions made subsequent to the first version of this article added material on equivalence of categories, cartesian categories, categories with pullbacks, categories with finite limits, and cartesian closed categories. A construction was given of the category of hereditarily finite sets and functions between them, and it was shown that this category is cartesian closed. \u003c/p\u003e",
+ "abstract": "\u003cp\u003e This article attempts to develop a usable framework for doing category theory in Isabelle/HOL. Our point of view, which to some extent differs from that of the previous AFP articles on the subject, is to try to explore how category theory can be done efficaciously within HOL, rather than trying to match exactly the way things are done using a traditional approach. To this end, we define the notion of category in an \"object-free\" style, in which a category is represented by a single partial composition operation on arrows. This way of defining categories provides some advantages in the context of HOL, including the ability to avoid the use of records and the possibility of defining functors and natural transformations simply as certain functions on arrows, rather than as composite objects. We define various constructions associated with the basic notions, including: dual category, product category, functor category, discrete category, free category, functor composition, and horizontal and vertical composite of natural transformations. A \"set category\" locale is defined that axiomatizes the notion \"category of all sets at a type and all functions between them,\" and a fairly extensive set of properties of set categories is derived from the locale assumptions. The notion of a set category is used to prove the Yoneda Lemma in a general setting of a category equipped with a \"hom embedding,\" which maps arrows of the category to the \"universe\" of the set category. We also give a treatment of adjunctions, defining adjunctions via left and right adjoint functors, natural bijections between hom-sets, and unit and counit natural transformations, and showing the equivalence of these definitions. We also develop the theory of limits, including representations of functors, diagrams and cones, and diagonal functors. We show that right adjoint functors preserve limits, and that limits can be constructed via products and equalizers. We characterize the conditions under which limits exist in a set category. We also examine the case of limits in a functor category, ultimately culminating in a proof that the Yoneda embedding preserves limits. \u003c/p\u003e\u003cp\u003e Revisions made subsequent to the first version of this article added material on equivalence of categories, cartesian categories, categories with pullbacks, categories with finite limits, and cartesian closed categories. A construction was given of the category of hereditarily finite sets and functions between them, and it was shown that this category is cartesian closed. Using \"ZFC_in_HOL\", a construction was also given of the (large) category of small sets and functions between them, and it was shown that this category is small-complete. \u003c/p\u003e",
"authors": [
"Eugene W. Stark"
],
"date": "2016-06-26",
- "id": 409,
+ "id": 413,
"link": "/entries/Category3.html",
"permalink": "/entries/Category3.html",
"shortname": "Category3",
"title": "Category Theory with Adjunctions and Limits",
"topic_links": [
"mathematics/category-theory"
],
"topics": [
"Mathematics/Category theory"
],
"used_by": 1
},
{
"abstract": "The paper \"Compositional Verification and Refinement of Concurrent Value-Dependent Noninterference\" by Murray et. al. (CSF 2016) presents a dependent security type system for compositionally verifying a value-dependent noninterference property, defined in (Murray, PLAS 2015), for concurrent programs. This development formalises that security definition, the type system and its soundness proof, and demonstrates its application on some small examples. It was derived from the SIFUM_Type_Systems AFP entry, by Sylvia Grewe, Heiko Mantel and Daniel Schoepe, and whose structure it inherits.",
"authors": [
"Toby Murray",
"Robert Sison",
"Edward Pierzchalski",
"Christine Rizkallah"
],
"date": "2016-06-25",
- "id": 410,
+ "id": 414,
"link": "/entries/Dependent_SIFUM_Type_Systems.html",
"permalink": "/entries/Dependent_SIFUM_Type_Systems.html",
"shortname": "Dependent_SIFUM_Type_Systems",
"title": "A Dependent Security Type System for Concurrent Imperative Programs",
"topic_links": [
"computer-science/security",
"computer-science/programming-languages/type-systems"
],
"topics": [
"Computer science/Security",
"Computer science/Programming languages/Type systems"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003eIn this work, we define the Catalan numbers \u003cem\u003eC\u003csub\u003en\u003c/sub\u003e\u003c/em\u003e and prove several equivalent definitions (including some closed-form formulae). We also show one of their applications (counting the number of binary trees of size \u003cem\u003en\u003c/em\u003e), prove the asymptotic growth approximation \u003cem\u003eC\u003csub\u003en\u003c/sub\u003e \u0026sim; 4\u003csup\u003en\u003c/sup\u003e / (\u0026radic;\u003cspan style=\"text-decoration: overline\"\u003e\u0026pi;\u003c/span\u003e \u0026middot; n\u003csup\u003e1.5\u003c/sup\u003e)\u003c/em\u003e, and provide reasonably efficient executable code to compute them.\u003c/p\u003e \u003cp\u003eThe derivation of the closed-form formulae uses algebraic manipulations of the ordinary generating function of the Catalan numbers, and the asymptotic approximation is then done using generalised binomial coefficients and the Gamma function. Thanks to these highly non-elementary mathematical tools, the proofs are very short and simple.\u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2016-06-21",
- "id": 411,
+ "id": 415,
"link": "/entries/Catalan_Numbers.html",
"permalink": "/entries/Catalan_Numbers.html",
"shortname": "Catalan_Numbers",
"title": "Catalan Numbers",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 0
},
{
"abstract": "Variants of Kleene algebra support program construction and verification by algebraic reasoning. This entry provides a verification component for Hoare logic based on Kleene algebra with tests, verification components for weakest preconditions and strongest postconditions based on Kleene algebra with domain and a component for step-wise refinement based on refinement Kleene algebra with tests. In addition to these components for the partial correctness of while programs, a verification component for total correctness based on divergence Kleene algebras and one for (partial correctness) of recursive programs based on domain quantales are provided. Finally we have integrated memory models for programs with pointers and a program trace semantics into the weakest precondition component.",
"authors": [
"Victor B. F. Gomes",
"Georg Struth"
],
"date": "2016-06-18",
- "id": 412,
+ "id": 416,
"link": "/entries/Algebraic_VCs.html",
"permalink": "/entries/Algebraic_VCs.html",
"shortname": "Algebraic_VCs",
"title": "Program Construction and Verification Components Based on Kleene Algebra",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eIn his outstanding work on Communicating Sequential Processes, Hoare has defined two fundamental binary operations allowing to compose the input processes into another, typically more complex, process: sequential composition and concurrent composition. Particularly, the output of the latter operation is a process in which any event not shared by both operands can occur whenever the operand that admits the event can engage in it, whereas any event shared by both operands can occur just in case both can engage in it.\u003c/p\u003e \u003cp\u003eThis paper formalizes Hoare's definition of concurrent composition and proves, in the general case of a possibly intransitive policy, that CSP noninterference security is conserved under this operation. This result, along with the previous analogous one concerning sequential composition, enables the construction of more and more complex processes enforcing noninterference security by composing, sequentially or concurrently, simpler secure processes, whose security can in turn be proven using either the definition of security, or unwinding theorems.\u003c/p\u003e",
"authors": [
"Pasquale Noce"
],
"date": "2016-06-13",
- "id": 413,
+ "id": 417,
"link": "/entries/Noninterference_Concurrent_Composition.html",
"permalink": "/entries/Noninterference_Concurrent_Composition.html",
"shortname": "Noninterference_Concurrent_Composition",
"title": "Conservation of CSP Noninterference Security under Concurrent Composition",
"topic_links": [
"computer-science/security",
"computer-science/concurrency/process-calculi"
],
"topics": [
"Computer science/Security",
"Computer science/Concurrency/Process calculi"
],
"used_by": 0
},
{
"abstract": "This entry contains an extension to the Isabelle library for fixed-width machine words. In particular, the entry adds quickcheck setup for words, printing as hexadecimals, additional operations, reasoning about alignment, signed words, enumerations of words, normalisation of word numerals, and an extensive library of properties about generic fixed-width words, as well as an instantiation of many of these to the commonly used 32 and 64-bit bases.",
"authors": [
"Joel Beeren",
"Matthew Fernandez",
"Xin Gao",
"Gerwin Klein",
"Rafal Kolanski",
"Japheth Lim",
"Corey Lewis",
"Daniel Matichuk",
"Thomas Sewell"
],
"date": "2016-06-09",
- "id": 414,
+ "id": 418,
"link": "/entries/Word_Lib.html",
"permalink": "/entries/Word_Lib.html",
"shortname": "Word_Lib",
"title": "Finite Machine Word Library",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 8
},
{
"abstract": "We formalize tree decompositions and tree width in Isabelle/HOL, proving that trees have treewidth 1. We also show that every edge of a tree decomposition is a separation of the underlying graph. As an application of this theorem we prove that complete graphs of size n have treewidth n-1.",
"authors": [
"Christoph Dittmann"
],
"date": "2016-05-31",
- "id": 415,
+ "id": 419,
"link": "/entries/Tree_Decomposition.html",
"permalink": "/entries/Tree_Decomposition.html",
"shortname": "Tree_Decomposition",
"title": "Tree Decomposition",
"topic_links": [
"mathematics/graph-theory"
],
"topics": [
"Mathematics/Graph theory"
],
"used_by": 0
},
{
"abstract": "This entry provides formulae for counting the number of equivalence relations and partial equivalence relations over a finite carrier set with given cardinality. To count the number of equivalence relations, we provide bijections between equivalence relations and set partitions, and then transfer the main results of the two AFP entries, Cardinality of Set Partitions and Spivey's Generalized Recurrence for Bell Numbers, to theorems on equivalence relations. To count the number of partial equivalence relations, we observe that counting partial equivalence relations over a set A is equivalent to counting all equivalence relations over all subsets of the set A. From this observation and the results on equivalence relations, we show that the cardinality of partial equivalence relations over a finite set of cardinality n is equal to the n+1-th Bell number.",
"authors": [
"Lukas Bulwahn"
],
"date": "2016-05-24",
- "id": 416,
+ "id": 420,
"link": "/entries/Card_Equiv_Relations.html",
"permalink": "/entries/Card_Equiv_Relations.html",
"shortname": "Card_Equiv_Relations",
"title": "Cardinality of Equivalence Relations",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003eBrzozowski introduced the notion of derivatives for regular expressions. They can be used for a very simple regular expression matching algorithm. Sulzmann and Lu cleverly extended this algorithm in order to deal with POSIX matching, which is the underlying disambiguation strategy for regular expressions needed in lexers. Their algorithm generates POSIX values which encode the information of how a regular expression matches a string--—that is, which part of the string is matched by which part of the regular expression. In this paper we give our inductive definition of what a POSIX value is and show (i) that such a value is unique (for given regular expression and string being matched) and (ii) that Sulzmann and Lu’s algorithm always generates such a value (provided that the regular expression matches the string). This holds also when optimisations are included. Finally we show that (iii) our inductive definition of a POSIX value is equivalent to an alternative definition by Okui and Suzuki which identifies POSIX values as least elements according to an ordering of values.\u003c/p\u003e",
"authors": [
"Fahad Ausaf",
"Roy Dyckhoff",
"Christian Urban"
],
"date": "2016-05-24",
- "id": 417,
+ "id": 421,
"link": "/entries/Posix-Lexing.html",
"permalink": "/entries/Posix-Lexing.html",
"shortname": "Posix-Lexing",
"title": "POSIX Lexing with Derivatives of Regular Expressions",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eThe spectral radius of a matrix A is the maximum norm of all eigenvalues of A. In previous work we already formalized that for a complex matrix A, the values in A\u003csup\u003en\u003c/sup\u003e grow polynomially in n if and only if the spectral radius is at most one. One problem with the above characterization is the determination of all \u003cem\u003ecomplex\u003c/em\u003e eigenvalues. In case A contains only non-negative real values, a simplification is possible with the help of the Perron\u0026ndash;Frobenius theorem, which tells us that it suffices to consider only the \u003cem\u003ereal\u003c/em\u003e eigenvalues of A, i.e., applying Sturm's method can decide the polynomial growth of A\u003csup\u003en\u003c/sup\u003e. \u003c/p\u003e\u003cp\u003e We formalize the Perron\u0026ndash;Frobenius theorem based on a proof via Brouwer's fixpoint theorem, which is available in the HOL multivariate analysis (HMA) library. Since the results on the spectral radius is based on matrices in the Jordan normal form (JNF) library, we further develop a connection which allows us to easily transfer theorems between HMA and JNF. With this connection we derive the combined result: if A is a non-negative real matrix, and no real eigenvalue of A is strictly larger than one, then A\u003csup\u003en\u003c/sup\u003e is polynomially bounded in n. \u003c/p\u003e",
"authors": [
"Jose Divasón",
"Ondřej Kunčar",
"René Thiemann",
"Akihisa Yamada"
],
"date": "2016-05-20",
- "id": 418,
+ "id": 422,
"link": "/entries/Perron_Frobenius.html",
"permalink": "/entries/Perron_Frobenius.html",
"shortname": "Perron_Frobenius",
"title": "Perron-Frobenius Theorem for Spectral Radius Analysis",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 3
},
{
"abstract": "The \u003ca href=\"http://incredible.pm\"\u003eIncredible Proof Machine\u003c/a\u003e is an interactive visual theorem prover which represents proofs as port graphs. We model this proof representation in Isabelle, and prove that it is just as powerful as natural deduction.",
"authors": [
"Joachim Breitner",
"Denis Lohner"
],
"date": "2016-05-20",
- "id": 419,
+ "id": 423,
"link": "/entries/Incredible_Proof_Machine.html",
"permalink": "/entries/Incredible_Proof_Machine.html",
"shortname": "Incredible_Proof_Machine",
"title": "The meta theory of the Incredible Proof Machine",
"topic_links": [
"logic/proof-theory"
],
"topics": [
"Logic/Proof theory"
],
"used_by": 0
},
{
"abstract": "The impossibility of distributed consensus with one faulty process is a result with important consequences for real world distributed systems e.g., commits in replicated databases. Since proofs are not immune to faults and even plausible proofs with a profound formalism can conclude wrong results, we validate the fundamental result named FLP after Fischer, Lynch and Paterson. We present a formalization of distributed systems and the aforementioned consensus problem. Our proof is based on Hagen Völzer's paper \"A constructive proof for FLP\". In addition to the enhanced confidence in the validity of Völzer's proof, we contribute the missing gaps to show the correctness in Isabelle/HOL. We clarify the proof details and even prove fairness of the infinite execution that contradicts consensus. Our Isabelle formalization can also be reused for further proofs of properties of distributed systems.",
"authors": [
"Benjamin Bisping",
"Paul-David Brodmann",
"Tim Jungnickel",
"Christina Rickmann",
"Henning Seidler",
"Anke Stüber",
"Arno Wilhelm-Weidner",
"Kirstin Peters",
"Uwe Nestmann"
],
"date": "2016-05-18",
- "id": 420,
+ "id": 424,
"link": "/entries/FLP.html",
"permalink": "/entries/FLP.html",
"shortname": "FLP",
"title": "A Constructive Proof for FLP",
"topic_links": [
"computer-science/concurrency"
],
"topics": [
"Computer science/Concurrency"
],
"used_by": 0
},
{
"abstract": "This article formalises a proof of the maximum-flow minimal-cut theorem for networks with countably many edges. A network is a directed graph with non-negative real-valued edge labels and two dedicated vertices, the source and the sink. A flow in a network assigns non-negative real numbers to the edges such that for all vertices except for the source and the sink, the sum of values on incoming edges equals the sum of values on outgoing edges. A cut is a subset of the vertices which contains the source, but not the sink. Our theorem states that in every network, there is a flow and a cut such that the flow saturates all the edges going out of the cut and is zero on all the incoming edges. The proof is based on the paper \u003cemph\u003eThe Max-Flow Min-Cut theorem for countable networks\u003c/emph\u003e by Aharoni et al. Additionally, we prove a characterisation of the lifting operation for relations on discrete probability distributions, which leads to a concise proof of its distributivity over relation composition.",
"authors": [
"Andreas Lochbihler"
],
"date": "2016-05-09",
- "id": 421,
+ "id": 425,
"link": "/entries/MFMC_Countable.html",
"permalink": "/entries/MFMC_Countable.html",
"shortname": "MFMC_Countable",
"title": "A Formal Proof of the Max-Flow Min-Cut Theorem for Countable Networks",
"topic_links": [
"mathematics/graph-theory"
],
"topics": [
"Mathematics/Graph theory"
],
"used_by": 1
},
{
"abstract": "This work contains a formalisation of basic Randomised Social Choice, including Stochastic Dominance and Social Decision Schemes (SDSs) along with some of their most important properties (Anonymity, Neutrality, ex-post- and SD-Efficiency, SD-Strategy-Proofness) and two particular SDSs – Random Dictatorship and Random Serial Dictatorship (with proofs of the properties that they satisfy). Many important properties of these concepts are also proven – such as the two equivalent characterisations of Stochastic Dominance and the fact that SD-efficiency of a lottery only depends on the support. The entry also provides convenient commands to define Preference Profiles, prove their well-formedness, and automatically derive restrictions that sufficiently nice SDSs need to satisfy on the defined profiles. Currently, the formalisation focuses on weak preferences and Stochastic Dominance, but it should be easy to extend it to other domains – such as strict preferences – or other lottery extensions – such as Bilinear Dominance or Pairwise Comparison.",
"authors": [
"Manuel Eberl"
],
"date": "2016-05-05",
- "id": 422,
+ "id": 426,
"link": "/entries/Randomised_Social_Choice.html",
"permalink": "/entries/Randomised_Social_Choice.html",
"shortname": "Randomised_Social_Choice",
"title": "Randomised Social Choice Theory",
"topic_links": [
"mathematics/games-and-economics"
],
"topics": [
"Mathematics/Games and economics"
],
"used_by": 2
},
{
"abstract": "This entry defines the Bell numbers as the cardinality of set partitions for a carrier set of given size, and derives Spivey's generalized recurrence relation for Bell numbers following his elegant and intuitive combinatorial proof. \u003cp\u003e As the set construction for the combinatorial proof requires construction of three intermediate structures, the main difficulty of the formalization is handling the overall combinatorial argument in a structured way. The introduced proof structure allows us to compose the combinatorial argument from its subparts, and supports to keep track how the detailed proof steps are related to the overall argument. To obtain this structure, this entry uses set monad notation for the set construction's definition, introduces suitable predicates and rules, and follows a repeating structure in its Isar proof.",
"authors": [
"Lukas Bulwahn"
],
"date": "2016-05-04",
- "id": 423,
+ "id": 427,
"link": "/entries/Bell_Numbers_Spivey.html",
"permalink": "/entries/Bell_Numbers_Spivey.html",
"shortname": "Bell_Numbers_Spivey",
"title": "Spivey's Generalized Recurrence for Bell Numbers",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 2
},
{
"abstract": "This formalisation contains the proof that there is no anonymous and neutral Social Decision Scheme for at least four voters and alternatives that fulfils both SD-Efficiency and SD-Strategy- Proofness. The proof is a fully structured and quasi-human-redable one. It was derived from the (unstructured) SMT proof of the case for exactly four voters and alternatives by Brandl et al. Their proof relies on an unverified translation of the original problem to SMT, and the proof that lifts the argument for exactly four voters and alternatives to the general case is also not machine-checked. In this Isabelle proof, on the other hand, all of these steps are fully proven and machine-checked. This is particularly important seeing as a previously published informal proof of a weaker statement contained a mistake in precisely this lifting step.",
"authors": [
"Manuel Eberl"
],
"date": "2016-05-04",
- "id": 424,
+ "id": 428,
"link": "/entries/SDS_Impossibility.html",
"permalink": "/entries/SDS_Impossibility.html",
"shortname": "SDS_Impossibility",
"title": "The Incompatibility of SD-Efficiency and SD-Strategy-Proofness",
"topic_links": [
"mathematics/games-and-economics"
],
"topics": [
"Mathematics/Games and economics"
],
"used_by": 0
},
{
"abstract": "This formalization is concerned with the theory of Gröbner bases in (commutative) multivariate polynomial rings over fields, originally developed by Buchberger in his 1965 PhD thesis. Apart from the statement and proof of the main theorem of the theory, the formalization also implements Buchberger's algorithm for actually computing Gröbner bases as a tail-recursive function, thus allowing to effectively decide ideal membership in finitely generated polynomial ideals. Furthermore, all functions can be executed on a concrete representation of multivariate polynomials as association lists.",
"authors": [
"Fabian Immler",
"Alexander Maletzky"
],
"date": "2016-05-02",
- "id": 425,
+ "id": 429,
"link": "/entries/Groebner_Bases.html",
"permalink": "/entries/Groebner_Bases.html",
"shortname": "Groebner_Bases",
"title": "Gröbner Bases Theory",
"topic_links": [
"mathematics/algebra",
"computer-science/algorithms/mathematical"
],
"topics": [
"Mathematics/Algebra",
"Computer science/Algorithms/Mathematical"
],
"used_by": 4
},
{
"abstract": "We provide a formal proof within First Order Relativity Theory that no observer can travel faster than the speed of light. Originally reported in Stannett \u0026 Németi (2014) \"Using Isabelle/HOL to verify first-order relativity theory\", Journal of Automated Reasoning 52(4), pp. 361-378.",
"authors": [
"Mike Stannett",
"István Németi"
],
"date": "2016-04-28",
- "id": 426,
+ "id": 430,
"link": "/entries/No_FTL_observers.html",
"permalink": "/entries/No_FTL_observers.html",
"shortname": "No_FTL_observers",
"title": "No Faster-Than-Light Observers",
"topic_links": [
"mathematics/physics"
],
"topics": [
"Mathematics/Physics"
],
"used_by": 0
},
{
"abstract": "The theory provides a formalisation of the Cocke-Younger-Kasami algorithm (CYK for short), an approach to solving the word problem for context-free languages. CYK decides if a word is in the languages generated by a context-free grammar in Chomsky normal form. The formalized algorithm is executable.",
"authors": [
"Maksym Bortin"
],
"date": "2016-04-27",
- "id": 427,
+ "id": 431,
"link": "/entries/CYK.html",
"permalink": "/entries/CYK.html",
"shortname": "CYK",
"title": "A formalisation of the Cocke-Younger-Kasami algorithm",
"topic_links": [
"computer-science/algorithms",
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Algorithms",
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "We present a verified and executable implementation of ROBDDs in Isabelle/HOL. Our implementation relates pointer-based computation in the Heap monad to operations on an abstract definition of boolean functions. Internally, we implemented the if-then-else combinator in a recursive fashion, following the Shannon decomposition of the argument functions. The implementation mixes and adapts known techniques and is built with efficiency in mind.",
"authors": [
"Julius Michaelis",
"Max W. Haslbeck",
"Peter Lammich",
"Lars Hupel"
],
"date": "2016-04-27",
- "id": 428,
+ "id": 432,
"link": "/entries/ROBDD.html",
"permalink": "/entries/ROBDD.html",
"shortname": "ROBDD",
"title": "Algorithms for Reduced Ordered Binary Decision Diagrams",
"topic_links": [
"computer-science/algorithms",
"computer-science/data-structures"
],
"topics": [
"Computer science/Algorithms",
"Computer science/Data structures"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003eIn his outstanding work on Communicating Sequential Processes, Hoare has defined two fundamental binary operations allowing to compose the input processes into another, typically more complex, process: sequential composition and concurrent composition. Particularly, the output of the former operation is a process that initially behaves like the first operand, and then like the second operand once the execution of the first one has terminated successfully, as long as it does.\u003c/p\u003e \u003cp\u003eThis paper formalizes Hoare's definition of sequential composition and proves, in the general case of a possibly intransitive policy, that CSP noninterference security is conserved under this operation, provided that successful termination cannot be affected by confidential events and cannot occur as an alternative to other events in the traces of the first operand. Both of these assumptions are shown, by means of counterexamples, to be necessary for the theorem to hold.\u003c/p\u003e",
"authors": [
"Pasquale Noce"
],
"date": "2016-04-26",
- "id": 429,
+ "id": 433,
"link": "/entries/Noninterference_Sequential_Composition.html",
"permalink": "/entries/Noninterference_Sequential_Composition.html",
"shortname": "Noninterference_Sequential_Composition",
"title": "Conservation of CSP Noninterference Security under Sequential Composition",
"topic_links": [
"computer-science/security",
"computer-science/concurrency/process-calculi"
],
"topics": [
"Computer science/Security",
"Computer science/Concurrency/Process calculi"
],
"used_by": 1
},
{
"abstract": "Kleene algebras with domain are Kleene algebras endowed with an operation that maps each element of the algebra to its domain of definition (or its complement) in abstract fashion. They form a simple algebraic basis for Hoare logics, dynamic logics or predicate transformer semantics. We formalise a modular hierarchy of algebras with domain and antidomain (domain complement) operations in Isabelle/HOL that ranges from domain and antidomain semigroups to modal Kleene algebras and divergence Kleene algebras. We link these algebras with models of binary relations and program traces. We include some examples from modal logics, termination and program analysis.",
"authors": [
"Victor B. F. Gomes",
"Walter Guttmann",
"Peter Höfner",
"Georg Struth",
"Tjark Weber"
],
"date": "2016-04-12",
- "id": 430,
+ "id": 434,
"link": "/entries/KAD.html",
"permalink": "/entries/KAD.html",
"shortname": "KAD",
"title": "Kleene Algebras with Domain",
"topic_links": [
"computer-science/programming-languages/logics",
"computer-science/automata-and-formal-languages",
"mathematics/algebra"
],
"topics": [
"Computer science/Programming languages/Logics",
"Computer science/Automata and formal languages",
"Mathematics/Algebra"
],
"used_by": 2
},
{
"abstract": "We provide formal proofs in Isabelle-HOL (using mostly structured Isar proofs) of the soundness and completeness of the Resolution rule in propositional logic. The completeness proofs take into account the usual redundancy elimination rules (tautology elimination and subsumption), and several refinements of the Resolution rule are considered: ordered resolution (with selection functions), positive and negative resolution, semantic resolution and unit resolution (the latter refinement is complete only for clause sets that are Horn- renamable). We also define a concrete procedure for computing saturated sets and establish its soundness and completeness. The clause sets are not assumed to be finite, so that the results can be applied to formulas obtained by grounding sets of first-order clauses (however, a total ordering among atoms is assumed to be given). Next, we show that the unrestricted Resolution rule is deductive- complete, in the sense that it is able to generate all (prime) implicates of any set of propositional clauses (i.e., all entailment- minimal, non-valid, clausal consequences of the considered set). The generation of prime implicates is an important problem, with many applications in artificial intelligence and verification (for abductive reasoning, knowledge compilation, diagnosis, debugging etc.). We also show that implicates can be computed in an incremental way, by fixing an ordering among all the atoms in the considered sets and resolving upon these atoms one by one in the considered order (with no backtracking). This feature is critical for the efficient computation of prime implicates. Building on these results, we provide a procedure for computing such implicates and establish its soundness and completeness.",
"authors": [
"Nicolas Peltier"
],
"date": "2016-03-11",
- "id": 431,
+ "id": 435,
"link": "/entries/PropResPI.html",
"permalink": "/entries/PropResPI.html",
"shortname": "PropResPI",
"title": "Propositional Resolution and Prime Implicates Generation",
"topic_links": [
"logic/general-logic/mechanization-of-proofs"
],
"topics": [
"Logic/General logic/Mechanization of proofs"
],
"used_by": 0
},
{
"abstract": "The Cartan fixed point theorems concern the group of holomorphic automorphisms on a connected open set of C\u003csup\u003en\u003c/sup\u003e. Ciolli et al. have formalised the one-dimensional case of these theorems in HOL Light. This entry contains their proofs, ported to Isabelle/HOL. Thus it addresses the authors' remark that \"it would be important to write a formal proof in a language that can be read by both humans and machines\".",
"authors": [
"Lawrence C. Paulson"
],
"date": "2016-03-08",
- "id": 432,
+ "id": 436,
"link": "/entries/Cartan_FP.html",
"permalink": "/entries/Cartan_FP.html",
"shortname": "Cartan_FP",
"title": "The Cartan Fixed Point Theorems",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "Timed automata are a widely used formalism for modeling real-time systems, which is employed in a class of successful model checkers such as UPPAAL [LPY97], HyTech [HHWt97] or Kronos [Yov97]. This work formalizes the theory for the subclass of diagonal-free timed automata, which is sufficient to model many interesting problems. We first define the basic concepts and semantics of diagonal-free timed automata. Based on this, we prove two types of decidability results for the language emptiness problem. The first is the classic result of Alur and Dill [AD90, AD94], which uses a finite partitioning of the state space into so-called `regions`. Our second result focuses on an approach based on `Difference Bound Matrices (DBMs)`, which is practically used by model checkers. We prove the correctness of the basic forward analysis operations on DBMs. One of these operations is the Floyd-Warshall algorithm for the all-pairs shortest paths problem. To obtain a finite search space, a widening operation has to be used for this kind of analysis. We use Patricia Bouyer's [Bou04] approach to prove that this widening operation is correct in the sense that DBM-based forward analysis in combination with the widening operation also decides language emptiness. The interesting property of this proof is that the first decidability result is reused to obtain the second one.",
"authors": [
"Simon Wimmer"
],
"date": "2016-03-08",
- "id": 433,
+ "id": 437,
"link": "/entries/Timed_Automata.html",
"permalink": "/entries/Timed_Automata.html",
"shortname": "Timed_Automata",
"title": "Timed Automata",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 1
},
{
"abstract": "This theory provides a formalisation of linear temporal logic (LTL) and unifies previous formalisations within the AFP. This entry establishes syntax and semantics for this logic and decouples it from existing entries, yielding a common environment for theories reasoning about LTL. Furthermore a parser written in SML and an executable simplifier are provided.",
"authors": [
"Salomon Sickert"
],
"date": "2016-03-01",
- "id": 434,
+ "id": 438,
"link": "/entries/LTL.html",
"permalink": "/entries/LTL.html",
"shortname": "LTL",
"title": "Linear Temporal Logic",
"topic_links": [
"logic/general-logic/temporal-logic",
"computer-science/automata-and-formal-languages"
],
"topics": [
"Logic/General logic/Temporal logic",
"Computer science/Automata and formal languages"
],
"used_by": 6
},
{
"abstract": "\u003cp\u003e These theories formalize the quantitative analysis of a number of classical algorithms for the list update problem: 2-competitiveness of move-to-front, the lower bound of 2 for the competitiveness of deterministic list update algorithms and 1.6-competitiveness of the randomized COMB algorithm, the best randomized list update algorithm known to date. The material is based on the first two chapters of \u003ci\u003eOnline Computation and Competitive Analysis\u003c/i\u003e by Borodin and El-Yaniv. \u003c/p\u003e \u003cp\u003e For an informal description see the FSTTCS 2016 publication \u003ca href=\"http://www21.in.tum.de/~nipkow/pubs/fsttcs16.html\"\u003eVerified Analysis of List Update Algorithms\u003c/a\u003e by Haslbeck and Nipkow. \u003c/p\u003e",
"authors": [
"Maximilian P. L. Haslbeck",
"Tobias Nipkow"
],
"date": "2016-02-17",
- "id": 435,
+ "id": 439,
"link": "/entries/List_Update.html",
"permalink": "/entries/List_Update.html",
"shortname": "List_Update",
"title": "Analysis of List Update Algorithms",
"topic_links": [
"computer-science/algorithms/online"
],
"topics": [
"Computer science/Algorithms/Online"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e We define a functional variant of the static single assignment (SSA) form construction algorithm described by \u003ca href=\"https://doi.org/10.1007/978-3-642-37051-9_6\"\u003eBraun et al.\u003c/a\u003e, which combines simplicity and efficiency. The definition is based on a general, abstract control flow graph representation using Isabelle locales. \u003c/p\u003e \u003cp\u003e We prove that the algorithm's output is semantically equivalent to the input according to a small-step semantics, and that it is in minimal SSA form for the common special case of reducible inputs. We then show the satisfiability of the locale assumptions by giving instantiations for a simple While language. \u003c/p\u003e \u003cp\u003e Furthermore, we use a generic instantiation based on typedefs in order to extract OCaml code and replace the unverified SSA construction algorithm of the \u003ca href=\"https://doi.org/10.1145/2579080\"\u003eCompCertSSA project\u003c/a\u003e with it. \u003c/p\u003e \u003cp\u003e A more detailed description of the verified SSA construction can be found in the paper \u003ca href=\"https://doi.org/10.1145/2892208.2892211\"\u003eVerified Construction of Static Single Assignment Form\u003c/a\u003e, CC 2016. \u003c/p\u003e",
"authors": [
"Sebastian Ullrich",
"Denis Lohner"
],
"date": "2016-02-05",
- "id": 436,
+ "id": 440,
"link": "/entries/Formal_SSA.html",
"permalink": "/entries/Formal_SSA.html",
"shortname": "Formal_SSA",
"title": "Verified Construction of Static Single Assignment Form",
"topic_links": [
"computer-science/programming-languages/compiling"
],
"topics": [
"Computer science/Programming languages/Compiling"
],
"used_by": 1
},
{
"abstract": "Based on existing libraries for polynomial interpolation and matrices, we formalized several factorization algorithms for polynomials, including Kronecker's algorithm for integer polynomials, Yun's square-free factorization algorithm for field polynomials, and Berlekamp's algorithm for polynomials over finite fields. By combining the last one with Hensel's lifting, we derive an efficient factorization algorithm for the integer polynomials, which is then lifted for rational polynomials by mechanizing Gauss' lemma. Finally, we assembled a combined factorization algorithm for rational polynomials, which combines all the mentioned algorithms and additionally uses the explicit formula for roots of quadratic polynomials and a rational root test. \u003cp\u003e As side products, we developed division algorithms for polynomials over integral domains, as well as primality-testing and prime-factorization algorithms for integers.",
"authors": [
"René Thiemann",
"Akihisa Yamada"
],
"date": "2016-01-29",
- "id": 437,
+ "id": 441,
"link": "/entries/Polynomial_Factorization.html",
"permalink": "/entries/Polynomial_Factorization.html",
"shortname": "Polynomial_Factorization",
"title": "Polynomial Factorization",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 12
},
{
"abstract": "We formalized three algorithms for polynomial interpolation over arbitrary fields: Lagrange's explicit expression, the recursive algorithm of Neville and Aitken, and the Newton interpolation in combination with an efficient implementation of divided differences. Variants of these algorithms for integer polynomials are also available, where sometimes the interpolation can fail; e.g., there is no linear integer polynomial \u003ci\u003ep\u003c/i\u003e such that \u003ci\u003ep(0) = 0\u003c/i\u003e and \u003ci\u003ep(2) = 1\u003c/i\u003e. Moreover, for the Newton interpolation for integer polynomials, we proved that all intermediate results that are computed during the algorithm must be integers. This admits an early failure detection in the implementation. Finally, we proved the uniqueness of polynomial interpolation. \u003cp\u003e The development also contains improved code equations to speed up the division of integers in target languages.",
"authors": [
"René Thiemann",
"Akihisa Yamada"
],
"date": "2016-01-29",
- "id": 438,
+ "id": 442,
"link": "/entries/Polynomial_Interpolation.html",
"permalink": "/entries/Polynomial_Interpolation.html",
"shortname": "Polynomial_Interpolation",
"title": "Polynomial Interpolation",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 7
},
{
"abstract": "This work contains a formalization of some topics in knot theory. The concepts that were formalized include definitions of tangles, links, framed links and link/tangle equivalence. The formalization is based on a formulation of links in terms of tangles. We further construct and prove the invariance of the Bracket polynomial. Bracket polynomial is an invariant of framed links closely linked to the Jones polynomial. This is perhaps the first attempt to formalize any aspect of knot theory in an interactive proof assistant.",
"authors": [
"T.V.H. Prathamesh"
],
"date": "2016-01-20",
- "id": 439,
+ "id": 443,
"link": "/entries/Knot_Theory.html",
"permalink": "/entries/Knot_Theory.html",
"shortname": "Knot_Theory",
"title": "Knot Theory",
"topic_links": [
"mathematics/topology"
],
"topics": [
"Mathematics/Topology"
],
"used_by": 0
},
{
"abstract": "In this work, the Kronecker tensor product of matrices and the proofs of some of its properties are formalized. Properties which have been formalized include associativity of the tensor product and the mixed-product property.",
"authors": [
"T.V.H. Prathamesh"
],
"date": "2016-01-18",
- "id": 440,
+ "id": 444,
"link": "/entries/Matrix_Tensor.html",
"permalink": "/entries/Matrix_Tensor.html",
"shortname": "Matrix_Tensor",
"title": "Tensor Product of Matrices",
"topic_links": [
"computer-science/data-structures",
"mathematics/algebra"
],
"topics": [
"Computer science/Data structures",
"Mathematics/Algebra"
],
"used_by": 2
},
{
"abstract": "This entry provides a basic library for number partitions, defines the two-argument partition function through its recurrence relation and relates this partition function to the cardinality of number partitions. The main proof shows that the recursively-defined partition function with arguments n and k equals the cardinality of number partitions of n with exactly k parts. The combinatorial proof follows the proof sketch of Theorem 2.4.1 in Mazur's textbook `Combinatorics: A Guided Tour`. This entry can serve as starting point for various more intrinsic properties about number partitions, the partition function and related recurrence relations.",
"authors": [
"Lukas Bulwahn"
],
"date": "2016-01-14",
- "id": 441,
+ "id": 445,
"link": "/entries/Card_Number_Partitions.html",
"permalink": "/entries/Card_Number_Partitions.html",
"shortname": "Card_Number_Partitions",
"title": "Cardinality of Number Partitions",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 2
},
{
"abstract": "\u003cp\u003e This entry contains a definition of angles between vectors and between three points. Building on this, we prove basic geometric properties of triangles, such as the Isosceles Triangle Theorem, the Law of Sines and the Law of Cosines, that the sum of the angles of a triangle is π, and the congruence theorems for triangles. \u003c/p\u003e\u003cp\u003e The definitions and proofs were developed following those by John Harrison in HOL Light. However, due to Isabelle's type class system, all definitions and theorems in the Isabelle formalisation hold for all real inner product spaces. \u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2015-12-28",
- "id": 442,
+ "id": 446,
"link": "/entries/Triangle.html",
"permalink": "/entries/Triangle.html",
"shortname": "Triangle",
"title": "Basic Geometric Properties of Triangles",
"topic_links": [
"mathematics/geometry"
],
"topics": [
"Mathematics/Geometry"
],
"used_by": 3
},
{
"abstract": "\u003cp\u003e Descartes' Rule of Signs relates the number of positive real roots of a polynomial with the number of sign changes in its coefficient sequence. \u003c/p\u003e\u003cp\u003e Our proof follows the simple inductive proof given by Rob Arthan, which was also used by John Harrison in his HOL Light formalisation. We proved most of the lemmas for arbitrary linearly-ordered integrity domains (e.g. integers, rationals, reals); the main result, however, requires the intermediate value theorem and was therefore only proven for real polynomials. \u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2015-12-28",
- "id": 443,
+ "id": 447,
"link": "/entries/Descartes_Sign_Rule.html",
"permalink": "/entries/Descartes_Sign_Rule.html",
"shortname": "Descartes_Sign_Rule",
"title": "Descartes' Rule of Signs",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e Liouville numbers are a class of transcendental numbers that can be approximated particularly well with rational numbers. Historically, they were the first numbers whose transcendence was proven. \u003c/p\u003e\u003cp\u003e In this entry, we define the concept of Liouville numbers as well as the standard construction to obtain Liouville numbers (including Liouville's constant) and we prove their most important properties: irrationality and transcendence. \u003c/p\u003e\u003cp\u003e The proof is very elementary and requires only standard arithmetic, the Mean Value Theorem for polynomials, and the boundedness of polynomials on compact intervals. \u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2015-12-28",
- "id": 444,
+ "id": 448,
"link": "/entries/Liouville_Numbers.html",
"permalink": "/entries/Liouville_Numbers.html",
"shortname": "Liouville_Numbers",
"title": "Liouville numbers",
"topic_links": [
"mathematics/analysis",
"mathematics/number-theory"
],
"topics": [
"Mathematics/Analysis",
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e In this work, we prove the lower bound \u003cspan class=\"nobr\"\u003eln(H_n) - ln(5/3)\u003c/span\u003e for the partial sum of the Prime Harmonic series and, based on this, the divergence of the Prime Harmonic Series \u003cspan class=\"nobr\"\u003e∑[p\u0026thinsp;prime]\u0026thinsp;·\u0026thinsp;1/p.\u003c/span\u003e \u003c/p\u003e\u003cp\u003e The proof relies on the unique squarefree decomposition of natural numbers. This is similar to Euler's original proof (which was highly informal and morally questionable). Its advantage over proofs by contradiction, like the famous one by Paul Erdős, is that it provides a relatively good lower bound for the partial sums. \u003c/p\u003e",
"authors": [
"Manuel Eberl"
],
"date": "2015-12-28",
- "id": 445,
+ "id": 449,
"link": "/entries/Prime_Harmonic_Series.html",
"permalink": "/entries/Prime_Harmonic_Series.html",
"shortname": "Prime_Harmonic_Series",
"title": "The Divergence of the Prime Harmonic Series",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "Based on existing libraries for matrices, factorization of rational polynomials, and Sturm's theorem, we formalized algebraic numbers in Isabelle/HOL. Our development serves as an implementation for real and complex numbers, and it admits to compute roots and completely factorize real and complex polynomials, provided that all coefficients are rational numbers. Moreover, we provide two implementations to display algebraic numbers, an injective and expensive one, or a faster but approximative version. \u003c/p\u003e\u003cp\u003e To this end, we mechanized several results on resultants, which also required us to prove that polynomials over a unique factorization domain form again a unique factorization domain. \u003c/p\u003e",
"authors": [
"René Thiemann",
"Akihisa Yamada",
"Sebastiaan J. C. Joosten"
],
"date": "2015-12-22",
- "id": 446,
+ "id": 450,
"link": "/entries/Algebraic_Numbers.html",
"permalink": "/entries/Algebraic_Numbers.html",
"shortname": "Algebraic_Numbers",
"title": "Algebraic Numbers in Isabelle/HOL",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 6
},
{
"abstract": "Applicative functors augment computations with effects by lifting function application to types which model the effects. As the structure of the computation cannot depend on the effects, applicative expressions can be analysed statically. This allows us to lift universally quantified equations to the effectful types, as observed by Hinze. Thus, equational reasoning over effectful computations can be reduced to pure types. \u003c/p\u003e\u003cp\u003e This entry provides a package for registering applicative functors and two proof methods for lifting of equations over applicative functors. The first method normalises applicative expressions according to the laws of applicative functors. This way, equations whose two sides contain the same list of variables can be lifted to every applicative functor. \u003c/p\u003e\u003cp\u003e To lift larger classes of equations, the second method exploits a number of additional properties (e.g., commutativity of effects) provided the properties have been declared for the concrete applicative functor at hand upon registration. \u003c/p\u003e\u003cp\u003e We declare several types from the Isabelle library as applicative functors and illustrate the use of the methods with two examples: the lifting of the arithmetic type class hierarchy to streams and the verification of a relabelling function on binary trees. We also formalise and verify the normalisation algorithm used by the first proof method. \u003c/p\u003e",
"authors": [
"Andreas Lochbihler",
"Joshua Schneider"
],
"date": "2015-12-22",
- "id": 447,
+ "id": 451,
"link": "/entries/Applicative_Lifting.html",
"permalink": "/entries/Applicative_Lifting.html",
"shortname": "Applicative_Lifting",
"title": "Applicative Lifting",
"topic_links": [
"computer-science/functional-programming"
],
"topics": [
"Computer science/Functional programming"
],
"used_by": 4
},
{
"abstract": "The Stern-Brocot tree contains all rational numbers exactly once and in their lowest terms. We formalise the Stern-Brocot tree as a coinductive tree using recursive and iterative specifications, which we have proven equivalent, and show that it indeed contains all the numbers as stated. Following Hinze, we prove that the Stern-Brocot tree can be linearised looplessly into Stern's diatonic sequence (also known as Dijkstra's fusc function) and that it is a permutation of the Bird tree. \u003c/p\u003e\u003cp\u003e The reasoning stays at an abstract level by appealing to the uniqueness of solutions of guarded recursive equations and lifting algebraic laws point-wise to trees and streams using applicative functors. \u003c/p\u003e",
"authors": [
"Peter Gammie",
"Andreas Lochbihler"
],
"date": "2015-12-22",
- "id": 448,
+ "id": 452,
"link": "/entries/Stern_Brocot.html",
"permalink": "/entries/Stern_Brocot.html",
"shortname": "Stern_Brocot",
"title": "The Stern-Brocot Tree",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "The theory's main theorem states that the cardinality of set partitions of size k on a carrier set of size n is expressed by Stirling numbers of the second kind. In Isabelle, Stirling numbers of the second kind are defined in the AFP entry `Discrete Summation` through their well-known recurrence relation. The main theorem relates them to the alternative definition as cardinality of set partitions. The proof follows the simple and short explanation in Richard P. Stanley's `Enumerative Combinatorics: Volume 1` and Wikipedia, and unravels the full details and implicit reasoning steps of these explanations.",
"authors": [
"Lukas Bulwahn"
],
"date": "2015-12-12",
- "id": 449,
+ "id": 453,
"link": "/entries/Card_Partitions.html",
"permalink": "/entries/Card_Partitions.html",
"shortname": "Card_Partitions",
"title": "Cardinality of Set Partitions",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 4
},
{
"abstract": "A Latin Square is a n x n table filled with integers from 1 to n where each number appears exactly once in each row and each column. A Latin Rectangle is a partially filled n x n table with r filled rows and n-r empty rows, such that each number appears at most once in each row and each column. The main result of this theory is that any Latin Rectangle can be completed to a Latin Square.",
"authors": [
"Alexander Bentkamp"
],
"date": "2015-12-02",
- "id": 450,
+ "id": 454,
"link": "/entries/Latin_Square.html",
"permalink": "/entries/Latin_Square.html",
"shortname": "Latin_Square",
"title": "Latin Square",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 0
},
{
"abstract": "Ergodic theory is the branch of mathematics that studies the behaviour of measure preserving transformations, in finite or infinite measure. It interacts both with probability theory (mainly through measure theory) and with geometry as a lot of interesting examples are from geometric origin. We implement the first definitions and theorems of ergodic theory, including notably Poicaré recurrence theorem for finite measure preserving systems (together with the notion of conservativity in general), induced maps, Kac's theorem, Birkhoff theorem (arguably the most important theorem in ergodic theory), and variations around it such as conservativity of the corresponding skew product, or Atkinson lemma.",
"authors": [
"Sebastien Gouezel"
],
"date": "2015-12-01",
- "id": 451,
+ "id": 455,
"link": "/entries/Ergodic_Theory.html",
"permalink": "/entries/Ergodic_Theory.html",
"shortname": "Ergodic_Theory",
"title": "Ergodic Theory",
"topic_links": [
"mathematics/probability-theory"
],
"topics": [
"Mathematics/Probability theory"
],
"used_by": 4
},
{
"abstract": "Euler's Partition Theorem states that the number of partitions with only distinct parts is equal to the number of partitions with only odd parts. The combinatorial proof follows John Harrison's HOL Light formalization. This theorem is the 45th theorem of the Top 100 Theorems list.",
"authors": [
"Lukas Bulwahn"
],
"date": "2015-11-19",
- "id": 452,
+ "id": 456,
"link": "/entries/Euler_Partition.html",
"permalink": "/entries/Euler_Partition.html",
"shortname": "Euler_Partition",
"title": "Euler's Partition Theorem",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 0
},
{
"abstract": "We formalize the Tortoise and Hare cycle-finding algorithm ascribed to Floyd by Knuth, and an improved version due to Brent.",
"authors": [
"Peter Gammie"
],
"date": "2015-11-18",
- "id": 453,
+ "id": 457,
"link": "/entries/TortoiseHare.html",
"permalink": "/entries/TortoiseHare.html",
"shortname": "TortoiseHare",
"title": "The Tortoise and Hare Algorithm",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "This development provides a formalization of planarity based on combinatorial maps and proves that Kuratowski's theorem implies combinatorial planarity. Moreover, it contains verified implementations of programs checking certificates for planarity (i.e., a combinatorial map) or non-planarity (i.e., a Kuratowski subgraph).",
"authors": [
"Lars Noschinski"
],
"date": "2015-11-11",
- "id": 454,
+ "id": 458,
"link": "/entries/Planarity_Certificates.html",
"permalink": "/entries/Planarity_Certificates.html",
"shortname": "Planarity_Certificates",
"title": "Planarity Certificates",
"topic_links": [
"mathematics/graph-theory"
],
"topics": [
"Mathematics/Graph theory"
],
"used_by": 0
},
{
"abstract": "We present a formalization of parity games (a two-player game on directed graphs) and a proof of their positional determinacy in Isabelle/HOL. This proof works for both finite and infinite games.",
"authors": [
"Christoph Dittmann"
],
"date": "2015-11-02",
- "id": 455,
+ "id": 459,
"link": "/entries/Parity_Game.html",
"permalink": "/entries/Parity_Game.html",
"shortname": "Parity_Game",
"title": "Positional Determinacy of Parity Games",
"topic_links": [
"mathematics/games-and-economics",
"mathematics/graph-theory"
],
"topics": [
"Mathematics/Games and economics",
"Mathematics/Graph theory"
],
"used_by": 1
},
{
"abstract": "We represent a theory \u003ci\u003eof\u003c/i\u003e (a fragment of) Isabelle/HOL \u003ci\u003ein\u003c/i\u003e Isabelle/HOL. The purpose of this exercise is to write packages for domain-specific specifications such as class models, B-machines, ..., and generally speaking, any domain-specific languages whose abstract syntax can be defined by a HOL \"datatype\". On this basis, the Isabelle code-generator can then be used to generate code for global context transformations as well as tactic code. \u003cp\u003e Consequently the package is geared towards parsing, printing and code-generation to the Isabelle API. It is at the moment not sufficiently rich for doing meta theory on Isabelle itself. Extensions in this direction are possible though. \u003cp\u003e Moreover, the chosen fragment is fairly rudimentary. However it should be easily adapted to one's needs if a package is written on top of it. The supported API contains types, terms, transformation of global context like definitions and data-type declarations as well as infrastructure for Isar-setups. \u003cp\u003e This theory is drawn from the \u003ca href=\"http://isa-afp.org/entries/Featherweight_OCL.html\"\u003eFeatherweight OCL\u003c/a\u003e project where it is used to construct a package for object-oriented data-type theories generated from UML class diagrams. The Featherweight OCL, for example, allows for both the direct execution of compiled tactic code by the Isabelle API as well as the generation of \".thy\"-files for debugging purposes. \u003cp\u003e Gained experience from this project shows that the compiled code is sufficiently efficient for practical purposes while being based on a formal \u003ci\u003emodel\u003c/i\u003e on which properties of the package can be proven such as termination of certain transformations, correctness, etc.",
"authors": [
"Frédéric Tuong",
"Burkhart Wolff"
],
"date": "2015-09-16",
- "id": 456,
+ "id": 460,
"link": "/entries/Isabelle_Meta_Model.html",
"permalink": "/entries/Isabelle_Meta_Model.html",
"shortname": "Isabelle_Meta_Model",
"title": "A Meta-Model for the Isabelle API",
"topic_links": [
"computer-science/programming-languages/language-definitions"
],
"topics": [
"Computer science/Programming languages/Language definitions"
],
"used_by": 0
},
{
"abstract": "Recently, Javier Esparza and Jan Kretinsky proposed a new method directly translating linear temporal logic (LTL) formulas to deterministic (generalized) Rabin automata. Compared to the existing approaches of constructing a non-deterministic Buechi-automaton in the first step and then applying a determinization procedure (e.g. some variant of Safra's construction) in a second step, this new approach preservers a relation between the formula and the states of the resulting automaton. While the old approach produced a monolithic structure, the new method is compositional. Furthermore, in some cases the resulting automata are much smaller than the automata generated by existing approaches. In order to ensure the correctness of the construction, this entry contains a complete formalisation and verification of the translation. Furthermore from this basis executable code is generated.",
"authors": [
"Salomon Sickert"
],
"date": "2015-09-04",
- "id": 457,
+ "id": 461,
"link": "/entries/LTL_to_DRA.html",
"permalink": "/entries/LTL_to_DRA.html",
"shortname": "LTL_to_DRA",
"title": "Converting Linear Temporal Logic to Deterministic (Generalized) Rabin Automata",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e Matrix interpretations are useful as measure functions in termination proving. In order to use these interpretations also for complexity analysis, the growth rate of matrix powers has to examined. Here, we formalized a central result of spectral radius theory, namely that the growth rate is polynomially bounded if and only if the spectral radius of a matrix is at most one. \u003c/p\u003e\u003cp\u003e To formally prove this result we first studied the growth rates of matrices in Jordan normal form, and prove the result that every complex matrix has a Jordan normal form using a constructive prove via Schur decomposition. \u003c/p\u003e\u003cp\u003e The whole development is based on a new abstract type for matrices, which is also executable by a suitable setup of the code generator. It completely subsumes our former AFP-entry on executable matrices, and its main advantage is its close connection to the HMA-representation which allowed us to easily adapt existing proofs on determinants. \u003c/p\u003e\u003cp\u003e All the results have been applied to improve CeTA, our certifier to validate termination and complexity proof certificates. \u003c/p\u003e",
"authors": [
"René Thiemann",
"Akihisa Yamada"
],
"date": "2015-08-21",
- "id": 458,
+ "id": 462,
"link": "/entries/Jordan_Normal_Form.html",
"permalink": "/entries/Jordan_Normal_Form.html",
"shortname": "Jordan_Normal_Form",
"title": "Matrices, Jordan Normal Forms, and Spectral Radius Theory",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 12
},
{
"abstract": "This theory formalizes the commutation version of decreasing diagrams for Church-Rosser modulo. The proof follows Felgenhauer and van Oostrom (RTA 2013). The theory also provides important specializations, in particular van Oostrom’s conversion version (TCS 2008) of decreasing diagrams.",
"authors": [
"Bertram Felgenhauer"
],
"date": "2015-08-20",
- "id": 459,
+ "id": 463,
"link": "/entries/Decreasing-Diagrams-II.html",
"permalink": "/entries/Decreasing-Diagrams-II.html",
"shortname": "Decreasing-Diagrams-II",
"title": "Decreasing Diagrams II",
"topic_links": [
"logic/rewriting"
],
"topics": [
"Logic/Rewriting"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e The necessary and sufficient condition for CSP noninterference security stated by the Ipurge Unwinding Theorem is expressed in terms of a pair of event lists varying over the set of process traces. This does not render it suitable for the subsequent application of rule induction in the case of a process defined inductively, since rule induction may rather be applied to a single variable ranging over an inductively defined set. \u003c/p\u003e\u003cp\u003e Starting from the Ipurge Unwinding Theorem, this paper derives a necessary and sufficient condition for CSP noninterference security that involves a single event list varying over the set of process traces, and is thus suitable for rule induction; hence its name, Inductive Unwinding Theorem. Similarly to the Ipurge Unwinding Theorem, the new theorem only requires to consider individual accepted and refused events for each process trace, and applies to the general case of a possibly intransitive noninterference policy. Specific variants of this theorem are additionally proven for deterministic processes and trace set processes. \u003c/p\u003e",
"authors": [
"Pasquale Noce"
],
"date": "2015-08-18",
- "id": 460,
+ "id": 464,
"link": "/entries/Noninterference_Inductive_Unwinding.html",
"permalink": "/entries/Noninterference_Inductive_Unwinding.html",
"shortname": "Noninterference_Inductive_Unwinding",
"title": "The Inductive Unwinding Theorem for CSP Noninterference Security",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "We provide a formal framework for the theory of representations of finite groups, as modules over the group ring. Along the way, we develop the general theory of groups (relying on the group_add class for the basics), modules, and vector spaces, to the extent required for theory of group representations. We then provide formal proofs of several important introductory theorems in the subject, including Maschke's theorem, Schur's lemma, and Frobenius reciprocity. We also prove that every irreducible representation is isomorphic to a submodule of the group ring, leading to the fact that for a finite group there are only finitely many isomorphism classes of irreducible representations. In all of this, no restriction is made on the characteristic of the ring or field of scalars until the definition of a group representation, and then the only restriction made is that the characteristic must not divide the order of the group.",
"authors": [
"Jeremy Sylvestre"
],
"date": "2015-08-12",
- "id": 461,
+ "id": 465,
"link": "/entries/Rep_Fin_Groups.html",
"permalink": "/entries/Rep_Fin_Groups.html",
"shortname": "Rep_Fin_Groups",
"title": "Representations of Finite Groups",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "Encodings or the proof of their absence are the main way to compare process calculi. To analyse the quality of encodings and to rule out trivial or meaningless encodings, they are augmented with quality criteria. There exists a bunch of different criteria and different variants of criteria in order to reason in different settings. This leads to incomparable results. Moreover it is not always clear whether the criteria used to obtain a result in a particular setting do indeed fit to this setting. We show how to formally reason about and compare encodability criteria by mapping them on requirements on a relation between source and target terms that is induced by the encoding function. In particular we analyse the common criteria full abstraction, operational correspondence, divergence reflection, success sensitiveness, and respect of barbs; e.g. we analyse the exact nature of the simulation relation (coupled simulation versus bisimulation) that is induced by different variants of operational correspondence. This way we reduce the problem of analysing or comparing encodability criteria to the better understood problem of comparing relations on processes.",
"authors": [
"Kirstin Peters",
"Rob van Glabbeek"
],
"date": "2015-08-10",
- "id": 462,
+ "id": 466,
"link": "/entries/Encodability_Process_Calculi.html",
"permalink": "/entries/Encodability_Process_Calculi.html",
"shortname": "Encodability_Process_Calculi",
"title": "Analysing and Comparing Encodability Criteria for Process Calculi",
"topic_links": [
"computer-science/concurrency/process-calculi"
],
"topics": [
"Computer science/Concurrency/Process calculi"
],
"used_by": 0
},
{
"abstract": "Isabelle/Isar provides named cases to structure proofs. This article contains an implementation of a proof method \u003ctt\u003ecasify\u003c/tt\u003e, which can be used to easily extend proof tools with support for named cases. Such a proof tool must produce labeled subgoals, which are then interpreted by \u003ctt\u003ecasify\u003c/tt\u003e. \u003cp\u003e As examples, this work contains verification condition generators producing named cases for three languages: The Hoare language from \u003ctt\u003eHOL/Library\u003c/tt\u003e, a monadic language for computations with failure (inspired by the AutoCorres tool), and a language of conditional expressions. These VCGs are demonstrated by a number of example programs.",
"authors": [
"Lars Noschinski"
],
"date": "2015-07-21",
- "id": 463,
+ "id": 467,
"link": "/entries/Case_Labeling.html",
"permalink": "/entries/Case_Labeling.html",
"shortname": "Case_Labeling",
"title": "Generating Cases from Labeled Subgoals",
"topic_links": [
"tools",
"computer-science/programming-languages/misc"
],
"topics": [
"Tools",
"Computer science/Programming languages/Misc"
],
"used_by": 1
},
{
"abstract": "This entry provides Landau symbols to describe and reason about the asymptotic growth of functions for sufficiently large inputs. A number of simplification procedures are provided for additional convenience: cancelling of dominated terms in sums under a Landau symbol, cancelling of common factors in products, and a decision procedure for Landau expressions containing products of powers of functions like x, ln(x), ln(ln(x)) etc.",
"authors": [
"Manuel Eberl"
],
"date": "2015-07-14",
- "id": 464,
+ "id": 468,
"link": "/entries/Landau_Symbols.html",
"permalink": "/entries/Landau_Symbols.html",
"shortname": "Landau_Symbols",
"title": "Landau Symbols",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 11
},
{
"abstract": "This article contains a formalisation of the Akra-Bazzi method based on a proof by Leighton. It is a generalisation of the well-known Master Theorem for analysing the complexity of Divide \u0026 Conquer algorithms. We also include a generalised version of the Master theorem based on the Akra-Bazzi theorem, which is easier to apply than the Akra-Bazzi theorem itself. \u003cp\u003e Some proof methods that facilitate applying the Master theorem are also included. For a more detailed explanation of the formalisation and the proof methods, see the accompanying paper (publication forthcoming).",
"authors": [
"Manuel Eberl"
],
"date": "2015-07-14",
- "id": 465,
+ "id": 469,
"link": "/entries/Akra_Bazzi.html",
"permalink": "/entries/Akra_Bazzi.html",
"shortname": "Akra_Bazzi",
"title": "The Akra-Bazzi theorem and the Master theorem",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 1
},
{
"abstract": "Hermite Normal Form is a canonical matrix analogue of Reduced Echelon Form, but involving matrices over more general rings. In this work we formalise an algorithm to compute the Hermite Normal Form of a matrix by means of elementary row operations, taking advantage of the Echelon Form AFP entry. We have proven the correctness of such an algorithm and refined it to immutable arrays. Furthermore, we have also formalised the uniqueness of the Hermite Normal Form of a matrix. Code can be exported and some examples of execution involving integer matrices and polynomial matrices are presented as well.",
"authors": [
"Jose Divasón",
"Jesús Aransay"
],
"date": "2015-07-07",
- "id": 466,
+ "id": 470,
"link": "/entries/Hermite.html",
"permalink": "/entries/Hermite.html",
"shortname": "Hermite",
"title": "Hermite Normal Form",
"topic_links": [
"computer-science/algorithms/mathematical",
"mathematics/algebra"
],
"topics": [
"Computer science/Algorithms/Mathematical",
"Mathematics/Algebra"
],
"used_by": 2
},
{
"abstract": "The Derangements Formula describes the number of fixpoint-free permutations as a closed formula. This theorem is the 88th theorem in a list of the ``\u003ca href=\"http://www.cs.ru.nl/~freek/100/\"\u003eTop 100 Mathematical Theorems\u003c/a\u003e''.",
"authors": [
"Lukas Bulwahn"
],
"date": "2015-06-27",
- "id": 467,
+ "id": 471,
"link": "/entries/Derangements.html",
"permalink": "/entries/Derangements.html",
"shortname": "Derangements",
"title": "Derangements Formula",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 0
},
{
"abstract": "Binary multirelations associate elements of a set with its subsets; hence they are binary relations from a set to its power set. Applications include alternating automata, models and logics for games, program semantics with dual demonic and angelic nondeterministic choices and concurrent dynamic logics. This proof document supports an arXiv article that formalises the basic algebra of multirelations and proposes axiom systems for them, ranging from weak bi-monoids to weak bi-quantales.",
"authors": [
"Hitoshi Furusawa",
"Georg Struth"
],
"date": "2015-06-11",
- "id": 468,
+ "id": 472,
"link": "/entries/Multirelations.html",
"permalink": "/entries/Multirelations.html",
"shortname": "Multirelations",
"title": "Binary Multirelations",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e Among the various mathematical tools introduced in his outstanding work on Communicating Sequential Processes, Hoare has defined \"interleaves\" as the predicate satisfied by any three lists such that the first list may be split into sublists alternately extracted from the other two ones, whatever is the criterion for extracting an item from either one list or the other in each step. \u003c/p\u003e\u003cp\u003e This paper enriches Hoare's definition by identifying such criterion with the truth value of a predicate taking as inputs the head and the tail of the first list. This enhanced \"interleaves\" predicate turns out to permit the proof of equalities between lists without the need of an induction. Some rules that allow to infer \"interleaves\" statements without induction, particularly applying to the addition or removal of a prefix to the input lists, are also proven. Finally, a stronger version of the predicate, named \"Interleaves\", is shown to fulfil further rules applying to the addition or removal of a suffix to the input lists. \u003c/p\u003e",
"authors": [
"Pasquale Noce"
],
"date": "2015-06-11",
- "id": 469,
+ "id": 473,
"link": "/entries/List_Interleaving.html",
"permalink": "/entries/List_Interleaving.html",
"shortname": "List_Interleaving",
"title": "Reasoning about Lists via List Interleaving",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003e The classical definition of noninterference security for a deterministic state machine with outputs requires to consider the outputs produced by machine actions after any trace, i.e. any indefinitely long sequence of actions, of the machine. In order to render the verification of the security of such a machine more straightforward, there is a need of some sufficient condition for security such that just individual actions, rather than unbounded sequences of actions, have to be considered. \u003c/p\u003e\u003cp\u003e By extending previous results applying to transitive noninterference policies, Rushby has proven an unwinding theorem that provides a sufficient condition of this kind in the general case of a possibly intransitive policy. This condition has to be satisfied by a generic function mapping security domains into equivalence relations over machine states. \u003c/p\u003e\u003cp\u003e An analogous problem arises for CSP noninterference security, whose definition requires to consider any possible future, i.e. any indefinitely long sequence of subsequent events and any indefinitely large set of refused events associated to that sequence, for each process trace. \u003c/p\u003e\u003cp\u003e This paper provides a sufficient condition for CSP noninterference security, which indeed requires to just consider individual accepted and refused events and applies to the general case of a possibly intransitive policy. This condition follows Rushby's one for classical noninterference security, and has to be satisfied by a generic function mapping security domains into equivalence relations over process traces; hence its name, Generic Unwinding Theorem. Variants of this theorem applying to deterministic processes and trace set processes are also proven. Finally, the sufficient condition for security expressed by the theorem is shown not to be a necessary condition as well, viz. there exists a secure process such that no domain-relation map satisfying the condition exists. \u003c/p\u003e",
"authors": [
"Pasquale Noce"
],
"date": "2015-06-11",
- "id": 470,
+ "id": 474,
"link": "/entries/Noninterference_Generic_Unwinding.html",
"permalink": "/entries/Noninterference_Generic_Unwinding.html",
"shortname": "Noninterference_Generic_Unwinding",
"title": "The Generic Unwinding Theorem for CSP Noninterference Security",
"topic_links": [
"computer-science/security",
"computer-science/concurrency/process-calculi"
],
"topics": [
"Computer science/Security",
"Computer science/Concurrency/Process calculi"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e The definition of noninterference security for Communicating Sequential Processes requires to consider any possible future, i.e. any indefinitely long sequence of subsequent events and any indefinitely large set of refused events associated to that sequence, for each process trace. In order to render the verification of the security of a process more straightforward, there is a need of some sufficient condition for security such that just individual accepted and refused events, rather than unbounded sequences and sets of events, have to be considered. \u003c/p\u003e\u003cp\u003e Of course, if such a sufficient condition were necessary as well, it would be even more valuable, since it would permit to prove not only that a process is secure by verifying that the condition holds, but also that a process is not secure by verifying that the condition fails to hold. \u003c/p\u003e\u003cp\u003e This paper provides a necessary and sufficient condition for CSP noninterference security, which indeed requires to just consider individual accepted and refused events and applies to the general case of a possibly intransitive policy. This condition follows Rushby's output consistency for deterministic state machines with outputs, and has to be satisfied by a specific function mapping security domains into equivalence relations over process traces. The definition of this function makes use of an intransitive purge function following Rushby's one; hence the name given to the condition, Ipurge Unwinding Theorem. \u003c/p\u003e\u003cp\u003e Furthermore, in accordance with Hoare's formal definition of deterministic processes, it is shown that a process is deterministic just in case it is a trace set process, i.e. it may be identified by means of a trace set alone, matching the set of its traces, in place of a failures-divergences pair. Then, variants of the Ipurge Unwinding Theorem are proven for deterministic processes and trace set processes. \u003c/p\u003e",
"authors": [
"Pasquale Noce"
],
"date": "2015-06-11",
- "id": 471,
+ "id": 475,
"link": "/entries/Noninterference_Ipurge_Unwinding.html",
"permalink": "/entries/Noninterference_Ipurge_Unwinding.html",
"shortname": "Noninterference_Ipurge_Unwinding",
"title": "The Ipurge Unwinding Theorem for CSP Noninterference Security",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 3
},
{
"abstract": "This article formalizes the amortized analysis of dynamic tables parameterized with their minimal and maximal load factors and the expansion and contraction factors. \u003cP\u003e A full description is found in a \u003ca href=\"http://www21.in.tum.de/~nipkow/pubs\"\u003ecompanion paper\u003c/a\u003e.",
"authors": [
"Tobias Nipkow"
],
"date": "2015-06-07",
- "id": 472,
+ "id": 476,
"link": "/entries/Dynamic_Tables.html",
"permalink": "/entries/Dynamic_Tables.html",
"shortname": "Dynamic_Tables",
"title": "Parameterized Dynamic Tables",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "We formalize new decision procedures for WS1S, M2L(Str), and Presburger Arithmetics. Formulas of these logics denote regular languages. Unlike traditional decision procedures, we do \u003cem\u003enot\u003c/em\u003e translate formulas into automata (nor into regular expressions), at least not explicitly. Instead we devise notions of derivatives (inspired by Brzozowski derivatives for regular expressions) that operate on formulas directly and compute a syntactic bisimulation using these derivatives. The treatment of Boolean connectives and quantifiers is uniform for all mentioned logics and is abstracted into a locale. This locale is then instantiated by different atomic formulas and their derivatives (which may differ even for the same logic under different encodings of interpretations as formal words). \u003cp\u003e The WS1S instance is described in the draft paper \u003ca href=\"https://people.inf.ethz.ch/trayteld/papers/csl15-ws1s_derivatives/index.html\"\u003eA Coalgebraic Decision Procedure for WS1S\u003c/a\u003e by the author.",
"authors": [
"Dmitriy Traytel"
],
"date": "2015-05-28",
- "id": 473,
+ "id": 477,
"link": "/entries/Formula_Derivatives.html",
"permalink": "/entries/Formula_Derivatives.html",
"shortname": "Formula_Derivatives",
"title": "Derivatives of Logical Formulas",
"topic_links": [
"computer-science/automata-and-formal-languages",
"logic/general-logic/decidability-of-theories"
],
"topics": [
"Computer science/Automata and formal languages",
"Logic/General logic/Decidability of theories"
],
"used_by": 1
},
{
"abstract": "Numerous models of probabilistic systems are studied in the literature. Coalgebra has been used to classify them into system types and compare their expressiveness. We formalize the resulting hierarchy of probabilistic system types by modeling the semantics of the different systems as codatatypes. This approach yields simple and concise proofs, as bisimilarity coincides with equality for codatatypes. \u003cp\u003e This work is described in detail in the ITP 2015 publication by the authors.",
"authors": [
"Johannes Hölzl",
"Andreas Lochbihler",
"Dmitriy Traytel"
],
"date": "2015-05-27",
- "id": 474,
+ "id": 478,
"link": "/entries/Probabilistic_System_Zoo.html",
"permalink": "/entries/Probabilistic_System_Zoo.html",
"shortname": "Probabilistic_System_Zoo",
"title": "A Zoo of Probabilistic Systems",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "A VCG auction (named after their inventors Vickrey, Clarke, and Groves) is a generalization of the single-good, second price Vickrey auction to the case of a combinatorial auction (multiple goods, from which any participant can bid on each possible combination). We formalize in this entry VCG auctions, including tie-breaking and prove that the functions for the allocation and the price determination are well-defined. Furthermore we show that the allocation function allocates goods only to participants, only goods in the auction are allocated, and no good is allocated twice. We also show that the price function is non-negative. These properties also hold for the automatically extracted Scala code.",
"authors": [
"Marco B. Caminati",
"Manfred Kerber",
"Christoph Lange",
"Colin Rowat"
],
"date": "2015-04-30",
- "id": 475,
+ "id": 479,
"link": "/entries/Vickrey_Clarke_Groves.html",
"permalink": "/entries/Vickrey_Clarke_Groves.html",
"shortname": "Vickrey_Clarke_Groves",
"title": "VCG - Combinatorial Vickrey-Clarke-Groves Auctions",
"topic_links": [
"mathematics/games-and-economics"
],
"topics": [
"Mathematics/Games and economics"
],
"used_by": 0
},
{
"abstract": "The theory of residuated lattices, first proposed by Ward and Dilworth, is formalised in Isabelle/HOL. This includes concepts of residuated functions; their adjoints and conjugates. It also contains necessary and sufficient conditions for the existence of these operations in an arbitrary lattice. The mathematical components for residuated lattices are linked to the AFP entry for relation algebra. In particular, we prove Jonsson and Tsinakis conditions for a residuated boolean algebra to form a relation algebra.",
"authors": [
"Victor B. F. Gomes",
"Georg Struth"
],
"date": "2015-04-15",
- "id": 476,
+ "id": 480,
"link": "/entries/Residuated_Lattices.html",
"permalink": "/entries/Residuated_Lattices.html",
"shortname": "Residuated_Lattices",
"title": "Residuated Lattices",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "ConcurrentIMP extends the small imperative language IMP with control non-determinism and constructs for synchronous message passing.",
"authors": [
"Peter Gammie"
],
"date": "2015-04-13",
- "id": 477,
+ "id": 481,
"link": "/entries/ConcurrentIMP.html",
"permalink": "/entries/ConcurrentIMP.html",
"shortname": "ConcurrentIMP",
"title": "Concurrent IMP",
"topic_links": [
"computer-science/programming-languages/logics"
],
"topics": [
"Computer science/Programming languages/Logics"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003e We use ConcurrentIMP to model Schism, a state-of-the-art real-time garbage collection scheme for weak memory, and show that it is safe on x86-TSO.\u003c/p\u003e \u003cp\u003e This development accompanies the PLDI 2015 paper of the same name. \u003c/p\u003e",
"authors": [
"Peter Gammie",
"Tony Hosking",
"Kai Engelhardt"
],
"date": "2015-04-13",
- "id": 478,
+ "id": 482,
"link": "/entries/ConcurrentGC.html",
"permalink": "/entries/ConcurrentGC.html",
"shortname": "ConcurrentGC",
"title": "Relaxing Safely: Verified On-the-Fly Garbage Collection for x86-TSO",
"topic_links": [
"computer-science/algorithms/concurrent"
],
"topics": [
"Computer science/Algorithms/Concurrent"
],
"used_by": 0
},
{
"abstract": "This article formalizes the ``trie'' data structure invented by Fredkin [CACM 1960]. It also provides a specialization where the entries in the trie are lists.",
"authors": [
"Andreas Lochbihler",
"Tobias Nipkow"
],
"date": "2015-03-30",
- "id": 479,
+ "id": 483,
"link": "/entries/Trie.html",
"permalink": "/entries/Trie.html",
"shortname": "Trie",
"title": "Trie",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 5
},
{
"abstract": "Algorithms for solving the consensus problem are fundamental to distributed computing. Despite their brevity, their ability to operate in concurrent, asynchronous and failure-prone environments comes at the cost of complex and subtle behaviors. Accordingly, understanding how they work and proving their correctness is a non-trivial endeavor where abstraction is immensely helpful. Moreover, research on consensus has yielded a large number of algorithms, many of which appear to share common algorithmic ideas. A natural question is whether and how these similarities can be distilled and described in a precise, unified way. In this work, we combine stepwise refinement and lockstep models to provide an abstract and unified view of a sizeable family of consensus algorithms. Our models provide insights into the design choices underlying the different algorithms, and classify them based on those choices.",
"authors": [
"Ognjen Marić",
"Christoph Sprenger"
],
"date": "2015-03-18",
- "id": 480,
+ "id": 484,
"link": "/entries/Consensus_Refined.html",
"permalink": "/entries/Consensus_Refined.html",
"shortname": "Consensus_Refined",
"title": "Consensus Refined",
"topic_links": [
"computer-science/algorithms/distributed"
],
"topics": [
"Computer science/Algorithms/Distributed"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eWe provide a framework for registering automatic methods to derive class instances of datatypes, as it is possible using Haskell's ``deriving Ord, Show, ...'' feature.\u003c/p\u003e \u003cp\u003eWe further implemented such automatic methods to derive comparators, linear orders, parametrizable equality functions, and hash-functions which are required in the Isabelle Collection Framework and the Container Framework. Moreover, for the tactic of Blanchette to show that a datatype is countable, we implemented a wrapper so that this tactic becomes accessible in our framework. All of the generators are based on the infrastructure that is provided by the BNF-based datatype package.\u003c/p\u003e \u003cp\u003eOur formalization was performed as part of the \u003ca href=\"http://cl-informatik.uibk.ac.at/software/ceta\"\u003eIsaFoR/CeTA\u003c/a\u003e project. With our new tactics we could remove several tedious proofs for (conditional) linear orders, and conditional equality operators within IsaFoR and the Container Framework.\u003c/p\u003e",
"authors": [
"Christian Sternagel",
"René Thiemann"
],
"date": "2015-03-11",
- "id": 481,
+ "id": 485,
"link": "/entries/Deriving.html",
"permalink": "/entries/Deriving.html",
"shortname": "Deriving",
"title": "Deriving class instances for datatypes",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 12
},
{
"abstract": "We formalize the Call Arity analysis, as implemented in GHC, and prove both functional correctness and, more interestingly, safety (i.e. the transformation does not increase allocation). \u003cp\u003e We use syntax and the denotational semantics from the entry \"Launchbury\", where we formalized Launchbury's natural semantics for lazy evaluation. \u003cp\u003e The functional correctness of Call Arity is proved with regard to that denotational semantics. The operational properties are shown with regard to a small-step semantics akin to Sestoft's mark 1 machine, which we prove to be equivalent to Launchbury's semantics. \u003cp\u003e We use Christian Urban's Nominal2 package to define our terms and make use of Brian Huffman's HOLCF package for the domain-theoretical aspects of the development.",
"authors": [
"Joachim Breitner"
],
"date": "2015-02-20",
- "id": 482,
+ "id": 486,
"link": "/entries/Call_Arity.html",
"permalink": "/entries/Call_Arity.html",
"shortname": "Call_Arity",
"title": "The Safety of Call Arity",
"topic_links": [
"computer-science/programming-languages/static-analysis"
],
"topics": [
"Computer science/Programming languages/Static analysis"
],
"used_by": 0
},
{
"abstract": "We formalize an algorithm to compute the Echelon Form of a matrix. We have proved its existence over Bézout domains and made it executable over Euclidean domains, such as the integer ring and the univariate polynomials over a field. This allows us to compute determinants, inverses and characteristic polynomials of matrices. The work is based on the HOL-Multivariate Analysis library, and on both the Gauss-Jordan and Cayley-Hamilton AFP entries. As a by-product, some algebraic structures have been implemented (principal ideal domains, Bézout domains...). The algorithm has been refined to immutable arrays and code can be generated to functional languages as well.",
"authors": [
"Jose Divasón",
"Jesús Aransay"
],
"date": "2015-02-12",
- "id": 483,
+ "id": 487,
"link": "/entries/Echelon_Form.html",
"permalink": "/entries/Echelon_Form.html",
"shortname": "Echelon_Form",
"title": "Echelon Form",
"topic_links": [
"computer-science/algorithms/mathematical",
"mathematics/algebra"
],
"topics": [
"Computer science/Algorithms/Mathematical",
"Mathematics/Algebra"
],
"used_by": 1
},
{
"abstract": "QR decomposition is an algorithm to decompose a real matrix A into the product of two other matrices Q and R, where Q is orthogonal and R is invertible and upper triangular. The algorithm is useful for the least squares problem; i.e., the computation of the best approximation of an unsolvable system of linear equations. As a side-product, the Gram-Schmidt process has also been formalized. A refinement using immutable arrays is presented as well. The development relies, among others, on the AFP entry \"Implementing field extensions of the form Q[sqrt(b)]\" by René Thiemann, which allows execution of the algorithm using symbolic computations. Verified code can be generated and executed using floats as well.",
"authors": [
"Jose Divasón",
"Jesús Aransay"
],
"date": "2015-02-12",
- "id": 484,
+ "id": 488,
"link": "/entries/QR_Decomposition.html",
"permalink": "/entries/QR_Decomposition.html",
"shortname": "QR_Decomposition",
"title": "QR Decomposition",
"topic_links": [
"computer-science/algorithms/mathematical",
"mathematics/algebra"
],
"topics": [
"Computer science/Algorithms/Mathematical",
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "Finite Automata, both deterministic and non-deterministic, for regular languages. The Myhill-Nerode Theorem. Closure under intersection, concatenation, etc. Regular expressions define regular languages. Closure under reversal; the powerset construction mapping NFAs to DFAs. Left and right languages; minimal DFAs. Brzozowski's minimization algorithm. Uniqueness up to isomorphism of minimal DFAs.",
"authors": [
"Lawrence C. Paulson"
],
"date": "2015-02-05",
- "id": 485,
+ "id": 489,
"link": "/entries/Finite_Automata_HF.html",
"permalink": "/entries/Finite_Automata_HF.html",
"shortname": "Finite_Automata_HF",
"title": "Finite Automata in Hereditarily Finite Set Theory",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "The UpDown scheme is a recursive scheme used to compute the stiffness matrix on a special form of sparse grids. Usually, when discretizing a Euclidean space of dimension d we need O(n^d) points, for n points along each dimension. Sparse grids are a hierarchical representation where the number of points is reduced to O(n * log(n)^d). One disadvantage of such sparse grids is that the algorithm now operate recursively in the dimensions and levels of the sparse grid. \u003cp\u003e The UpDown scheme allows us to compute the stiffness matrix on such a sparse grid. The stiffness matrix represents the influence of each representation function on the L^2 scalar product. For a detailed description see Dirk Pflüger's PhD thesis. This formalization was developed as an interdisciplinary project (IDP) at the Technische Universität München.",
"authors": [
"Johannes Hölzl"
],
"date": "2015-01-28",
- "id": 486,
+ "id": 490,
"link": "/entries/UpDown_Scheme.html",
"permalink": "/entries/UpDown_Scheme.html",
"shortname": "UpDown_Scheme",
"title": "Verification of the UpDown Scheme",
"topic_links": [
"computer-science/algorithms/mathematical"
],
"topics": [
"Computer science/Algorithms/Mathematical"
],
"used_by": 0
},
{
"abstract": "We present the Unified Policy Framework (UPF), a generic framework for modelling security (access-control) policies. UPF emphasizes the view that a policy is a policy decision function that grants or denies access to resources, permissions, etc. In other words, instead of modelling the relations of permitted or prohibited requests directly, we model the concrete function that implements the policy decision point in a system. In more detail, UPF is based on the following four principles: 1) Functional representation of policies, 2) No conflicts are possible, 3) Three-valued decision type (allow, deny, undefined), 4) Output type not containing the decision only.",
"authors": [
"Achim D. Brucker",
"Lukas Brügger",
"Burkhart Wolff"
],
"date": "2014-11-28",
- "id": 487,
+ "id": 491,
"link": "/entries/UPF.html",
"permalink": "/entries/UPF.html",
"shortname": "UPF",
"title": "The Unified Policy Framework (UPF)",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003e The Ad hoc On-demand Distance Vector (AODV) routing protocol allows the nodes in a Mobile Ad hoc Network (MANET) or a Wireless Mesh Network (WMN) to know where to forward data packets. Such a protocol is ‘loop free’ if it never leads to routing decisions that forward packets in circles. \u003cp\u003e This development mechanises an existing pen-and-paper proof of loop freedom of AODV. The protocol is modelled in the Algebra of Wireless Networks (AWN), which is the subject of an earlier paper and AFP mechanization. The proof relies on a novel compositional approach for lifting invariants to networks of nodes. \u003c/p\u003e\u003cp\u003e We exploit the mechanization to analyse several variants of AODV and show that Isabelle/HOL can re-establish most proof obligations automatically and identify exactly the steps that are no longer valid. \u003c/p\u003e",
"authors": [
"Timothy Bourke",
"Peter Höfner"
],
"date": "2014-10-23",
- "id": 488,
+ "id": 492,
"link": "/entries/AODV.html",
"permalink": "/entries/AODV.html",
"shortname": "AODV",
"title": "Loop freedom of the (untimed) AODV routing protocol",
"topic_links": [
"computer-science/concurrency/process-calculi"
],
"topics": [
"Computer science/Concurrency/Process calculi"
],
"used_by": 0
},
{
"abstract": "We implemented a command that can be used to easily generate elements of a restricted type \u003ctt\u003e{x :: 'a. P x}\u003c/tt\u003e, provided the definition is of the form \u003ctt\u003ef ys = (if check ys then Some(generate ys :: 'a) else None)\u003c/tt\u003e where \u003ctt\u003eys\u003c/tt\u003e is a list of variables \u003ctt\u003ey1 ... yn\u003c/tt\u003e and \u003ctt\u003echeck ys ==\u003e P(generate ys)\u003c/tt\u003e can be proved. \u003cp\u003e In principle, such a definition is also directly possible using the \u003ctt\u003elift_definition\u003c/tt\u003e command. However, then this definition will not be suitable for code-generation. To this end, we automated a more complex construction of Joachim Breitner which is amenable for code-generation, and where the test \u003ctt\u003echeck ys\u003c/tt\u003e will only be performed once. In the automation, one auxiliary type is created, and Isabelle's lifting- and transfer-package is invoked several times.",
"authors": [
"René Thiemann"
],
"date": "2014-10-13",
- "id": 489,
+ "id": 493,
"link": "/entries/Lifting_Definition_Option.html",
"permalink": "/entries/Lifting_Definition_Option.html",
"shortname": "Lifting_Definition_Option",
"title": "Lifting Definition Option",
"topic_links": [
"computer-science/functional-programming"
],
"topics": [
"Computer science/Functional programming"
],
"used_by": 0
},
{
"abstract": "Stream Fusion is a system for removing intermediate list data structures from functional programs, in particular Haskell. This entry adapts stream fusion to Isabelle/HOL and its code generator. We define stream types for finite and possibly infinite lists and stream versions for most of the fusible list functions in the theories List and Coinductive_List, and prove them correct with respect to the conversion functions between lists and streams. The Stream Fusion transformation itself is implemented as a simproc in the preprocessor of the code generator. [Brian Huffman's \u003ca href=\"http://isa-afp.org/entries/Stream-Fusion.html\"\u003eAFP entry\u003c/a\u003e formalises stream fusion in HOLCF for the domain of lazy lists to prove the GHC compiler rewrite rules correct. In contrast, this work enables Isabelle's code generator to perform stream fusion itself. To that end, it covers both finite and coinductive lists from the HOL library and the Coinductive entry. The fusible list functions require specification and proof principles different from Huffman's.]",
"authors": [
"Andreas Lochbihler",
"Alexandra Maximova"
],
"date": "2014-10-10",
- "id": 490,
+ "id": 494,
"link": "/entries/Stream_Fusion_Code.html",
"permalink": "/entries/Stream_Fusion_Code.html",
"shortname": "Stream_Fusion_Code",
"title": "Stream Fusion in HOL with Code Generation",
"topic_links": [
"computer-science/functional-programming"
],
"topics": [
"Computer science/Functional programming"
],
"used_by": 0
},
{
"abstract": "\u003ca href=\"https://doi.org/10.1007/978-3-642-36742-7_35\"\u003eBhat et al. [TACAS 2013]\u003c/a\u003e developed an inductive compiler that computes density functions for probability spaces described by programs in a probabilistic functional language. In this work, we implement such a compiler for a modified version of this language within the theorem prover Isabelle and give a formal proof of its soundness w.r.t. the semantics of the source and target language. Together with Isabelle's code generation for inductive predicates, this yields a fully verified, executable density compiler. The proof is done in two steps: First, an abstract compiler working with abstract functions modelled directly in the theorem prover's logic is defined and proved sound. Then, this compiler is refined to a concrete version that returns a target-language expression. \u003cp\u003e An article with the same title and authors is published in the proceedings of ESOP 2015. A detailed presentation of this work can be found in the first author's master's thesis with the same title.",
"authors": [
"Manuel Eberl",
"Johannes Hölzl",
"Tobias Nipkow"
],
"date": "2014-10-09",
- "id": 491,
+ "id": 495,
"link": "/entries/Density_Compiler.html",
"permalink": "/entries/Density_Compiler.html",
"shortname": "Density_Compiler",
"title": "A Verified Compiler for Probability Density Functions",
"topic_links": [
"mathematics/probability-theory",
"computer-science/programming-languages/compiling"
],
"topics": [
"Mathematics/Probability theory",
"Computer science/Programming languages/Compiling"
],
"used_by": 0
},
{
"abstract": "We present a formalization of refinement calculus for reactive systems. Refinement calculus is based on monotonic predicate transformers (monotonic functions from sets of post-states to sets of pre-states), and it is a powerful formalism for reasoning about imperative programs. We model reactive systems as monotonic property transformers that transform sets of output infinite sequences into sets of input infinite sequences. Within this semantics we can model refinement of reactive systems, (unbounded) angelic and demonic nondeterminism, sequential composition, and other semantic properties. We can model systems that may fail for some inputs, and we can model compatibility of systems. We can specify systems that have liveness properties using linear temporal logic, and we can refine system specifications into systems based on symbolic transitions systems, suitable for implementations.",
"authors": [
"Viorel Preoteasa"
],
"date": "2014-10-08",
- "id": 492,
+ "id": 496,
"link": "/entries/RefinementReactive.html",
"permalink": "/entries/RefinementReactive.html",
"shortname": "RefinementReactive",
"title": "Formalization of Refinement Calculus for Reactive Systems",
"topic_links": [
"computer-science/programming-languages/logics"
],
"topics": [
"Computer science/Programming languages/Logics"
],
"used_by": 0
},
{
"abstract": "This entry provides several monads intended for the development of stand-alone certifiers via code generation from Isabelle/HOL. More specifically, there are three flavors of error monads (the sum type, for the case where all monadic functions are total; an instance of the former, the so called check monad, yielding either success without any further information or an error message; as well as a variant of the sum type that accommodates partial functions by providing an explicit bottom element) and a parser monad built on top. All of this monads are heavily used in the IsaFoR/CeTA project which thus provides many examples of their usage.",
"authors": [
"Christian Sternagel",
"René Thiemann"
],
"date": "2014-10-03",
- "id": 493,
+ "id": 497,
"link": "/entries/Certification_Monads.html",
"permalink": "/entries/Certification_Monads.html",
"shortname": "Certification_Monads",
"title": "Certification Monads",
"topic_links": [
"computer-science/functional-programming"
],
"topics": [
"Computer science/Functional programming"
],
"used_by": 3
},
{
"abstract": "This entry provides an XML library for Isabelle/HOL. This includes parsing and pretty printing of XML trees as well as combinators for transforming XML trees into arbitrary user-defined data. The main contribution of this entry is an interface (fit for code generation) that allows for communication between verified programs formalized in Isabelle/HOL and the outside world via XML. This library was developed as part of the IsaFoR/CeTA project to which we refer for examples of its usage.",
"authors": [
"Christian Sternagel",
"René Thiemann"
],
"date": "2014-10-03",
- "id": 494,
+ "id": 498,
"link": "/entries/XML.html",
"permalink": "/entries/XML.html",
"shortname": "XML",
"title": "XML",
"topic_links": [
"computer-science/functional-programming",
"computer-science/data-structures"
],
"topics": [
"Computer science/Functional programming",
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "The insertion sort algorithm of Cormen et al. (Introduction to Algorithms) is expressed in Imperative HOL and proved to be correct and terminating. For this purpose we also provide a theory about imperative loop constructs with accompanying induction/invariant rules for proving partial and total correctness. Furthermore, the formalized algorithm is fit for code generation.",
"authors": [
"Christian Sternagel"
],
"date": "2014-09-25",
- "id": 495,
+ "id": 499,
"link": "/entries/Imperative_Insertion_Sort.html",
"permalink": "/entries/Imperative_Insertion_Sort.html",
"shortname": "Imperative_Insertion_Sort",
"title": "Imperative Insertion Sort",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "We have formalized the Sturm-Tarski theorem (also referred as the Tarski theorem), which generalizes Sturm's theorem. Sturm's theorem is usually used as a way to count distinct real roots, while the Sturm-Tarksi theorem forms the basis for Tarski's classic quantifier elimination for real closed field.",
"authors": [
"Wenda Li"
],
"date": "2014-09-19",
- "id": 496,
+ "id": 500,
"link": "/entries/Sturm_Tarski.html",
"permalink": "/entries/Sturm_Tarski.html",
"shortname": "Sturm_Tarski",
"title": "The Sturm-Tarski Theorem",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 4
},
{
"abstract": "This document contains a proof of the Cayley-Hamilton theorem based on the development of matrices in HOL/Multivariate Analysis.",
"authors": [
"Stephan Adelsberger",
"Stefan Hetzl",
"Florian Pollak"
],
"date": "2014-09-15",
- "id": 497,
+ "id": 501,
"link": "/entries/Cayley_Hamilton.html",
"permalink": "/entries/Cayley_Hamilton.html",
"shortname": "Cayley_Hamilton",
"title": "The Cayley-Hamilton Theorem",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 1
},
{
"abstract": "This submission contains theories that lead to a formalization of the proof of the Jordan-Hölder theorem about composition series of finite groups. The theories formalize the notions of isomorphism classes of groups, simple groups, normal series, composition series, maximal normal subgroups. Furthermore, they provide proofs of the second isomorphism theorem for groups, the characterization theorem for maximal normal subgroups as well as many useful lemmas about normal subgroups and factor groups. The proof is inspired by course notes of Stuart Rankin.",
"authors": [
"Jakob von Raumer"
],
"date": "2014-09-09",
- "id": 498,
+ "id": 502,
"link": "/entries/Jordan_Hoelder.html",
"permalink": "/entries/Jordan_Hoelder.html",
"shortname": "Jordan_Hoelder",
"title": "The Jordan-Hölder Theorem",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "This entry verifies priority queues based on Braun trees. Insertion and deletion take logarithmic time and preserve the balanced nature of Braun trees. Two implementations of deletion are provided.",
"authors": [
"Tobias Nipkow"
],
"date": "2014-09-04",
- "id": 499,
+ "id": 503,
"link": "/entries/Priority_Queue_Braun.html",
"permalink": "/entries/Priority_Queue_Braun.html",
"shortname": "Priority_Queue_Braun",
"title": "Priority Queues Based on Braun Trees",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "The Gauss-Jordan algorithm states that any matrix over a field can be transformed by means of elementary row operations to a matrix in reduced row echelon form. The formalization is based on the Rank Nullity Theorem entry of the AFP and on the HOL-Multivariate-Analysis session of Isabelle, where matrices are represented as functions over finite types. We have set up the code generator to make this representation executable. In order to improve the performance, a refinement to immutable arrays has been carried out. We have formalized some of the applications of the Gauss-Jordan algorithm. Thanks to this development, the following facts can be computed over matrices whose elements belong to a field: Ranks, Determinants, Inverses, Bases and dimensions and Solutions of systems of linear equations. Code can be exported to SML and Haskell.",
"authors": [
"Jose Divasón",
"Jesús Aransay"
],
"date": "2014-09-03",
- "id": 500,
+ "id": 504,
"link": "/entries/Gauss_Jordan.html",
"permalink": "/entries/Gauss_Jordan.html",
"shortname": "Gauss_Jordan",
"title": "Gauss-Jordan Algorithm and Its Applications",
"topic_links": [
"computer-science/algorithms/mathematical"
],
"topics": [
"Computer science/Algorithms/Mathematical"
],
"used_by": 4
},
{
"abstract": "This development proves upper and lower bounds for several familiar real-valued functions. For sin, cos, exp and sqrt, it defines and verifies infinite families of upper and lower bounds, mostly based on Taylor series expansions. For arctan, ln and exp, it verifies a finite collection of upper and lower bounds, originally obtained from the functions' continued fraction expansions using the computer algebra system Maple. A common theme in these proofs is to take the difference between a function and its approximation, which should be zero at one point, and then consider the sign of the derivative. The immediate purpose of this development is to verify axioms used by MetiTarski, an automatic theorem prover for real-valued special functions. Crucial to MetiTarski's operation is the provision of upper and lower bounds for each function of interest.",
"authors": [
"Lawrence C. Paulson"
],
"date": "2014-08-29",
- "id": 501,
+ "id": 505,
"link": "/entries/Special_Function_Bounds.html",
"permalink": "/entries/Special_Function_Bounds.html",
"shortname": "Special_Function_Bounds",
"title": "Real-Valued Special Functions: Upper and Lower Bounds",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "This formalisation of basic linear algebra is based completely on locales, building off HOL-Algebra. It includes basic definitions: linear combinations, span, linear independence; linear transformations; interpretation of function spaces as vector spaces; the direct sum of vector spaces, sum of subspaces; the replacement theorem; existence of bases in finite-dimensional; vector spaces, definition of dimension; the rank-nullity theorem. Some concepts are actually defined and proved for modules as they also apply there. Infinite-dimensional vector spaces are supported, but dimension is only supported for finite-dimensional vector spaces. The proofs are standard; the proofs of the replacement theorem and rank-nullity theorem roughly follow the presentation in Linear Algebra by Friedberg, Insel, and Spence. The rank-nullity theorem generalises the existing development in the Archive of Formal Proof (originally using type classes, now using a mix of type classes and locales).",
"authors": [
"Holden Lee"
],
"date": "2014-08-29",
- "id": 502,
+ "id": 506,
"link": "/entries/VectorSpace.html",
"permalink": "/entries/VectorSpace.html",
"shortname": "VectorSpace",
"title": "Vector Spaces",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 3
},
{
"abstract": "Skew heaps are an amazingly simple and lightweight implementation of priority queues. They were invented by Sleator and Tarjan [SIAM 1986] and have logarithmic amortized complexity. This entry provides executable and verified functional skew heaps. \u003cp\u003e The amortized complexity of skew heaps is analyzed in the AFP entry \u003ca href=\"http://isa-afp.org/entries/Amortized_Complexity.html\"\u003eAmortized Complexity\u003c/a\u003e.",
"authors": [
"Tobias Nipkow"
],
"date": "2014-08-13",
- "id": 503,
+ "id": 507,
"link": "/entries/Skew_Heap.html",
"permalink": "/entries/Skew_Heap.html",
"shortname": "Skew_Heap",
"title": "Skew Heap",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 1
},
{
"abstract": "Splay trees are self-adjusting binary search trees which were invented by Sleator and Tarjan [JACM 1985]. This entry provides executable and verified functional splay trees as well as the related splay heaps (due to Okasaki). \u003cp\u003e The amortized complexity of splay trees and heaps is analyzed in the AFP entry \u003ca href=\"http://isa-afp.org/entries/Amortized_Complexity.html\"\u003eAmortized Complexity\u003c/a\u003e.",
"authors": [
"Tobias Nipkow"
],
"date": "2014-08-12",
- "id": 504,
+ "id": 508,
"link": "/entries/Splay_Tree.html",
"permalink": "/entries/Splay_Tree.html",
"shortname": "Splay_Tree",
"title": "Splay Tree",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 1
},
{
"abstract": "We implemented a type class for \"to-string\" functions, similar to Haskell's Show class. Moreover, we provide instantiations for Isabelle/HOL's standard types like bool, prod, sum, nats, ints, and rats. It is further possible, to automatically derive show functions for arbitrary user defined datatypes similar to Haskell's \"deriving Show\".",
"authors": [
"Christian Sternagel",
"René Thiemann"
],
"date": "2014-07-29",
- "id": 505,
+ "id": 509,
"link": "/entries/Show.html",
"permalink": "/entries/Show.html",
"shortname": "Show",
"title": "Haskell's Show Class in Isabelle/HOL",
"topic_links": [
"computer-science/functional-programming"
],
"topics": [
"Computer science/Functional programming"
],
"used_by": 16
},
{
"abstract": "\u003cp\u003eIntransitive noninterference has been a widely studied topic in the last few decades. Several well-established methodologies apply interactive theorem proving to formulate a noninterference theorem over abstract academic models. In joint work with several industrial and academic partners throughout Europe, we are helping in the certification process of PikeOS, an industrial separation kernel developed at SYSGO. In this process, established theories could not be applied. We present a new generic model of separation kernels and a new theory of intransitive noninterference. The model is rich in detail, making it suitable for formal verification of realistic and industrial systems such as PikeOS. Using a refinement-based theorem proving approach, we ensure that proofs remain manageable.\u003c/p\u003e \u003cp\u003e This document corresponds to the deliverable D31.1 of the EURO-MILS Project \u003ca href=\"http://www.euromils.eu\"\u003ehttp://www.euromils.eu\u003c/a\u003e.\u003c/p\u003e",
"authors": [
"Freek Verbeek",
"Sergey Tverdyshev",
"Oto Havle",
"Holger Blasum",
"Bruno Langenstein",
"Werner Stephan",
"Yakoub Nemouchi",
"Abderrahmane Feliachi",
"Burkhart Wolff",
"Julien Schmaltz"
],
"date": "2014-07-18",
- "id": 506,
+ "id": 510,
"link": "/entries/CISC-Kernel.html",
"permalink": "/entries/CISC-Kernel.html",
"shortname": "CISC-Kernel",
"title": "Formal Specification of a Generic Separation Kernel",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003epGCL is both a programming language and a specification language that incorporates both probabilistic and nondeterministic choice, in a unified manner. Program verification is by refinement or annotation (or both), using either Hoare triples, or weakest-precondition entailment, in the style of GCL.\u003c/p\u003e \u003cp\u003e This package provides both a shallow embedding of the language primitives, and an annotation and refinement framework. The generated document includes a brief tutorial.\u003c/p\u003e",
"authors": [
"David Cock"
],
"date": "2014-07-13",
- "id": 507,
+ "id": 511,
"link": "/entries/pGCL.html",
"permalink": "/entries/pGCL.html",
"shortname": "pGCL",
"title": "pGCL for Isabelle",
"topic_links": [
"computer-science/programming-languages/language-definitions"
],
"topics": [
"Computer science/Programming languages/Language definitions"
],
"used_by": 0
},
{
"abstract": "A framework for the analysis of the amortized complexity of functional data structures is formalized in Isabelle/HOL and applied to a number of standard examples and to the folowing non-trivial ones: skew heaps, splay trees, splay heaps and pairing heaps.",
"authors": [
"Tobias Nipkow"
],
"date": "2014-07-07",
- "id": 508,
+ "id": 512,
"link": "/entries/Amortized_Complexity.html",
"permalink": "/entries/Amortized_Complexity.html",
"shortname": "Amortized_Complexity",
"title": "Amortized Complexity Verified",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 2
},
{
"abstract": "We present a unified theory for verifying network security policies. A security policy is represented as directed graph. To check high-level security goals, security invariants over the policy are expressed. We cover monotonic security invariants, i.e. prohibiting more does not harm security. We provide the following contributions for the security invariant theory. \u003cul\u003e \u003cli\u003eSecure auto-completion of scenario-specific knowledge, which eases usability.\u003c/li\u003e \u003cli\u003eSecurity violations can be repaired by tightening the policy iff the security invariants hold for the deny-all policy.\u003c/li\u003e \u003cli\u003eAn algorithm to compute a security policy.\u003c/li\u003e \u003cli\u003eA formalization of stateful connection semantics in network security mechanisms.\u003c/li\u003e \u003cli\u003eAn algorithm to compute a secure stateful implementation of a policy.\u003c/li\u003e \u003cli\u003eAn executable implementation of all the theory.\u003c/li\u003e \u003cli\u003eExamples, ranging from an aircraft cabin data network to the analysis of a large real-world firewall.\u003c/li\u003e \u003cli\u003eMore examples: A fully automated translation of high-level security goals to both firewall and SDN configurations (see Examples/Distributed_WebApp.thy).\u003c/li\u003e \u003c/ul\u003e For a detailed description, see \u003cul\u003e \u003cli\u003eC. Diekmann, A. Korsten, and G. Carle. \u003ca href=\"http://www.net.in.tum.de/fileadmin/bibtex/publications/papers/diekmann2015mansdnnfv.pdf\"\u003eDemonstrating topoS: Theorem-prover-based synthesis of secure network configurations.\u003c/a\u003e In 2nd International Workshop on Management of SDN and NFV Systems, manSDN/NFV, Barcelona, Spain, November 2015.\u003c/li\u003e \u003cli\u003eC. Diekmann, S.-A. Posselt, H. Niedermayer, H. Kinkelin, O. Hanka, and G. Carle. \u003ca href=\"http://www.net.in.tum.de/pub/diekmann/forte14.pdf\"\u003eVerifying Security Policies using Host Attributes.\u003c/a\u003e In FORTE, 34th IFIP International Conference on Formal Techniques for Distributed Objects, Components and Systems, Berlin, Germany, June 2014.\u003c/li\u003e \u003cli\u003eC. Diekmann, L. Hupel, and G. Carle. Directed Security Policies: \u003ca href=\"http://rvg.web.cse.unsw.edu.au/eptcs/paper.cgi?ESSS2014.3\"\u003eA Stateful Network Implementation.\u003c/a\u003e In J. Pang and Y. Liu, editors, Engineering Safety and Security Systems, volume 150 of Electronic Proceedings in Theoretical Computer Science, pages 20-34, Singapore, May 2014. Open Publishing Association.\u003c/li\u003e \u003c/ul\u003e",
"authors": [
"Cornelius Diekmann"
],
"date": "2014-07-04",
- "id": 509,
+ "id": 513,
"link": "/entries/Network_Security_Policy_Verification.html",
"permalink": "/entries/Network_Security_Policy_Verification.html",
"shortname": "Network_Security_Policy_Verification",
"title": "Network Security Policy Verification",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "Pop-refinement is an approach to stepwise refinement, carried out inside an interactive theorem prover by constructing a monotonically decreasing sequence of predicates over deeply embedded target programs. The sequence starts with a predicate that characterizes the possible implementations, and ends with a predicate that characterizes a unique program in explicit syntactic form. Pop-refinement enables more requirements (e.g. program-level and non-functional) to be captured in the initial specification and preserved through refinement. Security requirements expressed as hyperproperties (i.e. predicates over sets of traces) are always preserved by pop-refinement, unlike the popular notion of refinement as trace set inclusion. Two simple examples in Isabelle/HOL are presented, featuring program-level requirements, non-functional requirements, and hyperproperties.",
"authors": [
"Alessandro Coglio"
],
"date": "2014-07-03",
- "id": 510,
+ "id": 514,
"link": "/entries/Pop_Refinement.html",
"permalink": "/entries/Pop_Refinement.html",
"shortname": "Pop_Refinement",
"title": "Pop-Refinement",
"topic_links": [
"computer-science/programming-languages/misc"
],
"topics": [
"Computer science/Programming languages/Misc"
],
"used_by": 0
},
{
"abstract": "Monadic second-order logic on finite words (MSO) is a decidable yet expressive logic into which many decision problems can be encoded. Since MSO formulas correspond to regular languages, equivalence of MSO formulas can be reduced to the equivalence of some regular structures (e.g. automata). We verify an executable decision procedure for MSO formulas that is not based on automata but on regular expressions. \u003cp\u003e Decision procedures for regular expression equivalence have been formalized before, usually based on Brzozowski derivatives. Yet, for a straightforward embedding of MSO formulas into regular expressions an extension of regular expressions with a projection operation is required. We prove total correctness and completeness of an equivalence checker for regular expressions extended in that way. We also define a language-preserving translation of formulas into regular expressions with respect to two different semantics of MSO. ",
"authors": [
"Dmitriy Traytel",
"Tobias Nipkow"
],
"date": "2014-06-12",
- "id": 511,
+ "id": 515,
"link": "/entries/MSO_Regex_Equivalence.html",
"permalink": "/entries/MSO_Regex_Equivalence.html",
"shortname": "MSO_Regex_Equivalence",
"title": "Decision Procedures for MSO on Words Based on Derivatives of Regular Expressions",
"topic_links": [
"computer-science/automata-and-formal-languages",
"logic/general-logic/decidability-of-theories"
],
"topics": [
"Computer science/Automata and formal languages",
"Logic/General logic/Decidability of theories"
],
"used_by": 0
},
{
"abstract": "This entry provides executable checkers for the following properties of boolean expressions: satisfiability, tautology and equivalence. Internally, the checkers operate on binary decision trees and are reasonably efficient (for purely functional algorithms).",
"authors": [
"Tobias Nipkow"
],
"date": "2014-06-08",
- "id": 512,
+ "id": 516,
"link": "/entries/Boolean_Expression_Checkers.html",
"permalink": "/entries/Boolean_Expression_Checkers.html",
"shortname": "Boolean_Expression_Checkers",
"title": "Boolean Expression Checkers",
"topic_links": [
"computer-science/algorithms",
"logic/general-logic/mechanization-of-proofs"
],
"topics": [
"Computer science/Algorithms",
"Logic/General logic/Mechanization of proofs"
],
"used_by": 2
},
{
"abstract": "We present an LTL model checker whose code has been completely verified using the Isabelle theorem prover. The checker consists of over 4000 lines of ML code. The code is produced using the Isabelle Refinement Framework, which allows us to split its correctness proof into (1) the proof of an abstract version of the checker, consisting of a few hundred lines of ``formalized pseudocode'', and (2) a verified refinement step in which mathematical sets and other abstract structures are replaced by implementations of efficient structures like red-black trees and functional arrays. This leads to a checker that, while still slower than unverified checkers, can already be used as a trusted reference implementation against which advanced implementations can be tested.",
"authors": [
"Javier Esparza",
"Peter Lammich",
"René Neumann",
"Tobias Nipkow",
"Alexander Schimpf",
"Jan-Georg Smaus"
],
"date": "2014-05-28",
- "id": 513,
+ "id": 517,
"link": "/entries/CAVA_LTL_Modelchecker.html",
"permalink": "/entries/CAVA_LTL_Modelchecker.html",
"shortname": "CAVA_LTL_Modelchecker",
"title": "A Fully Verified Executable LTL Model Checker",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "We formalize linear-time temporal logic (LTL) and the algorithm by Gerth et al. to convert LTL formulas to generalized Büchi automata. We also formalize some syntactic rewrite rules that can be applied to optimize the LTL formula before conversion. Moreover, we integrate the Stuttering Equivalence AFP-Entry by Stefan Merz, adapting the lemma that next-free LTL formula cannot distinguish between stuttering equivalent runs to our setting. \u003cp\u003e We use the Isabelle Refinement and Collection framework, as well as the Autoref tool, to obtain a refined version of our algorithm, from which efficiently executable code can be extracted.",
"authors": [
"Alexander Schimpf",
"Peter Lammich"
],
"date": "2014-05-28",
- "id": 514,
+ "id": 518,
"link": "/entries/LTL_to_GBA.html",
"permalink": "/entries/LTL_to_GBA.html",
"shortname": "LTL_to_GBA",
"title": "Converting Linear-Time Temporal Logic to Generalized Büchi Automata",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 1
},
{
"abstract": "We present an executable formalization of the language Promela, the description language for models of the model checker SPIN. This formalization is part of the work for a completely verified model checker (CAVA), but also serves as a useful (and executable!) description of the semantics of the language itself, something that is currently missing. The formalization uses three steps: It takes an abstract syntax tree generated from an SML parser, removes syntactic sugar and enriches it with type information. This further gets translated into a transition system, on which the semantic engine (read: successor function) operates.",
"authors": [
"René Neumann"
],
"date": "2014-05-28",
- "id": 515,
+ "id": 519,
"link": "/entries/Promela.html",
"permalink": "/entries/Promela.html",
"shortname": "Promela",
"title": "Promela Formalization",
"topic_links": [
"computer-science/system-description-languages"
],
"topics": [
"Computer science/System description languages"
],
"used_by": 1
},
{
"abstract": "We report on the graph and automata library that is used in the fully verified LTL model checker CAVA. As most components of CAVA use some type of graphs or automata, a common automata library simplifies assembly of the components and reduces redundancy. \u003cp\u003e The CAVA Automata Library provides a hierarchy of graph and automata classes, together with some standard algorithms. Its object oriented design allows for sharing of algorithms, theorems, and implementations between its classes, and also simplifies extensions of the library. Moreover, it is integrated into the Automatic Refinement Framework, supporting automatic refinement of the abstract automata types to efficient data structures. \u003cp\u003e Note that the CAVA Automata Library is work in progress. Currently, it is very specifically tailored towards the requirements of the CAVA model checker. Nevertheless, the formalization techniques presented here allow an extension of the library to a wider scope. Moreover, they are not limited to graph libraries, but apply to class hierarchies in general. \u003cp\u003e The CAVA Automata Library is described in the paper: Peter Lammich, The CAVA Automata Library, Isabelle Workshop 2014.",
"authors": [
"Peter Lammich"
],
"date": "2014-05-28",
- "id": 516,
+ "id": 520,
"link": "/entries/CAVA_Automata.html",
"permalink": "/entries/CAVA_Automata.html",
"shortname": "CAVA_Automata",
"title": "The CAVA Automata Library",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 8
},
{
"abstract": "We present an Isabelle/HOL formalization of Gabow's algorithm for finding the strongly connected components of a directed graph. Using data refinement techniques, we extract efficient code that performs comparable to a reference implementation in Java. Our style of formalization allows for re-using large parts of the proofs when defining variants of the algorithm. We demonstrate this by verifying an algorithm for the emptiness check of generalized Büchi automata, re-using most of the existing proofs.",
"authors": [
"Peter Lammich"
],
"date": "2014-05-28",
- "id": 517,
+ "id": 521,
"link": "/entries/Gabow_SCC.html",
"permalink": "/entries/Gabow_SCC.html",
"shortname": "Gabow_SCC",
"title": "Verified Efficient Implementation of Gabow's Strongly Connected Components Algorithm",
"topic_links": [
"computer-science/algorithms/graph",
"mathematics/graph-theory"
],
"topics": [
"Computer science/Algorithms/Graph",
"Mathematics/Graph theory"
],
"used_by": 2
},
{
"abstract": "\u003cp\u003e An extension of classical noninterference security for deterministic state machines, as introduced by Goguen and Meseguer and elegantly formalized by Rushby, to nondeterministic systems should satisfy two fundamental requirements: it should be based on a mathematically precise theory of nondeterminism, and should be equivalent to (or at least not weaker than) the classical notion in the degenerate deterministic case. \u003c/p\u003e \u003cp\u003e This paper proposes a definition of noninterference security applying to Hoare's Communicating Sequential Processes (CSP) in the general case of a possibly intransitive noninterference policy, and proves the equivalence of this security property to classical noninterference security for processes representing deterministic state machines. \u003c/p\u003e \u003cp\u003e Furthermore, McCullough's generalized noninterference security is shown to be weaker than both the proposed notion of CSP noninterference security for a generic process, and classical noninterference security for processes representing deterministic state machines. This renders CSP noninterference security preferable as an extension of classical noninterference security to nondeterministic systems. \u003c/p\u003e",
"authors": [
"Pasquale Noce"
],
"date": "2014-05-23",
- "id": 518,
+ "id": 522,
"link": "/entries/Noninterference_CSP.html",
"permalink": "/entries/Noninterference_CSP.html",
"shortname": "Noninterference_CSP",
"title": "Noninterference Security in Communicating Sequential Processes",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 1
},
{
"abstract": "This formulation of the Roy-Floyd-Warshall algorithm for the transitive closure bypasses matrices and arrays, but uses a more direct mathematical model with adjacency functions for immediate predecessors and successors. This can be implemented efficiently in functional programming languages and is particularly adequate for sparse relations.",
"authors": [
"Makarius Wenzel"
],
"date": "2014-05-23",
- "id": 519,
+ "id": 523,
"link": "/entries/Roy_Floyd_Warshall.html",
"permalink": "/entries/Roy_Floyd_Warshall.html",
"shortname": "Roy_Floyd_Warshall",
"title": "Transitive closure according to Roy-Floyd-Warshall",
"topic_links": [
"computer-science/algorithms/graph"
],
"topics": [
"Computer science/Algorithms/Graph"
],
"used_by": 0
},
{
"abstract": "Regular algebras axiomatise the equational theory of regular expressions as induced by regular language identity. We use Isabelle/HOL for a detailed systematic study of regular algebras given by Boffa, Conway, Kozen and Salomaa. We investigate the relationships between these classes, formalise a soundness proof for the smallest class (Salomaa's) and obtain completeness of the largest one (Boffa's) relative to a deep result by Krob. In addition we provide a large collection of regular identities in the general setting of Boffa's axiom. Our regular algebra hierarchy is orthogonal to the Kleene algebra hierarchy in the Archive of Formal Proofs; we have not aimed at an integration for pragmatic reasons.",
"authors": [
"Simon Foster",
"Georg Struth"
],
"date": "2014-05-21",
- "id": 520,
+ "id": 524,
"link": "/entries/Regular_Algebras.html",
"permalink": "/entries/Regular_Algebras.html",
"shortname": "Regular_Algebras",
"title": "Regular Algebras",
"topic_links": [
"computer-science/automata-and-formal-languages",
"mathematics/algebra"
],
"topics": [
"Computer science/Automata and formal languages",
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "This set of theories presents a formalisation in Isabelle/HOL of data dependencies between components. The approach allows to analyse system structure oriented towards efficient checking of system: it aims at elaborating for a concrete system, which parts of the system are necessary to check a given property.",
"authors": [
"Maria Spichkova"
],
"date": "2014-04-28",
- "id": 521,
+ "id": 525,
"link": "/entries/ComponentDependencies.html",
"permalink": "/entries/ComponentDependencies.html",
"shortname": "ComponentDependencies",
"title": "Formalisation and Analysis of Component Dependencies",
"topic_links": [
"computer-science/system-description-languages"
],
"topics": [
"Computer science/System description languages"
],
"used_by": 0
},
{
"abstract": "Research in information-flow security aims at developing methods to identify undesired information leaks within programs from private (high) sources to public (low) sinks. For a concurrent system, it is desirable to have compositional analysis methods that allow for analyzing each thread independently and that nevertheless guarantee that the parallel composition of successfully analyzed threads satisfies a global security guarantee. However, such a compositional analysis should not be overly pessimistic about what an environment might do with shared resources. Otherwise, the analysis will reject many intuitively secure programs. \u003cp\u003e The paper \"Assumptions and Guarantees for Compositional Noninterference\" by Mantel et. al. presents one solution for this problem: an approach for compositionally reasoning about non-interference in concurrent programs via rely-guarantee-style reasoning. We present an Isabelle/HOL formalization of the concepts and proofs of this approach.",
"authors": [
"Sylvia Grewe",
"Heiko Mantel",
"Daniel Schoepe"
],
"date": "2014-04-23",
- "id": 522,
+ "id": 526,
"link": "/entries/SIFUM_Type_Systems.html",
"permalink": "/entries/SIFUM_Type_Systems.html",
"shortname": "SIFUM_Type_Systems",
"title": "A Formalization of Assumptions and Guarantees for Compositional Noninterference",
"topic_links": [
"computer-science/security",
"computer-science/programming-languages/type-systems"
],
"topics": [
"Computer science/Security",
"Computer science/Programming languages/Type systems"
],
"used_by": 0
},
{
"abstract": "Research in information-flow security aims at developing methods to identify undesired information leaks within programs from private sources to public sinks. Noninterference captures this intuition by requiring that no information whatsoever flows from private sources to public sinks. However, in practice this definition is often too strict: Depending on the intuitive desired security policy, the controlled declassification of certain private information (WHAT) at certain points in the program (WHERE) might not result in an undesired information leak. \u003cp\u003e We present an Isabelle/HOL formalization of such a security property for controlled declassification, namely WHAT\u0026WHERE-security from \"Scheduler-Independent Declassification\" by Lux, Mantel, and Perner. The formalization includes compositionality proofs for and a soundness proof for a security type system that checks for programs in a simple while language with dynamic thread creation. \u003cp\u003e Our formalization of the security type system is abstract in the language for expressions and in the semantic side conditions for expressions. It can easily be instantiated with different syntactic approximations for these side conditions. The soundness proof of such an instantiation boils down to showing that these syntactic approximations imply the semantic side conditions. \u003cp\u003e This Isabelle/HOL formalization uses theories from the entry Strong Security.",
"authors": [
"Sylvia Grewe",
"Alexander Lux",
"Heiko Mantel",
"Jens Sauer"
],
"date": "2014-04-23",
- "id": 523,
+ "id": 527,
"link": "/entries/WHATandWHERE_Security.html",
"permalink": "/entries/WHATandWHERE_Security.html",
"shortname": "WHATandWHERE_Security",
"title": "A Formalization of Declassification with WHAT-and-WHERE-Security",
"topic_links": [
"computer-science/security",
"computer-science/programming-languages/type-systems"
],
"topics": [
"Computer science/Security",
"Computer science/Programming languages/Type systems"
],
"used_by": 0
},
{
"abstract": "Research in information-flow security aims at developing methods to identify undesired information leaks within programs from private sources to public sinks. Noninterference captures this intuition. Strong security from Sabelfeld and Sands formalizes noninterference for concurrent systems. \u003cp\u003e We present an Isabelle/HOL formalization of strong security for arbitrary security lattices (Sabelfeld and Sands use a two-element security lattice in the original publication). The formalization includes compositionality proofs for strong security and a soundness proof for a security type system that checks strong security for programs in a simple while language with dynamic thread creation. \u003cp\u003e Our formalization of the security type system is abstract in the language for expressions and in the semantic side conditions for expressions. It can easily be instantiated with different syntactic approximations for these side conditions. The soundness proof of such an instantiation boils down to showing that these syntactic approximations imply the semantic side conditions.",
"authors": [
"Sylvia Grewe",
"Alexander Lux",
"Heiko Mantel",
"Jens Sauer"
],
"date": "2014-04-23",
- "id": 524,
+ "id": 528,
"link": "/entries/Strong_Security.html",
"permalink": "/entries/Strong_Security.html",
"shortname": "Strong_Security",
"title": "A Formalization of Strong Security",
"topic_links": [
"computer-science/security",
"computer-science/programming-languages/type-systems"
],
"topics": [
"Computer science/Security",
"Computer science/Programming languages/Type systems"
],
"used_by": 1
},
{
"abstract": "This is a formalization of bounded-deducibility security (BD security), a flexible notion of information-flow security applicable to arbitrary transition systems. It generalizes Sutherland's classic notion of nondeducibility by factoring in declassification bounds and trigger, whereas nondeducibility states that, in a system, information cannot flow between specified sources and sinks, BD security indicates upper bounds for the flow and triggers under which these upper bounds are no longer guaranteed.",
"authors": [
"Andrei Popescu",
"Peter Lammich",
"Thomas Bauereiss"
],
"date": "2014-04-22",
- "id": 525,
+ "id": 529,
"link": "/entries/Bounded_Deducibility_Security.html",
"permalink": "/entries/Bounded_Deducibility_Security.html",
"shortname": "Bounded_Deducibility_Security",
"title": "Bounded-Deducibility Security",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 3
},
{
"abstract": "We formalize HyperCTL*, a temporal logic for expressing security properties. We first define a shallow embedding of HyperCTL*, within which we prove inductive and coinductive rules for the operators. Then we show that a HyperCTL* formula captures Goguen-Meseguer noninterference, a landmark information flow property. We also define a deep embedding and connect it to the shallow embedding by a denotational semantics, for which we prove sanity w.r.t. dependence on the free variables. Finally, we show that under some finiteness assumptions about the model, noninterference is given by a (finitary) syntactic formula.",
"authors": [
"Markus N. Rabe",
"Peter Lammich",
"Andrei Popescu"
],
"date": "2014-04-16",
- "id": 526,
+ "id": 530,
"link": "/entries/HyperCTL.html",
"permalink": "/entries/HyperCTL.html",
"shortname": "HyperCTL",
"title": "A shallow embedding of HyperCTL*",
"topic_links": [
"computer-science/security",
"logic/general-logic/temporal-logic"
],
"topics": [
"Computer science/Security",
"Logic/General logic/Temporal logic"
],
"used_by": 0
},
{
"abstract": "A formalization of an abstract property of possibly infinite derivation trees (modeled by a codatatype), representing the core of a proof (in Beth/Hintikka style) of the first-order logic completeness theorem, independent of the concrete syntax or inference rules. This work is described in detail in the IJCAR 2014 publication by the authors. The abstract proof can be instantiated for a wide range of Gentzen and tableau systems as well as various flavors of FOL---e.g., with or without predicates, equality, or sorts. Here, we give only a toy example instantiation with classical propositional logic. A more serious instance---many-sorted FOL with equality---is described elsewhere [Blanchette and Popescu, FroCoS 2013].",
"authors": [
"Jasmin Christian Blanchette",
"Andrei Popescu",
"Dmitriy Traytel"
],
"date": "2014-04-16",
- "id": 527,
+ "id": 531,
"link": "/entries/Abstract_Completeness.html",
"permalink": "/entries/Abstract_Completeness.html",
"shortname": "Abstract_Completeness",
"title": "Abstract Completeness",
"topic_links": [
"logic/proof-theory"
],
"topics": [
"Logic/Proof theory"
],
"used_by": 4
},
{
"abstract": "These theories introduce basic concepts and proofs about discrete summation: shifts, formal summation, falling factorials and stirling numbers. As proof of concept, a simple summation conversion is provided.",
"authors": [
"Florian Haftmann"
],
"date": "2014-04-13",
- "id": 528,
+ "id": 532,
"link": "/entries/Discrete_Summation.html",
"permalink": "/entries/Discrete_Summation.html",
"shortname": "Discrete_Summation",
"title": "Discrete Summation",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 2
},
{
"abstract": "This document accompanies the article \"The Design and Implementation of a Verification Technique for GPU Kernels\" by Adam Betts, Nathan Chong, Alastair F. Donaldson, Jeroen Ketema, Shaz Qadeer, Paul Thomson and John Wickerson. It formalises all of the definitions provided in Sections 3 and 4 of the article.",
"authors": [
"John Wickerson"
],
"date": "2014-04-03",
- "id": 529,
+ "id": 533,
"link": "/entries/GPU_Kernel_PL.html",
"permalink": "/entries/GPU_Kernel_PL.html",
"shortname": "GPU_Kernel_PL",
"title": "Syntax and semantics of a GPU kernel programming language",
"topic_links": [
"computer-science/programming-languages/language-definitions"
],
"topics": [
"Computer science/Programming languages/Language definitions"
],
"used_by": 0
},
{
"abstract": "We formalize a probabilistic noninterference for a multi-threaded language with uniform scheduling, where probabilistic behaviour comes from both the scheduler and the individual threads. We define notions probabilistic noninterference in two variants: resumption-based and trace-based. For the resumption-based notions, we prove compositionality w.r.t. the language constructs and establish sound type-system-like syntactic criteria. This is a formalization of the mathematical development presented at CPP 2013 and CALCO 2013. It is the probabilistic variant of the Possibilistic Noninterference AFP entry.",
"authors": [
"Andrei Popescu",
"Johannes Hölzl"
],
"date": "2014-03-11",
- "id": 530,
+ "id": 534,
"link": "/entries/Probabilistic_Noninterference.html",
"permalink": "/entries/Probabilistic_Noninterference.html",
"shortname": "Probabilistic_Noninterference",
"title": "Probabilistic Noninterference",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e AWN is a process algebra developed for modelling and analysing protocols for Mobile Ad hoc Networks (MANETs) and Wireless Mesh Networks (WMNs). AWN models comprise five distinct layers: sequential processes, local parallel compositions, nodes, partial networks, and complete networks.\u003c/p\u003e \u003cp\u003e This development mechanises the original operational semantics of AWN and introduces a variant 'open' operational semantics that enables the compositional statement and proof of invariants across distinct network nodes. It supports labels (for weakening invariants) and (abstract) data state manipulations. A framework for compositional invariant proofs is developed, including a tactic (inv_cterms) for inductive invariant proofs of sequential processes, lifting rules for the open versions of the higher layers, and a rule for transferring lifted properties back to the standard semantics. A notion of 'control terms' reduces proof obligations to the subset of subterms that act directly (in contrast to operators for combining terms and joining processes).\u003c/p\u003e",
"authors": [
"Timothy Bourke"
],
"date": "2014-03-08",
- "id": 531,
+ "id": 535,
"link": "/entries/AWN.html",
"permalink": "/entries/AWN.html",
"shortname": "AWN",
"title": "Mechanization of the Algebra for Wireless Networks (AWN)",
"topic_links": [
"computer-science/concurrency/process-calculi"
],
"topics": [
"Computer science/Concurrency/Process calculi"
],
"used_by": 1
},
{
"abstract": "We provide a wrapper around the partial-function command that supports mutual recursion.",
"authors": [
"René Thiemann"
],
"date": "2014-02-18",
- "id": 532,
+ "id": 536,
"link": "/entries/Partial_Function_MR.html",
"permalink": "/entries/Partial_Function_MR.html",
"shortname": "Partial_Function_MR",
"title": "Mutually Recursive Partial Functions",
"topic_links": [
"computer-science/functional-programming"
],
"topics": [
"Computer science/Functional programming"
],
"used_by": 2
},
{
"abstract": "Random graphs are graphs with a fixed number of vertices, where each edge is present with a fixed probability. We are interested in the probability that a random graph contains a certain pattern, for example a cycle or a clique. A very high edge probability gives rise to perhaps too many edges (which degrades performance for many algorithms), whereas a low edge probability might result in a disconnected graph. We prove a theorem about a threshold probability such that a higher edge probability will asymptotically almost surely produce a random graph with the desired subgraph.",
"authors": [
"Lars Hupel"
],
"date": "2014-02-13",
- "id": 533,
+ "id": 537,
"link": "/entries/Random_Graph_Subgraph_Threshold.html",
"permalink": "/entries/Random_Graph_Subgraph_Threshold.html",
"shortname": "Random_Graph_Subgraph_Threshold",
"title": "Properties of Random Graphs -- Subgraph Containment",
"topic_links": [
"mathematics/graph-theory",
"mathematics/probability-theory"
],
"topics": [
"Mathematics/Graph theory",
"Mathematics/Probability theory"
],
"used_by": 1
},
{
"abstract": "Stepwise program refinement techniques can be used to simplify program verification. Programs are better understood since their main properties are clearly stated, and verification of rather complex algorithms is reduced to proving simple statements connecting successive program specifications. Additionally, it is easy to analyze similar algorithms and to compare their properties within a single formalization. Usually, formal analysis is not done in educational setting due to complexity of verification and a lack of tools and procedures to make comparison easy. Verification of an algorithm should not only give correctness proof, but also better understanding of an algorithm. If the verification is based on small step program refinement, it can become simple enough to be demonstrated within the university-level computer science curriculum. In this paper we demonstrate this and give a formal analysis of two well known algorithms (Selection Sort and Heap Sort) using proof assistant Isabelle/HOL and program refinement techniques.",
"authors": [
"Danijela Petrovic"
],
"date": "2014-02-11",
- "id": 534,
+ "id": 538,
"link": "/entries/Selection_Heap_Sort.html",
"permalink": "/entries/Selection_Heap_Sort.html",
"shortname": "Selection_Heap_Sort",
"title": "Verification of Selection and Heap Sort Using Locales",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "We give a formalization of affine forms as abstract representations of zonotopes. We provide affine operations as well as overapproximations of some non-affine operations like multiplication and division. Expressions involving those operations can automatically be turned into (executable) functions approximating the original expression in affine arithmetic.",
"authors": [
"Fabian Immler"
],
"date": "2014-02-07",
- "id": 535,
+ "id": 539,
"link": "/entries/Affine_Arithmetic.html",
"permalink": "/entries/Affine_Arithmetic.html",
"shortname": "Affine_Arithmetic",
"title": "Affine Arithmetic",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 2
},
{
"abstract": "We apply data refinement to implement the real numbers, where we support all numbers in the field extension Q[sqrt(b)], i.e., all numbers of the form p + q * sqrt(b) for rational numbers p and q and some fixed natural number b. To this end, we also developed algorithms to precisely compute roots of a rational number, and to perform a factorization of natural numbers which eliminates duplicate prime factors. \u003cp\u003e Our results have been used to certify termination proofs which involve polynomial interpretations over the reals.",
"authors": [
"René Thiemann"
],
"date": "2014-02-06",
- "id": 536,
+ "id": 540,
"link": "/entries/Real_Impl.html",
"permalink": "/entries/Real_Impl.html",
"shortname": "Real_Impl",
"title": "Implementing field extensions of the form Q[sqrt(b)]",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 2
},
{
"abstract": "We formalize a unified framework for verified decision procedures for regular expression equivalence. Five recently published formalizations of such decision procedures (three based on derivatives, two on marked regular expressions) can be obtained as instances of the framework. We discover that the two approaches based on marked regular expressions, which were previously thought to be the same, are different, and one seems to produce uniformly smaller automata. The common framework makes it possible to compare the performance of the different decision procedures in a meaningful way. ",
"authors": [
"Tobias Nipkow",
"Dmitriy Traytel"
],
"date": "2014-01-30",
- "id": 537,
+ "id": 541,
"link": "/entries/Regex_Equivalence.html",
"permalink": "/entries/Regex_Equivalence.html",
"shortname": "Regex_Equivalence",
"title": "Unified Decision Procedures for Regular Expression Equivalence",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "These theories extend the existing proof of the first Sylow theorem (written by Florian Kammueller and L. C. Paulson) by what are often called the second, third and fourth Sylow theorems. These theorems state propositions about the number of Sylow p-subgroups of a group and the fact that they are conjugate to each other. The proofs make use of an implementation of group actions and their properties.",
"authors": [
"Jakob von Raumer"
],
"date": "2014-01-28",
- "id": 538,
+ "id": 542,
"link": "/entries/Secondary_Sylow.html",
"permalink": "/entries/Secondary_Sylow.html",
"shortname": "Secondary_Sylow",
"title": "Secondary Sylow Theorems",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 1
},
{
"abstract": "Tarski's algebra of binary relations is formalised along the lines of the standard textbooks of Maddux and Schmidt and Ströhlein. This includes relation-algebraic concepts such as subidentities, vectors and a domain operation as well as various notions associated to functions. Relation algebras are also expanded by a reflexive transitive closure operation, and they are linked with Kleene algebras and models of binary relations and Boolean matrices.",
"authors": [
"Alasdair Armstrong",
"Simon Foster",
"Georg Struth",
"Tjark Weber"
],
"date": "2014-01-25",
- "id": 539,
+ "id": 543,
"link": "/entries/Relation_Algebra.html",
"permalink": "/entries/Relation_Algebra.html",
"shortname": "Relation_Algebra",
"title": "Relation Algebra",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 2
},
{
"abstract": "We formalise Kleene algebra with tests (KAT) and demonic refinement algebra (DRA) in Isabelle/HOL. KAT is relevant for program verification and correctness proofs in the partial correctness setting. While DRA targets similar applications in the context of total correctness. Our formalisation contains the two most important models of these algebras: binary relations in the case of KAT and predicate transformers in the case of DRA. In addition, we derive the inference rules for Hoare logic in KAT and its relational model and present a simple formally verified program verification tool prototype based on the algebraic approach.",
"authors": [
"Alasdair Armstrong",
"Victor B. F. Gomes",
"Georg Struth"
],
"date": "2014-01-23",
- "id": 540,
+ "id": 544,
"link": "/entries/KAT_and_DRA.html",
"permalink": "/entries/KAT_and_DRA.html",
"shortname": "KAT_and_DRA",
"title": "Kleene Algebra with Tests and Demonic Refinement Algebras",
"topic_links": [
"computer-science/programming-languages/logics",
"computer-science/automata-and-formal-languages",
"mathematics/algebra"
],
"topics": [
"Computer science/Programming languages/Logics",
"Computer science/Automata and formal languages",
"Mathematics/Algebra"
],
"used_by": 2
},
{
"abstract": "The Unified Modeling Language (UML) is one of the few modeling languages that is widely used in industry. While UML is mostly known as diagrammatic modeling language (e.g., visualizing class models), it is complemented by a textual language, called Object Constraint Language (OCL). The current version of OCL is based on a four-valued logic that turns UML into a formal language. Any type comprises the elements \"invalid\" and \"null\" which are propagated as strict and non-strict, respectively. Unfortunately, the former semi-formal semantics of this specification language, captured in the \"Annex A\" of the OCL standard, leads to different interpretations of corner cases. We formalize the core of OCL: denotational definitions, a logical calculus and operational rules that allow for the execution of OCL expressions by a mixture of term rewriting and code compilation. Our formalization reveals several inconsistencies and contradictions in the current version of the OCL standard. Overall, this document is intended to provide the basis for a machine-checked text \"Annex A\" of the OCL standard targeting at tool implementors.",
"authors": [
"Achim D. Brucker",
"Frédéric Tuong",
"Burkhart Wolff"
],
"date": "2014-01-16",
- "id": 541,
+ "id": 545,
"link": "/entries/Featherweight_OCL.html",
"permalink": "/entries/Featherweight_OCL.html",
"shortname": "Featherweight_OCL",
"title": "Featherweight OCL: A Proposal for a Machine-Checked Formal Semantics for OCL 2.5",
"topic_links": [
"computer-science/system-description-languages"
],
"topics": [
"Computer science/System description languages"
],
"used_by": 0
},
{
"abstract": "This paper presents an Isabelle/HOL set of theories which allows the specification of crypto-based components and the verification of their composition properties wrt. cryptographic aspects. We introduce a formalisation of the security property of data secrecy, the corresponding definitions and proofs. Please note that here we import the Isabelle/HOL theory ListExtras.thy, presented in the AFP entry FocusStreamsCaseStudies-AFP.",
"authors": [
"Maria Spichkova"
],
"date": "2014-01-11",
- "id": 542,
+ "id": 546,
"link": "/entries/CryptoBasedCompositionalProperties.html",
"permalink": "/entries/CryptoBasedCompositionalProperties.html",
"shortname": "CryptoBasedCompositionalProperties",
"title": "Compositional Properties of Crypto-Based Components",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "Sturm's Theorem states that polynomial sequences with certain properties, so-called Sturm sequences, can be used to count the number of real roots of a real polynomial. This work contains a proof of Sturm's Theorem and code for constructing Sturm sequences efficiently. It also provides the “sturm” proof method, which can decide certain statements about the roots of real polynomials, such as “the polynomial P has exactly n roots in the interval I” or “P(x) \u003e Q(x) for all x \u0026#8712; \u0026#8477;”.",
"authors": [
"Manuel Eberl"
],
"date": "2014-01-11",
- "id": 543,
+ "id": 547,
"link": "/entries/Sturm_Sequences.html",
"permalink": "/entries/Sturm_Sequences.html",
"shortname": "Sturm_Sequences",
"title": "Sturm's Theorem",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 4
},
{
"abstract": "\u003cp\u003e Tail-recursive function definitions are sometimes more straightforward than alternatives, but proving theorems on them may be roundabout because of the peculiar form of the resulting recursion induction rules. \u003c/p\u003e\u003cp\u003e This paper describes a proof method that provides a general solution to this problem by means of suitable invariants over inductive sets, and illustrates the application of such method by examining two case studies. \u003c/p\u003e",
"authors": [
"Pasquale Noce"
],
"date": "2013-12-01",
- "id": 544,
+ "id": 548,
"link": "/entries/Tail_Recursive_Functions.html",
"permalink": "/entries/Tail_Recursive_Functions.html",
"shortname": "Tail_Recursive_Functions",
"title": "A General Method for the Proof of Theorems on Tail-recursive Functions",
"topic_links": [
"computer-science/functional-programming"
],
"topics": [
"Computer science/Functional programming"
],
"used_by": 0
},
{
"abstract": "Gödel's two incompleteness theorems are formalised, following a careful \u003ca href=\"http://journals.impan.gov.pl/dm/Inf/422-0-1.html\"\u003epresentation\u003c/a\u003e by Swierczkowski, in the theory of \u003ca href=\"HereditarilyFinite.html\"\u003ehereditarily finite sets\u003c/a\u003e. This represents the first ever machine-assisted proof of the second incompleteness theorem. Compared with traditional formalisations using Peano arithmetic (see e.g. Boolos), coding is simpler, with no need to formalise the notion of multiplication (let alone that of a prime number) in the formalised calculus upon which the theorem is based. However, other technical problems had to be solved in order to complete the argument.",
"authors": [
"Lawrence C. Paulson"
],
"date": "2013-11-17",
- "id": 545,
+ "id": 549,
"link": "/entries/Incompleteness.html",
"permalink": "/entries/Incompleteness.html",
"shortname": "Incompleteness",
"title": "Gödel's Incompleteness Theorems",
"topic_links": [
"logic/proof-theory"
],
"topics": [
"Logic/Proof theory"
],
"used_by": 2
},
{
"abstract": "The theory of hereditarily finite sets is formalised, following the \u003ca href=\"http://journals.impan.gov.pl/dm/Inf/422-0-1.html\"\u003edevelopment\u003c/a\u003e of Swierczkowski. An HF set is a finite collection of other HF sets; they enjoy an induction principle and satisfy all the axioms of ZF set theory apart from the axiom of infinity, which is negated. All constructions that are possible in ZF set theory (Cartesian products, disjoint sums, natural numbers, functions) without using infinite sets are possible here. The definition of addition for the HF sets follows Kirby. This development forms the foundation for the Isabelle proof of Gödel's incompleteness theorems, which has been \u003ca href=\"Incompleteness.html\"\u003eformalised separately\u003c/a\u003e.",
"authors": [
"Lawrence C. Paulson"
],
"date": "2013-11-17",
- "id": 546,
+ "id": 550,
"link": "/entries/HereditarilyFinite.html",
"permalink": "/entries/HereditarilyFinite.html",
"shortname": "HereditarilyFinite",
"title": "The Hereditarily Finite Sets",
"topic_links": [
"logic/set-theory"
],
"topics": [
"Logic/Set theory"
],
"used_by": 4
},
{
"abstract": "\u003cp\u003eWe define formal languages as a codataype of infinite trees branching over the alphabet. Each node in such a tree indicates whether the path to this node constitutes a word inside or outside of the language. This codatatype is isormorphic to the set of lists representation of languages, but caters for definitions by corecursion and proofs by coinduction.\u003c/p\u003e \u003cp\u003eRegular operations on languages are then defined by primitive corecursion. A difficulty arises here, since the standard definitions of concatenation and iteration from the coalgebraic literature are not primitively corecursive-they require guardedness up-to union/concatenation. Without support for up-to corecursion, these operation must be defined as a composition of primitive ones (and proved being equal to the standard definitions). As an exercise in coinduction we also prove the axioms of Kleene algebra for the defined regular operations.\u003c/p\u003e \u003cp\u003eFurthermore, a language for context-free grammars given by productions in Greibach normal form and an initial nonterminal is constructed by primitive corecursion, yielding an executable decision procedure for the word problem without further ado.\u003c/p\u003e",
"authors": [
"Dmitriy Traytel"
],
"date": "2013-11-15",
- "id": 547,
+ "id": 551,
"link": "/entries/Coinductive_Languages.html",
"permalink": "/entries/Coinductive_Languages.html",
"shortname": "Coinductive_Languages",
"title": "A Codatatype of Formal Languages",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 1
},
{
"abstract": "This set of theories presents an Isabelle/HOL formalisation of stream processing components introduced in Focus, a framework for formal specification and development of interactive systems. This is an extended and updated version of the formalisation, which was elaborated within the methodology \"Focus on Isabelle\". In addition, we also applied the formalisation on three case studies that cover different application areas: process control (Steam Boiler System), data transmission (FlexRay communication protocol), memory and processing components (Automotive-Gateway System).",
"authors": [
"Maria Spichkova"
],
"date": "2013-11-14",
- "id": 548,
+ "id": 552,
"link": "/entries/FocusStreamsCaseStudies.html",
"permalink": "/entries/FocusStreamsCaseStudies.html",
"shortname": "FocusStreamsCaseStudies",
"title": "Stream Processing Components: Isabelle/HOL Formalisation and Case Studies",
"topic_links": [
"computer-science/programming-languages/language-definitions"
],
"topics": [
"Computer science/Programming languages/Language definitions"
],
"used_by": 0
},
{
"abstract": "Dana Scott's version of Gödel's proof of God's existence is formalized in quantified modal logic KB (QML KB). QML KB is modeled as a fragment of classical higher-order logic (HOL); thus, the formalization is essentially a formalization in HOL.",
"authors": [
"Christoph Benzmüller",
"Bruno Woltzenlogel Paleo"
],
"date": "2013-11-12",
- "id": 549,
+ "id": 553,
"link": "/entries/GoedelGod.html",
"permalink": "/entries/GoedelGod.html",
"shortname": "GoedelGod",
"title": "Gödel's God in Isabelle/HOL",
"topic_links": [
"logic/philosophical-aspects"
],
"topics": [
"Logic/Philosophical aspects"
],
"used_by": 0
},
{
"abstract": "This theory contains a formalization of decreasing diagrams showing that any locally decreasing abstract rewrite system is confluent. We consider the valley (van Oostrom, TCS 1994) and the conversion version (van Oostrom, RTA 2008) and closely follow the original proofs. As an application we prove Newman's lemma.",
"authors": [
"Harald Zankl"
],
"date": "2013-11-01",
- "id": 550,
+ "id": 554,
"link": "/entries/Decreasing-Diagrams.html",
"permalink": "/entries/Decreasing-Diagrams.html",
"shortname": "Decreasing-Diagrams",
"title": "Decreasing Diagrams",
"topic_links": [
"logic/rewriting"
],
"topics": [
"Logic/Rewriting"
],
"used_by": 0
},
{
"abstract": "We present the Autoref tool for Isabelle/HOL, which automatically refines algorithms specified over abstract concepts like maps and sets to algorithms over concrete implementations like red-black-trees, and produces a refinement theorem. It is based on ideas borrowed from relational parametricity due to Reynolds and Wadler. The tool allows for rapid prototyping of verified, executable algorithms. Moreover, it can be configured to fine-tune the result to the user~s needs. Our tool is able to automatically instantiate generic algorithms, which greatly simplifies the implementation of executable data structures. \u003cp\u003e This AFP-entry provides the basic tool, which is then used by the Refinement and Collection Framework to provide automatic data refinement for the nondeterminism monad and various collection datastructures.",
"authors": [
"Peter Lammich"
],
"date": "2013-10-02",
- "id": 551,
+ "id": 555,
"link": "/entries/Automatic_Refinement.html",
"permalink": "/entries/Automatic_Refinement.html",
"shortname": "Automatic_Refinement",
"title": "Automatic Data Refinement",
"topic_links": [
"computer-science/programming-languages/logics"
],
"topics": [
"Computer science/Programming languages/Logics"
],
"used_by": 10
},
{
"abstract": "This entry makes machine words and machine arithmetic available for code generation from Isabelle/HOL. It provides a common abstraction that hides the differences between the different target languages. The code generator maps these operations to the APIs of the target languages. Apart from that, we extend the available bit operations on types int and integer, and map them to the operations in the target languages.",
"authors": [
"Andreas Lochbihler"
],
"date": "2013-09-17",
- "id": 552,
+ "id": 556,
"link": "/entries/Native_Word.html",
"permalink": "/entries/Native_Word.html",
"shortname": "Native_Word",
"title": "Native Word",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 10
},
{
"abstract": "This development provides a formal model of IEEE-754 floating-point arithmetic. This formalization, including formal specification of the standard and proofs of important properties of floating-point arithmetic, forms the foundation for verifying programs with floating-point computation. There is also a code generation setup for floats so that we can execute programs using this formalization in functional programming languages.",
"authors": [
"Lei Yu"
],
"date": "2013-07-27",
- "id": 553,
+ "id": 557,
"link": "/entries/IEEE_Floating_Point.html",
"permalink": "/entries/IEEE_Floating_Point.html",
"shortname": "IEEE_Floating_Point",
"title": "A Formal Model of IEEE Floating Point Arithmetic",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 2
},
{
"abstract": "In 1927, Lehmer presented criterions for primality, based on the converse of Fermat's litte theorem. This work formalizes the second criterion from Lehmer's paper, a necessary and sufficient condition for primality. \u003cp\u003e As a side product we formalize some properties of Euler's phi-function, the notion of the order of an element of a group, and the cyclicity of the multiplicative group of a finite field.",
"authors": [
"Simon Wimmer",
"Lars Noschinski"
],
"date": "2013-07-22",
- "id": 554,
+ "id": 558,
"link": "/entries/Lehmer.html",
"permalink": "/entries/Lehmer.html",
"shortname": "Lehmer",
"title": "Lehmer's Theorem",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 1
},
{
"abstract": "In 1975, Pratt introduced a proof system for certifying primes. He showed that a number \u003ci\u003ep\u003c/i\u003e is prime iff a primality certificate for \u003ci\u003ep\u003c/i\u003e exists. By showing a logarithmic upper bound on the length of the certificates in size of the prime number, he concluded that the decision problem for prime numbers is in NP. This work formalizes soundness and completeness of Pratt's proof system as well as an upper bound for the size of the certificate.",
"authors": [
"Simon Wimmer",
"Lars Noschinski"
],
"date": "2013-07-22",
- "id": 555,
+ "id": 559,
"link": "/entries/Pratt_Certificate.html",
"permalink": "/entries/Pratt_Certificate.html",
"shortname": "Pratt_Certificate",
"title": "Pratt's Primality Certificates",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 2
},
{
"abstract": "This development provides a formalization of undirected graphs and simple graphs, which are based on Benedikt Nordhoff and Peter Lammich's simple formalization of labelled directed graphs in the archive. Then, with our formalization of graphs, we show both necessary and sufficient conditions for Eulerian trails and circuits as well as the fact that the Königsberg Bridge Problem does not have a solution. In addition, we show the Friendship Theorem in simple graphs.",
"authors": [
"Wenda Li"
],
"date": "2013-07-19",
- "id": 556,
+ "id": 560,
"link": "/entries/Koenigsberg_Friendship.html",
"permalink": "/entries/Koenigsberg_Friendship.html",
"shortname": "Koenigsberg_Friendship",
"title": "The Königsberg Bridge Problem and the Friendship Theorem",
"topic_links": [
"mathematics/graph-theory"
],
"topics": [
"Mathematics/Graph theory"
],
"used_by": 0
},
{
"abstract": "This is a formalization of the soundness and completeness properties for various efficient encodings of sorts in unsorted first-order logic used by Isabelle's Sledgehammer tool. \u003cp\u003e Essentially, the encodings proceed as follows: a many-sorted problem is decorated with (as few as possible) tags or guards that make the problem monotonic; then sorts can be soundly erased. \u003cp\u003e The development employs a formalization of many-sorted first-order logic in clausal form (clauses, structures and the basic properties of the satisfaction relation), which could be of interest as the starting point for other formalizations of first-order logic metatheory.",
"authors": [
"Jasmin Christian Blanchette",
"Andrei Popescu"
],
"date": "2013-06-27",
- "id": 557,
+ "id": 561,
"link": "/entries/Sort_Encodings.html",
"permalink": "/entries/Sort_Encodings.html",
"shortname": "Sort_Encodings",
"title": "Sound and Complete Sort Encodings for First-Order Logic",
"topic_links": [
"logic/general-logic/mechanization-of-proofs"
],
"topics": [
"Logic/General logic/Mechanization of proofs"
],
"used_by": 0
},
{
"abstract": "This theory is split into two sections. In the first section, we give a formal proof that a well-known axiomatic characterization of the single-source shortest path problem is correct. Namely, we prove that in a directed graph with a non-negative cost function on the edges the single-source shortest path function is the only function that satisfies a set of four axioms. In the second section, we give a formal proof of the correctness of an axiomatic characterization of the single-source shortest path problem for directed graphs with general cost functions. The axioms here are more involved because we have to account for potential negative cycles in the graph. The axioms are summarized in three Isabelle locales.",
"authors": [
"Christine Rizkallah"
],
"date": "2013-05-22",
- "id": 558,
+ "id": 562,
"link": "/entries/ShortestPath.html",
"permalink": "/entries/ShortestPath.html",
"shortname": "ShortestPath",
"title": "An Axiomatic Characterization of the Single-Source Shortest Path Problem",
"topic_links": [
"mathematics/graph-theory"
],
"topics": [
"Mathematics/Graph theory"
],
"used_by": 0
},
{
"abstract": "This development provides a formalization of directed graphs, supporting (labelled) multi-edges and infinite graphs. A polymorphic edge type allows edges to be treated as pairs of vertices, if multi-edges are not required. Formalized properties are i.a. walks (and related concepts), connectedness and subgraphs and basic properties of isomorphisms. \u003cp\u003e This formalization is used to prove characterizations of Euler Trails, Shortest Paths and Kuratowski subgraphs.",
"authors": [
"Lars Noschinski"
],
"date": "2013-04-28",
- "id": 559,
+ "id": 563,
"link": "/entries/Graph_Theory.html",
"permalink": "/entries/Graph_Theory.html",
"shortname": "Graph_Theory",
"title": "Graph Theory",
"topic_links": [
"mathematics/graph-theory"
],
"topics": [
"Mathematics/Graph theory"
],
"used_by": 4
},
{
"abstract": "This development provides a framework for container types like sets and maps such that generated code implements these containers with different (efficient) data structures. Thanks to type classes and refinement during code generation, this light-weight approach can seamlessly replace Isabelle's default setup for code generation. Heuristics automatically pick one of the available data structures depending on the type of elements to be stored, but users can also choose on their own. The extensible design permits to add more implementations at any time. \u003cp\u003e To support arbitrary nesting of sets, we define a linear order on sets based on a linear order of the elements and provide efficient implementations. It even allows to compare complements with non-complements.",
"authors": [
"Andreas Lochbihler"
],
"date": "2013-04-15",
- "id": 560,
+ "id": 564,
"link": "/entries/Containers.html",
"permalink": "/entries/Containers.html",
"shortname": "Containers",
"title": "Light-weight Containers",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 8
},
{
"abstract": "\u003cp\u003eDealing with binders, renaming of bound variables, capture-avoiding substitution, etc., is very often a major problem in formal proofs, especially in proofs by structural and rule induction. Nominal Isabelle is designed to make such proofs easy to formalise: it provides an infrastructure for declaring nominal datatypes (that is alpha-equivalence classes) and for defining functions over them by structural recursion. It also provides induction principles that have Barendregt’s variable convention already built in. \u003c/p\u003e\u003cp\u003e This entry can be used as a more advanced replacement for HOL/Nominal in the Isabelle distribution. \u003c/p\u003e",
"authors": [
"Christian Urban",
"Stefan Berghofer",
"Cezary Kaliszyk"
],
"date": "2013-02-21",
- "id": 561,
+ "id": 565,
"link": "/entries/Nominal2.html",
"permalink": "/entries/Nominal2.html",
"shortname": "Nominal2",
"title": "Nominal 2",
"topic_links": [
"tools"
],
"topics": [
"Tools"
],
"used_by": 8
},
{
"abstract": "In his seminal paper \"Natural Semantics for Lazy Evaluation\", John Launchbury proves his semantics correct with respect to a denotational semantics, and outlines an adequacy proof. We have formalized both semantics and machine-checked the correctness proof, clarifying some details. Furthermore, we provide a new and more direct adequacy proof that does not require intermediate operational semantics.",
"authors": [
"Joachim Breitner"
],
"date": "2013-01-31",
- "id": 562,
+ "id": 566,
"link": "/entries/Launchbury.html",
"permalink": "/entries/Launchbury.html",
"shortname": "Launchbury",
"title": "The Correctness of Launchbury's Natural Semantics for Lazy Evaluation",
"topic_links": [
"computer-science/programming-languages/lambda-calculi",
"computer-science/semantics-and-reasoning"
],
"topics": [
"Computer science/Programming languages/Lambda calculi",
"Computer science/Semantics and reasoning"
],
"used_by": 1
},
{
"abstract": "This document concerns the theory of ribbon proofs: a diagrammatic proof system, based on separation logic, for verifying program correctness. We include the syntax, proof rules, and soundness results for two alternative formalisations of ribbon proofs. \u003cp\u003e Compared to traditional proof outlines, ribbon proofs emphasise the structure of a proof, so are intelligible and pedagogical. Because they contain less redundancy than proof outlines, and allow each proof step to be checked locally, they may be more scalable. Where proof outlines are cumbersome to modify, ribbon proofs can be visually manoeuvred to yield proofs of variant programs.",
"authors": [
"John Wickerson"
],
"date": "2013-01-19",
- "id": 563,
+ "id": 567,
"link": "/entries/Ribbon_Proofs.html",
"permalink": "/entries/Ribbon_Proofs.html",
"shortname": "Ribbon_Proofs",
"title": "Ribbon Proofs",
"topic_links": [
"computer-science/programming-languages/logics"
],
"topics": [
"Computer science/Programming languages/Logics"
],
"used_by": 0
},
{
"abstract": "In this contribution, we present some formalizations based on the HOL-Multivariate-Analysis session of Isabelle. Firstly, a generalization of several theorems of such library are presented. Secondly, some definitions and proofs involving Linear Algebra and the four fundamental subspaces of a matrix are shown. Finally, we present a proof of the result known in Linear Algebra as the ``Rank-Nullity Theorem'', which states that, given any linear map f from a finite dimensional vector space V to a vector space W, then the dimension of V is equal to the dimension of the kernel of f (which is a subspace of V) and the dimension of the range of f (which is a subspace of W). The proof presented here is based on the one given by Sheldon Axler in his book \u003ci\u003eLinear Algebra Done Right\u003c/i\u003e. As a corollary of the previous theorem, and taking advantage of the relationship between linear maps and matrices, we prove that, for every matrix A (which has associated a linear map between finite dimensional vector spaces), the sum of its null space and its column space (which is equal to the range of the linear map) is equal to the number of columns of A.",
"authors": [
"Jose Divasón",
"Jesús Aransay"
],
"date": "2013-01-16",
- "id": 564,
+ "id": 568,
"link": "/entries/Rank_Nullity_Theorem.html",
"permalink": "/entries/Rank_Nullity_Theorem.html",
"shortname": "Rank_Nullity_Theorem",
"title": "Rank-Nullity Theorem in Linear Algebra",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 4
},
{
"abstract": "These files contain a formalisation of variants of Kleene algebras and their most important models as axiomatic type classes in Isabelle/HOL. Kleene algebras are foundational structures in computing with applications ranging from automata and language theory to computational modeling, program construction and verification. \u003cp\u003e We start with formalising dioids, which are additively idempotent semirings, and expand them by axiomatisations of the Kleene star for finite iteration and an omega operation for infinite iteration. We show that powersets over a given monoid, (regular) languages, sets of paths in a graph, sets of computation traces, binary relations and formal power series form Kleene algebras, and consider further models based on lattices, max-plus semirings and min-plus semirings. We also demonstrate that dioids are closed under the formation of matrices (proofs for Kleene algebras remain to be completed). \u003cp\u003e On the one hand we have aimed at a reference formalisation of variants of Kleene algebras that covers a wide range of variants and the core theorems in a structured and modular way and provides readable proofs at text book level. On the other hand, we intend to use this algebraic hierarchy and its models as a generic algebraic middle-layer from which programming applications can quickly be explored, implemented and verified.",
"authors": [
"Alasdair Armstrong",
"Georg Struth",
"Tjark Weber"
],
"date": "2013-01-15",
- "id": 565,
+ "id": 569,
"link": "/entries/Kleene_Algebra.html",
"permalink": "/entries/Kleene_Algebra.html",
"shortname": "Kleene_Algebra",
"title": "Kleene Algebra",
"topic_links": [
"computer-science/programming-languages/logics",
"computer-science/automata-and-formal-languages",
"mathematics/algebra"
],
"topics": [
"Computer science/Programming languages/Logics",
"Computer science/Automata and formal languages",
"Mathematics/Algebra"
],
"used_by": 6
},
{
"abstract": "We implement the Babylonian method to compute n-th roots of numbers. We provide precise algorithms for naturals, integers and rationals, and offer an approximation algorithm for square roots over linear ordered fields. Moreover, there are precise algorithms to compute the floor and the ceiling of n-th roots.",
"authors": [
"René Thiemann"
],
"date": "2013-01-03",
- "id": 566,
+ "id": 570,
"link": "/entries/Sqrt_Babylonian.html",
"permalink": "/entries/Sqrt_Babylonian.html",
"shortname": "Sqrt_Babylonian",
"title": "Computing N-th Roots using the Babylonian Method",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 4
},
{
"abstract": "We provide a framework for separation-logic based correctness proofs of Imperative HOL programs. Our framework comes with a set of proof methods to automate canonical tasks such as verification condition generation and frame inference. Moreover, we provide a set of examples that show the applicability of our framework. The examples include algorithms on lists, hash-tables, and union-find trees. We also provide abstract interfaces for lists, maps, and sets, that allow to develop generic imperative algorithms and use data-refinement techniques. \u003cbr\u003e As we target Imperative HOL, our programs can be translated to efficiently executable code in various target languages, including ML, OCaml, Haskell, and Scala.",
"authors": [
"Peter Lammich",
"Rene Meis"
],
"date": "2012-11-14",
- "id": 567,
+ "id": 571,
"link": "/entries/Separation_Logic_Imperative_HOL.html",
"permalink": "/entries/Separation_Logic_Imperative_HOL.html",
"shortname": "Separation_Logic_Imperative_HOL",
"title": "A Separation Logic Framework for Imperative HOL",
"topic_links": [
"computer-science/programming-languages/logics"
],
"topics": [
"Computer science/Programming languages/Logics"
],
"used_by": 2
},
{
"abstract": "A proof of the open induction schema based on J.-C. Raoult, Proving open properties by induction, \u003ci\u003eInformation Processing Letters\u003c/i\u003e 29, 1988, pp.19-23. \u003cp\u003eThis research was supported by the Austrian Science Fund (FWF): J3202.\u003c/p\u003e",
"authors": [
"Mizuhito Ogawa",
"Christian Sternagel"
],
"date": "2012-11-02",
- "id": 568,
+ "id": 572,
"link": "/entries/Open_Induction.html",
"permalink": "/entries/Open_Induction.html",
"shortname": "Open_Induction",
"title": "Open Induction",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 4
},
{
"abstract": "Tarski's axioms of plane geometry are formalized and, using the standard real Cartesian model, shown to be consistent. A substantial theory of the projective plane is developed. Building on this theory, the Klein-Beltrami model of the hyperbolic plane is defined and shown to satisfy all of Tarski's axioms except his Euclidean axiom; thus Tarski's Euclidean axiom is shown to be independent of his other axioms of plane geometry. \u003cp\u003e An earlier version of this work was the subject of the author's \u003ca href=\"http://researcharchive.vuw.ac.nz/handle/10063/2315\"\u003eMSc thesis\u003c/a\u003e, which contains natural-language explanations of some of the more interesting proofs.",
"authors": [
"T. J. M. Makarios"
],
"date": "2012-10-30",
- "id": 569,
+ "id": 573,
"link": "/entries/Tarskis_Geometry.html",
"permalink": "/entries/Tarskis_Geometry.html",
"shortname": "Tarskis_Geometry",
"title": "The independence of Tarski's Euclidean axiom",
"topic_links": [
"mathematics/geometry"
],
"topics": [
"Mathematics/Geometry"
],
"used_by": 0
},
{
"abstract": "A proof of Bondy's theorem following B. Bollabas, Combinatorics, 1986, Cambridge University Press.",
"authors": [
"Jeremy Avigad",
"Stefan Hetzl"
],
"date": "2012-10-27",
- "id": 570,
+ "id": 574,
"link": "/entries/Bondy.html",
"permalink": "/entries/Bondy.html",
"shortname": "Bondy",
"title": "Bondy's Theorem",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 0
},
{
"abstract": "We formalize a wide variety of Volpano/Smith-style noninterference notions for a while language with parallel composition. We systematize and classify these notions according to compositionality w.r.t. the language constructs. Compositionality yields sound syntactic criteria (a.k.a. type systems) in a uniform way. \u003cp\u003e An \u003ca href=\"http://www21.in.tum.de/~nipkow/pubs/cpp12.html\"\u003earticle\u003c/a\u003e about these proofs is published in the proceedings of the conference Certified Programs and Proofs 2012.",
"authors": [
"Andrei Popescu",
"Johannes Hölzl"
],
"date": "2012-09-10",
- "id": 571,
+ "id": 575,
"link": "/entries/Possibilistic_Noninterference.html",
"permalink": "/entries/Possibilistic_Noninterference.html",
"shortname": "Possibilistic_Noninterference",
"title": "Possibilistic Noninterference",
"topic_links": [
"computer-science/security",
"computer-science/programming-languages/type-systems"
],
"topics": [
"Computer science/Security",
"Computer science/Programming languages/Type systems"
],
"used_by": 0
},
{
"abstract": "We provide a framework for registering automatic methods to derive class instances of datatypes, as it is possible using Haskell's ``deriving Ord, Show, ...'' feature. \u003cp\u003e We further implemented such automatic methods to derive (linear) orders or hash-functions which are required in the Isabelle Collection Framework. Moreover, for the tactic of Huffman and Krauss to show that a datatype is countable, we implemented a wrapper so that this tactic becomes accessible in our framework. \u003cp\u003e Our formalization was performed as part of the \u003ca href=\"http://cl-informatik.uibk.ac.at/software/ceta\"\u003eIsaFoR/CeTA\u003c/a\u003e project. With our new tactic we could completely remove tedious proofs for linear orders of two datatypes. \u003cp\u003e This development is aimed at datatypes generated by the \"old_datatype\" command.",
"authors": [
"René Thiemann"
],
"date": "2012-08-07",
- "id": 572,
+ "id": 576,
"link": "/entries/Datatype_Order_Generator.html",
"permalink": "/entries/Datatype_Order_Generator.html",
"shortname": "Datatype_Order_Generator",
"title": "Generating linear orders for datatypes",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 4
},
{
"abstract": "Squaring the circle, doubling the cube and trisecting an angle, using a compass and straightedge alone, are classic unsolved problems first posed by the ancient Greeks. All three problems were proved to be impossible in the 19th century. The following document presents the proof of the impossibility of solving the latter two problems using Isabelle/HOL, following a proof by Carrega. The proof uses elementary methods: no Galois theory or field extensions. The set of points constructible using a compass and straightedge is defined inductively. Radical expressions, which involve only square roots and arithmetic of rational numbers, are defined, and we find that all constructive points have radical coordinates. Finally, doubling the cube and trisecting certain angles requires solving certain cubic equations that can be proved to have no rational roots. The Isabelle proofs require a great many detailed calculations.",
"authors": [
"Ralph Romanos",
"Lawrence C. Paulson"
],
"date": "2012-08-05",
- "id": 573,
+ "id": 577,
"link": "/entries/Impossible_Geometry.html",
"permalink": "/entries/Impossible_Geometry.html",
"shortname": "Impossible_Geometry",
"title": "Proving the Impossibility of Trisecting an Angle and Doubling the Cube",
"topic_links": [
"mathematics/algebra",
"mathematics/geometry"
],
"topics": [
"Mathematics/Algebra",
"Mathematics/Geometry"
],
"used_by": 0
},
{
"abstract": "Distributed computing is inherently based on replication, promising increased tolerance to failures of individual computing nodes or communication channels. Realizing this promise, however, involves quite subtle algorithmic mechanisms, and requires precise statements about the kinds and numbers of faults that an algorithm tolerates (such as process crashes, communication faults or corrupted values). The landmark theorem due to Fischer, Lynch, and Paterson shows that it is impossible to achieve Consensus among N asynchronously communicating nodes in the presence of even a single permanent failure. Existing solutions must rely on assumptions of \"partial synchrony\". \u003cp\u003e Indeed, there have been numerous misunderstandings on what exactly a given algorithm is supposed to realize in what kinds of environments. Moreover, the abundance of subtly different computational models complicates comparisons between different algorithms. Charron-Bost and Schiper introduced the Heard-Of model for representing algorithms and failure assumptions in a uniform framework, simplifying comparisons between algorithms. \u003cp\u003e In this contribution, we represent the Heard-Of model in Isabelle/HOL. We define two semantics of runs of algorithms with different unit of atomicity and relate these through a reduction theorem that allows us to verify algorithms in the coarse-grained semantics (where proofs are easier) and infer their correctness for the fine-grained one (which corresponds to actual executions). We instantiate the framework by verifying six Consensus algorithms that differ in the underlying algorithmic mechanisms and the kinds of faults they tolerate.",
"authors": [
"Henri Debrat",
"Stephan Merz"
],
"date": "2012-07-27",
- "id": 574,
+ "id": 578,
"link": "/entries/Heard_Of.html",
"permalink": "/entries/Heard_Of.html",
"shortname": "Heard_Of",
"title": "Verifying Fault-Tolerant Distributed Algorithms in the Heard-Of Model",
"topic_links": [
"computer-science/algorithms/distributed"
],
"topics": [
"Computer science/Algorithms/Distributed"
],
"used_by": 1
},
{
"abstract": "We apply Andy Pitts's methods of defining relations over domains to several classical results in the literature. We show that the Y combinator coincides with the domain-theoretic fixpoint operator, that parallel-or and the Plotkin existential are not definable in PCF, that the continuation semantics for PCF coincides with the direct semantics, and that our domain-theoretic semantics for PCF is adequate for reasoning about contextual equivalence in an operational semantics. Our version of PCF is untyped and has both strict and non-strict function abstractions. The development is carried out in HOLCF.",
"authors": [
"Peter Gammie"
],
"date": "2012-07-01",
- "id": 575,
+ "id": 579,
"link": "/entries/PCF.html",
"permalink": "/entries/PCF.html",
"shortname": "PCF",
"title": "Logical Relations for PCF",
"topic_links": [
"computer-science/programming-languages/lambda-calculi"
],
"topics": [
"Computer science/Programming languages/Lambda calculi"
],
"used_by": 0
},
{
"abstract": "These theories contain a formalization of first class type constructors and axiomatic constructor classes for HOLCF. This work is described in detail in the ICFP 2012 paper \u003ci\u003eFormal Verification of Monad Transformers\u003c/i\u003e by the author. The formalization is a revised and updated version of earlier joint work with Matthews and White. \u003cP\u003e Based on the hierarchy of type classes in Haskell, we define classes for functors, monads, monad-plus, etc. Each one includes all the standard laws as axioms. We also provide a new user command, tycondef, for defining new type constructors in HOLCF. Using tycondef, we instantiate the type class hierarchy with various monads and monad transformers.",
"authors": [
"Brian Huffman"
],
"date": "2012-06-26",
- "id": 576,
+ "id": 580,
"link": "/entries/Tycon.html",
"permalink": "/entries/Tycon.html",
"shortname": "Tycon",
"title": "Type Constructor Classes and Monad Transformers",
"topic_links": [
"computer-science/functional-programming"
],
"topics": [
"Computer science/Functional programming"
],
"used_by": 0
},
{
"abstract": "We formalise a large portion of CCS as described in Milner's book 'Communication and Concurrency' using the nominal datatype package in Isabelle. Our results include many of the standard theorems of bisimulation equivalence and congruence, for both weak and strong versions. One main goal of this formalisation is to keep the machine-checked proofs as close to their pen-and-paper counterpart as possible. \u003cp\u003e This entry is described in detail in \u003ca href=\"http://www.itu.dk/people/jebe/files/thesis.pdf\"\u003eBengtson's thesis\u003c/a\u003e.",
"authors": [
"Jesper Bengtson"
],
"date": "2012-05-29",
- "id": 577,
+ "id": 581,
"link": "/entries/CCS.html",
"permalink": "/entries/CCS.html",
"shortname": "CCS",
"title": "CCS in nominal logic",
"topic_links": [
"computer-science/concurrency/process-calculi"
],
"topics": [
"Computer science/Concurrency/Process calculi"
],
"used_by": 0
},
{
"abstract": "Psi-calculi are extensions of the pi-calculus, accommodating arbitrary nominal datatypes to represent not only data but also communication channels, assertions and conditions, giving it an expressive power beyond the applied pi-calculus and the concurrent constraint pi-calculus. \u003cp\u003e We have formalised psi-calculi in the interactive theorem prover Isabelle using its nominal datatype package. One distinctive feature is that the framework needs to treat binding sequences, as opposed to single binders, in an efficient way. While different methods for formalising single binder calculi have been proposed over the last decades, representations for such binding sequences are not very well explored. \u003cp\u003e The main effort in the formalisation is to keep the machine checked proofs as close to their pen-and-paper counterparts as possible. This includes treating all binding sequences as atomic elements, and creating custom induction and inversion rules that to remove the bulk of manual alpha-conversions. \u003cp\u003e This entry is described in detail in \u003ca href=\"http://www.itu.dk/people/jebe/files/thesis.pdf\"\u003eBengtson's thesis\u003c/a\u003e.",
"authors": [
"Jesper Bengtson"
],
"date": "2012-05-29",
- "id": 578,
+ "id": 582,
"link": "/entries/Psi_Calculi.html",
"permalink": "/entries/Psi_Calculi.html",
"shortname": "Psi_Calculi",
"title": "Psi-calculi in Isabelle",
"topic_links": [
"computer-science/concurrency/process-calculi"
],
"topics": [
"Computer science/Concurrency/Process calculi"
],
"used_by": 0
},
{
"abstract": "We formalise the pi-calculus using the nominal datatype package, based on ideas from the nominal logic by Pitts et al., and demonstrate an implementation in Isabelle/HOL. The purpose is to derive powerful induction rules for the semantics in order to conduct machine checkable proofs, closely following the intuitive arguments found in manual proofs. In this way we have covered many of the standard theorems of bisimulation equivalence and congruence, both late and early, and both strong and weak in a uniform manner. We thus provide one of the most extensive formalisations of a the pi-calculus ever done inside a theorem prover. \u003cp\u003e A significant gain in our formulation is that agents are identified up to alpha-equivalence, thereby greatly reducing the arguments about bound names. This is a normal strategy for manual proofs about the pi-calculus, but that kind of hand waving has previously been difficult to incorporate smoothly in an interactive theorem prover. We show how the nominal logic formalism and its support in Isabelle accomplishes this and thus significantly reduces the tedium of conducting completely formal proofs. This improves on previous work using weak higher order abstract syntax since we do not need extra assumptions to filter out exotic terms and can keep all arguments within a familiar first-order logic. \u003cp\u003e This entry is described in detail in \u003ca href=\"http://www.itu.dk/people/jebe/files/thesis.pdf\"\u003eBengtson's thesis\u003c/a\u003e.",
"authors": [
"Jesper Bengtson"
],
"date": "2012-05-29",
- "id": 579,
+ "id": 583,
"link": "/entries/Pi_Calculus.html",
"permalink": "/entries/Pi_Calculus.html",
"shortname": "Pi_Calculus",
"title": "The pi-calculus in nominal logic",
"topic_links": [
"computer-science/concurrency/process-calculi"
],
"topics": [
"Computer science/Concurrency/Process calculi"
],
"used_by": 0
},
{
"abstract": "The Circus specification language combines elements for complex data and behavior specifications, using an integration of Z and CSP with a refinement calculus. Its semantics is based on Hoare and He's Unifying Theories of Programming (UTP). Isabelle/Circus is a formalization of the UTP and the Circus language in Isabelle/HOL. It contains proof rules and tactic support that allows for proofs of refinement for Circus processes (involving both data and behavioral aspects). \u003cp\u003e The Isabelle/Circus environment supports a syntax for the semantic definitions which is close to textbook presentations of Circus. This article contains an extended version of corresponding VSTTE Paper together with the complete formal development of its underlying commented theories.",
"authors": [
"Abderrahmane Feliachi",
"Burkhart Wolff",
"Marie-Claude Gaudel"
],
"date": "2012-05-27",
- "id": 580,
+ "id": 584,
"link": "/entries/Circus.html",
"permalink": "/entries/Circus.html",
"shortname": "Circus",
"title": "Isabelle/Circus",
"topic_links": [
"computer-science/concurrency/process-calculi",
"computer-science/system-description-languages"
],
"topics": [
"Computer science/Concurrency/Process calculi",
"Computer science/System description languages"
],
"used_by": 0
},
{
"abstract": "We present a generic type class implementation of separation algebra for Isabelle/HOL as well as lemmas and generic tactics which can be used directly for any instantiation of the type class. \u003cP\u003e The ex directory contains example instantiations that include structures such as a heap or virtual memory. \u003cP\u003e The abstract separation algebra is based upon \"Abstract Separation Logic\" by Calcagno et al. These theories are also the basis of the ITP 2012 rough diamond \"Mechanised Separation Algebra\" by the authors. \u003cP\u003e The aim of this work is to support and significantly reduce the effort for future separation logic developments in Isabelle/HOL by factoring out the part of separation logic that can be treated abstractly once and for all. This includes developing typical default rule sets for reasoning as well as automated tactic support for separation logic.",
"authors": [
"Gerwin Klein",
"Rafal Kolanski",
"Andrew Boyton"
],
"date": "2012-05-11",
- "id": 581,
+ "id": 585,
"link": "/entries/Separation_Algebra.html",
"permalink": "/entries/Separation_Algebra.html",
"shortname": "Separation_Algebra",
"title": "Separation Algebra",
"topic_links": [
"computer-science/programming-languages/logics"
],
"topics": [
"Computer science/Programming languages/Logics"
],
"used_by": 2
},
{
"abstract": "\u003cp\u003eTwo omega-sequences are stuttering equivalent if they differ only by finite repetitions of elements. Stuttering equivalence is a fundamental concept in the theory of concurrent and distributed systems. Notably, Lamport argues that refinement notions for such systems should be insensitive to finite stuttering. Peled and Wilke showed that all PLTL (propositional linear-time temporal logic) properties that are insensitive to stuttering equivalence can be expressed without the next-time operator. Stuttering equivalence is also important for certain verification techniques such as partial-order reduction for model checking.\u003c/p\u003e \u003cp\u003eWe formalize stuttering equivalence in Isabelle/HOL. Our development relies on the notion of stuttering sampling functions that may skip blocks of identical sequence elements. We also encode PLTL and prove the theorem due to Peled and Wilke.\u003c/p\u003e",
"authors": [
"Stephan Merz"
],
"date": "2012-05-07",
- "id": 582,
+ "id": 586,
"link": "/entries/Stuttering_Equivalence.html",
"permalink": "/entries/Stuttering_Equivalence.html",
"shortname": "Stuttering_Equivalence",
"title": "Stuttering Equivalence",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 5
},
{
"abstract": "This document contains the full theory files accompanying article \u003ci\u003eInductive Study of Confidentiality --- for Everyone\u003c/i\u003e in \u003ci\u003eFormal Aspects of Computing\u003c/i\u003e. They aim at an illustrative and didactic presentation of the Inductive Method of protocol analysis, focusing on the treatment of one of the main goals of security protocols: confidentiality against a threat model. The treatment of confidentiality, which in fact forms a key aspect of all protocol analysis tools, has been found cryptic by many learners of the Inductive Method, hence the motivation for this work. The theory files in this document guide the reader step by step towards design and proof of significant confidentiality theorems. These are developed against two threat models, the standard Dolev-Yao and a more audacious one, the General Attacker, which turns out to be particularly useful also for teaching purposes.",
"authors": [
"Giampaolo Bella"
],
"date": "2012-05-02",
- "id": 583,
+ "id": 587,
"link": "/entries/Inductive_Confidentiality.html",
"permalink": "/entries/Inductive_Confidentiality.html",
"shortname": "Inductive_Confidentiality",
"title": "Inductive Study of Confidentiality",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003eSession Ordinary-Differential-Equations formalizes ordinary differential equations (ODEs) and initial value problems. This work comprises proofs for local and global existence of unique solutions (Picard-Lindelöf theorem). Moreover, it contains a formalization of the (continuous or even differentiable) dependency of the flow on initial conditions as the \u003ci\u003eflow\u003c/i\u003e of ODEs.\u003c/p\u003e \u003cp\u003e Not in the generated document are the following sessions: \u003cul\u003e \u003cli\u003e HOL-ODE-Numerics: Rigorous numerical algorithms for computing enclosures of solutions based on Runge-Kutta methods and affine arithmetic. Reachability analysis with splitting and reduction at hyperplanes.\u003c/li\u003e \u003cli\u003e HOL-ODE-Examples: Applications of the numerical algorithms to concrete systems of ODEs.\u003c/li\u003e \u003cli\u003e Lorenz_C0, Lorenz_C1: Verified algorithms for checking C1-information according to Tucker's proof, computation of C0-information.\u003c/li\u003e \u003c/ul\u003e \u003c/p\u003e",
"authors": [
"Fabian Immler",
"Johannes Hölzl"
],
"date": "2012-04-26",
- "id": 584,
+ "id": 588,
"link": "/entries/Ordinary_Differential_Equations.html",
"permalink": "/entries/Ordinary_Differential_Equations.html",
"shortname": "Ordinary_Differential_Equations",
"title": "Ordinary Differential Equations",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 3
},
{
"abstract": "Based on Isabelle/HOL's type class for preorders, we introduce a type class for well-quasi-orders (wqo) which is characterized by the absence of \"bad\" sequences (our proofs are along the lines of the proof of Nash-Williams, from which we also borrow terminology). Our main results are instantiations for the product type, the list type, and a type of finite trees, which (almost) directly follow from our proofs of (1) Dickson's Lemma, (2) Higman's Lemma, and (3) Kruskal's Tree Theorem. More concretely: \u003cul\u003e \u003cli\u003eIf the sets A and B are wqo then their Cartesian product is wqo.\u003c/li\u003e \u003cli\u003eIf the set A is wqo then the set of finite lists over A is wqo.\u003c/li\u003e \u003cli\u003eIf the set A is wqo then the set of finite trees over A is wqo.\u003c/li\u003e \u003c/ul\u003e The research was funded by the Austrian Science Fund (FWF): J3202.",
"authors": [
"Christian Sternagel"
],
"date": "2012-04-13",
- "id": 585,
+ "id": 589,
"link": "/entries/Well_Quasi_Orders.html",
"permalink": "/entries/Well_Quasi_Orders.html",
"shortname": "Well_Quasi_Orders",
"title": "Well-Quasi-Orders",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 5
},
{
"abstract": "We define the Abortable Linearizable Module automaton (ALM for short) and prove its key composition property using the IOA theory of HOLCF. The ALM is at the heart of the Speculative Linearizability framework. This framework simplifies devising correct speculative algorithms by enabling their decomposition into independent modules that can be analyzed and proved correct in isolation. It is particularly useful when working in a distributed environment, where the need to tolerate faults and asynchrony has made current monolithic protocols so intricate that it is no longer tractable to check their correctness. Our theory contains a typical example of a refinement proof in the I/O-automata framework of Lynch and Tuttle.",
"authors": [
"Rachid Guerraoui",
"Viktor Kuncak",
"Giuliano Losa"
],
"date": "2012-03-01",
- "id": 586,
+ "id": 590,
"link": "/entries/Abortable_Linearizable_Modules.html",
"permalink": "/entries/Abortable_Linearizable_Modules.html",
"shortname": "Abortable_Linearizable_Modules",
"title": "Abortable Linearizable Modules",
"topic_links": [
"computer-science/algorithms/distributed"
],
"topics": [
"Computer science/Algorithms/Distributed"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e We provide a generic work-list algorithm to compute the (reflexive-)transitive closure of relations where only successors of newly detected states are generated. In contrast to our previous work, the relations do not have to be finite, but each element must only have finitely many (indirect) successors. Moreover, a subsumption relation can be used instead of pure equality. An executable variant of the algorithm is available where the generic operations are instantiated with list operations. \u003c/p\u003e\u003cp\u003e This formalization was performed as part of the IsaFoR/CeTA project, and it has been used to certify size-change termination proofs where large transitive closures have to be computed. \u003c/p\u003e",
"authors": [
"René Thiemann"
],
"date": "2012-02-29",
- "id": 587,
+ "id": 591,
"link": "/entries/Transitive-Closure-II.html",
"permalink": "/entries/Transitive-Closure-II.html",
"shortname": "Transitive-Closure-II",
"title": "Executable Transitive Closures",
"topic_links": [
"computer-science/algorithms/graph"
],
"topics": [
"Computer science/Algorithms/Graph"
],
"used_by": 0
},
{
"abstract": "This works presents a formalization of the Girth-Chromatic number theorem in graph theory, stating that graphs with arbitrarily large girth and chromatic number exist. The proof uses the theory of Random Graphs to prove the existence with probabilistic arguments.",
"authors": [
"Lars Noschinski"
],
"date": "2012-02-06",
- "id": 588,
+ "id": 592,
"link": "/entries/Girth_Chromatic.html",
"permalink": "/entries/Girth_Chromatic.html",
"shortname": "Girth_Chromatic",
"title": "A Probabilistic Proof of the Girth-Chromatic Number Theorem",
"topic_links": [
"mathematics/graph-theory"
],
"topics": [
"Mathematics/Graph theory"
],
"used_by": 3
},
{
"abstract": "We implement and prove correct Dijkstra's algorithm for the single source shortest path problem, conceived in 1956 by E. Dijkstra. The algorithm is implemented using the data refinement framework for monadic, nondeterministic programs. An efficient implementation is derived using data structures from the Isabelle Collection Framework.",
"authors": [
"Benedikt Nordhoff",
"Peter Lammich"
],
"date": "2012-01-30",
- "id": 589,
+ "id": 593,
"link": "/entries/Dijkstra_Shortest_Path.html",
"permalink": "/entries/Dijkstra_Shortest_Path.html",
"shortname": "Dijkstra_Shortest_Path",
"title": "Dijkstra's Shortest Path Algorithm",
"topic_links": [
"computer-science/algorithms/graph"
],
"topics": [
"Computer science/Algorithms/Graph"
],
"used_by": 3
},
{
"abstract": "We provide a framework for program and data refinement in Isabelle/HOL. The framework is based on a nondeterminism-monad with assertions, i.e., the monad carries a set of results or an assertion failure. Recursion is expressed by fixed points. For convenience, we also provide while and foreach combinators. \u003cp\u003e The framework provides tools to automatize canonical tasks, such as verification condition generation, finding appropriate data refinement relations, and refine an executable program to a form that is accepted by the Isabelle/HOL code generator. \u003cp\u003e This submission comes with a collection of examples and a user-guide, illustrating the usage of the framework.",
"authors": [
"Peter Lammich"
],
"date": "2012-01-30",
- "id": 590,
+ "id": 594,
"link": "/entries/Refine_Monadic.html",
"permalink": "/entries/Refine_Monadic.html",
"shortname": "Refine_Monadic",
"title": "Refinement for Monadic Programs",
"topic_links": [
"computer-science/semantics-and-reasoning"
],
"topics": [
"Computer science/Semantics and reasoning"
],
"used_by": 3
},
{
"abstract": "This is a formalization of Markov models in Isabelle/HOL. It builds on Isabelle's probability theory. The available models are currently Discrete-Time Markov Chains and a extensions of them with rewards. \u003cp\u003e As application of these models we formalize probabilistic model checking of pCTL formulas, analysis of IPv4 address allocation in ZeroConf and an analysis of the anonymity of the Crowds protocol. \u003ca href=\"http://arxiv.org/abs/1212.3870\"\u003eSee here for the corresponding paper.\u003c/a\u003e",
"authors": [
"Johannes Hölzl",
"Tobias Nipkow"
],
"date": "2012-01-03",
- "id": 591,
+ "id": 595,
"link": "/entries/Markov_Models.html",
"permalink": "/entries/Markov_Models.html",
"shortname": "Markov_Models",
"title": "Markov Models",
"topic_links": [
"mathematics/probability-theory",
"computer-science/automata-and-formal-languages"
],
"topics": [
"Mathematics/Probability theory",
"Computer science/Automata and formal languages"
],
"used_by": 4
},
{
"abstract": "We mechanise the logic TLA* \u003ca href=\"http://www.springerlink.com/content/ax3qk557qkdyt7n6/\"\u003e[Merz 1999]\u003c/a\u003e, an extension of Lamport's Temporal Logic of Actions (TLA) \u003ca href=\"http://dl.acm.org/citation.cfm?doid=177492.177726\"\u003e[Lamport 1994]\u003c/a\u003e for specifying and reasoning about concurrent and reactive systems. Aiming at a framework for mechanising] the verification of TLA (or TLA*) specifications, this contribution reuses some elements from a previous axiomatic encoding of TLA in Isabelle/HOL by the second author [Merz 1998], which has been part of the Isabelle distribution. In contrast to that previous work, we give here a shallow, definitional embedding, with the following highlights: \u003cul\u003e \u003cli\u003ea theory of infinite sequences, including a formalisation of the concepts of stuttering invariance central to TLA and TLA*; \u003cli\u003ea definition of the semantics of TLA*, which extends TLA by a mutually-recursive definition of formulas and pre-formulas, generalising TLA action formulas; \u003cli\u003ea substantial set of derived proof rules, including the TLA* axioms and Lamport's proof rules for system verification; \u003cli\u003ea set of examples illustrating the usage of Isabelle/TLA* for reasoning about systems. \u003c/ul\u003e Note that this work is unrelated to the ongoing development of a proof system for the specification language TLA+, which includes an encoding of TLA+ as a new Isabelle object logic \u003ca href=\"http://www.springerlink.com/content/354026160p14j175/\"\u003e[Chaudhuri et al 2010]\u003c/a\u003e.",
"authors": [
"Gudmund Grov",
"Stephan Merz"
],
"date": "2011-11-19",
- "id": 592,
+ "id": 596,
"link": "/entries/TLA.html",
"permalink": "/entries/TLA.html",
"shortname": "TLA",
"title": "A Definitional Encoding of TLA* in Isabelle/HOL",
"topic_links": [
"computer-science/programming-languages/logics"
],
"topics": [
"Computer science/Programming languages/Logics"
],
"used_by": 0
},
{
"abstract": "We provide a formalization of the mergesort algorithm as used in GHC's Data.List module, proving correctness and stability. Furthermore, experimental data suggests that generated (Haskell-)code for this algorithm is much faster than for previous algorithms available in the Isabelle distribution.",
"authors": [
"Christian Sternagel"
],
"date": "2011-11-09",
- "id": 593,
+ "id": 597,
"link": "/entries/Efficient-Mergesort.html",
"permalink": "/entries/Efficient-Mergesort.html",
"shortname": "Efficient-Mergesort",
"title": "Efficient Mergesort",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 2
},
{
"abstract": "Algebras of imperative programming languages have been successful in reasoning about programs. In general an algebra of programs is an algebraic structure with programs as elements and with program compositions (sequential composition, choice, skip) as algebra operations. Various versions of these algebras were introduced to model partial correctness, total correctness, refinement, demonic choice, and other aspects. We formalize here an algebra which can be used to model total correctness, refinement, demonic and angelic choice. The basic model of this algebra are monotonic Boolean transformers (monotonic functions from a Boolean algebra to itself).",
"authors": [
"Viorel Preoteasa"
],
"date": "2011-09-22",
- "id": 594,
+ "id": 598,
"link": "/entries/MonoBoolTranAlgebra.html",
"permalink": "/entries/MonoBoolTranAlgebra.html",
"shortname": "MonoBoolTranAlgebra",
"title": "Algebra of Monotonic Boolean Transformers",
"topic_links": [
"computer-science/programming-languages/logics"
],
"topics": [
"Computer science/Programming languages/Logics"
],
"used_by": 1
},
{
"abstract": "This formalization introduces and collects some algebraic structures based on lattices and complete lattices for use in other developments. The structures introduced are modular, and lattice ordered groups. In addition to the results proved for the new lattices, this formalization also introduces theorems about latices and complete lattices in general.",
"authors": [
"Viorel Preoteasa"
],
"date": "2011-09-22",
- "id": 595,
+ "id": 599,
"link": "/entries/LatticeProperties.html",
"permalink": "/entries/LatticeProperties.html",
"shortname": "LatticeProperties",
"title": "Lattice Properties",
"topic_links": [
"mathematics/order"
],
"topics": [
"Mathematics/Order"
],
"used_by": 3
},
{
"abstract": "Pseudo-hoops are algebraic structures introduced by B. Bosbach under the name of complementary semigroups. In this formalization we prove some properties of pseudo-hoops and we define the basic concepts of filter and normal filter. The lattice of normal filters is isomorphic with the lattice of congruences of a pseudo-hoop. We also study some important classes of pseudo-hoops. Bounded Wajsberg pseudo-hoops are equivalent to pseudo-Wajsberg algebras and bounded basic pseudo-hoops are equivalent to pseudo-BL algebras. Some examples of pseudo-hoops are given in the last section of the formalization.",
"authors": [
"George Georgescu",
"Laurentiu Leustean",
"Viorel Preoteasa"
],
"date": "2011-09-22",
- "id": 596,
+ "id": 600,
"link": "/entries/PseudoHoops.html",
"permalink": "/entries/PseudoHoops.html",
"shortname": "PseudoHoops",
"title": "Pseudo Hoops",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "There are many proofs of the Myhill-Nerode theorem using automata. In this library we give a proof entirely based on regular expressions, since regularity of languages can be conveniently defined using regular expressions (it is more painful in HOL to define regularity in terms of automata). We prove the first direction of the Myhill-Nerode theorem by solving equational systems that involve regular expressions. For the second direction we give two proofs: one using tagging-functions and another using partial derivatives. We also establish various closure properties of regular languages. Most details of the theories are described in our ITP 2011 paper.",
"authors": [
"Chunhan Wu",
"Xingyuan Zhang",
"Christian Urban"
],
"date": "2011-08-26",
- "id": 597,
+ "id": 601,
"link": "/entries/Myhill-Nerode.html",
"permalink": "/entries/Myhill-Nerode.html",
"shortname": "Myhill-Nerode",
"title": "The Myhill-Nerode Theorem Based on Regular Expressions",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "This theory provides a compact formulation of Gauss-Jordan elimination for matrices represented as functions. Its distinctive feature is succinctness. It is not meant for large computations.",
"authors": [
"Tobias Nipkow"
],
"date": "2011-08-19",
- "id": 598,
+ "id": 602,
"link": "/entries/Gauss-Jordan-Elim-Fun.html",
"permalink": "/entries/Gauss-Jordan-Elim-Fun.html",
"shortname": "Gauss-Jordan-Elim-Fun",
"title": "Gauss-Jordan Elimination for Matrices Represented as Functions",
"topic_links": [
"computer-science/algorithms/mathematical",
"mathematics/algebra"
],
"topics": [
"Computer science/Algorithms/Mathematical",
"Mathematics/Algebra"
],
"used_by": 1
},
{
"abstract": "\u003cp\u003e A \u003cem\u003ematching\u003c/em\u003e in a graph \u003ci\u003eG\u003c/i\u003e is a subset \u003ci\u003eM\u003c/i\u003e of the edges of \u003ci\u003eG\u003c/i\u003e such that no two share an endpoint. A matching has maximum cardinality if its cardinality is at least as large as that of any other matching. An \u003cem\u003eodd-set cover\u003c/em\u003e \u003ci\u003eOSC\u003c/i\u003e of a graph \u003ci\u003eG\u003c/i\u003e is a labeling of the nodes of \u003ci\u003eG\u003c/i\u003e with integers such that every edge of \u003ci\u003eG\u003c/i\u003e is either incident to a node labeled 1 or connects two nodes labeled with the same number \u003ci\u003ei \u0026ge; 2\u003c/i\u003e. \u003c/p\u003e\u003cp\u003e This article proves Edmonds theorem:\u003cbr\u003e Let \u003ci\u003eM\u003c/i\u003e be a matching in a graph \u003ci\u003eG\u003c/i\u003e and let \u003ci\u003eOSC\u003c/i\u003e be an odd-set cover of \u003ci\u003eG\u003c/i\u003e. For any \u003ci\u003ei \u0026ge; 0\u003c/i\u003e, let \u003cvar\u003en(i)\u003c/var\u003e be the number of nodes labeled \u003ci\u003ei\u003c/i\u003e. If \u003ci\u003e|M| = n(1) + \u0026sum;\u003csub\u003ei \u0026ge; 2\u003c/sub\u003e(n(i) div 2)\u003c/i\u003e, then \u003ci\u003eM\u003c/i\u003e is a maximum cardinality matching. \u003c/p\u003e",
"authors": [
"Christine Rizkallah"
],
"date": "2011-07-21",
- "id": 599,
+ "id": 603,
"link": "/entries/Max-Card-Matching.html",
"permalink": "/entries/Max-Card-Matching.html",
"shortname": "Max-Card-Matching",
"title": "Maximum Cardinality Matching",
"topic_links": [
"mathematics/graph-theory"
],
"topics": [
"Mathematics/Graph theory"
],
"used_by": 0
},
{
"abstract": "Knowledge-based programs (KBPs) are a formalism for directly relating agents' knowledge and behaviour. Here we present a general scheme for compiling KBPs to executable automata with a proof of correctness in Isabelle/HOL. We develop the algorithm top-down, using Isabelle's locale mechanism to structure these proofs, and show that two classic examples can be synthesised using Isabelle's code generator.",
"authors": [
"Peter Gammie"
],
"date": "2011-05-17",
- "id": 600,
+ "id": 604,
"link": "/entries/KBPs.html",
"permalink": "/entries/KBPs.html",
"shortname": "KBPs",
"title": "Knowledge-based programs",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 1
},
{
"abstract": "Some acute-angled triangles are special, e.g. right-angled or isoscele triangles. Some are not of this kind, but, without measuring angles, look as if they were. In that sense, there is exactly one general triangle. This well-known fact is proven here formally.",
"authors": [
"Joachim Breitner"
],
"date": "2011-04-01",
- "id": 601,
+ "id": 605,
"link": "/entries/General-Triangle.html",
"permalink": "/entries/General-Triangle.html",
"shortname": "General-Triangle",
"title": "The General Triangle Is Unique",
"topic_links": [
"mathematics/geometry"
],
"topics": [
"Mathematics/Geometry"
],
"used_by": 0
},
{
"abstract": "We provide a generic work-list algorithm to compute the transitive closure of finite relations where only successors of newly detected states are generated. This algorithm is then instantiated for lists over arbitrary carriers and red black trees (which are faster but require a linear order on the carrier), respectively. Our formalization was performed as part of the IsaFoR/CeTA project where reflexive transitive closures of large tree automata have to be computed.",
"authors": [
"Christian Sternagel",
"René Thiemann"
],
"date": "2011-03-14",
- "id": 602,
+ "id": 606,
"link": "/entries/Transitive-Closure.html",
"permalink": "/entries/Transitive-Closure.html",
"shortname": "Transitive-Closure",
"title": "Executable Transitive Closures of Finite Relations",
"topic_links": [
"computer-science/algorithms/graph"
],
"topics": [
"Computer science/Algorithms/Graph"
],
"used_by": 3
},
{
"abstract": "We formalize the AutoFocus Semantics (a time-synchronous subset of the Focus formalism) as stream processing functions on finite and infinite message streams represented as finite/infinite lists. The formalization comprises both the conventional single-clocking semantics (uniform global clock for all components and communications channels) and its extension to multi-clocking semantics (internal execution clocking of a component may be a multiple of the external communication clocking). The semantics is defined by generic stream processing functions making it suitable for simulation/code generation in Isabelle/HOL. Furthermore, a number of AutoFocus semantics properties are formalized using definitions from the IntervalLogic theories.",
"authors": [
"David Trachtenherz"
],
"date": "2011-02-23",
- "id": 603,
+ "id": 607,
"link": "/entries/AutoFocus-Stream.html",
"permalink": "/entries/AutoFocus-Stream.html",
"shortname": "AutoFocus-Stream",
"title": "AutoFocus Stream Processing for Single-Clocking and Multi-Clocking Semantics",
"topic_links": [
"computer-science/programming-languages/language-definitions"
],
"topics": [
"Computer science/Programming languages/Language definitions"
],
"used_by": 0
},
{
"abstract": "We introduce a theory of infinite lists in HOL formalized as functions over naturals (folder ListInf, theories ListInf and ListInf_Prefix). It also provides additional results for finite lists (theory ListInf/List2), natural numbers (folder CommonArith, esp. division/modulo, naturals with infinity), sets (folder CommonSet, esp. cutting/truncating sets, traversing sets of naturals).",
"authors": [
"David Trachtenherz"
],
"date": "2011-02-23",
- "id": 604,
+ "id": 608,
"link": "/entries/List-Infinite.html",
"permalink": "/entries/List-Infinite.html",
"shortname": "List-Infinite",
"title": "Infinite Lists",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 1
},
{
"abstract": "We introduce a theory of temporal logic operators using sets of natural numbers as time domain, formalized in a shallow embedding manner. The theory comprises special natural intervals (theory IL_Interval: open and closed intervals, continuous and modulo intervals, interval traversing results), operators for shifting intervals to left/right on the number axis as well as expanding/contracting intervals by constant factors (theory IL_IntervalOperators.thy), and ultimately definitions and results for unary and binary temporal operators on arbitrary natural sets (theory IL_TemporalOperators).",
"authors": [
"David Trachtenherz"
],
"date": "2011-02-23",
- "id": 605,
+ "id": 609,
"link": "/entries/Nat-Interval-Logic.html",
"permalink": "/entries/Nat-Interval-Logic.html",
"shortname": "Nat-Interval-Logic",
"title": "Interval Temporal Logic on Natural Numbers",
"topic_links": [
"logic/general-logic/temporal-logic"
],
"topics": [
"Logic/General logic/Temporal logic"
],
"used_by": 1
},
{
"abstract": "A fully-formalized and extensible minimal imperative fragment of Java.",
"authors": [
"Rok Strniša",
"Matthew Parkinson"
],
"date": "2011-02-07",
- "id": 606,
+ "id": 610,
"link": "/entries/LightweightJava.html",
"permalink": "/entries/LightweightJava.html",
"shortname": "LightweightJava",
"title": "Lightweight Java",
"topic_links": [
"computer-science/programming-languages/language-definitions"
],
"topics": [
"Computer science/Programming languages/Language definitions"
],
"used_by": 0
},
{
"abstract": "This work presents a verification of an implementation in SPARK/ADA of the cryptographic hash-function RIPEMD-160. A functional specification of RIPEMD-160 is given in Isabelle/HOL. Proofs for the verification conditions generated by the static-analysis toolset of SPARK certify the functional correctness of the implementation.",
"authors": [
"Fabian Immler"
],
"date": "2011-01-10",
- "id": 607,
+ "id": 611,
"link": "/entries/RIPEMD-160-SPARK.html",
"permalink": "/entries/RIPEMD-160-SPARK.html",
"shortname": "RIPEMD-160-SPARK",
"title": "RIPEMD-160",
"topic_links": [
"computer-science/programming-languages/static-analysis"
],
"topics": [
"Computer science/Programming languages/Static analysis"
],
"used_by": 0
},
{
"abstract": "We define the notions of lower and upper semicontinuity for functions from a metric space to the extended real line. We prove that a function is both lower and upper semicontinuous if and only if it is continuous. We also give several equivalent characterizations of lower semicontinuity. In particular, we prove that a function is lower semicontinuous if and only if its epigraph is a closed set. Also, we introduce the notion of the lower semicontinuous hull of an arbitrary function and prove its basic properties.",
"authors": [
"Bogdan Grechuk"
],
"date": "2011-01-08",
- "id": 608,
+ "id": 612,
"link": "/entries/Lower_Semicontinuous.html",
"permalink": "/entries/Lower_Semicontinuous.html",
"shortname": "Lower_Semicontinuous",
"title": "Lower Semicontinuous Functions",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "Two proofs of Hall's Marriage Theorem: one due to Halmos and Vaughan, one due to Rado.",
"authors": [
"Dongchen Jiang",
"Tobias Nipkow"
],
"date": "2010-12-17",
- "id": 609,
+ "id": 613,
"link": "/entries/Marriage.html",
"permalink": "/entries/Marriage.html",
"shortname": "Marriage",
"title": "Hall's Marriage Theorem",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 1
},
{
"abstract": "In his dissertation, Olin Shivers introduces a concept of control flow graphs for functional languages, provides an algorithm to statically derive a safe approximation of the control flow graph and proves this algorithm correct. In this research project, Shivers' algorithms and proofs are formalized in the HOLCF extension of HOL.",
"authors": [
"Joachim Breitner"
],
"date": "2010-11-16",
- "id": 610,
+ "id": 614,
"link": "/entries/Shivers-CFA.html",
"permalink": "/entries/Shivers-CFA.html",
"shortname": "Shivers-CFA",
"title": "Shivers' Control Flow Analysis",
"topic_links": [
"computer-science/programming-languages/static-analysis"
],
"topics": [
"Computer science/Programming languages/Static analysis"
],
"used_by": 0
},
{
"abstract": "We implement and prove correct binomial heaps and skew binomial heaps. Both are data-structures for priority queues. While binomial heaps have logarithmic \u003cem\u003efindMin\u003c/em\u003e, \u003cem\u003edeleteMin\u003c/em\u003e, \u003cem\u003einsert\u003c/em\u003e, and \u003cem\u003emeld\u003c/em\u003e operations, skew binomial heaps have constant time \u003cem\u003efindMin\u003c/em\u003e, \u003cem\u003einsert\u003c/em\u003e, and \u003cem\u003emeld\u003c/em\u003e operations, and only the \u003cem\u003edeleteMin\u003c/em\u003e-operation is logarithmic. This is achieved by using \u003cem\u003eskew links\u003c/em\u003e to avoid cascading linking on \u003cem\u003einsert\u003c/em\u003e-operations, and \u003cem\u003edata-structural bootstrapping\u003c/em\u003e to get constant-time \u003cem\u003efindMin\u003c/em\u003e and \u003cem\u003emeld\u003c/em\u003e operations. Our implementation follows the paper by Brodal and Okasaki.",
"authors": [
"Rene Meis",
"Finn Nielsen",
"Peter Lammich"
],
"date": "2010-10-28",
- "id": 611,
+ "id": 615,
"link": "/entries/Binomial-Heaps.html",
"permalink": "/entries/Binomial-Heaps.html",
"shortname": "Binomial-Heaps",
"title": "Binomial Heaps and Skew Binomial Heaps",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 2
},
{
"abstract": "We implement and prove correct 2-3 finger trees. Finger trees are a general purpose data structure, that can be used to efficiently implement other data structures, such as priority queues. Intuitively, a finger tree is an annotated sequence, where the annotations are elements of a monoid. Apart from operations to access the ends of the sequence, the main operation is to split the sequence at the point where a \u003cem\u003emonotone predicate\u003c/em\u003e over the sum of the left part of the sequence becomes true for the first time. The implementation follows the paper of Hinze and Paterson. The code generator can be used to get efficient, verified code.",
"authors": [
"Benedikt Nordhoff",
"Stefan Körner",
"Peter Lammich"
],
"date": "2010-10-28",
- "id": 612,
+ "id": 616,
"link": "/entries/Finger-Trees.html",
"permalink": "/entries/Finger-Trees.html",
"shortname": "Finger-Trees",
"title": "Finger Trees",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 3
},
{
"abstract": "Priority queues are an important data structure and efficient implementations of them are crucial. We implement a functional variant of binomial queues in Isabelle/HOL and show its functional correctness. A verification against an abstract reference specification of priority queues has also been attempted, but could not be achieved to the full extent.",
"authors": [
"René Neumann"
],
"date": "2010-10-28",
- "id": 613,
+ "id": 617,
"link": "/entries/Binomial-Queues.html",
"permalink": "/entries/Binomial-Queues.html",
"shortname": "Binomial-Queues",
"title": "Functional Binomial Queues",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "Handling variable binding is one of the main difficulties in formal proofs. In this context, Moggi's computational metalanguage serves as an interesting case study. It features monadic types and a commuting conversion rule that rearranges the binding structure. Lindley and Stark have given an elegant proof of strong normalization for this calculus. The key construction in their proof is a notion of relational TT-lifting, using stacks of elimination contexts to obtain a Girard-Tait style logical relation. I give a formalization of their proof in Isabelle/HOL-Nominal with a particular emphasis on the treatment of bound variables.",
"authors": [
"Christian Doczkal"
],
"date": "2010-08-29",
- "id": 614,
+ "id": 618,
"link": "/entries/Lam-ml-Normalization.html",
"permalink": "/entries/Lam-ml-Normalization.html",
"shortname": "Lam-ml-Normalization",
"title": "Strong Normalization of Moggis's Computational Metalanguage",
"topic_links": [
"computer-science/programming-languages/lambda-calculi"
],
"topics": [
"Computer science/Programming languages/Lambda calculi"
],
"used_by": 0
},
{
"abstract": "We define multivariate polynomials over arbitrary (ordered) semirings in combination with (executable) operations like addition, multiplication, and substitution. We also define (weak) monotonicity of polynomials and comparison of polynomials where we provide standard estimations like absolute positiveness or the more recent approach of Neurauter, Zankl, and Middeldorp. Moreover, it is proven that strongly normalizing (monotone) orders can be lifted to strongly normalizing (monotone) orders over polynomials. Our formalization was performed as part of the \u003ca href=\"http://cl-informatik.uibk.ac.at/software/ceta\"\u003eIsaFoR/CeTA-system\u003c/a\u003e which contains several termination techniques. The provided theories have been essential to formalize polynomial interpretations. \u003cp\u003e This formalization also contains an abstract representation as coefficient functions with finite support and a type of power-products. If this type is ordered by a linear (term) ordering, various additional notions, such as leading power-product, leading coefficient etc., are introduced as well. Furthermore, a lot of generic properties of, and functions on, multivariate polynomials are formalized, including the substitution and evaluation homomorphisms, embeddings of polynomial rings into larger rings (i.e. with one additional indeterminate), homogenization and dehomogenization of polynomials, and the canonical isomorphism between R[X,Y] and R[X][Y].",
"authors": [
"Christian Sternagel",
"René Thiemann",
"Alexander Maletzky",
"Fabian Immler",
"Florian Haftmann",
"Andreas Lochbihler",
"Alexander Bentkamp"
],
"date": "2010-08-10",
- "id": 615,
+ "id": 619,
"link": "/entries/Polynomials.html",
"permalink": "/entries/Polynomials.html",
"shortname": "Polynomials",
"title": "Executable Multivariate Polynomials",
"topic_links": [
"mathematics/analysis",
"mathematics/algebra",
"computer-science/algorithms/mathematical"
],
"topics": [
"Mathematics/Analysis",
"Mathematics/Algebra",
"Computer science/Algorithms/Mathematical"
],
"used_by": 7
},
{
"abstract": "We formalize in Isabelle/HOL the abtract syntax and a synchronous step semantics for the specification language Statecharts. The formalization is based on Hierarchical Automata which allow a structural decomposition of Statecharts into Sequential Automata. To support the composition of Statecharts, we introduce calculating operators to construct a Hierarchical Automaton in a stepwise manner. Furthermore, we present a complete semantics of Statecharts including a theory of data spaces, which enables the modelling of racing effects. We also adapt CTL for Statecharts to build a bridge for future combinations with model checking. However the main motivation of this work is to provide a sound and complete basis for reasoning on Statecharts. As a central meta theorem we prove that the well-formedness of a Statechart is preserved by the semantics.",
"authors": [
"Steffen Helke",
"Florian Kammüller"
],
"date": "2010-08-08",
- "id": 616,
+ "id": 620,
"link": "/entries/Statecharts.html",
"permalink": "/entries/Statecharts.html",
"shortname": "Statecharts",
"title": "Formalizing Statecharts using Hierarchical Automata",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "Free Groups are, in a sense, the most generic kind of group. They are defined over a set of generators with no additional relations in between them. They play an important role in the definition of group presentations and in other fields. This theory provides the definition of Free Group as the set of fully canceled words in the generators. The universal property is proven, as well as some isomorphisms results about Free Groups.",
"authors": [
"Joachim Breitner"
],
"date": "2010-06-24",
- "id": 617,
+ "id": 621,
"link": "/entries/Free-Groups.html",
"permalink": "/entries/Free-Groups.html",
"shortname": "Free-Groups",
"title": "Free Groups",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "This article presents a development of Category Theory in Isabelle/HOL. A Category is defined using records and locales. Functors and Natural Transformations are also defined. The main result that has been formalized is that the Yoneda functor is a full and faithful embedding. We also formalize the completeness of many sorted monadic equational logic. Extensive use is made of the HOLZF theory in both cases. For an informal description see \u003ca href=\"http://www.srcf.ucam.org/~apk32/Isabelle/Category/Cat.pdf\"\u003ehere [pdf]\u003c/a\u003e.",
"authors": [
"Alexander Katovsky"
],
"date": "2010-06-20",
- "id": 618,
+ "id": 622,
"link": "/entries/Category2.html",
"permalink": "/entries/Category2.html",
"shortname": "Category2",
"title": "Category Theory",
"topic_links": [
"mathematics/category-theory"
],
"topics": [
"Mathematics/Category theory"
],
"used_by": 0
},
{
"abstract": "We provide the operations of matrix addition, multiplication, transposition, and matrix comparisons as executable functions over ordered semirings. Moreover, it is proven that strongly normalizing (monotone) orders can be lifted to strongly normalizing (monotone) orders over matrices. We further show that the standard semirings over the naturals, integers, and rationals, as well as the arctic semirings satisfy the axioms that are required by our matrix theory. Our formalization is part of the \u003ca href=\"http://cl-informatik.uibk.ac.at/software/ceta\"\u003eCeTA\u003c/a\u003e system which contains several termination techniques. The provided theories have been essential to formalize matrix-interpretations and arctic interpretations.",
"authors": [
"Christian Sternagel",
"René Thiemann"
],
"date": "2010-06-17",
- "id": 619,
+ "id": 623,
"link": "/entries/Matrix.html",
"permalink": "/entries/Matrix.html",
"shortname": "Matrix",
"title": "Executable Matrix Operations on Matrices of Arbitrary Dimensions",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 5
},
{
"abstract": "We present an Isabelle formalization of abstract rewriting (see, e.g., the book by Baader and Nipkow). First, we define standard relations like \u003ci\u003ejoinability\u003c/i\u003e, \u003ci\u003emeetability\u003c/i\u003e, \u003ci\u003econversion\u003c/i\u003e, etc. Then, we formalize important properties of abstract rewrite systems, e.g., confluence and strong normalization. Our main concern is on strong normalization, since this formalization is the basis of \u003ca href=\"http://cl-informatik.uibk.ac.at/software/ceta\"\u003eCeTA\u003c/a\u003e (which is mainly about strong normalization of term rewrite systems). Hence lemmas involving strong normalization constitute by far the biggest part of this theory. One of those is Newman's lemma.",
"authors": [
"Christian Sternagel",
"René Thiemann"
],
"date": "2010-06-14",
- "id": 620,
+ "id": 624,
"link": "/entries/Abstract-Rewriting.html",
"permalink": "/entries/Abstract-Rewriting.html",
"shortname": "Abstract-Rewriting",
"title": "Abstract Rewriting",
"topic_links": [
"logic/rewriting"
],
"topics": [
"Logic/Rewriting"
],
"used_by": 10
},
{
"abstract": "The invariant based programming is a technique of constructing correct programs by first identifying the basic situations (pre- and post-conditions and invariants) that can occur during the execution of the program, and then defining the transitions and proving that they preserve the invariants. Data refinement is a technique of building correct programs working on concrete datatypes as refinements of more abstract programs. In the theories presented here we formalize the predicate transformer semantics for invariant based programs and their data refinement.",
"authors": [
"Viorel Preoteasa",
"Ralph-Johan Back"
],
"date": "2010-05-28",
- "id": 621,
+ "id": 625,
"link": "/entries/DataRefinementIBP.html",
"permalink": "/entries/DataRefinementIBP.html",
"shortname": "DataRefinementIBP",
"title": "Semantics and Data Refinement of Invariant Based Programs",
"topic_links": [
"computer-science/programming-languages/logics"
],
"topics": [
"Computer science/Programming languages/Logics"
],
"used_by": 1
},
{
"abstract": "The verification of the Deutsch-Schorr-Waite graph marking algorithm is used as a benchmark in many formalizations of pointer programs. The main purpose of this mechanization is to show how data refinement of invariant based programs can be used in verifying practical algorithms. The verification starts with an abstract algorithm working on a graph given by a relation \u003ci\u003enext\u003c/i\u003e on nodes. Gradually the abstract program is refined into Deutsch-Schorr-Waite graph marking algorithm where only one bit per graph node of additional memory is used for marking.",
"authors": [
"Viorel Preoteasa",
"Ralph-Johan Back"
],
"date": "2010-05-28",
- "id": 622,
+ "id": 626,
"link": "/entries/GraphMarkingIBP.html",
"permalink": "/entries/GraphMarkingIBP.html",
"shortname": "GraphMarkingIBP",
"title": "Verification of the Deutsch-Schorr-Waite Graph Marking Algorithm using Data Refinement",
"topic_links": [
"computer-science/algorithms/graph"
],
"topics": [
"Computer science/Algorithms/Graph"
],
"used_by": 0
},
{
"abstract": "This document gives a formalization of the proof of the Robbins conjecture, following A. Mann, \u003ci\u003eA Complete Proof of the Robbins Conjecture\u003c/i\u003e, 2003.",
"authors": [
"Matthew Wampler-Doty"
],
"date": "2010-05-22",
- "id": 623,
+ "id": 627,
"link": "/entries/Robbins-Conjecture.html",
"permalink": "/entries/Robbins-Conjecture.html",
"shortname": "Robbins-Conjecture",
"title": "A Complete Proof of the Robbins Conjecture",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "This is a library of constructions on regular expressions and languages. It provides the operations of concatenation, Kleene star and derivative on languages. Regular expressions and their meaning are defined. An executable equivalence checker for regular expressions is verified; it does not need automata but works directly on regular expressions. \u003ci\u003eBy mapping regular expressions to binary relations, an automatic and complete proof method for (in)equalities of binary relations over union, concatenation and (reflexive) transitive closure is obtained.\u003c/i\u003e \u003cP\u003e Extended regular expressions with complement and intersection are also defined and an equivalence checker is provided.",
"authors": [
"Alexander Krauss",
"Tobias Nipkow"
],
"date": "2010-05-12",
- "id": 624,
+ "id": 628,
"link": "/entries/Regular-Sets.html",
"permalink": "/entries/Regular-Sets.html",
"shortname": "Regular-Sets",
"title": "Regular Sets and Expressions",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 12
},
{
"abstract": "We present a Theory of Objects based on the original functional sigma-calculus by Abadi and Cardelli but with an additional parameter to methods. We prove confluence of the operational semantics following the outline of Nipkow's proof of confluence for the lambda-calculus reusing his theory Commutation, a generic diamond lemma reduction. We furthermore formalize a simple type system for our sigma-calculus including a proof of type safety. The entire development uses the concept of Locally Nameless representation for binders. We reuse an earlier proof of confluence for a simpler sigma-calculus based on de Bruijn indices and lists to represent objects.",
"authors": [
"Ludovic Henrio",
"Florian Kammüller",
"Bianca Lutz",
"Henry Sudhof"
],
"date": "2010-04-30",
- "id": 625,
+ "id": 629,
"link": "/entries/Locally-Nameless-Sigma.html",
"permalink": "/entries/Locally-Nameless-Sigma.html",
"shortname": "Locally-Nameless-Sigma",
"title": "Locally Nameless Sigma Calculus",
"topic_links": [
"computer-science/programming-languages/language-definitions"
],
"topics": [
"Computer science/Programming languages/Language definitions"
],
"used_by": 0
},
{
"abstract": "This theory defines a type constructor representing the free Boolean algebra over a set of generators. Values of type (α)\u003ci\u003eformula\u003c/i\u003e represent propositional formulas with uninterpreted variables from type α, ordered by implication. In addition to all the standard Boolean algebra operations, the library also provides a function for building homomorphisms to any other Boolean algebra type.",
"authors": [
"Brian Huffman"
],
"date": "2010-03-29",
- "id": 626,
+ "id": 630,
"link": "/entries/Free-Boolean-Algebra.html",
"permalink": "/entries/Free-Boolean-Algebra.html",
"shortname": "Free-Boolean-Algebra",
"title": "Free Boolean Algebra",
"topic_links": [
"logic/general-logic/classical-propositional-logic"
],
"topics": [
"Logic/General logic/Classical propositional logic"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e In this contribution, we show how correctness proofs for \u003ca href=\"Slicing.html\"\u003eintra-\u003c/a\u003e and \u003ca href=\"HRB-Slicing.html\"\u003einterprocedural slicing\u003c/a\u003e can be used to prove that slicing is able to guarantee information flow noninterference. Moreover, we also illustrate how to lift the control flow graphs of the respective frameworks such that they fulfil the additional assumptions needed in the noninterference proofs. A detailed description of the intraprocedural proof and its interplay with the slicing framework can be found in the PLAS'09 paper by Wasserrab et al. \u003c/p\u003e \u003cp\u003e This entry contains the part for intra-procedural slicing. See entry \u003ca href=\"InformationFlowSlicing_Inter.html\"\u003eInformationFlowSlicing_Inter\u003c/a\u003e for the inter-procedural part. \u003c/p\u003e",
"authors": [
"Daniel Wasserrab"
],
"date": "2010-03-23",
- "id": 627,
+ "id": 631,
"link": "/entries/InformationFlowSlicing.html",
"permalink": "/entries/InformationFlowSlicing.html",
"shortname": "InformationFlowSlicing",
"title": "Information Flow Noninterference via Slicing",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "\u003cp\u003e In this contribution, we show how correctness proofs for \u003ca href=\"Slicing.html\"\u003eintra-\u003c/a\u003e and \u003ca href=\"HRB-Slicing.html\"\u003einterprocedural slicing\u003c/a\u003e can be used to prove that slicing is able to guarantee information flow noninterference. Moreover, we also illustrate how to lift the control flow graphs of the respective frameworks such that they fulfil the additional assumptions needed in the noninterference proofs. A detailed description of the intraprocedural proof and its interplay with the slicing framework can be found in the PLAS'09 paper by Wasserrab et al. \u003c/p\u003e \u003cp\u003e This entry contains the part for inter-procedural slicing. See entry \u003ca href=\"InformationFlowSlicing.html\"\u003eInformationFlowSlicing\u003c/a\u003e for the intra-procedural part. \u003c/p\u003e",
"authors": [
"Daniel Wasserrab"
],
"date": "2010-03-23",
- "id": 628,
+ "id": 632,
"link": "/entries/InformationFlowSlicing_Inter.html",
"permalink": "/entries/InformationFlowSlicing_Inter.html",
"shortname": "InformationFlowSlicing_Inter",
"title": "Inter-Procedural Information Flow Noninterference via Slicing",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "This theory provides functions for finding the index of an element in a list, by predicate and by value.",
"authors": [
"Tobias Nipkow"
],
"date": "2010-02-20",
- "id": 629,
+ "id": 633,
"link": "/entries/List-Index.html",
"permalink": "/entries/List-Index.html",
"shortname": "List-Index",
"title": "List Index",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 21
},
{
"abstract": "This article collects formalisations of general-purpose coinductive data types and sets. Currently, it contains coinductive natural numbers, coinductive lists, i.e. lazy lists or streams, infinite streams, coinductive terminated lists, coinductive resumptions, a library of operations on coinductive lists, and a version of König's lemma as an application for coinductive lists.\u003cbr\u003eThe initial theory was contributed by Paulson and Wenzel. Extensions and other coinductive formalisations of general interest are welcome.",
"authors": [
"Andreas Lochbihler"
],
"date": "2010-02-12",
- "id": 630,
+ "id": 634,
"link": "/entries/Coinductive.html",
"permalink": "/entries/Coinductive.html",
"shortname": "Coinductive",
"title": "Coinductive",
"topic_links": [
"computer-science/functional-programming"
],
"topics": [
"Computer science/Functional programming"
],
"used_by": 12
},
{
"abstract": "This contribution contains a fast SAT solver for Isabelle written in Standard ML. By loading the theory \u003ctt\u003eDPT_SAT_Solver\u003c/tt\u003e, the SAT solver installs itself (under the name ``dptsat'') and certain Isabelle tools like Refute will start using it automatically. This is a port of the DPT (Decision Procedure Toolkit) SAT Solver written in OCaml.",
"authors": [
"Armin Heller"
],
"date": "2009-12-09",
- "id": 631,
+ "id": 635,
"link": "/entries/DPT-SAT-Solver.html",
"permalink": "/entries/DPT-SAT-Solver.html",
"shortname": "DPT-SAT-Solver",
"title": "A Fast SAT Solver for Isabelle in Standard ML",
"topic_links": [
"tools"
],
"topics": [
"Tools"
],
"used_by": 0
},
{
"abstract": "This work presents a formalization of a library for automata on bit strings. It forms the basis of a reflection-based decision procedure for Presburger arithmetic, which is efficiently executable thanks to Isabelle's code generator. With this work, we therefore provide a mechanized proof of a well-known connection between logic and automata theory. The formalization is also described in a publication [TPHOLs 2009].",
"authors": [
"Stefan Berghofer",
"Markus Reiter"
],
"date": "2009-12-03",
- "id": 632,
+ "id": 636,
"link": "/entries/Presburger-Automata.html",
"permalink": "/entries/Presburger-Automata.html",
"shortname": "Presburger-Automata",
"title": "Formalizing the Logic-Automaton Connection",
"topic_links": [
"computer-science/automata-and-formal-languages",
"logic/general-logic/decidability-of-theories"
],
"topics": [
"Computer science/Automata and formal languages",
"Logic/General logic/Decidability of theories"
],
"used_by": 0
},
{
"abstract": "This development provides an efficient, extensible, machine checked collections framework. The library adopts the concepts of interface, implementation and generic algorithm from object-oriented programming and implements them in Isabelle/HOL. The framework features the use of data refinement techniques to refine an abstract specification (using high-level concepts like sets) to a more concrete implementation (using collection datastructures, like red-black-trees). The code-generator of Isabelle/HOL can be used to generate efficient code.",
"authors": [
"Peter Lammich"
],
"date": "2009-11-25",
- "id": 633,
+ "id": 637,
"link": "/entries/Collections.html",
"permalink": "/entries/Collections.html",
"shortname": "Collections",
"title": "Collections Framework",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 18
},
{
"abstract": "This work presents a machine-checked tree automata library for Standard-ML, OCaml and Haskell. The algorithms are efficient by using appropriate data structures like RB-trees. The available algorithms for non-deterministic automata include membership query, reduction, intersection, union, and emptiness check with computation of a witness for non-emptiness. The executable algorithms are derived from less-concrete, non-executable algorithms using data-refinement techniques. The concrete data structures are from the Isabelle Collections Framework. Moreover, this work contains a formalization of the class of tree-regular languages and its closure properties under set operations.",
"authors": [
"Peter Lammich"
],
"date": "2009-11-25",
- "id": 634,
+ "id": 638,
"link": "/entries/Tree-Automata.html",
"permalink": "/entries/Tree-Automata.html",
"shortname": "Tree-Automata",
"title": "Tree Automata",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "These theories present the mechanised proof of the Perfect Number Theorem.",
"authors": [
"Mark Ijbema"
],
"date": "2009-11-22",
- "id": 635,
+ "id": 639,
"link": "/entries/Perfect-Number-Thm.html",
"permalink": "/entries/Perfect-Number-Thm.html",
"shortname": "Perfect-Number-Thm",
"title": "Perfect Number Theorem",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "After verifying \u003ca href=\"Slicing.html\"\u003edynamic and static interprocedural slicing\u003c/a\u003e, we present a modular framework for static interprocedural slicing. To this end, we formalized the standard two-phase slicer from Horwitz, Reps and Binkley (see their TOPLAS 12(1) 1990 paper) together with summary edges as presented by Reps et al. (see FSE 1994). The framework is again modular in the programming language by using an abstract CFG, defined via structural and well-formedness properties. Using a weak simulation between the original and sliced graph, we were able to prove the correctness of static interprocedural slicing. We also instantiate our framework with a simple While language with procedures. This shows that the chosen abstractions are indeed valid.",
"authors": [
"Daniel Wasserrab"
],
"date": "2009-11-13",
- "id": 636,
+ "id": 640,
"link": "/entries/HRB-Slicing.html",
"permalink": "/entries/HRB-Slicing.html",
"shortname": "HRB-Slicing",
"title": "Backing up Slicing: Verifying the Interprocedural Two-Phase Horwitz-Reps-Binkley Slicer",
"topic_links": [
"computer-science/programming-languages/static-analysis"
],
"topics": [
"Computer science/Programming languages/Static analysis"
],
"used_by": 1
},
{
"abstract": "Gill and Hutton formalise the worker/wrapper transformation, building on the work of Launchbury and Peyton-Jones who developed it as a way of changing the type at which a recursive function operates. This development establishes the soundness of the technique and several examples of its use.",
"authors": [
"Peter Gammie"
],
"date": "2009-10-30",
- "id": 637,
+ "id": 641,
"link": "/entries/WorkerWrapper.html",
"permalink": "/entries/WorkerWrapper.html",
"shortname": "WorkerWrapper",
"title": "The Worker/Wrapper Transformation",
"topic_links": [
"computer-science/functional-programming"
],
"topics": [
"Computer science/Functional programming"
],
"used_by": 0
},
{
"abstract": "We develop a basic theory of ordinals and cardinals in Isabelle/HOL, up to the point where some cardinality facts relevant for the ``working mathematician\" become available. Unlike in set theory, here we do not have at hand canonical notions of ordinal and cardinal. Therefore, here an ordinal is merely a well-order relation and a cardinal is an ordinal minim w.r.t. order embedding on its field.",
"authors": [
"Andrei Popescu"
],
"date": "2009-09-01",
- "id": 638,
+ "id": 642,
"link": "/entries/Ordinals_and_Cardinals.html",
"permalink": "/entries/Ordinals_and_Cardinals.html",
"shortname": "Ordinals_and_Cardinals",
"title": "Ordinals and Cardinals",
"topic_links": [
"logic/set-theory"
],
"topics": [
"Logic/Set theory"
],
"used_by": 0
},
{
"abstract": "The invertibility of the rules of a sequent calculus is important for guiding proof search and can be used in some formalised proofs of Cut admissibility. We present sufficient conditions for when a rule is invertible with respect to a calculus. We illustrate the conditions with examples. It must be noted we give purely syntactic criteria; no guarantees are given as to the suitability of the rules.",
"authors": [
"Peter Chapman"
],
"date": "2009-08-28",
- "id": 639,
+ "id": 643,
"link": "/entries/SequentInvertibility.html",
"permalink": "/entries/SequentInvertibility.html",
"shortname": "SequentInvertibility",
"title": "Invertibility in Sequent Calculi",
"topic_links": [
"logic/proof-theory"
],
"topics": [
"Logic/Proof theory"
],
"used_by": 0
},
{
"abstract": "We formalize the usual proof that the group generated by the function k -\u003e k + 1 on the integers gives rise to a cofinitary group.",
"authors": [
"Bart Kastermans"
],
"date": "2009-08-04",
- "id": 640,
+ "id": 644,
"link": "/entries/CofGroups.html",
"permalink": "/entries/CofGroups.html",
"shortname": "CofGroups",
"title": "An Example of a Cofinitary Group in Isabelle/HOL",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "FinFuns are total functions that are constant except for a finite set of points, i.e. a generalisation of finite maps. They are formalised as a new type in Isabelle/HOL such that the code generator can handle equality tests and quantification on FinFuns. On the code output level, FinFuns are explicitly represented by constant functions and pointwise updates, similarly to associative lists. Inside the logic, they behave like ordinary functions with extensionality. Via the update/constant pattern, a recursion combinator and an induction rule for FinFuns allow for defining and reasoning about operators on FinFun that are also executable.",
"authors": [
"Andreas Lochbihler"
],
"date": "2009-05-06",
- "id": 641,
+ "id": 645,
"link": "/entries/FinFun.html",
"permalink": "/entries/FinFun.html",
"shortname": "FinFun",
"title": "Code Generation for Functions as Data",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 4
},
{
"abstract": "Stream Fusion is a system for removing intermediate list structures from Haskell programs; it consists of a Haskell library along with several compiler rewrite rules. (The library is available \u003ca href=\"http://hackage.haskell.org/package/stream-fusion\"\u003eonline\u003c/a\u003e.)\u003cbr\u003e\u003cbr\u003eThese theories contain a formalization of much of the Stream Fusion library in HOLCF. Lazy list and stream types are defined, along with coercions between the two types, as well as an equivalence relation for streams that generate the same list. List and stream versions of map, filter, foldr, enumFromTo, append, zipWith, and concatMap are defined, and the stream versions are shown to respect stream equivalence.",
"authors": [
"Brian Huffman"
],
"date": "2009-04-29",
- "id": 642,
+ "id": 646,
"link": "/entries/Stream-Fusion.html",
"permalink": "/entries/Stream-Fusion.html",
"shortname": "Stream-Fusion",
"title": "Stream Fusion",
"topic_links": [
"computer-science/functional-programming"
],
"topics": [
"Computer science/Functional programming"
],
"used_by": 0
},
{
"abstract": "This document contains the Isabelle/HOL sources underlying the paper \u003ci\u003eA bytecode logic for JML and types\u003c/i\u003e by Beringer and Hofmann, updated to Isabelle 2008. We present a program logic for a subset of sequential Java bytecode that is suitable for representing both, features found in high-level specification language JML as well as interpretations of high-level type systems. To this end, we introduce a fine-grained collection of assertions, including strong invariants, local annotations and VDM-reminiscent partial-correctness specifications. Thanks to a goal-oriented structure and interpretation of judgements, verification may proceed without recourse to an additional control flow analysis. The suitability for interpreting intensional type systems is illustrated by the proof-carrying-code style encoding of a type system for a first-order functional language which guarantees a constant upper bound on the number of objects allocated throughout an execution, be the execution terminating or non-terminating. Like the published paper, the formal development is restricted to a comparatively small subset of the JVML, lacking (among other features) exceptions, arrays, virtual methods, and static fields. This shortcoming has been overcome meanwhile, as our paper has formed the basis of the Mobius base logic, a program logic for the full sequential fragment of the JVML. Indeed, the present formalisation formed the basis of a subsequent formalisation of the Mobius base logic in the proof assistant Coq, which includes a proof of soundness with respect to the Bicolano operational semantics by Pichardie.",
"authors": [
"Lennart Beringer",
"Martin Hofmann"
],
"date": "2008-12-12",
- "id": 643,
+ "id": 647,
"link": "/entries/BytecodeLogicJmlTypes.html",
"permalink": "/entries/BytecodeLogicJmlTypes.html",
"shortname": "BytecodeLogicJmlTypes",
"title": "A Bytecode Logic for JML and Types",
"topic_links": [
"computer-science/programming-languages/logics"
],
"topics": [
"Computer science/Programming languages/Logics"
],
"used_by": 0
},
{
"abstract": "We present interpretations of type systems for secure information flow in Hoare logic, complementing previous encodings in relational program logics. We first treat the imperative language IMP, extended by a simple procedure call mechanism. For this language we consider base-line non-interference in the style of Volpano et al. and the flow-sensitive type system by Hunt and Sands. In both cases, we show how typing derivations may be used to automatically generate proofs in the program logic that certify the absence of illicit flows. We then add instructions for object creation and manipulation, and derive appropriate proof rules for base-line non-interference. As a consequence of our work, standard verification technology may be used for verifying that a concrete program satisfies the non-interference property.\u003cbr\u003e\u003cbr\u003eThe present proof development represents an update of the formalisation underlying our paper [CSF 2007] and is intended to resolve any ambiguities that may be present in the paper.",
"authors": [
"Lennart Beringer",
"Martin Hofmann"
],
"date": "2008-11-10",
- "id": 644,
+ "id": 648,
"link": "/entries/SIFPL.html",
"permalink": "/entries/SIFPL.html",
"shortname": "SIFPL",
"title": "Secure information flow and program logics",
"topic_links": [
"computer-science/programming-languages/logics",
"computer-science/security"
],
"topics": [
"Computer science/Programming languages/Logics",
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "Drawing on Sen's landmark work \"Collective Choice and Social Welfare\" (1970), this development proves Arrow's General Possibility Theorem, Sen's Liberal Paradox and May's Theorem in a general setting. The goal was to make precise the classical statements and proofs of these results, and to provide a foundation for more recent results such as the Gibbard-Satterthwaite and Duggan-Schwartz theorems.",
"authors": [
"Peter Gammie"
],
"date": "2008-11-09",
- "id": 645,
+ "id": 649,
"link": "/entries/SenSocialChoice.html",
"permalink": "/entries/SenSocialChoice.html",
"shortname": "SenSocialChoice",
"title": "Some classical results in Social Choice Theory",
"topic_links": [
"mathematics/games-and-economics"
],
"topics": [
"Mathematics/Games and economics"
],
"used_by": 0
},
{
"abstract": "Tilings are defined inductively. It is shown that one form of mutilated chess board cannot be tiled with dominoes, while another one can be tiled with L-shaped tiles. Please add further fun examples of this kind!",
"authors": [
"Tobias Nipkow",
"Lawrence C. Paulson"
],
"date": "2008-11-07",
- "id": 646,
+ "id": 650,
"link": "/entries/FunWithTilings.html",
"permalink": "/entries/FunWithTilings.html",
"shortname": "FunWithTilings",
"title": "Fun With Tilings",
"topic_links": [
"mathematics/misc"
],
"topics": [
"Mathematics/Misc"
],
"used_by": 0
},
{
"abstract": "Huffman's algorithm is a procedure for constructing a binary tree with minimum weighted path length. This report presents a formal proof of the correctness of Huffman's algorithm written using Isabelle/HOL. Our proof closely follows the sketches found in standard algorithms textbooks, uncovering a few snags in the process. Another distinguishing feature of our formalization is the use of custom induction rules to help Isabelle's automatic tactics, leading to very short proofs for most of the lemmas.",
"authors": [
"Jasmin Christian Blanchette"
],
"date": "2008-10-15",
- "id": 647,
+ "id": 651,
"link": "/entries/Huffman.html",
"permalink": "/entries/Huffman.html",
"shortname": "Huffman",
"title": "The Textbook Proof of Huffman's Algorithm",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 1
},
{
"abstract": "Slicing is a widely-used technique with applications in e.g. compiler technology and software security. Thus verification of algorithms in these areas is often based on the correctness of slicing, which should ideally be proven independent of concrete programming languages and with the help of well-known verifying techniques such as proof assistants. As a first step in this direction, this contribution presents a framework for dynamic and static intraprocedural slicing based on control flow and program dependence graphs. Abstracting from concrete syntax we base the framework on a graph representation of the program fulfilling certain structural and well-formedness properties.\u003cbr\u003e\u003cbr\u003eThe formalization consists of the basic framework (in subdirectory Basic/), the correctness proof for dynamic slicing (in subdirectory Dynamic/), the correctness proof for static intraprocedural slicing (in subdirectory StaticIntra/) and instantiations of the framework with a simple While language (in subdirectory While/) and the sophisticated object-oriented bytecode language of Jinja (in subdirectory JinjaVM/). For more information on the framework, see the TPHOLS 2008 paper by Wasserrab and Lochbihler and the PLAS 2009 paper by Wasserrab et al.",
"authors": [
"Daniel Wasserrab"
],
"date": "2008-09-16",
- "id": 648,
+ "id": 652,
"link": "/entries/Slicing.html",
"permalink": "/entries/Slicing.html",
"shortname": "Slicing",
"title": "Towards Certified Slicing",
"topic_links": [
"computer-science/programming-languages/static-analysis"
],
"topics": [
"Computer science/Programming languages/Static analysis"
],
"used_by": 2
},
{
"abstract": "The Volpano/Smith/Irvine security type systems requires that variables are annotated as high (secret) or low (public), and provides typing rules which guarantee that secret values cannot leak to public output ports. This property of a program is called confidentiality. For a simple while-language without threads, our proof shows that typeability in the Volpano/Smith system guarantees noninterference. Noninterference means that if two initial states for program execution are low-equivalent, then the final states are low-equivalent as well. This indeed implies that secret values cannot leak to public ports. The proof defines an abstract syntax and operational semantics for programs, formalizes noninterference, and then proceeds by rule induction on the operational semantics. The mathematically most intricate part is the treatment of implicit flows. Note that the Volpano/Smith system is not flow-sensitive and thus quite unprecise, resulting in false alarms. However, due to the correctness property, all potential breaks of confidentiality are discovered.",
"authors": [
"Gregor Snelting",
"Daniel Wasserrab"
],
"date": "2008-09-02",
- "id": 649,
+ "id": 653,
"link": "/entries/VolpanoSmith.html",
"permalink": "/entries/VolpanoSmith.html",
"shortname": "VolpanoSmith",
"title": "A Correctness Proof for the Volpano/Smith Security Typing System",
"topic_links": [
"computer-science/programming-languages/type-systems",
"computer-science/security"
],
"topics": [
"Computer science/Programming languages/Type systems",
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "This article formalizes two proofs of Arrow's impossibility theorem due to Geanakoplos and derives the Gibbard-Satterthwaite theorem as a corollary. One formalization is based on utility functions, the other one on strict partial orders.",
"authors": [
"Tobias Nipkow"
],
"date": "2008-09-01",
- "id": 650,
+ "id": 654,
"link": "/entries/ArrowImpossibilityGS.html",
"permalink": "/entries/ArrowImpossibilityGS.html",
"shortname": "ArrowImpossibilityGS",
"title": "Arrow and Gibbard-Satterthwaite",
"topic_links": [
"mathematics/games-and-economics"
],
"topics": [
"Mathematics/Games and economics"
],
"used_by": 0
},
{
"abstract": "This is a collection of cute puzzles of the form ``Show that if a function satisfies the following constraints, it must be ...'' Please add further examples to this collection!",
"authors": [
"Tobias Nipkow"
],
"date": "2008-08-26",
- "id": 651,
+ "id": 655,
"link": "/entries/FunWithFunctions.html",
"permalink": "/entries/FunWithFunctions.html",
"shortname": "FunWithFunctions",
"title": "Fun With Functions",
"topic_links": [
"mathematics/misc"
],
"topics": [
"Mathematics/Misc"
],
"used_by": 0
},
{
"abstract": "This document contains formal correctness proofs of modern SAT solvers. Following (Krstic et al, 2007) and (Nieuwenhuis et al., 2006), solvers are described using state-transition systems. Several different SAT solver descriptions are given and their partial correctness and termination is proved. These include: \u003cul\u003e \u003cli\u003e a solver based on classical DPLL procedure (using only a backtrack-search with unit propagation),\u003c/li\u003e \u003cli\u003e a very general solver with backjumping and learning (similar to the description given in (Nieuwenhuis et al., 2006)), and\u003c/li\u003e \u003cli\u003e a solver with a specific conflict analysis algorithm (similar to the description given in (Krstic et al., 2007)).\u003c/li\u003e \u003c/ul\u003e Within the SAT solver correctness proofs, a large number of lemmas about propositional logic and CNF formulae are proved. This theory is self-contained and could be used for further exploring of properties of CNF based SAT algorithms.",
"authors": [
"Filip Marić"
],
"date": "2008-07-23",
- "id": 652,
+ "id": 656,
"link": "/entries/SATSolverVerification.html",
"permalink": "/entries/SATSolverVerification.html",
"shortname": "SATSolverVerification",
"title": "Formal Verification of Modern SAT Solvers",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "This document presents the formalization of introductory material from recursion theory --- definitions and basic properties of primitive recursive functions, Cantor pairing function and computably enumerable sets (including a proof of existence of a one-complete computably enumerable set and a proof of the Rice's theorem).",
"authors": [
"Michael Nedzelsky"
],
"date": "2008-04-05",
- "id": 653,
+ "id": 657,
"link": "/entries/Recursion-Theory-I.html",
"permalink": "/entries/Recursion-Theory-I.html",
"shortname": "Recursion-Theory-I",
"title": "Recursion Theory I",
"topic_links": [
"logic/computability"
],
"topics": [
"Logic/Computability"
],
"used_by": 1
},
{
"abstract": "We present the theory of Simpl, a sequential imperative programming language. We introduce its syntax, its semantics (big and small-step operational semantics) and Hoare logics for both partial as well as total correctness. We prove soundness and completeness of the Hoare logic. We integrate and automate the Hoare logic in Isabelle/HOL to obtain a practically usable verification environment for imperative programs. Simpl is independent of a concrete programming language but expressive enough to cover all common language features: mutually recursive procedures, abrupt termination and exceptions, runtime faults, local and global variables, pointers and heap, expressions with side effects, pointers to procedures, partial application and closures, dynamic method invocation and also unbounded nondeterminism.",
"authors": [
"Norbert Schirmer"
],
"date": "2008-02-29",
- "id": 654,
+ "id": 658,
"link": "/entries/Simpl.html",
"permalink": "/entries/Simpl.html",
"shortname": "Simpl",
"title": "A Sequential Imperative Programming Language Syntax, Semantics, Hoare Logics and Verification Environment",
"topic_links": [
"computer-science/programming-languages/language-definitions",
"computer-science/programming-languages/logics"
],
"topics": [
"Computer science/Programming languages/Language definitions",
"Computer science/Programming languages/Logics"
],
"used_by": 2
},
{
"abstract": "We present the verification of the normalisation of a binary decision diagram (BDD). The normalisation follows the original algorithm presented by Bryant in 1986 and transforms an ordered BDD in a reduced, ordered and shared BDD. The verification is based on Hoare logics.",
"authors": [
"Veronika Ortner",
"Norbert Schirmer"
],
"date": "2008-02-29",
- "id": 655,
+ "id": 659,
"link": "/entries/BDD.html",
"permalink": "/entries/BDD.html",
"shortname": "BDD",
"title": "BDD Normalisation",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "This article formalizes normalization by evaluation as implemented in Isabelle. Lambda calculus plus term rewriting is compiled into a functional program with pattern matching. It is proved that the result of a successful evaluation is a) correct, i.e. equivalent to the input, and b) in normal form.",
"authors": [
"Klaus Aehlig",
"Tobias Nipkow"
],
"date": "2008-02-18",
- "id": 656,
+ "id": 660,
"link": "/entries/NormByEval.html",
"permalink": "/entries/NormByEval.html",
"shortname": "NormByEval",
"title": "Normalization by Evaluation",
"topic_links": [
"computer-science/programming-languages/compiling"
],
"topics": [
"Computer science/Programming languages/Compiling"
],
"used_by": 0
},
{
"abstract": "This article formalizes quantifier elimination procedures for dense linear orders, linear real arithmetic and Presburger arithmetic. In each case both a DNF-based non-elementary algorithm and one or more (doubly) exponential NNF-based algorithms are formalized, including the well-known algorithms by Ferrante and Rackoff and by Cooper. The NNF-based algorithms for dense linear orders are new but based on Ferrante and Rackoff and on an algorithm by Loos and Weisspfenning which simulates infenitesimals. All algorithms are directly executable. In particular, they yield reflective quantifier elimination procedures for HOL itself. The formalization makes heavy use of locales and is therefore highly modular.",
"authors": [
"Tobias Nipkow"
],
"date": "2008-01-11",
- "id": 657,
+ "id": 661,
"link": "/entries/LinearQuantifierElim.html",
"permalink": "/entries/LinearQuantifierElim.html",
"shortname": "LinearQuantifierElim",
"title": "Quantifier Elimination for Linear Arithmetic",
"topic_links": [
"logic/general-logic/decidability-of-theories"
],
"topics": [
"Logic/General logic/Decidability of theories"
],
"used_by": 0
},
{
"abstract": "In this work we formally verify the soundness and precision of a static program analysis that detects conflicts (e. g. data races) in programs with procedures, thread creation and monitors with the Isabelle theorem prover. As common in static program analysis, our program model abstracts guarded branching by nondeterministic branching, but completely interprets the call-/return behavior of procedures, synchronization by monitors, and thread creation. The analysis is based on the observation that all conflicts already occur in a class of particularly restricted schedules. These restricted schedules are suited to constraint-system-based program analysis. The formalization is based upon a flowgraph-based program model with an operational semantics as reference point.",
"authors": [
"Peter Lammich",
"Markus Müller-Olm"
],
"date": "2007-12-14",
- "id": 658,
+ "id": 662,
"link": "/entries/Program-Conflict-Analysis.html",
"permalink": "/entries/Program-Conflict-Analysis.html",
"shortname": "Program-Conflict-Analysis",
"title": "Formalization of Conflict Analysis of Programs with Procedures, Thread Creation, and Monitors",
"topic_links": [
"computer-science/programming-languages/static-analysis"
],
"topics": [
"Computer science/Programming languages/Static analysis"
],
"used_by": 1
},
{
"abstract": "We extend the Jinja source code semantics by Klein and Nipkow with Java-style arrays and threads. Concurrency is captured in a generic framework semantics for adding concurrency through interleaving to a sequential semantics, which features dynamic thread creation, inter-thread communication via shared memory, lock synchronisation and joins. Also, threads can suspend themselves and be notified by others. We instantiate the framework with the adapted versions of both Jinja source and byte code and show type safety for the multithreaded case. Equally, the compiler from source to byte code is extended, for which we prove weak bisimilarity between the source code small step semantics and the defensive Jinja virtual machine. On top of this, we formalise the JMM and show the DRF guarantee and consistency. For description of the different parts, see Lochbihler's papers at FOOL 2008, ESOP 2010, ITP 2011, and ESOP 2012.",
"authors": [
"Andreas Lochbihler"
],
"date": "2007-12-03",
- "id": 659,
+ "id": 663,
"link": "/entries/JinjaThreads.html",
"permalink": "/entries/JinjaThreads.html",
"shortname": "JinjaThreads",
"title": "Jinja with Threads",
"topic_links": [
"computer-science/programming-languages/language-definitions"
],
"topics": [
"Computer science/Programming languages/Language definitions"
],
"used_by": 0
},
{
"abstract": "This article is an Isabelle formalisation of a paper with the same title. In a similar way as Knuth's 0-1-principle for sorting algorithms, that paper develops a 0-1-2-principle for parallel prefix computations.",
"authors": [
"Sascha Böhme"
],
"date": "2007-11-06",
- "id": 660,
+ "id": 664,
"link": "/entries/MuchAdoAboutTwo.html",
"permalink": "/entries/MuchAdoAboutTwo.html",
"shortname": "MuchAdoAboutTwo",
"title": "Much Ado About Two",
"topic_links": [
"computer-science/algorithms"
],
"topics": [
"Computer science/Algorithms"
],
"used_by": 0
},
{
"abstract": "This document presents the mechanised proofs of\u003cul\u003e\u003cli\u003eFermat's Last Theorem for exponents 3 and 4 and\u003c/li\u003e\u003cli\u003ethe parametrisation of Pythagorean Triples.\u003c/li\u003e\u003c/ul\u003e",
"authors": [
"Roelof Oosterhuis"
],
"date": "2007-08-12",
- "id": 661,
+ "id": 665,
"link": "/entries/Fermat3_4.html",
"permalink": "/entries/Fermat3_4.html",
"shortname": "Fermat3_4",
"title": "Fermat's Last Theorem for Exponents 3 and 4 and the Parametrisation of Pythagorean Triples",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "This document presents the mechanised proofs of the following results:\u003cul\u003e\u003cli\u003eany prime number of the form 4m+1 can be written as the sum of two squares;\u003c/li\u003e\u003cli\u003eany natural number can be written as the sum of four squares\u003c/li\u003e\u003c/ul\u003e",
"authors": [
"Roelof Oosterhuis"
],
"date": "2007-08-12",
- "id": 662,
+ "id": 666,
"link": "/entries/SumSquares.html",
"permalink": "/entries/SumSquares.html",
"shortname": "SumSquares",
"title": "Sums of Two and Four Squares",
"topic_links": [
"mathematics/number-theory"
],
"topics": [
"Mathematics/Number theory"
],
"used_by": 0
},
{
"abstract": "Convergence with respect to a valuation is discussed as convergence of a Cauchy sequence. Cauchy sequences of polynomials are defined. They are used to formalize Hensel's lemma.",
"authors": [
"Hidetsune Kobayashi"
],
"date": "2007-08-08",
- "id": 663,
+ "id": 667,
"link": "/entries/Valuation.html",
"permalink": "/entries/Valuation.html",
"shortname": "Valuation",
"title": "Fundamental Properties of Valuation Theory and Hensel's Lemma",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 0
},
{
"abstract": "We present a formalization of parts of Melvin Fitting's book \"First-Order Logic and Automated Theorem Proving\". The formalization covers the syntax of first-order logic, its semantics, the model existence theorem, a natural deduction proof calculus together with a proof of correctness and completeness, as well as the Löwenheim-Skolem theorem.",
"authors": [
"Stefan Berghofer"
],
"date": "2007-08-02",
- "id": 664,
+ "id": 668,
"link": "/entries/FOL-Fitting.html",
"permalink": "/entries/FOL-Fitting.html",
"shortname": "FOL-Fitting",
"title": "First-Order Logic According to Fitting",
"topic_links": [
"logic/general-logic/classical-first-order-logic"
],
"topics": [
"Logic/General logic/Classical first-order logic"
],
"used_by": 2
},
{
"abstract": "We present a solution to the POPLmark challenge designed by Aydemir et al., which has as a goal the formalization of the meta-theory of System F\u003csub\u003e\u0026lt;:\u003c/sub\u003e. The formalization is carried out in the theorem prover Isabelle/HOL using an encoding based on de Bruijn indices. We start with a relatively simple formalization covering only the basic features of System F\u003csub\u003e\u0026lt;:\u003c/sub\u003e, and explain how it can be extended to also cover records and more advanced binding constructs.",
"authors": [
"Stefan Berghofer"
],
"date": "2007-08-02",
- "id": 665,
+ "id": 669,
"link": "/entries/POPLmark-deBruijn.html",
"permalink": "/entries/POPLmark-deBruijn.html",
"shortname": "POPLmark-deBruijn",
"title": "POPLmark Challenge Via de Bruijn Indices",
"topic_links": [
"computer-science/programming-languages/lambda-calculi"
],
"topics": [
"Computer science/Programming languages/Lambda calculi"
],
"used_by": 0
},
{
"abstract": "Two models of an electronic hotel key card system are contrasted: a state based and a trace based one. Both are defined, verified, and proved equivalent in the theorem prover Isabelle/HOL. It is shown that if a guest follows a certain safety policy regarding her key cards, she can be sure that nobody but her can enter her room.",
"authors": [
"Tobias Nipkow"
],
"date": "2006-09-09",
- "id": 666,
+ "id": 670,
"link": "/entries/HotelKeyCards.html",
"permalink": "/entries/HotelKeyCards.html",
"shortname": "HotelKeyCards",
"title": "Hotel Key Card System",
"topic_links": [
"computer-science/security"
],
"topics": [
"Computer science/Security"
],
"used_by": 0
},
{
"abstract": "These therories describe Hoare logics for a number of imperative language constructs, from while-loops to mutually recursive procedures. Both partial and total correctness are treated. In particular a proof system for total correctness of recursive procedures in the presence of unbounded nondeterminism is presented.",
"authors": [
"Tobias Nipkow"
],
"date": "2006-08-08",
- "id": 667,
+ "id": 671,
"link": "/entries/Abstract-Hoare-Logics.html",
"permalink": "/entries/Abstract-Hoare-Logics.html",
"shortname": "Abstract-Hoare-Logics",
"title": "Abstract Hoare Logics",
"topic_links": [
"computer-science/programming-languages/logics"
],
"topics": [
"Computer science/Programming languages/Logics"
],
"used_by": 0
},
{
"abstract": "These theories present the verified enumeration of \u003ci\u003etame\u003c/i\u003e plane graphs as defined by Thomas C. Hales in his proof of the Kepler Conjecture in his book \u003ci\u003eDense Sphere Packings. A Blueprint for Formal Proofs.\u003c/i\u003e [CUP 2012]. The values of the constants in the definition of tameness are identical to those in the \u003ca href=\"https://code.google.com/p/flyspeck/\"\u003eFlyspeck project\u003c/a\u003e. The \u003ca href=\"http://www21.in.tum.de/~nipkow/pubs/Flyspeck/\"\u003eIJCAR 2006 paper by Nipkow, Bauer and Schultz\u003c/a\u003e refers to the original version of Hales' proof, the \u003ca href=\"http://www21.in.tum.de/~nipkow/pubs/itp11.html\"\u003eITP 2011 paper by Nipkow\u003c/a\u003e refers to the Blueprint version of the proof.",
"authors": [
"Gertrud Bauer",
"Tobias Nipkow"
],
"date": "2006-05-22",
- "id": 668,
+ "id": 672,
"link": "/entries/Flyspeck-Tame.html",
"permalink": "/entries/Flyspeck-Tame.html",
"shortname": "Flyspeck-Tame",
"title": "Flyspeck I: Tame Graphs",
"topic_links": [
"mathematics/graph-theory"
],
"topics": [
"Mathematics/Graph theory"
],
"used_by": 1
},
{
"abstract": "We present an operational semantics and type safety proof for multiple inheritance in C++. The semantics models the behavior of method calls, field accesses, and two forms of casts in C++ class hierarchies. For explanations see the OOPSLA 2006 paper by Wasserrab, Nipkow, Snelting and Tip.",
"authors": [
"Daniel Wasserrab"
],
"date": "2006-05-15",
- "id": 669,
+ "id": 673,
"link": "/entries/CoreC++.html",
"permalink": "/entries/CoreC++.html",
"shortname": "CoreC++",
"title": "CoreC++",
"topic_links": [
"computer-science/programming-languages/language-definitions"
],
"topics": [
"Computer science/Programming languages/Language definitions"
],
"used_by": 0
},
{
"abstract": "We formalize the type system, small-step operational semantics, and type soundness proof for Featherweight Java, a simple object calculus, in Isabelle/HOL.",
"authors": [
"J. Nathan Foster",
"Dimitrios Vytiniotis"
],
"date": "2006-03-31",
- "id": 670,
+ "id": 674,
"link": "/entries/FeatherweightJava.html",
"permalink": "/entries/FeatherweightJava.html",
"shortname": "FeatherweightJava",
"title": "A Theory of Featherweight Java in Isabelle/HOL",
"topic_links": [
"computer-science/programming-languages/language-definitions"
],
"topics": [
"Computer science/Programming languages/Language definitions"
],
"used_by": 0
},
{
"abstract": "F. B. Schneider (\"Understanding protocols for Byzantine clock synchronization\") generalizes a number of protocols for Byzantine fault-tolerant clock synchronization and presents a uniform proof for their correctness. In Schneider's schema, each processor maintains a local clock by periodically adjusting each value to one computed by a convergence function applied to the readings of all the clocks. Then, correctness of an algorithm, i.e. that the readings of two clocks at any time are within a fixed bound of each other, is based upon some conditions on the convergence function. To prove that a particular clock synchronization algorithm is correct it suffices to show that the convergence function used by the algorithm meets Schneider's conditions. Using the theorem prover Isabelle, we formalize the proofs that the convergence functions of two algorithms, namely, the Interactive Convergence Algorithm (ICA) of Lamport and Melliar-Smith and the Fault-tolerant Midpoint algorithm of Lundelius-Lynch, meet Schneider's conditions. Furthermore, we experiment on handling some parts of the proofs with fully automatic tools like ICS and CVC-lite. These theories are part of a joint work with Alwen Tiu and Leonor P. Nieto \u003ca href=\"http://users.rsise.anu.edu.au/~tiu/clocksync.pdf\"\u003e\"Verification of Clock Synchronization Algorithms: Experiments on a combination of deductive tools\"\u003c/a\u003e in proceedings of AVOCS 2005. In this work the correctness of Schneider schema was also verified using Isabelle (entry \u003ca href=\"GenClock.html\"\u003eGenClock\u003c/a\u003e in AFP).",
"authors": [
"Damián Barsotti"
],
"date": "2006-03-15",
- "id": 671,
+ "id": 675,
"link": "/entries/ClockSynchInst.html",
"permalink": "/entries/ClockSynchInst.html",
"shortname": "ClockSynchInst",
"title": "Instances of Schneider's generalized protocol of clock synchronization",
"topic_links": [
"computer-science/algorithms/distributed"
],
"topics": [
"Computer science/Algorithms/Distributed"
],
"used_by": 0
},
{
"abstract": "This document presents the mechanised proofs of two popular theorems attributed to Augustin Louis Cauchy - Cauchy's Mean Theorem and the Cauchy-Schwarz Inequality.",
"authors": [
"Benjamin Porter"
],
"date": "2006-03-14",
- "id": 672,
+ "id": 676,
"link": "/entries/Cauchy.html",
"permalink": "/entries/Cauchy.html",
"shortname": "Cauchy",
"title": "Cauchy's Mean Theorem and the Cauchy-Schwarz Inequality",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 1
},
{
"abstract": "This development defines a well-ordered type of countable ordinals. It includes notions of continuous and normal functions, recursively defined functions over ordinals, least fixed-points, and derivatives. Much of ordinal arithmetic is formalized, including exponentials and logarithms. The development concludes with formalizations of Cantor Normal Form and Veblen hierarchies over normal functions.",
"authors": [
"Brian Huffman"
],
"date": "2005-11-11",
- "id": 673,
+ "id": 677,
"link": "/entries/Ordinal.html",
"permalink": "/entries/Ordinal.html",
"shortname": "Ordinal",
"title": "Countable Ordinals",
"topic_links": [
"logic/set-theory"
],
"topics": [
"Logic/Set theory"
],
"used_by": 1
},
{
"abstract": "We formalise a functional implementation of the FFT algorithm over the complex numbers, and its inverse. Both are shown equivalent to the usual definitions of these operations through Vandermonde matrices. They are also shown to be inverse to each other, more precisely, that composition of the inverse and the transformation yield the identity up to a scalar.",
"authors": [
"Clemens Ballarin"
],
"date": "2005-10-12",
- "id": 674,
+ "id": 678,
"link": "/entries/FFT.html",
"permalink": "/entries/FFT.html",
"shortname": "FFT",
"title": "Fast Fourier Transform",
"topic_links": [
"computer-science/algorithms/mathematical"
],
"topics": [
"Computer science/Algorithms/Mathematical"
],
"used_by": 0
},
{
"abstract": "We formalize the generalized Byzantine fault-tolerant clock synchronization protocol of Schneider. This protocol abstracts from particular algorithms or implementations for clock synchronization. This abstraction includes several assumptions on the behaviors of physical clocks and on general properties of concrete algorithms/implementations. Based on these assumptions the correctness of the protocol is proved by Schneider. His proof was later verified by Shankar using the theorem prover EHDM (precursor to PVS). Our formalization in Isabelle/HOL is based on Shankar's formalization.",
"authors": [
"Alwen Tiu"
],
"date": "2005-06-24",
- "id": 675,
+ "id": 679,
"link": "/entries/GenClock.html",
"permalink": "/entries/GenClock.html",
"shortname": "GenClock",
"title": "Formalization of a Generalized Protocol for Clock Synchronization",
"topic_links": [
"computer-science/algorithms/distributed"
],
"topics": [
"Computer science/Algorithms/Distributed"
],
"used_by": 0
},
{
"abstract": "Disk Paxos is an algorithm for building arbitrary fault-tolerant distributed systems. The specification of Disk Paxos has been proved correct informally and tested using the TLC model checker, but up to now, it has never been fully formally verified. In this work we have formally verified its correctness using the Isabelle theorem prover and the HOL logic system, showing that Isabelle is a practical tool for verifying properties of TLA+ specifications.",
"authors": [
"Mauro Jaskelioff",
"Stephan Merz"
],
"date": "2005-06-22",
- "id": 676,
+ "id": 680,
"link": "/entries/DiskPaxos.html",
"permalink": "/entries/DiskPaxos.html",
"shortname": "DiskPaxos",
"title": "Proving the Correctness of Disk Paxos",
"topic_links": [
"computer-science/algorithms/distributed"
],
"topics": [
"Computer science/Algorithms/Distributed"
],
"used_by": 0
},
{
"abstract": "This document presents the formalization of an object-oriented data and store model in Isabelle/HOL. This model is being used in the Java Interactive Verification Environment, Jive.",
"authors": [
"Nicole Rauch",
"Norbert Schirmer"
],
"date": "2005-06-20",
- "id": 677,
+ "id": 681,
"link": "/entries/JiveDataStoreModel.html",
"permalink": "/entries/JiveDataStoreModel.html",
"shortname": "JiveDataStoreModel",
"title": "Jive Data and Store Model",
"topic_links": [
"computer-science/programming-languages/misc"
],
"topics": [
"Computer science/Programming languages/Misc"
],
"used_by": 0
},
{
"abstract": "We introduce Jinja, a Java-like programming language with a formal semantics designed to exhibit core features of the Java language architecture. Jinja is a compromise between realism of the language and tractability and clarity of the formal semantics. The following aspects are formalised: a big and a small step operational semantics for Jinja and a proof of their equivalence; a type system and a definite initialisation analysis; a type safety proof of the small step semantics; a virtual machine (JVM), its operational semantics and its type system; a type safety proof for the JVM; a bytecode verifier, i.e. data flow analyser for the JVM; a correctness proof of the bytecode verifier w.r.t. the type system; a compiler and a proof that it preserves semantics and well-typedness. The emphasis of this work is not on particular language features but on providing a unified model of the source language, the virtual machine and the compiler. The whole development has been carried out in the theorem prover Isabelle/HOL.",
"authors": [
"Gerwin Klein",
"Tobias Nipkow"
],
"date": "2005-06-01",
- "id": 678,
+ "id": 682,
"link": "/entries/Jinja.html",
"permalink": "/entries/Jinja.html",
"shortname": "Jinja",
"title": "Jinja is not Java",
"topic_links": [
"computer-science/programming-languages/language-definitions"
],
"topics": [
"Computer science/Programming languages/Language definitions"
],
"used_by": 4
},
{
"abstract": "Formal verification is getting more and more important in computer science. However the state of the art formal verification methods in cryptography are very rudimentary. These theories are one step to provide a tool box allowing the use of formal methods in every aspect of cryptography. Moreover we present a proof of concept for the feasibility of verification techniques to a standard signature algorithm.",
"authors": [
"Christina Lindenberg",
"Kai Wirt"
],
"date": "2005-05-02",
- "id": 679,
+ "id": 683,
"link": "/entries/RSAPSS.html",
"permalink": "/entries/RSAPSS.html",
"shortname": "RSAPSS",
"title": "SHA1, RSA, PSS and more",
"topic_links": [
"computer-science/security/cryptography"
],
"topics": [
"Computer science/Security/Cryptography"
],
"used_by": 0
},
{
"abstract": "This development proves Yoneda's lemma and aims to be readable by humans. It only defines what is needed for the lemma: categories, functors and natural transformations. Limits, adjunctions and other important concepts are not included.",
"authors": [
"Greg O'Keefe"
],
"date": "2005-04-21",
- "id": 680,
+ "id": 684,
"link": "/entries/Category.html",
"permalink": "/entries/Category.html",
"shortname": "Category",
"title": "Category Theory to Yoneda's Lemma",
"topic_links": [
"mathematics/category-theory"
],
"topics": [
"Mathematics/Category theory"
],
"used_by": 0
},
{
"abstract": "These theories illustrates the verification of basic file operations (file creation, file read and file write) in the Isabelle theorem prover. We describe a file at two levels of abstraction: an abstract file represented as a resizable array, and a concrete file represented using data blocks.",
"authors": [
"Karen Zee",
"Viktor Kuncak"
],
"date": "2004-12-09",
- "id": 681,
+ "id": 685,
"link": "/entries/FileRefinement.html",
"permalink": "/entries/FileRefinement.html",
"shortname": "FileRefinement",
"title": "File Refinement",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "Lebesgue-style integration plays a major role in advanced probability. We formalize concepts of elementary measure theory, real-valued random variables as Borel-measurable functions, and a stepwise inductive definition of the integral itself. All proofs are carried out in human readable style using the Isar language.",
"authors": [
"Stefan Richter"
],
"date": "2004-11-19",
- "id": 682,
+ "id": 686,
"link": "/entries/Integration.html",
"permalink": "/entries/Integration.html",
"shortname": "Integration",
"title": "Integration theory and random variables",
"topic_links": [
"mathematics/analysis"
],
"topics": [
"Mathematics/Analysis"
],
"used_by": 0
},
{
"abstract": "Soundness and completeness for a system of first order logic are formally proved, building on James Margetson's formalization of work by Wainer and Wallen. The completeness proofs naturally suggest an algorithm to derive proofs. This algorithm, which can be implemented tail recursively, is formalized in Isabelle/HOL. The algorithm can be executed via the rewriting tactics of Isabelle. Alternatively, the definitions can be exported to OCaml, yielding a directly executable program.",
"authors": [
"Tom Ridge"
],
"date": "2004-09-28",
- "id": 683,
+ "id": 687,
"link": "/entries/Verified-Prover.html",
"permalink": "/entries/Verified-Prover.html",
"shortname": "Verified-Prover",
"title": "A Mechanically Verified, Efficient, Sound and Complete Theorem Prover For First Order Logic",
"topic_links": [
"logic/general-logic/mechanization-of-proofs"
],
"topics": [
"Logic/General logic/Mechanization of proofs"
],
"used_by": 0
},
{
"abstract": "The completeness of first-order logic is proved, following the first five pages of Wainer and Wallen's chapter of the book \u003ci\u003eProof Theory\u003c/i\u003e by Aczel et al., CUP, 1992. Their presentation of formulas allows the proofs to use symmetry arguments. Margetson formalized this theorem by early 2000. The Isar conversion is thanks to Tom Ridge. A paper describing the formalization is available \u003ca href=\"Completeness-paper.pdf\"\u003e[pdf]\u003c/a\u003e.",
"authors": [
"James Margetson",
"Tom Ridge"
],
"date": "2004-09-20",
- "id": 684,
+ "id": 688,
"link": "/entries/Completeness.html",
"permalink": "/entries/Completeness.html",
"shortname": "Completeness",
"title": "Completeness theorem",
"topic_links": [
"logic/proof-theory"
],
"topics": [
"Logic/Proof theory"
],
"used_by": 0
},
{
"abstract": "This formalization of Ramsey's theorem (infinitary version) is taken from Boolos and Jeffrey, \u003ci\u003eComputability and Logic\u003c/i\u003e, 3rd edition, Chapter 26. It differs slightly from the text by assuming a slightly stronger hypothesis. In particular, the induction hypothesis is stronger, holding for any infinite subset of the naturals. This avoids the rather peculiar mapping argument between kj and aikj on p.263, which is unnecessary and slightly mars this really beautiful result.",
"authors": [
"Tom Ridge"
],
"date": "2004-09-20",
- "id": 685,
+ "id": 689,
"link": "/entries/Ramsey-Infinite.html",
"permalink": "/entries/Ramsey-Infinite.html",
"shortname": "Ramsey-Infinite",
"title": "Ramsey's theorem, infinitary version",
"topic_links": [
"mathematics/combinatorics"
],
"topics": [
"Mathematics/Combinatorics"
],
"used_by": 0
},
{
"abstract": "An exception compilation scheme that dynamically creates and removes exception handler entries on the stack. A formalization of an article of the same name by \u003ca href=\"http://www.cs.nott.ac.uk/~gmh/\"\u003eHutton\u003c/a\u003e and Wright.",
"authors": [
"Tobias Nipkow"
],
"date": "2004-07-09",
- "id": 686,
+ "id": 690,
"link": "/entries/Compiling-Exceptions-Correctly.html",
"permalink": "/entries/Compiling-Exceptions-Correctly.html",
"shortname": "Compiling-Exceptions-Correctly",
"title": "Compiling Exceptions Correctly",
"topic_links": [
"computer-science/programming-languages/compiling"
],
"topics": [
"Computer science/Programming languages/Compiling"
],
"used_by": 0
},
{
"abstract": "Depth-first search of a graph is formalized with recdef. It is shown that it visits all of the reachable nodes from a given list of nodes. Executable ML code of depth-first search is obtained using the code generation feature of Isabelle/HOL.",
"authors": [
"Toshiaki Nishihara",
"Yasuhiko Minamide"
],
"date": "2004-06-24",
- "id": 687,
+ "id": 691,
"link": "/entries/Depth-First-Search.html",
"permalink": "/entries/Depth-First-Search.html",
"shortname": "Depth-First-Search",
"title": "Depth First Search",
"topic_links": [
"computer-science/algorithms/graph"
],
"topics": [
"Computer science/Algorithms/Graph"
],
"used_by": 0
},
{
"abstract": "The theory of groups, rings and modules is developed to a great depth. Group theory results include Zassenhaus's theorem and the Jordan-Hoelder theorem. The ring theory development includes ideals, quotient rings and the Chinese remainder theorem. The module development includes the Nakayama lemma, exact sequences and Tensor products.",
"authors": [
"Hidetsune Kobayashi",
"L. Chen",
"H. Murao"
],
"date": "2004-05-18",
- "id": 688,
+ "id": 692,
"link": "/entries/Group-Ring-Module.html",
"permalink": "/entries/Group-Ring-Module.html",
"shortname": "Group-Ring-Module",
"title": "Groups, Rings and Modules",
"topic_links": [
"mathematics/algebra"
],
"topics": [
"Mathematics/Algebra"
],
"used_by": 1
},
{
"abstract": "This theory contains some useful extensions to the LList (lazy list) theory by \u003ca href=\"http://www.cl.cam.ac.uk/~lp15/\"\u003eLarry Paulson\u003c/a\u003e, including finite, infinite, and positive llists over an alphabet, as well as the new constants take and drop and the prefix order of llists. Finally, the notions of safety and liveness in the sense of Alpern and Schneider (1985) are defined.",
"authors": [
"Stefan Friedrich"
],
"date": "2004-04-26",
- "id": 689,
+ "id": 693,
"link": "/entries/Lazy-Lists-II.html",
"permalink": "/entries/Lazy-Lists-II.html",
"shortname": "Lazy-Lists-II",
"title": "Lazy Lists II",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 1
},
{
"abstract": "This entry contains two theories. The first, \u003ctt\u003eTopology\u003c/tt\u003e, develops the basic notions of general topology. The second, which can be viewed as a demonstration of the first, is called \u003ctt\u003eLList_Topology\u003c/tt\u003e. It develops the topology of lazy lists.",
"authors": [
"Stefan Friedrich"
],
"date": "2004-04-26",
- "id": 690,
+ "id": 694,
"link": "/entries/Topology.html",
"permalink": "/entries/Topology.html",
"shortname": "Topology",
"title": "Topology",
"topic_links": [
"mathematics/topology"
],
"topics": [
"Mathematics/Topology"
],
"used_by": 0
},
{
"abstract": "The correctness is shown of binary search tree operations (lookup, insert and remove) implementing a set. Two versions are given, for both structured and linear (tactic-style) proofs. An implementation of integer-indexed maps is also verified.",
"authors": [
"Viktor Kuncak"
],
"date": "2004-04-05",
- "id": 691,
+ "id": 695,
"link": "/entries/BinarySearchTree.html",
"permalink": "/entries/BinarySearchTree.html",
"shortname": "BinarySearchTree",
"title": "Binary Search Trees",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "This theory defines deterministic and nondeterministic automata in a functional representation: the transition function/relation and the finality predicate are just functions. Hence the state space may be infinite. It is shown how to convert regular expressions into such automata. A scanner (generator) is implemented with the help of functional automata: the scanner chops the input up into longest recognized substrings. Finally we also show how to convert a certain subclass of functional automata (essentially the finite deterministic ones) into regular sets.",
"authors": [
"Tobias Nipkow"
],
"date": "2004-03-30",
- "id": 692,
+ "id": 696,
"link": "/entries/Functional-Automata.html",
"permalink": "/entries/Functional-Automata.html",
"shortname": "Functional-Automata",
"title": "Functional Automata",
"topic_links": [
"computer-science/automata-and-formal-languages"
],
"topics": [
"Computer science/Automata and formal languages"
],
"used_by": 0
},
{
"abstract": "Two formalizations of AVL trees with room for extensions. The first formalization is monolithic and shorter, the second one in two stages, longer and a bit simpler. The final implementation is the same. If you are interested in developing this further, please contact \u003ctt\u003egerwin.klein@nicta.com.au\u003c/tt\u003e.",
"authors": [
"Tobias Nipkow",
"Cornelia Pusch"
],
"date": "2004-03-19",
- "id": 693,
+ "id": 697,
"link": "/entries/AVL-Trees.html",
"permalink": "/entries/AVL-Trees.html",
"shortname": "AVL-Trees",
"title": "AVL Trees",
"topic_links": [
"computer-science/data-structures"
],
"topics": [
"Computer science/Data structures"
],
"used_by": 0
},
{
"abstract": "This theory defines the type inference rules and the type inference algorithm \u003ci\u003eW\u003c/i\u003e for MiniML (simply-typed lambda terms with \u003ctt\u003elet\u003c/tt\u003e) due to Milner. It proves the soundness and completeness of \u003ci\u003eW\u003c/i\u003e w.r.t. the rules.",
"authors": [
"Wolfgang Naraschewski",
"Tobias Nipkow"
],
"date": "2004-03-19",
- "id": 694,
+ "id": 698,
"link": "/entries/MiniML.html",
"permalink": "/entries/MiniML.html",
"shortname": "MiniML",
"title": "Mini ML",
"topic_links": [
"computer-science/programming-languages/type-systems"
],
"topics": [
"Computer science/Programming languages/Type systems"
],
"used_by": 0
}
]
\ No newline at end of file
diff --git a/web/index.xml b/web/index.xml
--- a/web/index.xml
+++ b/web/index.xml
@@ -1,12794 +1,12860 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Archive of Formal Proofs</title>
<link>/</link>
<description>Recent content on Archive of Formal Proofs</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-gb</language>
- <lastBuildDate>Mon, 15 Aug 2022 00:00:00 +0000</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml" />
+ <lastBuildDate>Thu, 08 Sep 2022 00:00:00 +0000</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml" />
+ <item>
+ <title>CRYSTALS-Kyber</title>
+ <link>/entries/CRYSTALS-Kyber.html</link>
+ <pubDate>Thu, 08 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/CRYSTALS-Kyber.html</guid>
+ <description></description>
+ </item>
+
+ <item>
+ <title>Khovanskii&amp;#x27;s Theorem</title>
+ <link>/entries/Khovanskii_Theorem.html</link>
+ <pubDate>Fri, 02 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Khovanskii_Theorem.html</guid>
+ <description></description>
+ </item>
+
+ <item>
+ <title>The Hales–Jewett Theorem</title>
+ <link>/entries/Hales_Jewett.html</link>
+ <pubDate>Fri, 02 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Hales_Jewett.html</guid>
+ <description></description>
+ </item>
+
+ <item>
+ <title>Number Theoretic Transform</title>
+ <link>/entries/Number_Theoretic_Transform.html</link>
+ <pubDate>Thu, 18 Aug 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Number_Theoretic_Transform.html</guid>
+ <description></description>
+ </item>
+
<item>
<title>From THE BOOK: Two Squares via Involutions</title>
<link>/entries/Involutions2Squares.html</link>
<pubDate>Mon, 15 Aug 2022 00:00:00 +0000</pubDate>
<guid>/entries/Involutions2Squares.html</guid>
<description></description>
</item>
<item>
<title>Verified Complete Test Strategies for Finite State Machines</title>
<link>/entries/FSM_Tests.html</link>
<pubDate>Tue, 09 Aug 2022 00:00:00 +0000</pubDate>
<guid>/entries/FSM_Tests.html</guid>
<description></description>
</item>
<item>
<title>Nano JSON: Working with JSON formatted data in Isabelle/HOL and Isabelle/ML</title>
<link>/entries/Nano_JSON.html</link>
<pubDate>Fri, 29 Jul 2022 00:00:00 +0000</pubDate>
<guid>/entries/Nano_JSON.html</guid>
<description></description>
</item>
<item>
<title>Isabelle/Solidity: A deep Embedding of Solidity in Isabelle/HOL</title>
<link>/entries/Solidity.html</link>
<pubDate>Mon, 18 Jul 2022 00:00:00 +0000</pubDate>
<guid>/entries/Solidity.html</guid>
<description></description>
</item>
<item>
<title>Simultaneous diagonalization of pairwise commuting Hermitian matrices</title>
<link>/entries/Commuting_Hermitian.html</link>
<pubDate>Mon, 18 Jul 2022 00:00:00 +0000</pubDate>
<guid>/entries/Commuting_Hermitian.html</guid>
<description></description>
</item>
<item>
<title>Pólya’s Proof of the Weighted Arithmetic–Geometric Mean Inequality</title>
<link>/entries/Weighted_Arithmetic_Geometric_Mean.html</link>
<pubDate>Mon, 11 Jul 2022 00:00:00 +0000</pubDate>
<guid>/entries/Weighted_Arithmetic_Geometric_Mean.html</guid>
<description></description>
</item>
<item>
<title>A Reuse-Based Multi-Stage Compiler Verification for Language IMP</title>
<link>/entries/IMP_Compiler_Reuse.html</link>
<pubDate>Sun, 10 Jul 2022 00:00:00 +0000</pubDate>
<guid>/entries/IMP_Compiler_Reuse.html</guid>
<description></description>
</item>
<item>
<title>Real-Time Double-Ended Queue</title>
<link>/entries/Real_Time_Deque.html</link>
<pubDate>Thu, 23 Jun 2022 00:00:00 +0000</pubDate>
<guid>/entries/Real_Time_Deque.html</guid>
<description></description>
</item>
<item>
<title>Boolos&#39;s Curious Inference in Isabelle/HOL</title>
<link>/entries/Boolos_Curious_Inference.html</link>
<pubDate>Mon, 20 Jun 2022 00:00:00 +0000</pubDate>
<guid>/entries/Boolos_Curious_Inference.html</guid>
<description></description>
</item>
<item>
<title>Finite Fields</title>
<link>/entries/Finite_Fields.html</link>
<pubDate>Wed, 08 Jun 2022 00:00:00 +0000</pubDate>
<guid>/entries/Finite_Fields.html</guid>
<description></description>
</item>
<item>
<title>IsaNet: Formalization of a Verification Framework for Secure Data Plane Protocols</title>
<link>/entries/IsaNet.html</link>
<pubDate>Wed, 08 Jun 2022 00:00:00 +0000</pubDate>
<guid>/entries/IsaNet.html</guid>
<description></description>
</item>
<item>
<title>Diophantine Equations and the DPRM Theorem</title>
<link>/entries/DPRM_Theorem.html</link>
<pubDate>Mon, 06 Jun 2022 00:00:00 +0000</pubDate>
<guid>/entries/DPRM_Theorem.html</guid>
<description></description>
</item>
<item>
<title>Reducing Rewrite Properties to Properties on Ground Terms</title>
<link>/entries/Rewrite_Properties_Reduction.html</link>
<pubDate>Thu, 02 Jun 2022 00:00:00 +0000</pubDate>
<guid>/entries/Rewrite_Properties_Reduction.html</guid>
<description></description>
</item>
<item>
<title>A Restricted Definition of the Magic Wand to Soundly Combine Fractions of a Wand</title>
<link>/entries/Combinable_Wands.html</link>
<pubDate>Mon, 30 May 2022 00:00:00 +0000</pubDate>
<guid>/entries/Combinable_Wands.html</guid>
<description></description>
</item>
<item>
<title>The Plünnecke-Ruzsa Inequality</title>
<link>/entries/Pluennecke_Ruzsa_Inequality.html</link>
<pubDate>Thu, 26 May 2022 00:00:00 +0000</pubDate>
<guid>/entries/Pluennecke_Ruzsa_Inequality.html</guid>
<description></description>
</item>
<item>
<title>Formalization of a Framework for the Sound Automation of Magic Wands</title>
<link>/entries/Package_logic.html</link>
<pubDate>Wed, 18 May 2022 00:00:00 +0000</pubDate>
<guid>/entries/Package_logic.html</guid>
<description></description>
</item>
<item>
<title>Clique is not solvable by monotone circuits of polynomial size</title>
<link>/entries/Clique_and_Monotone_Circuits.html</link>
<pubDate>Sun, 08 May 2022 00:00:00 +0000</pubDate>
<guid>/entries/Clique_and_Monotone_Circuits.html</guid>
<description></description>
</item>
<item>
<title>Fisher&#39;s Inequality: Linear Algebraic Proof Techniques for Combinatorics</title>
<link>/entries/Fishers_Inequality.html</link>
<pubDate>Thu, 21 Apr 2022 00:00:00 +0000</pubDate>
<guid>/entries/Fishers_Inequality.html</guid>
<description></description>
</item>
<item>
<title>Digit Expansions</title>
<link>/entries/Digit_Expansions.html</link>
<pubDate>Wed, 20 Apr 2022 00:00:00 +0000</pubDate>
<guid>/entries/Digit_Expansions.html</guid>
<description></description>
</item>
<item>
<title>The Generalized Multiset Ordering is NP-Complete</title>
<link>/entries/Multiset_Ordering_NPC.html</link>
<pubDate>Wed, 20 Apr 2022 00:00:00 +0000</pubDate>
<guid>/entries/Multiset_Ordering_NPC.html</guid>
<description></description>
</item>
<item>
<title>The Sophomore&#39;s Dream</title>
<link>/entries/Sophomores_Dream.html</link>
<pubDate>Sun, 10 Apr 2022 00:00:00 +0000</pubDate>
<guid>/entries/Sophomores_Dream.html</guid>
<description></description>
</item>
<item>
<title>A Combinator Library for Prefix-Free Codes</title>
<link>/entries/Prefix_Free_Code_Combinators.html</link>
<pubDate>Fri, 08 Apr 2022 00:00:00 +0000</pubDate>
<guid>/entries/Prefix_Free_Code_Combinators.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Randomized Approximation Algorithms for Frequency Moments</title>
<link>/entries/Frequency_Moments.html</link>
<pubDate>Fri, 08 Apr 2022 00:00:00 +0000</pubDate>
<guid>/entries/Frequency_Moments.html</guid>
<description></description>
</item>
<item>
<title>Constructing the Reals as Dedekind Cuts of Rationals</title>
<link>/entries/Dedekind_Real.html</link>
<pubDate>Thu, 24 Mar 2022 00:00:00 +0000</pubDate>
<guid>/entries/Dedekind_Real.html</guid>
<description></description>
</item>
<item>
<title>Ackermann&#39;s Function Is Not Primitive Recursive</title>
<link>/entries/Ackermanns_not_PR.html</link>
<pubDate>Wed, 23 Mar 2022 00:00:00 +0000</pubDate>
<guid>/entries/Ackermanns_not_PR.html</guid>
<description></description>
</item>
<item>
<title>A Naive Prover for First-Order Logic</title>
<link>/entries/FOL_Seq_Calc3.html</link>
<pubDate>Tue, 22 Mar 2022 00:00:00 +0000</pubDate>
<guid>/entries/FOL_Seq_Calc3.html</guid>
<description></description>
</item>
<item>
<title>A Proof from THE BOOK: The Partial Fraction Expansion of the Cotangent</title>
<link>/entries/Cotangent_PFD_Formula.html</link>
<pubDate>Tue, 15 Mar 2022 00:00:00 +0000</pubDate>
<guid>/entries/Cotangent_PFD_Formula.html</guid>
<description></description>
</item>
<item>
<title>The Independence of the Continuum Hypothesis in Isabelle/ZF</title>
<link>/entries/Independence_CH.html</link>
<pubDate>Sun, 06 Mar 2022 00:00:00 +0000</pubDate>
<guid>/entries/Independence_CH.html</guid>
<description></description>
</item>
<item>
<title>Transitive Models of Fragments of ZFC</title>
<link>/entries/Transitive_Models.html</link>
<pubDate>Thu, 03 Mar 2022 00:00:00 +0000</pubDate>
<guid>/entries/Transitive_Models.html</guid>
<description></description>
</item>
<item>
<title>Residuated Transition Systems</title>
<link>/entries/ResiduatedTransitionSystem.html</link>
<pubDate>Mon, 28 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/ResiduatedTransitionSystem.html</guid>
<description></description>
</item>
<item>
<title>Universal Hash Families</title>
<link>/entries/Universal_Hash_Families.html</link>
<pubDate>Sun, 20 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/Universal_Hash_Families.html</guid>
<description></description>
</item>
<item>
<title>Wetzel&#39;s Problem and the Continuum Hypothesis</title>
<link>/entries/Wetzels_Problem.html</link>
<pubDate>Fri, 18 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/Wetzels_Problem.html</guid>
<description></description>
</item>
<item>
<title>First-Order Query Evaluation</title>
<link>/entries/Eval_FO.html</link>
<pubDate>Tue, 15 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/Eval_FO.html</guid>
<description></description>
</item>
<item>
<title>Multi-Head Monitoring of Metric Dynamic Logic</title>
<link>/entries/VYDRA_MDL.html</link>
<pubDate>Sun, 13 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/VYDRA_MDL.html</guid>
<description></description>
</item>
<item>
<title>Enumeration of Equivalence Relations</title>
<link>/entries/Equivalence_Relation_Enumeration.html</link>
<pubDate>Fri, 04 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/Equivalence_Relation_Enumeration.html</guid>
<description></description>
</item>
<item>
<title>Duality of Linear Programming</title>
<link>/entries/LP_Duality.html</link>
<pubDate>Thu, 03 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/LP_Duality.html</guid>
<description></description>
</item>
<item>
<title>Quasi-Borel Spaces</title>
<link>/entries/Quasi_Borel_Spaces.html</link>
<pubDate>Thu, 03 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/Quasi_Borel_Spaces.html</guid>
<description></description>
</item>
<item>
<title>First-Order Theory of Rewriting</title>
<link>/entries/FO_Theory_Rewriting.html</link>
<pubDate>Wed, 02 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/FO_Theory_Rewriting.html</guid>
<description></description>
</item>
<item>
<title>A Sequent Calculus Prover for First-Order Logic with Functions</title>
<link>/entries/FOL_Seq_Calc2.html</link>
<pubDate>Mon, 31 Jan 2022 00:00:00 +0000</pubDate>
<guid>/entries/FOL_Seq_Calc2.html</guid>
<description></description>
</item>
<item>
<title>Young&#39;s Inequality for Increasing Functions</title>
<link>/entries/Youngs_Inequality.html</link>
<pubDate>Mon, 31 Jan 2022 00:00:00 +0000</pubDate>
<guid>/entries/Youngs_Inequality.html</guid>
<description></description>
</item>
<item>
<title>Interpolation Polynomials (in HOL-Algebra)</title>
<link>/entries/Interpolation_Polynomials_HOL_Algebra.html</link>
<pubDate>Sat, 29 Jan 2022 00:00:00 +0000</pubDate>
<guid>/entries/Interpolation_Polynomials_HOL_Algebra.html</guid>
<description></description>
</item>
<item>
<title>Median Method</title>
<link>/entries/Median_Method.html</link>
<pubDate>Tue, 25 Jan 2022 00:00:00 +0000</pubDate>
<guid>/entries/Median_Method.html</guid>
<description></description>
</item>
<item>
<title>Actuarial Mathematics</title>
<link>/entries/Actuarial_Mathematics.html</link>
<pubDate>Sun, 23 Jan 2022 00:00:00 +0000</pubDate>
<guid>/entries/Actuarial_Mathematics.html</guid>
<description></description>
</item>
<item>
<title>Irrational numbers from THE BOOK</title>
<link>/entries/Irrationals_From_THEBOOK.html</link>
<pubDate>Sat, 08 Jan 2022 00:00:00 +0000</pubDate>
<guid>/entries/Irrationals_From_THEBOOK.html</guid>
<description></description>
</item>
<item>
<title>Knight&#39;s Tour Revisited Revisited</title>
<link>/entries/Knights_Tour.html</link>
<pubDate>Tue, 04 Jan 2022 00:00:00 +0000</pubDate>
<guid>/entries/Knights_Tour.html</guid>
<description></description>
</item>
<item>
<title>Hyperdual Numbers and Forward Differentiation</title>
<link>/entries/Hyperdual.html</link>
<pubDate>Fri, 31 Dec 2021 00:00:00 +0000</pubDate>
<guid>/entries/Hyperdual.html</guid>
<description></description>
</item>
<item>
<title>Gale-Shapley Algorithm</title>
<link>/entries/Gale_Shapley.html</link>
<pubDate>Wed, 29 Dec 2021 00:00:00 +0000</pubDate>
<guid>/entries/Gale_Shapley.html</guid>
<description></description>
</item>
<item>
<title>Roth&#39;s Theorem on Arithmetic Progressions</title>
<link>/entries/Roth_Arithmetic_Progressions.html</link>
<pubDate>Tue, 28 Dec 2021 00:00:00 +0000</pubDate>
<guid>/entries/Roth_Arithmetic_Progressions.html</guid>
<description></description>
</item>
<item>
<title>Markov Decision Processes with Rewards</title>
<link>/entries/MDP-Rewards.html</link>
<pubDate>Thu, 16 Dec 2021 00:00:00 +0000</pubDate>
<guid>/entries/MDP-Rewards.html</guid>
<description></description>
</item>
<item>
<title>Verified Algorithms for Solving Markov Decision Processes</title>
<link>/entries/MDP-Algorithms.html</link>
<pubDate>Thu, 16 Dec 2021 00:00:00 +0000</pubDate>
<guid>/entries/MDP-Algorithms.html</guid>
<description></description>
</item>
<item>
<title>Regular Tree Relations</title>
<link>/entries/Regular_Tree_Relations.html</link>
<pubDate>Wed, 15 Dec 2021 00:00:00 +0000</pubDate>
<guid>/entries/Regular_Tree_Relations.html</guid>
<description></description>
</item>
<item>
<title>Simplicial Complexes and Boolean functions</title>
<link>/entries/Simplicial_complexes_and_boolean_functions.html</link>
<pubDate>Mon, 29 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Simplicial_complexes_and_boolean_functions.html</guid>
<description></description>
</item>
<item>
<title>van Emde Boas Trees</title>
<link>/entries/Van_Emde_Boas_Trees.html</link>
<pubDate>Tue, 23 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Van_Emde_Boas_Trees.html</guid>
<description></description>
</item>
<item>
<title>Foundation of geometry in planes, and some complements: Excluding the parallel axioms</title>
<link>/entries/Foundation_of_geometry.html</link>
<pubDate>Mon, 22 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Foundation_of_geometry.html</guid>
<description></description>
</item>
<item>
<title>The Hahn and Jordan Decomposition Theorems</title>
<link>/entries/Hahn_Jordan_Decomposition.html</link>
<pubDate>Fri, 19 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Hahn_Jordan_Decomposition.html</guid>
<description></description>
</item>
<item>
<title>Automating Public Announcement Logic and the Wise Men Puzzle in Isabelle/HOL</title>
<link>/entries/PAL.html</link>
<pubDate>Mon, 08 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/PAL.html</guid>
<description></description>
</item>
<item>
<title>Exploring Simplified Variants of Gödel’s Ontological Argument in Isabelle/HOL</title>
<link>/entries/SimplifiedOntologicalArgument.html</link>
<pubDate>Mon, 08 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/SimplifiedOntologicalArgument.html</guid>
<description></description>
</item>
<item>
<title>Factorization of Polynomials with Algebraic Coefficients</title>
<link>/entries/Factor_Algebraic_Polynomial.html</link>
<pubDate>Mon, 08 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Factor_Algebraic_Polynomial.html</guid>
<description></description>
</item>
<item>
<title>Real Exponents as the Limits of Sequences of Rational Exponents</title>
<link>/entries/Real_Power.html</link>
<pubDate>Mon, 08 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Real_Power.html</guid>
<description></description>
</item>
<item>
<title>Szemerédi&#39;s Regularity Lemma</title>
<link>/entries/Szemeredi_Regularity.html</link>
<pubDate>Fri, 05 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Szemeredi_Regularity.html</guid>
<description></description>
</item>
<item>
<title>Quantum and Classical Registers</title>
<link>/entries/Registers.html</link>
<pubDate>Thu, 28 Oct 2021 00:00:00 +0000</pubDate>
<guid>/entries/Registers.html</guid>
<description></description>
</item>
<item>
<title>Belief Revision Theory</title>
<link>/entries/Belief_Revision.html</link>
<pubDate>Tue, 19 Oct 2021 00:00:00 +0000</pubDate>
<guid>/entries/Belief_Revision.html</guid>
<description></description>
</item>
<item>
<title>X86 instruction semantics and basic block symbolic execution</title>
<link>/entries/X86_Semantics.html</link>
<pubDate>Wed, 13 Oct 2021 00:00:00 +0000</pubDate>
<guid>/entries/X86_Semantics.html</guid>
<description></description>
</item>
<item>
<title>Algebras for Iteration, Infinite Executions and Correctness of Sequential Computations</title>
<link>/entries/Correctness_Algebras.html</link>
<pubDate>Tue, 12 Oct 2021 00:00:00 +0000</pubDate>
<guid>/entries/Correctness_Algebras.html</guid>
<description></description>
</item>
<item>
<title>Verified Quadratic Virtual Substitution for Real Arithmetic</title>
<link>/entries/Virtual_Substitution.html</link>
<pubDate>Sat, 02 Oct 2021 00:00:00 +0000</pubDate>
<guid>/entries/Virtual_Substitution.html</guid>
<description></description>
</item>
<item>
<title>Soundness and Completeness of an Axiomatic System for First-Order Logic</title>
<link>/entries/FOL_Axiomatic.html</link>
<pubDate>Fri, 24 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/FOL_Axiomatic.html</guid>
<description></description>
</item>
<item>
<title>Complex Bounded Operators</title>
<link>/entries/Complex_Bounded_Operators.html</link>
<pubDate>Sat, 18 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/Complex_Bounded_Operators.html</guid>
<description></description>
</item>
<item>
<title>A Formalization of Weighted Path Orders and Recursive Path Orders</title>
<link>/entries/Weighted_Path_Order.html</link>
<pubDate>Thu, 16 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/Weighted_Path_Order.html</guid>
<description></description>
</item>
<item>
<title>Category Theory for ZFC in HOL I: Foundations: Design Patterns, Set Theory, Digraphs, Semicategories</title>
<link>/entries/CZH_Foundations.html</link>
<pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/CZH_Foundations.html</guid>
<description></description>
</item>
<item>
<title>Category Theory for ZFC in HOL II: Elementary Theory of 1-Categories</title>
<link>/entries/CZH_Elementary_Categories.html</link>
<pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/CZH_Elementary_Categories.html</guid>
<description></description>
</item>
<item>
<title>Category Theory for ZFC in HOL III: Universal Constructions</title>
<link>/entries/CZH_Universal_Constructions.html</link>
<pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/CZH_Universal_Constructions.html</guid>
<description></description>
</item>
<item>
<title>Conditional Simplification</title>
<link>/entries/Conditional_Simplification.html</link>
<pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/Conditional_Simplification.html</guid>
<description></description>
</item>
<item>
<title>Conditional Transfer Rule</title>
<link>/entries/Conditional_Transfer_Rule.html</link>
<pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/Conditional_Transfer_Rule.html</guid>
<description></description>
</item>
<item>
<title>Extension of Types-To-Sets</title>
<link>/entries/Types_To_Sets_Extension.html</link>
<pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/Types_To_Sets_Extension.html</guid>
<description></description>
</item>
<item>
<title>IDE: Introduction, Destruction, Elimination</title>
<link>/entries/Intro_Dest_Elim.html</link>
<pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/Intro_Dest_Elim.html</guid>
<description></description>
</item>
<item>
<title>A data flow analysis algorithm for computing dominators</title>
<link>/entries/Dominance_CHK.html</link>
<pubDate>Sun, 05 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/Dominance_CHK.html</guid>
<description></description>
</item>
<item>
<title>Solving Cubic and Quartic Equations</title>
<link>/entries/Cubic_Quartic_Equations.html</link>
<pubDate>Fri, 03 Sep 2021 00:00:00 +0000</pubDate>
<guid>/entries/Cubic_Quartic_Equations.html</guid>
<description></description>
</item>
<item>
<title>Logging-independent Message Anonymity in the Relational Method</title>
<link>/entries/Logging_Independent_Anonymity.html</link>
<pubDate>Thu, 26 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/Logging_Independent_Anonymity.html</guid>
<description></description>
</item>
<item>
<title>The Theorem of Three Circles</title>
<link>/entries/Three_Circles.html</link>
<pubDate>Sat, 21 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/Three_Circles.html</guid>
<description></description>
</item>
<item>
<title>CoCon: A Confidentiality-Verified Conference Management System</title>
<link>/entries/CoCon.html</link>
<pubDate>Mon, 16 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/CoCon.html</guid>
<description></description>
</item>
<item>
<title>Compositional BD Security</title>
<link>/entries/BD_Security_Compositional.html</link>
<pubDate>Mon, 16 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/BD_Security_Compositional.html</guid>
<description></description>
</item>
<item>
<title>CoSMed: A confidentiality-verified social media platform</title>
<link>/entries/CoSMed.html</link>
<pubDate>Mon, 16 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/CoSMed.html</guid>
<description></description>
</item>
<item>
<title>CoSMeDis: A confidentiality-verified distributed social media platform</title>
<link>/entries/CoSMeDis.html</link>
<pubDate>Mon, 16 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/CoSMeDis.html</guid>
<description></description>
</item>
<item>
<title>Fresh identifiers</title>
<link>/entries/Fresh_Identifiers.html</link>
<pubDate>Mon, 16 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/Fresh_Identifiers.html</guid>
<description></description>
</item>
<item>
<title>Combinatorial Design Theory</title>
<link>/entries/Design_Theory.html</link>
<pubDate>Fri, 13 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/Design_Theory.html</guid>
<description></description>
</item>
<item>
<title>Relational Forests</title>
<link>/entries/Relational_Forests.html</link>
<pubDate>Tue, 03 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/Relational_Forests.html</guid>
<description></description>
</item>
<item>
<title>Schutz&#39; Independent Axioms for Minkowski Spacetime</title>
<link>/entries/Schutz_Spacetime.html</link>
<pubDate>Tue, 27 Jul 2021 00:00:00 +0000</pubDate>
<guid>/entries/Schutz_Spacetime.html</guid>
<description></description>
</item>
<item>
<title>Finitely Generated Abelian Groups</title>
<link>/entries/Finitely_Generated_Abelian_Groups.html</link>
<pubDate>Wed, 07 Jul 2021 00:00:00 +0000</pubDate>
<guid>/entries/Finitely_Generated_Abelian_Groups.html</guid>
<description></description>
</item>
<item>
<title>SpecCheck - Specification-Based Testing for Isabelle/ML</title>
<link>/entries/SpecCheck.html</link>
<pubDate>Thu, 01 Jul 2021 00:00:00 +0000</pubDate>
<guid>/entries/SpecCheck.html</guid>
<description></description>
</item>
<item>
<title>Van der Waerden&#39;s Theorem</title>
<link>/entries/Van_der_Waerden.html</link>
<pubDate>Tue, 22 Jun 2021 00:00:00 +0000</pubDate>
<guid>/entries/Van_der_Waerden.html</guid>
<description></description>
</item>
<item>
<title>MiniSail - A kernel language for the ISA specification language SAIL</title>
<link>/entries/MiniSail.html</link>
<pubDate>Fri, 18 Jun 2021 00:00:00 +0000</pubDate>
<guid>/entries/MiniSail.html</guid>
<description></description>
</item>
<item>
<title>Public Announcement Logic</title>
<link>/entries/Public_Announcement_Logic.html</link>
<pubDate>Thu, 17 Jun 2021 00:00:00 +0000</pubDate>
<guid>/entries/Public_Announcement_Logic.html</guid>
<description></description>
</item>
<item>
<title>A Shorter Compiler Correctness Proof for Language IMP</title>
<link>/entries/IMP_Compiler.html</link>
<pubDate>Fri, 04 Jun 2021 00:00:00 +0000</pubDate>
<guid>/entries/IMP_Compiler.html</guid>
<description></description>
</item>
<item>
<title>Combinatorics on Words Basics</title>
<link>/entries/Combinatorics_Words.html</link>
<pubDate>Mon, 24 May 2021 00:00:00 +0000</pubDate>
<guid>/entries/Combinatorics_Words.html</guid>
<description></description>
</item>
<item>
<title>Graph Lemma</title>
<link>/entries/Combinatorics_Words_Graph_Lemma.html</link>
<pubDate>Mon, 24 May 2021 00:00:00 +0000</pubDate>
<guid>/entries/Combinatorics_Words_Graph_Lemma.html</guid>
<description></description>
</item>
<item>
<title>Lyndon words</title>
<link>/entries/Combinatorics_Words_Lyndon.html</link>
<pubDate>Mon, 24 May 2021 00:00:00 +0000</pubDate>
<guid>/entries/Combinatorics_Words_Lyndon.html</guid>
<description></description>
</item>
<item>
<title>Regression Test Selection</title>
<link>/entries/Regression_Test_Selection.html</link>
<pubDate>Fri, 30 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/Regression_Test_Selection.html</guid>
<description></description>
</item>
<item>
<title>Isabelle&#39;s Metalogic: Formalization and Proof Checker</title>
<link>/entries/Metalogic_ProofChecker.html</link>
<pubDate>Tue, 27 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/Metalogic_ProofChecker.html</guid>
<description></description>
</item>
<item>
<title>Lifting the Exponent</title>
<link>/entries/Lifting_the_Exponent.html</link>
<pubDate>Tue, 27 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/Lifting_the_Exponent.html</guid>
<description></description>
</item>
<item>
<title>The BKR Decision Procedure for Univariate Real Arithmetic</title>
<link>/entries/BenOr_Kozen_Reif.html</link>
<pubDate>Sat, 24 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/BenOr_Kozen_Reif.html</guid>
<description></description>
</item>
<item>
<title>Gale-Stewart Games</title>
<link>/entries/GaleStewart_Games.html</link>
<pubDate>Fri, 23 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/GaleStewart_Games.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Timely Dataflow&#39;s Progress Tracking Protocol</title>
<link>/entries/Progress_Tracking.html</link>
<pubDate>Tue, 13 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/Progress_Tracking.html</guid>
<description></description>
</item>
<item>
<title>Information Flow Control via Dependency Tracking</title>
<link>/entries/IFC_Tracking.html</link>
<pubDate>Thu, 01 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/IFC_Tracking.html</guid>
<description></description>
</item>
<item>
<title>Grothendieck&#39;s Schemes in Algebraic Geometry</title>
<link>/entries/Grothendieck_Schemes.html</link>
<pubDate>Mon, 29 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Grothendieck_Schemes.html</guid>
<description></description>
</item>
<item>
<title>Hensel&#39;s Lemma for the p-adic Integers</title>
<link>/entries/Padic_Ints.html</link>
<pubDate>Tue, 23 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Padic_Ints.html</guid>
<description></description>
</item>
<item>
<title>Constructive Cryptography in HOL: the Communication Modeling Aspect</title>
<link>/entries/Constructive_Cryptography_CM.html</link>
<pubDate>Wed, 17 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Constructive_Cryptography_CM.html</guid>
<description></description>
</item>
<item>
<title>Two algorithms based on modular arithmetic: lattice basis reduction and Hermite normal form computation</title>
<link>/entries/Modular_arithmetic_LLL_and_HNF_algorithms.html</link>
<pubDate>Fri, 12 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Modular_arithmetic_LLL_and_HNF_algorithms.html</guid>
<description></description>
</item>
<item>
<title>Quantum projective measurements and the CHSH inequality</title>
<link>/entries/Projective_Measurements.html</link>
<pubDate>Wed, 03 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Projective_Measurements.html</guid>
<description></description>
</item>
<item>
<title>The Hermite–Lindemann–Weierstraß Transcendence Theorem</title>
<link>/entries/Hermite_Lindemann.html</link>
<pubDate>Wed, 03 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Hermite_Lindemann.html</guid>
<description></description>
</item>
<item>
<title>Mereology</title>
<link>/entries/Mereology.html</link>
<pubDate>Mon, 01 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Mereology.html</guid>
<description></description>
</item>
<item>
<title>The Sunflower Lemma of Erdős and Rado</title>
<link>/entries/Sunflowers.html</link>
<pubDate>Thu, 25 Feb 2021 00:00:00 +0000</pubDate>
<guid>/entries/Sunflowers.html</guid>
<description></description>
</item>
<item>
<title>A Verified Imperative Implementation of B-Trees</title>
<link>/entries/BTree.html</link>
<pubDate>Wed, 24 Feb 2021 00:00:00 +0000</pubDate>
<guid>/entries/BTree.html</guid>
<description></description>
</item>
<item>
<title>Formal Puiseux Series</title>
<link>/entries/Formal_Puiseux_Series.html</link>
<pubDate>Wed, 17 Feb 2021 00:00:00 +0000</pubDate>
<guid>/entries/Formal_Puiseux_Series.html</guid>
<description></description>
</item>
<item>
<title>The Laws of Large Numbers</title>
<link>/entries/Laws_of_Large_Numbers.html</link>
<pubDate>Wed, 10 Feb 2021 00:00:00 +0000</pubDate>
<guid>/entries/Laws_of_Large_Numbers.html</guid>
<description></description>
</item>
<item>
<title>Tarski&#39;s Parallel Postulate implies the 5th Postulate of Euclid, the Postulate of Playfair and the original Parallel Postulate of Euclid</title>
<link>/entries/IsaGeoCoq.html</link>
<pubDate>Sun, 31 Jan 2021 00:00:00 +0000</pubDate>
<guid>/entries/IsaGeoCoq.html</guid>
<description></description>
</item>
<item>
<title>Solution to the xkcd Blue Eyes puzzle</title>
<link>/entries/Blue_Eyes.html</link>
<pubDate>Sat, 30 Jan 2021 00:00:00 +0000</pubDate>
<guid>/entries/Blue_Eyes.html</guid>
<description></description>
</item>
<item>
<title>Hood-Melville Queue</title>
<link>/entries/Hood_Melville_Queue.html</link>
<pubDate>Mon, 18 Jan 2021 00:00:00 +0000</pubDate>
<guid>/entries/Hood_Melville_Queue.html</guid>
<description></description>
</item>
<item>
<title>JinjaDCI: a Java semantics with dynamic class initialization</title>
<link>/entries/JinjaDCI.html</link>
<pubDate>Mon, 11 Jan 2021 00:00:00 +0000</pubDate>
<guid>/entries/JinjaDCI.html</guid>
<description></description>
</item>
<item>
<title>Cofinality and the Delta System Lemma</title>
<link>/entries/Delta_System_Lemma.html</link>
<pubDate>Sun, 27 Dec 2020 00:00:00 +0000</pubDate>
<guid>/entries/Delta_System_Lemma.html</guid>
<description></description>
</item>
<item>
<title>Topological semantics for paraconsistent and paracomplete logics</title>
<link>/entries/Topological_Semantics.html</link>
<pubDate>Thu, 17 Dec 2020 00:00:00 +0000</pubDate>
<guid>/entries/Topological_Semantics.html</guid>
<description></description>
</item>
<item>
<title>Relational Minimum Spanning Tree Algorithms</title>
<link>/entries/Relational_Minimum_Spanning_Trees.html</link>
<pubDate>Tue, 08 Dec 2020 00:00:00 +0000</pubDate>
<guid>/entries/Relational_Minimum_Spanning_Trees.html</guid>
<description></description>
</item>
<item>
<title>Inline Caching and Unboxing Optimization for Interpreters</title>
<link>/entries/Interpreter_Optimizations.html</link>
<pubDate>Mon, 07 Dec 2020 00:00:00 +0000</pubDate>
<guid>/entries/Interpreter_Optimizations.html</guid>
<description></description>
</item>
<item>
<title>The Relational Method with Message Anonymity for the Verification of Cryptographic Protocols</title>
<link>/entries/Relational_Method.html</link>
<pubDate>Sat, 05 Dec 2020 00:00:00 +0000</pubDate>
<guid>/entries/Relational_Method.html</guid>
<description></description>
</item>
<item>
<title>Isabelle Marries Dirac: a Library for Quantum Computation and Quantum Information</title>
<link>/entries/Isabelle_Marries_Dirac.html</link>
<pubDate>Sun, 22 Nov 2020 00:00:00 +0000</pubDate>
<guid>/entries/Isabelle_Marries_Dirac.html</guid>
<description></description>
</item>
<item>
<title>The HOL-CSP Refinement Toolkit</title>
<link>/entries/CSP_RefTK.html</link>
<pubDate>Thu, 19 Nov 2020 00:00:00 +0000</pubDate>
<guid>/entries/CSP_RefTK.html</guid>
<description></description>
</item>
<item>
<title>AI Planning Languages Semantics</title>
<link>/entries/AI_Planning_Languages_Semantics.html</link>
<pubDate>Thu, 29 Oct 2020 00:00:00 +0000</pubDate>
<guid>/entries/AI_Planning_Languages_Semantics.html</guid>
<description></description>
</item>
<item>
<title>Verified SAT-Based AI Planning</title>
<link>/entries/Verified_SAT_Based_AI_Planning.html</link>
<pubDate>Thu, 29 Oct 2020 00:00:00 +0000</pubDate>
<guid>/entries/Verified_SAT_Based_AI_Planning.html</guid>
<description></description>
</item>
<item>
<title>A Sound Type System for Physical Quantities, Units, and Measurements</title>
<link>/entries/Physical_Quantities.html</link>
<pubDate>Tue, 20 Oct 2020 00:00:00 +0000</pubDate>
<guid>/entries/Physical_Quantities.html</guid>
<description></description>
</item>
<item>
<title>Finite Map Extras</title>
<link>/entries/Finite-Map-Extras.html</link>
<pubDate>Mon, 12 Oct 2020 00:00:00 +0000</pubDate>
<guid>/entries/Finite-Map-Extras.html</guid>
<description></description>
</item>
<item>
<title>A Formal Model of the Document Object Model with Shadow Roots</title>
<link>/entries/Shadow_DOM.html</link>
<pubDate>Mon, 28 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Shadow_DOM.html</guid>
<description></description>
</item>
<item>
<title>A Formal Model of the Safely Composable Document Object Model with Shadow Roots</title>
<link>/entries/Shadow_SC_DOM.html</link>
<pubDate>Mon, 28 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Shadow_SC_DOM.html</guid>
<description></description>
</item>
<item>
<title>A Formalization of Safely Composable Web Components</title>
<link>/entries/SC_DOM_Components.html</link>
<pubDate>Mon, 28 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/SC_DOM_Components.html</guid>
<description></description>
</item>
<item>
<title>A Formalization of Web Components</title>
<link>/entries/DOM_Components.html</link>
<pubDate>Mon, 28 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/DOM_Components.html</guid>
<description></description>
</item>
<item>
<title>The Safely Composable DOM</title>
<link>/entries/Core_SC_DOM.html</link>
<pubDate>Mon, 28 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Core_SC_DOM.html</guid>
<description></description>
</item>
<item>
<title>An Abstract Formalization of G&amp;ouml;del&#39;s Incompleteness Theorems</title>
<link>/entries/Goedel_Incompleteness.html</link>
<pubDate>Wed, 16 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Goedel_Incompleteness.html</guid>
<description></description>
</item>
<item>
<title>From Abstract to Concrete G&amp;ouml;del&#39;s Incompleteness Theorems&amp;mdash;Part I</title>
<link>/entries/Goedel_HFSet_Semantic.html</link>
<pubDate>Wed, 16 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Goedel_HFSet_Semantic.html</guid>
<description></description>
</item>
<item>
<title>From Abstract to Concrete G&amp;ouml;del&#39;s Incompleteness Theorems&amp;mdash;Part II</title>
<link>/entries/Goedel_HFSet_Semanticless.html</link>
<pubDate>Wed, 16 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Goedel_HFSet_Semanticless.html</guid>
<description></description>
</item>
<item>
<title>Robinson Arithmetic</title>
<link>/entries/Robinson_Arithmetic.html</link>
<pubDate>Wed, 16 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Robinson_Arithmetic.html</guid>
<description></description>
</item>
<item>
<title>Syntax-Independent Logic Infrastructure</title>
<link>/entries/Syntax_Independent_Logic.html</link>
<pubDate>Wed, 16 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Syntax_Independent_Logic.html</guid>
<description></description>
</item>
<item>
<title>A Formal Model of Extended Finite State Machines</title>
<link>/entries/Extended_Finite_State_Machines.html</link>
<pubDate>Mon, 07 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Extended_Finite_State_Machines.html</guid>
<description></description>
</item>
<item>
<title>Inference of Extended Finite State Machines</title>
<link>/entries/Extended_Finite_State_Machine_Inference.html</link>
<pubDate>Mon, 07 Sep 2020 00:00:00 +0000</pubDate>
<guid>/entries/Extended_Finite_State_Machine_Inference.html</guid>
<description></description>
</item>
<item>
<title>Practical Algebraic Calculus Checker</title>
<link>/entries/PAC_Checker.html</link>
<pubDate>Mon, 31 Aug 2020 00:00:00 +0000</pubDate>
<guid>/entries/PAC_Checker.html</guid>
<description></description>
</item>
<item>
<title>Some classical results in inductive inference of recursive functions</title>
<link>/entries/Inductive_Inference.html</link>
<pubDate>Mon, 31 Aug 2020 00:00:00 +0000</pubDate>
<guid>/entries/Inductive_Inference.html</guid>
<description></description>
</item>
<item>
<title>Relational Disjoint-Set Forests</title>
<link>/entries/Relational_Disjoint_Set_Forests.html</link>
<pubDate>Wed, 26 Aug 2020 00:00:00 +0000</pubDate>
<guid>/entries/Relational_Disjoint_Set_Forests.html</guid>
<description></description>
</item>
<item>
<title>Extensions to the Comprehensive Framework for Saturation Theorem Proving</title>
<link>/entries/Saturation_Framework_Extensions.html</link>
<pubDate>Tue, 25 Aug 2020 00:00:00 +0000</pubDate>
<guid>/entries/Saturation_Framework_Extensions.html</guid>
<description></description>
</item>
<item>
<title>Putting the `K&#39; into Bird&#39;s derivation of Knuth-Morris-Pratt string matching</title>
<link>/entries/BirdKMP.html</link>
<pubDate>Tue, 25 Aug 2020 00:00:00 +0000</pubDate>
<guid>/entries/BirdKMP.html</guid>
<description></description>
</item>
<item>
<title>Amicable Numbers</title>
<link>/entries/Amicable_Numbers.html</link>
<pubDate>Tue, 04 Aug 2020 00:00:00 +0000</pubDate>
<guid>/entries/Amicable_Numbers.html</guid>
<description></description>
</item>
<item>
<title>Ordinal Partitions</title>
<link>/entries/Ordinal_Partitions.html</link>
<pubDate>Mon, 03 Aug 2020 00:00:00 +0000</pubDate>
<guid>/entries/Ordinal_Partitions.html</guid>
<description></description>
</item>
<item>
<title>A Formal Proof of The Chandy--Lamport Distributed Snapshot Algorithm</title>
<link>/entries/Chandy_Lamport.html</link>
<pubDate>Tue, 21 Jul 2020 00:00:00 +0000</pubDate>
<guid>/entries/Chandy_Lamport.html</guid>
<description></description>
</item>
<item>
<title>Relational Characterisations of Paths</title>
<link>/entries/Relational_Paths.html</link>
<pubDate>Mon, 13 Jul 2020 00:00:00 +0000</pubDate>
<guid>/entries/Relational_Paths.html</guid>
<description></description>
</item>
<item>
<title>A Formally Verified Checker of the Safe Distance Traffic Rules for Autonomous Vehicles</title>
<link>/entries/Safe_Distance.html</link>
<pubDate>Mon, 01 Jun 2020 00:00:00 +0000</pubDate>
<guid>/entries/Safe_Distance.html</guid>
<description></description>
</item>
<item>
<title>A verified algorithm for computing the Smith normal form of a matrix</title>
<link>/entries/Smith_Normal_Form.html</link>
<pubDate>Sat, 23 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Smith_Normal_Form.html</guid>
<description></description>
</item>
<item>
<title>The Nash-Williams Partition Theorem</title>
<link>/entries/Nash_Williams.html</link>
<pubDate>Sat, 16 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Nash_Williams.html</guid>
<description></description>
</item>
<item>
<title>A Formalization of Knuth–Bendix Orders</title>
<link>/entries/Knuth_Bendix_Order.html</link>
<pubDate>Wed, 13 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Knuth_Bendix_Order.html</guid>
<description></description>
</item>
<item>
<title>Irrationality Criteria for Series by Erdős and Straus</title>
<link>/entries/Irrational_Series_Erdos_Straus.html</link>
<pubDate>Tue, 12 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Irrational_Series_Erdos_Straus.html</guid>
<description></description>
</item>
<item>
<title>Recursion Theorem in ZF</title>
<link>/entries/Recursion-Addition.html</link>
<pubDate>Mon, 11 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Recursion-Addition.html</guid>
<description></description>
</item>
<item>
<title>An Efficient Normalisation Procedure for Linear Temporal Logic: Isabelle/HOL Formalisation</title>
<link>/entries/LTL_Normal_Form.html</link>
<pubDate>Fri, 08 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/LTL_Normal_Form.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Forcing in Isabelle/ZF</title>
<link>/entries/Forcing.html</link>
<pubDate>Wed, 06 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Forcing.html</guid>
<description></description>
</item>
<item>
<title>Banach-Steinhaus Theorem</title>
<link>/entries/Banach_Steinhaus.html</link>
<pubDate>Sat, 02 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Banach_Steinhaus.html</guid>
<description></description>
</item>
<item>
<title>Attack Trees in Isabelle for GDPR compliance of IoT healthcare systems</title>
<link>/entries/Attack_Trees.html</link>
<pubDate>Mon, 27 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Attack_Trees.html</guid>
<description></description>
</item>
<item>
<title>Gaussian Integers</title>
<link>/entries/Gaussian_Integers.html</link>
<pubDate>Fri, 24 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Gaussian_Integers.html</guid>
<description></description>
</item>
<item>
<title>Power Sum Polynomials</title>
<link>/entries/Power_Sum_Polynomials.html</link>
<pubDate>Fri, 24 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Power_Sum_Polynomials.html</guid>
<description></description>
</item>
<item>
<title>The Lambert W Function on the Reals</title>
<link>/entries/Lambert_W.html</link>
<pubDate>Fri, 24 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Lambert_W.html</guid>
<description></description>
</item>
<item>
<title>Matrices for ODEs</title>
<link>/entries/Matrices_for_ODEs.html</link>
<pubDate>Sun, 19 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Matrices_for_ODEs.html</guid>
<description></description>
</item>
<item>
<title>Authenticated Data Structures As Functors</title>
<link>/entries/ADS_Functor.html</link>
<pubDate>Thu, 16 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/ADS_Functor.html</guid>
<description></description>
</item>
<item>
<title>Formalization of an Algorithm for Greedily Computing Associative Aggregations on Sliding Windows</title>
<link>/entries/Sliding_Window_Algorithm.html</link>
<pubDate>Fri, 10 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Sliding_Window_Algorithm.html</guid>
<description></description>
</item>
<item>
<title>A Comprehensive Framework for Saturation Theorem Proving</title>
<link>/entries/Saturation_Framework.html</link>
<pubDate>Thu, 09 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Saturation_Framework.html</guid>
<description></description>
</item>
<item>
<title>Formalization of an Optimized Monitoring Algorithm for Metric First-Order Dynamic Logic with Aggregations</title>
<link>/entries/MFODL_Monitor_Optimized.html</link>
<pubDate>Thu, 09 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/MFODL_Monitor_Optimized.html</guid>
<description></description>
</item>
<item>
<title>Automated Stateful Protocol Verification</title>
<link>/entries/Automated_Stateful_Protocol_Verification.html</link>
<pubDate>Wed, 08 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Automated_Stateful_Protocol_Verification.html</guid>
<description></description>
</item>
<item>
<title>Stateful Protocol Composition and Typing</title>
<link>/entries/Stateful_Protocol_Composition_and_Typing.html</link>
<pubDate>Wed, 08 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Stateful_Protocol_Composition_and_Typing.html</guid>
<description></description>
</item>
<item>
<title>Lucas&#39;s Theorem</title>
<link>/entries/Lucas_Theorem.html</link>
<pubDate>Tue, 07 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Lucas_Theorem.html</guid>
<description></description>
</item>
<item>
<title>Strong Eventual Consistency of the Collaborative Editing Framework WOOT</title>
<link>/entries/WOOT_Strong_Eventual_Consistency.html</link>
<pubDate>Wed, 25 Mar 2020 00:00:00 +0000</pubDate>
<guid>/entries/WOOT_Strong_Eventual_Consistency.html</guid>
<description></description>
</item>
<item>
<title>Furstenberg&#39;s topology and his proof of the infinitude of primes</title>
<link>/entries/Furstenberg_Topology.html</link>
<pubDate>Sun, 22 Mar 2020 00:00:00 +0000</pubDate>
<guid>/entries/Furstenberg_Topology.html</guid>
<description></description>
</item>
<item>
<title>An Under-Approximate Relational Logic</title>
<link>/entries/Relational-Incorrectness-Logic.html</link>
<pubDate>Thu, 12 Mar 2020 00:00:00 +0000</pubDate>
<guid>/entries/Relational-Incorrectness-Logic.html</guid>
<description></description>
</item>
<item>
<title>Hello World</title>
<link>/entries/Hello_World.html</link>
<pubDate>Sat, 07 Mar 2020 00:00:00 +0000</pubDate>
<guid>/entries/Hello_World.html</guid>
<description></description>
</item>
<item>
<title>Implementing the Goodstein Function in &amp;lambda;-Calculus</title>
<link>/entries/Goodstein_Lambda.html</link>
<pubDate>Fri, 21 Feb 2020 00:00:00 +0000</pubDate>
<guid>/entries/Goodstein_Lambda.html</guid>
<description></description>
</item>
<item>
<title>A Generic Framework for Verified Compilers</title>
<link>/entries/VeriComp.html</link>
<pubDate>Mon, 10 Feb 2020 00:00:00 +0000</pubDate>
<guid>/entries/VeriComp.html</guid>
<description></description>
</item>
<item>
<title>Arithmetic progressions and relative primes</title>
<link>/entries/Arith_Prog_Rel_Primes.html</link>
<pubDate>Sat, 01 Feb 2020 00:00:00 +0000</pubDate>
<guid>/entries/Arith_Prog_Rel_Primes.html</guid>
<description></description>
</item>
<item>
<title>A Hierarchy of Algebras for Boolean Subsets</title>
<link>/entries/Subset_Boolean_Algebras.html</link>
<pubDate>Fri, 31 Jan 2020 00:00:00 +0000</pubDate>
<guid>/entries/Subset_Boolean_Algebras.html</guid>
<description></description>
</item>
<item>
<title>Mersenne primes and the Lucas–Lehmer test</title>
<link>/entries/Mersenne_Primes.html</link>
<pubDate>Fri, 17 Jan 2020 00:00:00 +0000</pubDate>
<guid>/entries/Mersenne_Primes.html</guid>
<description></description>
</item>
<item>
<title>Verified Approximation Algorithms</title>
<link>/entries/Approximation_Algorithms.html</link>
<pubDate>Thu, 16 Jan 2020 00:00:00 +0000</pubDate>
<guid>/entries/Approximation_Algorithms.html</guid>
<description></description>
</item>
<item>
<title>Closest Pair of Points Algorithms</title>
<link>/entries/Closest_Pair_Points.html</link>
<pubDate>Mon, 13 Jan 2020 00:00:00 +0000</pubDate>
<guid>/entries/Closest_Pair_Points.html</guid>
<description></description>
</item>
<item>
<title>Skip Lists</title>
<link>/entries/Skip_Lists.html</link>
<pubDate>Thu, 09 Jan 2020 00:00:00 +0000</pubDate>
<guid>/entries/Skip_Lists.html</guid>
<description></description>
</item>
<item>
<title>Bicategories</title>
<link>/entries/Bicategory.html</link>
<pubDate>Mon, 06 Jan 2020 00:00:00 +0000</pubDate>
<guid>/entries/Bicategory.html</guid>
<description></description>
</item>
<item>
<title>The Irrationality of ζ(3)</title>
<link>/entries/Zeta_3_Irrational.html</link>
<pubDate>Fri, 27 Dec 2019 00:00:00 +0000</pubDate>
<guid>/entries/Zeta_3_Irrational.html</guid>
<description></description>
</item>
<item>
<title>Formalizing a Seligman-Style Tableau System for Hybrid Logic</title>
<link>/entries/Hybrid_Logic.html</link>
<pubDate>Fri, 20 Dec 2019 00:00:00 +0000</pubDate>
<guid>/entries/Hybrid_Logic.html</guid>
<description></description>
</item>
<item>
<title>The Poincaré-Bendixson Theorem</title>
<link>/entries/Poincare_Bendixson.html</link>
<pubDate>Wed, 18 Dec 2019 00:00:00 +0000</pubDate>
<guid>/entries/Poincare_Bendixson.html</guid>
<description></description>
</item>
<item>
<title>Complex Geometry</title>
<link>/entries/Complex_Geometry.html</link>
<pubDate>Mon, 16 Dec 2019 00:00:00 +0000</pubDate>
<guid>/entries/Complex_Geometry.html</guid>
<description></description>
</item>
<item>
<title>Poincaré Disc Model</title>
<link>/entries/Poincare_Disc.html</link>
<pubDate>Mon, 16 Dec 2019 00:00:00 +0000</pubDate>
<guid>/entries/Poincare_Disc.html</guid>
<description></description>
</item>
<item>
<title>Gauss Sums and the Pólya–Vinogradov Inequality</title>
<link>/entries/Gauss_Sums.html</link>
<pubDate>Tue, 10 Dec 2019 00:00:00 +0000</pubDate>
<guid>/entries/Gauss_Sums.html</guid>
<description></description>
</item>
<item>
<title>An Efficient Generalization of Counting Sort for Large, possibly Infinite Key Ranges</title>
<link>/entries/Generalized_Counting_Sort.html</link>
<pubDate>Wed, 04 Dec 2019 00:00:00 +0000</pubDate>
<guid>/entries/Generalized_Counting_Sort.html</guid>
<description></description>
</item>
<item>
<title>Interval Arithmetic on 32-bit Words</title>
<link>/entries/Interval_Arithmetic_Word32.html</link>
<pubDate>Wed, 27 Nov 2019 00:00:00 +0000</pubDate>
<guid>/entries/Interval_Arithmetic_Word32.html</guid>
<description></description>
</item>
<item>
<title>Zermelo Fraenkel Set Theory in Higher-Order Logic</title>
<link>/entries/ZFC_in_HOL.html</link>
<pubDate>Thu, 24 Oct 2019 00:00:00 +0000</pubDate>
<guid>/entries/ZFC_in_HOL.html</guid>
<description></description>
</item>
<item>
<title>Isabelle/C</title>
<link>/entries/Isabelle_C.html</link>
<pubDate>Tue, 22 Oct 2019 00:00:00 +0000</pubDate>
<guid>/entries/Isabelle_C.html</guid>
<description></description>
</item>
<item>
<title>VerifyThis 2019 -- Polished Isabelle Solutions</title>
<link>/entries/VerifyThis2019.html</link>
<pubDate>Wed, 16 Oct 2019 00:00:00 +0000</pubDate>
<guid>/entries/VerifyThis2019.html</guid>
<description></description>
</item>
<item>
<title>Aristotle&#39;s Assertoric Syllogistic</title>
<link>/entries/Aristotles_Assertoric_Syllogistic.html</link>
<pubDate>Tue, 08 Oct 2019 00:00:00 +0000</pubDate>
<guid>/entries/Aristotles_Assertoric_Syllogistic.html</guid>
<description></description>
</item>
<item>
<title>Sigma Protocols and Commitment Schemes</title>
<link>/entries/Sigma_Commit_Crypto.html</link>
<pubDate>Mon, 07 Oct 2019 00:00:00 +0000</pubDate>
<guid>/entries/Sigma_Commit_Crypto.html</guid>
<description></description>
</item>
<item>
<title>Clean - An Abstract Imperative Programming Language and its Theory</title>
<link>/entries/Clean.html</link>
<pubDate>Fri, 04 Oct 2019 00:00:00 +0000</pubDate>
<guid>/entries/Clean.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Multiway-Join Algorithms</title>
<link>/entries/Generic_Join.html</link>
<pubDate>Mon, 16 Sep 2019 00:00:00 +0000</pubDate>
<guid>/entries/Generic_Join.html</guid>
<description></description>
</item>
<item>
<title>Verification Components for Hybrid Systems</title>
<link>/entries/Hybrid_Systems_VCs.html</link>
<pubDate>Tue, 10 Sep 2019 00:00:00 +0000</pubDate>
<guid>/entries/Hybrid_Systems_VCs.html</guid>
<description></description>
</item>
<item>
<title>Fourier Series</title>
<link>/entries/Fourier.html</link>
<pubDate>Fri, 06 Sep 2019 00:00:00 +0000</pubDate>
<guid>/entries/Fourier.html</guid>
<description></description>
</item>
<item>
<title>A Case Study in Basic Algebra</title>
<link>/entries/Jacobson_Basic_Algebra.html</link>
<pubDate>Fri, 30 Aug 2019 00:00:00 +0000</pubDate>
<guid>/entries/Jacobson_Basic_Algebra.html</guid>
<description></description>
</item>
<item>
<title>Formalisation of an Adaptive State Counting Algorithm</title>
<link>/entries/Adaptive_State_Counting.html</link>
<pubDate>Fri, 16 Aug 2019 00:00:00 +0000</pubDate>
<guid>/entries/Adaptive_State_Counting.html</guid>
<description></description>
</item>
<item>
<title>Laplace Transform</title>
<link>/entries/Laplace_Transform.html</link>
<pubDate>Wed, 14 Aug 2019 00:00:00 +0000</pubDate>
<guid>/entries/Laplace_Transform.html</guid>
<description></description>
</item>
<item>
<title>Communicating Concurrent Kleene Algebra for Distributed Systems Specification</title>
<link>/entries/C2KA_DistributedSystems.html</link>
<pubDate>Tue, 06 Aug 2019 00:00:00 +0000</pubDate>
<guid>/entries/C2KA_DistributedSystems.html</guid>
<description></description>
</item>
<item>
<title>Linear Programming</title>
<link>/entries/Linear_Programming.html</link>
<pubDate>Tue, 06 Aug 2019 00:00:00 +0000</pubDate>
<guid>/entries/Linear_Programming.html</guid>
<description></description>
</item>
<item>
<title>Selected Problems from the International Mathematical Olympiad 2019</title>
<link>/entries/IMO2019.html</link>
<pubDate>Mon, 05 Aug 2019 00:00:00 +0000</pubDate>
<guid>/entries/IMO2019.html</guid>
<description></description>
</item>
<item>
<title>Stellar Quorum Systems</title>
<link>/entries/Stellar_Quorums.html</link>
<pubDate>Thu, 01 Aug 2019 00:00:00 +0000</pubDate>
<guid>/entries/Stellar_Quorums.html</guid>
<description></description>
</item>
<item>
<title>A Formal Development of a Polychronous Polytimed Coordination Language</title>
<link>/entries/TESL_Language.html</link>
<pubDate>Tue, 30 Jul 2019 00:00:00 +0000</pubDate>
<guid>/entries/TESL_Language.html</guid>
<description></description>
</item>
<item>
<title>Order Extension and Szpilrajn&#39;s Extension Theorem</title>
<link>/entries/Szpilrajn.html</link>
<pubDate>Sat, 27 Jul 2019 00:00:00 +0000</pubDate>
<guid>/entries/Szpilrajn.html</guid>
<description></description>
</item>
<item>
<title>A Sequent Calculus for First-Order Logic</title>
<link>/entries/FOL_Seq_Calc1.html</link>
<pubDate>Thu, 18 Jul 2019 00:00:00 +0000</pubDate>
<guid>/entries/FOL_Seq_Calc1.html</guid>
<description></description>
</item>
<item>
<title>A Verified Code Generator from Isabelle/HOL to CakeML</title>
<link>/entries/CakeML_Codegen.html</link>
<pubDate>Mon, 08 Jul 2019 00:00:00 +0000</pubDate>
<guid>/entries/CakeML_Codegen.html</guid>
<description></description>
</item>
<item>
<title>Formalization of a Monitoring Algorithm for Metric First-Order Temporal Logic</title>
<link>/entries/MFOTL_Monitor.html</link>
<pubDate>Thu, 04 Jul 2019 00:00:00 +0000</pubDate>
<guid>/entries/MFOTL_Monitor.html</guid>
<description></description>
</item>
<item>
<title>Complete Non-Orders and Fixed Points</title>
<link>/entries/Complete_Non_Orders.html</link>
<pubDate>Thu, 27 Jun 2019 00:00:00 +0000</pubDate>
<guid>/entries/Complete_Non_Orders.html</guid>
<description></description>
</item>
<item>
<title>Priority Search Trees</title>
<link>/entries/Priority_Search_Trees.html</link>
<pubDate>Tue, 25 Jun 2019 00:00:00 +0000</pubDate>
<guid>/entries/Priority_Search_Trees.html</guid>
<description></description>
</item>
<item>
<title>Purely Functional, Simple, and Efficient Implementation of Prim and Dijkstra</title>
<link>/entries/Prim_Dijkstra_Simple.html</link>
<pubDate>Tue, 25 Jun 2019 00:00:00 +0000</pubDate>
<guid>/entries/Prim_Dijkstra_Simple.html</guid>
<description></description>
</item>
<item>
<title>Linear Inequalities</title>
<link>/entries/Linear_Inequalities.html</link>
<pubDate>Fri, 21 Jun 2019 00:00:00 +0000</pubDate>
<guid>/entries/Linear_Inequalities.html</guid>
<description></description>
</item>
<item>
<title>Hilbert&#39;s Nullstellensatz</title>
<link>/entries/Nullstellensatz.html</link>
<pubDate>Sun, 16 Jun 2019 00:00:00 +0000</pubDate>
<guid>/entries/Nullstellensatz.html</guid>
<description></description>
</item>
<item>
<title>Gröbner Bases, Macaulay Matrices and Dubé&#39;s Degree Bounds</title>
<link>/entries/Groebner_Macaulay.html</link>
<pubDate>Sat, 15 Jun 2019 00:00:00 +0000</pubDate>
<guid>/entries/Groebner_Macaulay.html</guid>
<description></description>
</item>
<item>
<title>Binary Heaps for IMP2</title>
<link>/entries/IMP2_Binary_Heap.html</link>
<pubDate>Thu, 13 Jun 2019 00:00:00 +0000</pubDate>
<guid>/entries/IMP2_Binary_Heap.html</guid>
<description></description>
</item>
<item>
<title>Differential Game Logic</title>
<link>/entries/Differential_Game_Logic.html</link>
<pubDate>Mon, 03 Jun 2019 00:00:00 +0000</pubDate>
<guid>/entries/Differential_Game_Logic.html</guid>
<description></description>
</item>
<item>
<title>Multidimensional Binary Search Trees</title>
<link>/entries/KD_Tree.html</link>
<pubDate>Thu, 30 May 2019 00:00:00 +0000</pubDate>
<guid>/entries/KD_Tree.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Generic Authenticated Data Structures</title>
<link>/entries/LambdaAuth.html</link>
<pubDate>Tue, 14 May 2019 00:00:00 +0000</pubDate>
<guid>/entries/LambdaAuth.html</guid>
<description></description>
</item>
<item>
<title>Multi-Party Computation</title>
<link>/entries/Multi_Party_Computation.html</link>
<pubDate>Thu, 09 May 2019 00:00:00 +0000</pubDate>
<guid>/entries/Multi_Party_Computation.html</guid>
<description></description>
</item>
<item>
<title>HOL-CSP Version 2.0</title>
<link>/entries/HOL-CSP.html</link>
<pubDate>Fri, 26 Apr 2019 00:00:00 +0000</pubDate>
<guid>/entries/HOL-CSP.html</guid>
<description></description>
</item>
<item>
<title>A Compositional and Unified Translation of LTL into ω-Automata</title>
<link>/entries/LTL_Master_Theorem.html</link>
<pubDate>Tue, 16 Apr 2019 00:00:00 +0000</pubDate>
<guid>/entries/LTL_Master_Theorem.html</guid>
<description></description>
</item>
<item>
<title>A General Theory of Syntax with Bindings</title>
<link>/entries/Binding_Syntax_Theory.html</link>
<pubDate>Sat, 06 Apr 2019 00:00:00 +0000</pubDate>
<guid>/entries/Binding_Syntax_Theory.html</guid>
<description></description>
</item>
<item>
<title>The Transcendence of Certain Infinite Series</title>
<link>/entries/Transcendence_Series_Hancl_Rucki.html</link>
<pubDate>Wed, 27 Mar 2019 00:00:00 +0000</pubDate>
<guid>/entries/Transcendence_Series_Hancl_Rucki.html</guid>
<description></description>
</item>
<item>
<title>Quantum Hoare Logic</title>
<link>/entries/QHLProver.html</link>
<pubDate>Sun, 24 Mar 2019 00:00:00 +0000</pubDate>
<guid>/entries/QHLProver.html</guid>
<description></description>
</item>
<item>
<title>Safe OCL</title>
<link>/entries/Safe_OCL.html</link>
<pubDate>Sat, 09 Mar 2019 00:00:00 +0000</pubDate>
<guid>/entries/Safe_OCL.html</guid>
<description></description>
</item>
<item>
<title>Elementary Facts About the Distribution of Primes</title>
<link>/entries/Prime_Distribution_Elementary.html</link>
<pubDate>Thu, 21 Feb 2019 00:00:00 +0000</pubDate>
<guid>/entries/Prime_Distribution_Elementary.html</guid>
<description></description>
</item>
<item>
<title>Kruskal&#39;s Algorithm for Minimum Spanning Forest</title>
<link>/entries/Kruskal.html</link>
<pubDate>Thu, 14 Feb 2019 00:00:00 +0000</pubDate>
<guid>/entries/Kruskal.html</guid>
<description></description>
</item>
<item>
<title>Probabilistic Primality Testing</title>
<link>/entries/Probabilistic_Prime_Tests.html</link>
<pubDate>Mon, 11 Feb 2019 00:00:00 +0000</pubDate>
<guid>/entries/Probabilistic_Prime_Tests.html</guid>
<description></description>
</item>
<item>
<title>Universal Turing Machine</title>
<link>/entries/Universal_Turing_Machine.html</link>
<pubDate>Fri, 08 Feb 2019 00:00:00 +0000</pubDate>
<guid>/entries/Universal_Turing_Machine.html</guid>
<description></description>
</item>
<item>
<title>Isabelle/UTP: Mechanised Theory Engineering for Unifying Theories of Programming</title>
<link>/entries/UTP.html</link>
<pubDate>Fri, 01 Feb 2019 00:00:00 +0000</pubDate>
<guid>/entries/UTP.html</guid>
<description></description>
</item>
<item>
<title>The Inversions of a List</title>
<link>/entries/List_Inversions.html</link>
<pubDate>Fri, 01 Feb 2019 00:00:00 +0000</pubDate>
<guid>/entries/List_Inversions.html</guid>
<description></description>
</item>
<item>
<title>Farkas&#39; Lemma and Motzkin&#39;s Transposition Theorem</title>
<link>/entries/Farkas.html</link>
<pubDate>Thu, 17 Jan 2019 00:00:00 +0000</pubDate>
<guid>/entries/Farkas.html</guid>
<description></description>
</item>
<item>
<title>An Algebra for Higher-Order Terms</title>
<link>/entries/Higher_Order_Terms.html</link>
<pubDate>Tue, 15 Jan 2019 00:00:00 +0000</pubDate>
<guid>/entries/Higher_Order_Terms.html</guid>
<description></description>
</item>
<item>
<title>IMP2 – Simple Program Verification in Isabelle/HOL</title>
<link>/entries/IMP2.html</link>
<pubDate>Tue, 15 Jan 2019 00:00:00 +0000</pubDate>
<guid>/entries/IMP2.html</guid>
<description></description>
</item>
<item>
<title>A Reduction Theorem for Store Buffers</title>
<link>/entries/Store_Buffer_Reduction.html</link>
<pubDate>Mon, 07 Jan 2019 00:00:00 +0000</pubDate>
<guid>/entries/Store_Buffer_Reduction.html</guid>
<description></description>
</item>
<item>
<title>A Formal Model of the Document Object Model</title>
<link>/entries/Core_DOM.html</link>
<pubDate>Wed, 26 Dec 2018 00:00:00 +0000</pubDate>
<guid>/entries/Core_DOM.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Concurrent Revisions</title>
<link>/entries/Concurrent_Revisions.html</link>
<pubDate>Tue, 25 Dec 2018 00:00:00 +0000</pubDate>
<guid>/entries/Concurrent_Revisions.html</guid>
<description></description>
</item>
<item>
<title>Verifying Imperative Programs using Auto2</title>
<link>/entries/Auto2_Imperative_HOL.html</link>
<pubDate>Fri, 21 Dec 2018 00:00:00 +0000</pubDate>
<guid>/entries/Auto2_Imperative_HOL.html</guid>
<description></description>
</item>
<item>
<title>Constructive Cryptography in HOL</title>
<link>/entries/Constructive_Cryptography.html</link>
<pubDate>Mon, 17 Dec 2018 00:00:00 +0000</pubDate>
<guid>/entries/Constructive_Cryptography.html</guid>
<description></description>
</item>
<item>
<title>Properties of Orderings and Lattices</title>
<link>/entries/Order_Lattice_Props.html</link>
<pubDate>Tue, 11 Dec 2018 00:00:00 +0000</pubDate>
<guid>/entries/Order_Lattice_Props.html</guid>
<description></description>
</item>
<item>
<title>Quantales</title>
<link>/entries/Quantales.html</link>
<pubDate>Tue, 11 Dec 2018 00:00:00 +0000</pubDate>
<guid>/entries/Quantales.html</guid>
<description></description>
</item>
<item>
<title>Transformer Semantics</title>
<link>/entries/Transformer_Semantics.html</link>
<pubDate>Tue, 11 Dec 2018 00:00:00 +0000</pubDate>
<guid>/entries/Transformer_Semantics.html</guid>
<description></description>
</item>
<item>
<title>A Verified Functional Implementation of Bachmair and Ganzinger&#39;s Ordered Resolution Prover</title>
<link>/entries/Functional_Ordered_Resolution_Prover.html</link>
<pubDate>Fri, 23 Nov 2018 00:00:00 +0000</pubDate>
<guid>/entries/Functional_Ordered_Resolution_Prover.html</guid>
<description></description>
</item>
<item>
<title>Graph Saturation</title>
<link>/entries/Graph_Saturation.html</link>
<pubDate>Fri, 23 Nov 2018 00:00:00 +0000</pubDate>
<guid>/entries/Graph_Saturation.html</guid>
<description></description>
</item>
<item>
<title>Auto2 Prover</title>
<link>/entries/Auto2_HOL.html</link>
<pubDate>Tue, 20 Nov 2018 00:00:00 +0000</pubDate>
<guid>/entries/Auto2_HOL.html</guid>
<description></description>
</item>
<item>
<title>Matroids</title>
<link>/entries/Matroids.html</link>
<pubDate>Fri, 16 Nov 2018 00:00:00 +0000</pubDate>
<guid>/entries/Matroids.html</guid>
<description></description>
</item>
<item>
<title>Deriving generic class instances for datatypes</title>
<link>/entries/Generic_Deriving.html</link>
<pubDate>Tue, 06 Nov 2018 00:00:00 +0000</pubDate>
<guid>/entries/Generic_Deriving.html</guid>
<description></description>
</item>
<item>
<title>Formalisation and Evaluation of Alan Gewirth&#39;s Proof for the Principle of Generic Consistency in Isabelle/HOL</title>
<link>/entries/GewirthPGCProof.html</link>
<pubDate>Tue, 30 Oct 2018 00:00:00 +0000</pubDate>
<guid>/entries/GewirthPGCProof.html</guid>
<description></description>
</item>
<item>
<title>Epistemic Logic: Completeness of Modal Logics</title>
<link>/entries/Epistemic_Logic.html</link>
<pubDate>Mon, 29 Oct 2018 00:00:00 +0000</pubDate>
<guid>/entries/Epistemic_Logic.html</guid>
<description></description>
</item>
<item>
<title>Smooth Manifolds</title>
<link>/entries/Smooth_Manifolds.html</link>
<pubDate>Mon, 22 Oct 2018 00:00:00 +0000</pubDate>
<guid>/entries/Smooth_Manifolds.html</guid>
<description></description>
</item>
<item>
<title>Formalization of the Embedding Path Order for Lambda-Free Higher-Order Terms</title>
<link>/entries/Lambda_Free_EPO.html</link>
<pubDate>Fri, 19 Oct 2018 00:00:00 +0000</pubDate>
<guid>/entries/Lambda_Free_EPO.html</guid>
<description></description>
</item>
<item>
<title>Randomised Binary Search Trees</title>
<link>/entries/Randomised_BSTs.html</link>
<pubDate>Fri, 19 Oct 2018 00:00:00 +0000</pubDate>
<guid>/entries/Randomised_BSTs.html</guid>
<description></description>
</item>
<item>
<title>Upper Bounding Diameters of State Spaces of Factored Transition Systems</title>
<link>/entries/Factored_Transition_System_Bounding.html</link>
<pubDate>Fri, 12 Oct 2018 00:00:00 +0000</pubDate>
<guid>/entries/Factored_Transition_System_Bounding.html</guid>
<description></description>
</item>
<item>
<title>The Transcendence of π</title>
<link>/entries/Pi_Transcendental.html</link>
<pubDate>Fri, 28 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Pi_Transcendental.html</guid>
<description></description>
</item>
<item>
<title>Symmetric Polynomials</title>
<link>/entries/Symmetric_Polynomials.html</link>
<pubDate>Tue, 25 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Symmetric_Polynomials.html</guid>
<description></description>
</item>
<item>
<title>Signature-Based Gröbner Basis Algorithms</title>
<link>/entries/Signature_Groebner.html</link>
<pubDate>Thu, 20 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Signature_Groebner.html</guid>
<description></description>
</item>
<item>
<title>The Prime Number Theorem</title>
<link>/entries/Prime_Number_Theorem.html</link>
<pubDate>Wed, 19 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Prime_Number_Theorem.html</guid>
<description></description>
</item>
<item>
<title>Aggregation Algebras</title>
<link>/entries/Aggregation_Algebras.html</link>
<pubDate>Sat, 15 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Aggregation_Algebras.html</guid>
<description></description>
</item>
<item>
<title>Octonions</title>
<link>/entries/Octonions.html</link>
<pubDate>Fri, 14 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Octonions.html</guid>
<description></description>
</item>
<item>
<title>Quaternions</title>
<link>/entries/Quaternions.html</link>
<pubDate>Wed, 05 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Quaternions.html</guid>
<description></description>
</item>
<item>
<title>The Budan-Fourier Theorem and Counting Real Roots with Multiplicity</title>
<link>/entries/Budan_Fourier.html</link>
<pubDate>Sun, 02 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Budan_Fourier.html</guid>
<description></description>
</item>
<item>
<title>An Incremental Simplex Algorithm with Unsatisfiable Core Generation</title>
<link>/entries/Simplex.html</link>
<pubDate>Fri, 24 Aug 2018 00:00:00 +0000</pubDate>
<guid>/entries/Simplex.html</guid>
<description></description>
</item>
<item>
<title>Minsky Machines</title>
<link>/entries/Minsky_Machines.html</link>
<pubDate>Tue, 14 Aug 2018 00:00:00 +0000</pubDate>
<guid>/entries/Minsky_Machines.html</guid>
<description></description>
</item>
<item>
<title>Pricing in discrete financial models</title>
<link>/entries/DiscretePricing.html</link>
<pubDate>Mon, 16 Jul 2018 00:00:00 +0000</pubDate>
<guid>/entries/DiscretePricing.html</guid>
<description></description>
</item>
<item>
<title>Von-Neumann-Morgenstern Utility Theorem</title>
<link>/entries/Neumann_Morgenstern_Utility.html</link>
<pubDate>Wed, 04 Jul 2018 00:00:00 +0000</pubDate>
<guid>/entries/Neumann_Morgenstern_Utility.html</guid>
<description></description>
</item>
<item>
<title>Pell&#39;s Equation</title>
<link>/entries/Pell.html</link>
<pubDate>Sat, 23 Jun 2018 00:00:00 +0000</pubDate>
<guid>/entries/Pell.html</guid>
<description></description>
</item>
<item>
<title>Projective Geometry</title>
<link>/entries/Projective_Geometry.html</link>
<pubDate>Thu, 14 Jun 2018 00:00:00 +0000</pubDate>
<guid>/entries/Projective_Geometry.html</guid>
<description></description>
</item>
<item>
<title>The Localization of a Commutative Ring</title>
<link>/entries/Localization_Ring.html</link>
<pubDate>Thu, 14 Jun 2018 00:00:00 +0000</pubDate>
<guid>/entries/Localization_Ring.html</guid>
<description></description>
</item>
<item>
<title>Partial Order Reduction</title>
<link>/entries/Partial_Order_Reduction.html</link>
<pubDate>Tue, 05 Jun 2018 00:00:00 +0000</pubDate>
<guid>/entries/Partial_Order_Reduction.html</guid>
<description></description>
</item>
<item>
<title>Optimal Binary Search Trees</title>
<link>/entries/Optimal_BST.html</link>
<pubDate>Sun, 27 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/Optimal_BST.html</guid>
<description></description>
</item>
<item>
<title>Hidden Markov Models</title>
<link>/entries/Hidden_Markov_Models.html</link>
<pubDate>Fri, 25 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/Hidden_Markov_Models.html</guid>
<description></description>
</item>
<item>
<title>Probabilistic Timed Automata</title>
<link>/entries/Probabilistic_Timed_Automata.html</link>
<pubDate>Thu, 24 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/Probabilistic_Timed_Automata.html</guid>
<description></description>
</item>
<item>
<title>Axiom Systems for Category Theory in Free Logic</title>
<link>/entries/AxiomaticCategoryTheory.html</link>
<pubDate>Wed, 23 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/AxiomaticCategoryTheory.html</guid>
<description></description>
</item>
<item>
<title>Irrational Rapidly Convergent Series</title>
<link>/entries/Irrationality_J_Hancl.html</link>
<pubDate>Wed, 23 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/Irrationality_J_Hancl.html</guid>
<description></description>
</item>
<item>
<title>Monadification, Memoization and Dynamic Programming</title>
<link>/entries/Monad_Memo_DP.html</link>
<pubDate>Tue, 22 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/Monad_Memo_DP.html</guid>
<description></description>
</item>
<item>
<title>OpSets: Sequential Specifications for Replicated Datatypes</title>
<link>/entries/OpSets.html</link>
<pubDate>Thu, 10 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/OpSets.html</guid>
<description></description>
</item>
<item>
<title>An Isabelle/HOL Formalization of the Modular Assembly Kit for Security Properties</title>
<link>/entries/Modular_Assembly_Kit_Security.html</link>
<pubDate>Mon, 07 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/Modular_Assembly_Kit_Security.html</guid>
<description></description>
</item>
<item>
<title>WebAssembly</title>
<link>/entries/WebAssembly.html</link>
<pubDate>Sun, 29 Apr 2018 00:00:00 +0000</pubDate>
<guid>/entries/WebAssembly.html</guid>
<description></description>
</item>
<item>
<title>VerifyThis 2018 - Polished Isabelle Solutions</title>
<link>/entries/VerifyThis2018.html</link>
<pubDate>Fri, 27 Apr 2018 00:00:00 +0000</pubDate>
<guid>/entries/VerifyThis2018.html</guid>
<description></description>
</item>
<item>
<title>Bounded Natural Functors with Covariance and Contravariance</title>
<link>/entries/BNF_CC.html</link>
<pubDate>Tue, 24 Apr 2018 00:00:00 +0000</pubDate>
<guid>/entries/BNF_CC.html</guid>
<description></description>
</item>
<item>
<title>The Incompatibility of Fishburn-Strategyproofness and Pareto-Efficiency</title>
<link>/entries/Fishburn_Impossibility.html</link>
<pubDate>Thu, 22 Mar 2018 00:00:00 +0000</pubDate>
<guid>/entries/Fishburn_Impossibility.html</guid>
<description></description>
</item>
<item>
<title>Weight-Balanced Trees</title>
<link>/entries/Weight_Balanced_Trees.html</link>
<pubDate>Tue, 13 Mar 2018 00:00:00 +0000</pubDate>
<guid>/entries/Weight_Balanced_Trees.html</guid>
<description></description>
</item>
<item>
<title>CakeML</title>
<link>/entries/CakeML.html</link>
<pubDate>Mon, 12 Mar 2018 00:00:00 +0000</pubDate>
<guid>/entries/CakeML.html</guid>
<description></description>
</item>
<item>
<title>A Theory of Architectural Design Patterns</title>
<link>/entries/Architectural_Design_Patterns.html</link>
<pubDate>Thu, 01 Mar 2018 00:00:00 +0000</pubDate>
<guid>/entries/Architectural_Design_Patterns.html</guid>
<description></description>
</item>
<item>
<title>Hoare Logics for Time Bounds</title>
<link>/entries/Hoare_Time.html</link>
<pubDate>Mon, 26 Feb 2018 00:00:00 +0000</pubDate>
<guid>/entries/Hoare_Time.html</guid>
<description></description>
</item>
<item>
<title>A verified factorization algorithm for integer polynomials with polynomial complexity</title>
<link>/entries/LLL_Factorization.html</link>
<pubDate>Tue, 06 Feb 2018 00:00:00 +0000</pubDate>
<guid>/entries/LLL_Factorization.html</guid>
<description></description>
</item>
<item>
<title>First-Order Terms</title>
<link>/entries/First_Order_Terms.html</link>
<pubDate>Tue, 06 Feb 2018 00:00:00 +0000</pubDate>
<guid>/entries/First_Order_Terms.html</guid>
<description></description>
</item>
<item>
<title>The Error Function</title>
<link>/entries/Error_Function.html</link>
<pubDate>Tue, 06 Feb 2018 00:00:00 +0000</pubDate>
<guid>/entries/Error_Function.html</guid>
<description></description>
</item>
<item>
<title>Treaps</title>
<link>/entries/Treaps.html</link>
<pubDate>Tue, 06 Feb 2018 00:00:00 +0000</pubDate>
<guid>/entries/Treaps.html</guid>
<description></description>
</item>
<item>
<title>A verified LLL algorithm</title>
<link>/entries/LLL_Basis_Reduction.html</link>
<pubDate>Fri, 02 Feb 2018 00:00:00 +0000</pubDate>
<guid>/entries/LLL_Basis_Reduction.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Bachmair and Ganzinger&#39;s Ordered Resolution Prover</title>
<link>/entries/Ordered_Resolution_Prover.html</link>
<pubDate>Thu, 18 Jan 2018 00:00:00 +0000</pubDate>
<guid>/entries/Ordered_Resolution_Prover.html</guid>
<description></description>
</item>
<item>
<title>Gromov Hyperbolicity</title>
<link>/entries/Gromov_Hyperbolicity.html</link>
<pubDate>Tue, 16 Jan 2018 00:00:00 +0000</pubDate>
<guid>/entries/Gromov_Hyperbolicity.html</guid>
<description></description>
</item>
<item>
<title>An Isabelle/HOL formalisation of Green&#39;s Theorem</title>
<link>/entries/Green.html</link>
<pubDate>Thu, 11 Jan 2018 00:00:00 +0000</pubDate>
<guid>/entries/Green.html</guid>
<description></description>
</item>
<item>
<title>Taylor Models</title>
<link>/entries/Taylor_Models.html</link>
<pubDate>Mon, 08 Jan 2018 00:00:00 +0000</pubDate>
<guid>/entries/Taylor_Models.html</guid>
<description></description>
</item>
<item>
<title>The Falling Factorial of a Sum</title>
<link>/entries/Falling_Factorial_Sum.html</link>
<pubDate>Fri, 22 Dec 2017 00:00:00 +0000</pubDate>
<guid>/entries/Falling_Factorial_Sum.html</guid>
<description></description>
</item>
<item>
<title>Dirichlet L-Functions and Dirichlet&#39;s Theorem</title>
<link>/entries/Dirichlet_L.html</link>
<pubDate>Thu, 21 Dec 2017 00:00:00 +0000</pubDate>
<guid>/entries/Dirichlet_L.html</guid>
<description></description>
</item>
<item>
<title>The Mason–Stothers Theorem</title>
<link>/entries/Mason_Stothers.html</link>
<pubDate>Thu, 21 Dec 2017 00:00:00 +0000</pubDate>
<guid>/entries/Mason_Stothers.html</guid>
<description></description>
</item>
<item>
<title>The Median-of-Medians Selection Algorithm</title>
<link>/entries/Median_Of_Medians_Selection.html</link>
<pubDate>Thu, 21 Dec 2017 00:00:00 +0000</pubDate>
<guid>/entries/Median_Of_Medians_Selection.html</guid>
<description></description>
</item>
<item>
<title>Operations on Bounded Natural Functors</title>
<link>/entries/BNF_Operations.html</link>
<pubDate>Tue, 19 Dec 2017 00:00:00 +0000</pubDate>
<guid>/entries/BNF_Operations.html</guid>
<description></description>
</item>
<item>
<title>The string search algorithm by Knuth, Morris and Pratt</title>
<link>/entries/Knuth_Morris_Pratt.html</link>
<pubDate>Mon, 18 Dec 2017 00:00:00 +0000</pubDate>
<guid>/entries/Knuth_Morris_Pratt.html</guid>
<description></description>
</item>
<item>
<title>Stochastic Matrices and the Perron-Frobenius Theorem</title>
<link>/entries/Stochastic_Matrices.html</link>
<pubDate>Wed, 22 Nov 2017 00:00:00 +0000</pubDate>
<guid>/entries/Stochastic_Matrices.html</guid>
<description></description>
</item>
<item>
<title>The IMAP CmRDT</title>
<link>/entries/IMAP-CRDT.html</link>
<pubDate>Thu, 09 Nov 2017 00:00:00 +0000</pubDate>
<guid>/entries/IMAP-CRDT.html</guid>
<description></description>
</item>
<item>
<title>Hybrid Multi-Lane Spatial Logic</title>
<link>/entries/Hybrid_Multi_Lane_Spatial_Logic.html</link>
<pubDate>Mon, 06 Nov 2017 00:00:00 +0000</pubDate>
<guid>/entries/Hybrid_Multi_Lane_Spatial_Logic.html</guid>
<description></description>
</item>
<item>
<title>The Kuratowski Closure-Complement Theorem</title>
<link>/entries/Kuratowski_Closure_Complement.html</link>
<pubDate>Thu, 26 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Kuratowski_Closure_Complement.html</guid>
<description></description>
</item>
<item>
<title>Büchi Complementation</title>
<link>/entries/Buchi_Complementation.html</link>
<pubDate>Thu, 19 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Buchi_Complementation.html</guid>
<description></description>
</item>
<item>
<title>Transition Systems and Automata</title>
<link>/entries/Transition_Systems_and_Automata.html</link>
<pubDate>Thu, 19 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Transition_Systems_and_Automata.html</guid>
<description></description>
</item>
<item>
<title>Count the Number of Complex Roots</title>
<link>/entries/Count_Complex_Roots.html</link>
<pubDate>Tue, 17 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Count_Complex_Roots.html</guid>
<description></description>
</item>
<item>
<title>Evaluate Winding Numbers through Cauchy Indices</title>
<link>/entries/Winding_Number_Eval.html</link>
<pubDate>Tue, 17 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Winding_Number_Eval.html</guid>
<description></description>
</item>
<item>
<title>Homogeneous Linear Diophantine Equations</title>
<link>/entries/Diophantine_Eqns_Lin_Hom.html</link>
<pubDate>Sat, 14 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Diophantine_Eqns_Lin_Hom.html</guid>
<description></description>
</item>
<item>
<title>Dirichlet Series</title>
<link>/entries/Dirichlet_Series.html</link>
<pubDate>Thu, 12 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Dirichlet_Series.html</guid>
<description></description>
</item>
<item>
<title>Linear Recurrences</title>
<link>/entries/Linear_Recurrences.html</link>
<pubDate>Thu, 12 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Linear_Recurrences.html</guid>
<description></description>
</item>
<item>
<title>The Hurwitz and Riemann ζ Functions</title>
<link>/entries/Zeta_Function.html</link>
<pubDate>Thu, 12 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Zeta_Function.html</guid>
<description></description>
</item>
<item>
<title>Computer-assisted Reconstruction and Assessment of E. J. Lowe&#39;s Modal Ontological Argument</title>
<link>/entries/Lowe_Ontological_Argument.html</link>
<pubDate>Thu, 21 Sep 2017 00:00:00 +0000</pubDate>
<guid>/entries/Lowe_Ontological_Argument.html</guid>
<description></description>
</item>
<item>
<title>Representation and Partial Automation of the Principia Logico-Metaphysica in Isabelle/HOL</title>
<link>/entries/PLM.html</link>
<pubDate>Sun, 17 Sep 2017 00:00:00 +0000</pubDate>
<guid>/entries/PLM.html</guid>
<description></description>
</item>
<item>
<title>Anselm&#39;s God in Isabelle/HOL</title>
<link>/entries/AnselmGod.html</link>
<pubDate>Wed, 06 Sep 2017 00:00:00 +0000</pubDate>
<guid>/entries/AnselmGod.html</guid>
<description></description>
</item>
<item>
<title>Microeconomics and the First Welfare Theorem</title>
<link>/entries/First_Welfare_Theorem.html</link>
<pubDate>Fri, 01 Sep 2017 00:00:00 +0000</pubDate>
<guid>/entries/First_Welfare_Theorem.html</guid>
<description></description>
</item>
<item>
<title>Orbit-Stabiliser Theorem with Application to Rotational Symmetries</title>
<link>/entries/Orbit_Stabiliser.html</link>
<pubDate>Sun, 20 Aug 2017 00:00:00 +0000</pubDate>
<guid>/entries/Orbit_Stabiliser.html</guid>
<description></description>
</item>
<item>
<title>Root-Balanced Tree</title>
<link>/entries/Root_Balanced_Tree.html</link>
<pubDate>Sun, 20 Aug 2017 00:00:00 +0000</pubDate>
<guid>/entries/Root_Balanced_Tree.html</guid>
<description></description>
</item>
<item>
<title>The LambdaMu-calculus</title>
<link>/entries/LambdaMu.html</link>
<pubDate>Wed, 16 Aug 2017 00:00:00 +0000</pubDate>
<guid>/entries/LambdaMu.html</guid>
<description></description>
</item>
<item>
<title>Stewart&#39;s Theorem and Apollonius&#39; Theorem</title>
<link>/entries/Stewart_Apollonius.html</link>
<pubDate>Mon, 31 Jul 2017 00:00:00 +0000</pubDate>
<guid>/entries/Stewart_Apollonius.html</guid>
<description></description>
</item>
<item>
<title>Dynamic Architectures</title>
<link>/entries/DynamicArchitectures.html</link>
<pubDate>Fri, 28 Jul 2017 00:00:00 +0000</pubDate>
<guid>/entries/DynamicArchitectures.html</guid>
<description></description>
</item>
<item>
<title>Declarative Semantics for Functional Languages</title>
<link>/entries/Decl_Sem_Fun_PL.html</link>
<pubDate>Fri, 21 Jul 2017 00:00:00 +0000</pubDate>
<guid>/entries/Decl_Sem_Fun_PL.html</guid>
<description></description>
</item>
<item>
<title>HOLCF-Prelude</title>
<link>/entries/HOLCF-Prelude.html</link>
<pubDate>Sat, 15 Jul 2017 00:00:00 +0000</pubDate>
<guid>/entries/HOLCF-Prelude.html</guid>
<description></description>
</item>
<item>
<title>Minkowski&#39;s Theorem</title>
<link>/entries/Minkowskis_Theorem.html</link>
<pubDate>Thu, 13 Jul 2017 00:00:00 +0000</pubDate>
<guid>/entries/Minkowskis_Theorem.html</guid>
<description></description>
</item>
<item>
<title>Verified Metatheory and Type Inference for a Name-Carrying Simply-Typed Lambda Calculus</title>
<link>/entries/Name_Carrying_Type_Inference.html</link>
<pubDate>Sun, 09 Jul 2017 00:00:00 +0000</pubDate>
<guid>/entries/Name_Carrying_Type_Inference.html</guid>
<description></description>
</item>
<item>
<title>A framework for establishing Strong Eventual Consistency for Conflict-free Replicated Datatypes</title>
<link>/entries/CRDT.html</link>
<pubDate>Fri, 07 Jul 2017 00:00:00 +0000</pubDate>
<guid>/entries/CRDT.html</guid>
<description></description>
</item>
<item>
<title>Stone-Kleene Relation Algebras</title>
<link>/entries/Stone_Kleene_Relation_Algebras.html</link>
<pubDate>Thu, 06 Jul 2017 00:00:00 +0000</pubDate>
<guid>/entries/Stone_Kleene_Relation_Algebras.html</guid>
<description></description>
</item>
<item>
<title>Propositional Proof Systems</title>
<link>/entries/Propositional_Proof_Systems.html</link>
<pubDate>Wed, 21 Jun 2017 00:00:00 +0000</pubDate>
<guid>/entries/Propositional_Proof_Systems.html</guid>
<description></description>
</item>
<item>
<title>Partial Semigroups and Convolution Algebras</title>
<link>/entries/PSemigroupsConvolution.html</link>
<pubDate>Tue, 13 Jun 2017 00:00:00 +0000</pubDate>
<guid>/entries/PSemigroupsConvolution.html</guid>
<description></description>
</item>
<item>
<title>Buffon&#39;s Needle Problem</title>
<link>/entries/Buffons_Needle.html</link>
<pubDate>Tue, 06 Jun 2017 00:00:00 +0000</pubDate>
<guid>/entries/Buffons_Needle.html</guid>
<description></description>
</item>
<item>
<title>Flow Networks and the Min-Cut-Max-Flow Theorem</title>
<link>/entries/Flow_Networks.html</link>
<pubDate>Thu, 01 Jun 2017 00:00:00 +0000</pubDate>
<guid>/entries/Flow_Networks.html</guid>
<description></description>
</item>
<item>
<title>Formalizing Push-Relabel Algorithms</title>
<link>/entries/Prpu_Maxflow.html</link>
<pubDate>Thu, 01 Jun 2017 00:00:00 +0000</pubDate>
<guid>/entries/Prpu_Maxflow.html</guid>
<description></description>
</item>
<item>
<title>Optics</title>
<link>/entries/Optics.html</link>
<pubDate>Thu, 25 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Optics.html</guid>
<description></description>
</item>
<item>
<title>Developing Security Protocols by Refinement</title>
<link>/entries/Security_Protocol_Refinement.html</link>
<pubDate>Wed, 24 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Security_Protocol_Refinement.html</guid>
<description></description>
</item>
<item>
<title>Dictionary Construction</title>
<link>/entries/Dict_Construction.html</link>
<pubDate>Wed, 24 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Dict_Construction.html</guid>
<description></description>
</item>
<item>
<title>The Floyd-Warshall Algorithm for Shortest Paths</title>
<link>/entries/Floyd_Warshall.html</link>
<pubDate>Mon, 08 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Floyd_Warshall.html</guid>
<description></description>
</item>
<item>
<title>CryptHOL</title>
<link>/entries/CryptHOL.html</link>
<pubDate>Fri, 05 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/CryptHOL.html</guid>
<description></description>
</item>
<item>
<title>Effect polymorphism in higher-order logic</title>
<link>/entries/Monomorphic_Monad.html</link>
<pubDate>Fri, 05 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Monomorphic_Monad.html</guid>
<description></description>
</item>
<item>
<title>Game-based cryptography in HOL</title>
<link>/entries/Game_Based_Crypto.html</link>
<pubDate>Fri, 05 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Game_Based_Crypto.html</guid>
<description></description>
</item>
<item>
<title>Monad normalisation</title>
<link>/entries/Monad_Normalisation.html</link>
<pubDate>Fri, 05 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Monad_Normalisation.html</guid>
<description></description>
</item>
<item>
<title>Probabilistic while loop</title>
<link>/entries/Probabilistic_While.html</link>
<pubDate>Fri, 05 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Probabilistic_While.html</guid>
<description></description>
</item>
<item>
<title>Monoidal Categories</title>
<link>/entries/MonoidalCategory.html</link>
<pubDate>Thu, 04 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/MonoidalCategory.html</guid>
<description></description>
</item>
<item>
<title>Types, Tableaus and Gödel’s God in Isabelle/HOL</title>
<link>/entries/Types_Tableaus_and_Goedels_God.html</link>
<pubDate>Mon, 01 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Types_Tableaus_and_Goedels_God.html</guid>
<description></description>
</item>
<item>
<title>Local Lexing</title>
<link>/entries/LocalLexing.html</link>
<pubDate>Fri, 28 Apr 2017 00:00:00 +0000</pubDate>
<guid>/entries/LocalLexing.html</guid>
<description></description>
</item>
<item>
<title>Constructor Functions</title>
<link>/entries/Constructor_Funs.html</link>
<pubDate>Wed, 19 Apr 2017 00:00:00 +0000</pubDate>
<guid>/entries/Constructor_Funs.html</guid>
<description></description>
</item>
<item>
<title>Lazifying case constants</title>
<link>/entries/Lazy_Case.html</link>
<pubDate>Tue, 18 Apr 2017 00:00:00 +0000</pubDate>
<guid>/entries/Lazy_Case.html</guid>
<description></description>
</item>
<item>
<title>Subresultants</title>
<link>/entries/Subresultants.html</link>
<pubDate>Thu, 06 Apr 2017 00:00:00 +0000</pubDate>
<guid>/entries/Subresultants.html</guid>
<description></description>
</item>
<item>
<title>Expected Shape of Random Binary Search Trees</title>
<link>/entries/Random_BSTs.html</link>
<pubDate>Tue, 04 Apr 2017 00:00:00 +0000</pubDate>
<guid>/entries/Random_BSTs.html</guid>
<description></description>
</item>
<item>
<title>Lower bound on comparison-based sorting algorithms</title>
<link>/entries/Comparison_Sort_Lower_Bound.html</link>
<pubDate>Wed, 15 Mar 2017 00:00:00 +0000</pubDate>
<guid>/entries/Comparison_Sort_Lower_Bound.html</guid>
<description></description>
</item>
<item>
<title>The number of comparisons in QuickSort</title>
<link>/entries/Quick_Sort_Cost.html</link>
<pubDate>Wed, 15 Mar 2017 00:00:00 +0000</pubDate>
<guid>/entries/Quick_Sort_Cost.html</guid>
<description></description>
</item>
<item>
<title>The Euler–MacLaurin Formula</title>
<link>/entries/Euler_MacLaurin.html</link>
<pubDate>Fri, 10 Mar 2017 00:00:00 +0000</pubDate>
<guid>/entries/Euler_MacLaurin.html</guid>
<description></description>
</item>
<item>
<title>The Group Law for Elliptic Curves</title>
<link>/entries/Elliptic_Curves_Group_Law.html</link>
<pubDate>Tue, 28 Feb 2017 00:00:00 +0000</pubDate>
<guid>/entries/Elliptic_Curves_Group_Law.html</guid>
<description></description>
</item>
<item>
<title>Menger&#39;s Theorem</title>
<link>/entries/Menger.html</link>
<pubDate>Sun, 26 Feb 2017 00:00:00 +0000</pubDate>
<guid>/entries/Menger.html</guid>
<description></description>
</item>
<item>
<title>Differential Dynamic Logic</title>
<link>/entries/Differential_Dynamic_Logic.html</link>
<pubDate>Mon, 13 Feb 2017 00:00:00 +0000</pubDate>
<guid>/entries/Differential_Dynamic_Logic.html</guid>
<description></description>
</item>
<item>
<title>Abstract Soundness</title>
<link>/entries/Abstract_Soundness.html</link>
<pubDate>Fri, 10 Feb 2017 00:00:00 +0000</pubDate>
<guid>/entries/Abstract_Soundness.html</guid>
<description></description>
</item>
<item>
<title>Stone Relation Algebras</title>
<link>/entries/Stone_Relation_Algebras.html</link>
<pubDate>Tue, 07 Feb 2017 00:00:00 +0000</pubDate>
<guid>/entries/Stone_Relation_Algebras.html</guid>
<description></description>
</item>
<item>
<title>Refining Authenticated Key Agreement with Strong Adversaries</title>
<link>/entries/Key_Agreement_Strong_Adversaries.html</link>
<pubDate>Tue, 31 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/Key_Agreement_Strong_Adversaries.html</guid>
<description></description>
</item>
<item>
<title>Bernoulli Numbers</title>
<link>/entries/Bernoulli.html</link>
<pubDate>Tue, 24 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/Bernoulli.html</guid>
<description></description>
</item>
<item>
<title>Bertrand&#39;s postulate</title>
<link>/entries/Bertrands_Postulate.html</link>
<pubDate>Tue, 17 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/Bertrands_Postulate.html</guid>
<description></description>
</item>
<item>
<title>Minimal Static Single Assignment Form</title>
<link>/entries/Minimal_SSA.html</link>
<pubDate>Tue, 17 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/Minimal_SSA.html</guid>
<description></description>
</item>
<item>
<title>The Transcendence of e</title>
<link>/entries/E_Transcendental.html</link>
<pubDate>Thu, 12 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/E_Transcendental.html</guid>
<description></description>
</item>
<item>
<title>Formal Network Models and Their Application to Firewall Policies</title>
<link>/entries/UPF_Firewall.html</link>
<pubDate>Sun, 08 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/UPF_Firewall.html</guid>
<description></description>
</item>
<item>
<title>Verification of a Diffie-Hellman Password-based Authentication Protocol by Extending the Inductive Method</title>
<link>/entries/Password_Authentication_Protocol.html</link>
<pubDate>Tue, 03 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/Password_Authentication_Protocol.html</guid>
<description></description>
</item>
<item>
<title>First-Order Logic According to Harrison</title>
<link>/entries/FOL_Harrison.html</link>
<pubDate>Sun, 01 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/FOL_Harrison.html</guid>
<description></description>
</item>
<item>
<title>Concurrent Refinement Algebra and Rely Quotients</title>
<link>/entries/Concurrent_Ref_Alg.html</link>
<pubDate>Fri, 30 Dec 2016 00:00:00 +0000</pubDate>
<guid>/entries/Concurrent_Ref_Alg.html</guid>
<description></description>
</item>
<item>
<title>The Twelvefold Way</title>
<link>/entries/Twelvefold_Way.html</link>
<pubDate>Thu, 29 Dec 2016 00:00:00 +0000</pubDate>
<guid>/entries/Twelvefold_Way.html</guid>
<description></description>
</item>
<item>
<title>Proof Strategy Language</title>
<link>/entries/Proof_Strategy_Language.html</link>
<pubDate>Tue, 20 Dec 2016 00:00:00 +0000</pubDate>
<guid>/entries/Proof_Strategy_Language.html</guid>
<description></description>
</item>
<item>
<title>Paraconsistency</title>
<link>/entries/Paraconsistency.html</link>
<pubDate>Wed, 07 Dec 2016 00:00:00 +0000</pubDate>
<guid>/entries/Paraconsistency.html</guid>
<description></description>
</item>
<item>
<title>COMPLX: A Verification Framework for Concurrent Imperative Programs</title>
<link>/entries/Complx.html</link>
<pubDate>Tue, 29 Nov 2016 00:00:00 +0000</pubDate>
<guid>/entries/Complx.html</guid>
<description></description>
</item>
<item>
<title>Abstract Interpretation of Annotated Commands</title>
<link>/entries/Abs_Int_ITP2012.html</link>
<pubDate>Wed, 23 Nov 2016 00:00:00 +0000</pubDate>
<guid>/entries/Abs_Int_ITP2012.html</guid>
<description></description>
</item>
<item>
<title>Separata: Isabelle tactics for Separation Algebra</title>
<link>/entries/Separata.html</link>
<pubDate>Wed, 16 Nov 2016 00:00:00 +0000</pubDate>
<guid>/entries/Separata.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Knuth–Bendix Orders for Lambda-Free Higher-Order Terms</title>
<link>/entries/Lambda_Free_KBOs.html</link>
<pubDate>Sat, 12 Nov 2016 00:00:00 +0000</pubDate>
<guid>/entries/Lambda_Free_KBOs.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Nested Multisets, Hereditary Multisets, and Syntactic Ordinals</title>
<link>/entries/Nested_Multisets_Ordinals.html</link>
<pubDate>Sat, 12 Nov 2016 00:00:00 +0000</pubDate>
<guid>/entries/Nested_Multisets_Ordinals.html</guid>
<description></description>
</item>
<item>
<title>Expressiveness of Deep Learning</title>
<link>/entries/Deep_Learning.html</link>
<pubDate>Thu, 10 Nov 2016 00:00:00 +0000</pubDate>
<guid>/entries/Deep_Learning.html</guid>
<description></description>
</item>
<item>
<title>Modal Logics for Nominal Transition Systems</title>
<link>/entries/Modal_Logics_for_NTS.html</link>
<pubDate>Tue, 25 Oct 2016 00:00:00 +0000</pubDate>
<guid>/entries/Modal_Logics_for_NTS.html</guid>
<description></description>
</item>
<item>
<title>Stable Matching</title>
<link>/entries/Stable_Matching.html</link>
<pubDate>Mon, 24 Oct 2016 00:00:00 +0000</pubDate>
<guid>/entries/Stable_Matching.html</guid>
<description></description>
</item>
<item>
<title>LOFT — Verified Migration of Linux Firewalls to SDN</title>
<link>/entries/LOFT.html</link>
<pubDate>Fri, 21 Oct 2016 00:00:00 +0000</pubDate>
<guid>/entries/LOFT.html</guid>
<description></description>
</item>
<item>
<title>A formal model for the SPARCv8 ISA and a proof of non-interference for the LEON3 processor</title>
<link>/entries/SPARCv8.html</link>
<pubDate>Wed, 19 Oct 2016 00:00:00 +0000</pubDate>
<guid>/entries/SPARCv8.html</guid>
<description></description>
</item>
<item>
<title>Source Coding Theorem</title>
<link>/entries/Source_Coding_Theorem.html</link>
<pubDate>Wed, 19 Oct 2016 00:00:00 +0000</pubDate>
<guid>/entries/Source_Coding_Theorem.html</guid>
<description></description>
</item>
<item>
<title>The Factorization Algorithm of Berlekamp and Zassenhaus</title>
<link>/entries/Berlekamp_Zassenhaus.html</link>
<pubDate>Fri, 14 Oct 2016 00:00:00 +0000</pubDate>
<guid>/entries/Berlekamp_Zassenhaus.html</guid>
<description></description>
</item>
<item>
<title>Intersecting Chords Theorem</title>
<link>/entries/Chord_Segments.html</link>
<pubDate>Tue, 11 Oct 2016 00:00:00 +0000</pubDate>
<guid>/entries/Chord_Segments.html</guid>
<description></description>
</item>
<item>
<title>Lp spaces</title>
<link>/entries/Lp.html</link>
<pubDate>Wed, 05 Oct 2016 00:00:00 +0000</pubDate>
<guid>/entries/Lp.html</guid>
<description></description>
</item>
<item>
<title>Fisher–Yates shuffle</title>
<link>/entries/Fisher_Yates.html</link>
<pubDate>Fri, 30 Sep 2016 00:00:00 +0000</pubDate>
<guid>/entries/Fisher_Yates.html</guid>
<description></description>
</item>
<item>
<title>Allen&#39;s Interval Calculus</title>
<link>/entries/Allen_Calculus.html</link>
<pubDate>Thu, 29 Sep 2016 00:00:00 +0000</pubDate>
<guid>/entries/Allen_Calculus.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Recursive Path Orders for Lambda-Free Higher-Order Terms</title>
<link>/entries/Lambda_Free_RPOs.html</link>
<pubDate>Fri, 23 Sep 2016 00:00:00 +0000</pubDate>
<guid>/entries/Lambda_Free_RPOs.html</guid>
<description></description>
</item>
<item>
<title>Iptables Semantics</title>
<link>/entries/Iptables_Semantics.html</link>
<pubDate>Fri, 09 Sep 2016 00:00:00 +0000</pubDate>
<guid>/entries/Iptables_Semantics.html</guid>
<description></description>
</item>
<item>
<title>A Variant of the Superposition Calculus</title>
<link>/entries/SuperCalc.html</link>
<pubDate>Tue, 06 Sep 2016 00:00:00 +0000</pubDate>
<guid>/entries/SuperCalc.html</guid>
<description></description>
</item>
<item>
<title>Stone Algebras</title>
<link>/entries/Stone_Algebras.html</link>
<pubDate>Tue, 06 Sep 2016 00:00:00 +0000</pubDate>
<guid>/entries/Stone_Algebras.html</guid>
<description></description>
</item>
<item>
<title>Stirling&#39;s formula</title>
<link>/entries/Stirling_Formula.html</link>
<pubDate>Thu, 01 Sep 2016 00:00:00 +0000</pubDate>
<guid>/entries/Stirling_Formula.html</guid>
<description></description>
</item>
<item>
<title>Routing</title>
<link>/entries/Routing.html</link>
<pubDate>Wed, 31 Aug 2016 00:00:00 +0000</pubDate>
<guid>/entries/Routing.html</guid>
<description></description>
</item>
<item>
<title>Simple Firewall</title>
<link>/entries/Simple_Firewall.html</link>
<pubDate>Wed, 24 Aug 2016 00:00:00 +0000</pubDate>
<guid>/entries/Simple_Firewall.html</guid>
<description></description>
</item>
<item>
<title>Infeasible Paths Elimination by Symbolic Execution Techniques: Proof of Correctness and Preservation of Paths</title>
<link>/entries/InfPathElimination.html</link>
<pubDate>Thu, 18 Aug 2016 00:00:00 +0000</pubDate>
<guid>/entries/InfPathElimination.html</guid>
<description></description>
</item>
<item>
<title>Formalizing the Edmonds-Karp Algorithm</title>
<link>/entries/EdmondsKarp_Maxflow.html</link>
<pubDate>Fri, 12 Aug 2016 00:00:00 +0000</pubDate>
<guid>/entries/EdmondsKarp_Maxflow.html</guid>
<description></description>
</item>
<item>
<title>The Imperative Refinement Framework</title>
<link>/entries/Refine_Imperative_HOL.html</link>
<pubDate>Mon, 08 Aug 2016 00:00:00 +0000</pubDate>
<guid>/entries/Refine_Imperative_HOL.html</guid>
<description></description>
</item>
<item>
<title>Ptolemy&#39;s Theorem</title>
<link>/entries/Ptolemys_Theorem.html</link>
<pubDate>Sun, 07 Aug 2016 00:00:00 +0000</pubDate>
<guid>/entries/Ptolemys_Theorem.html</guid>
<description></description>
</item>
<item>
<title>Surprise Paradox</title>
<link>/entries/Surprise_Paradox.html</link>
<pubDate>Sun, 17 Jul 2016 00:00:00 +0000</pubDate>
<guid>/entries/Surprise_Paradox.html</guid>
<description></description>
</item>
<item>
<title>Pairing Heap</title>
<link>/entries/Pairing_Heap.html</link>
<pubDate>Thu, 14 Jul 2016 00:00:00 +0000</pubDate>
<guid>/entries/Pairing_Heap.html</guid>
<description></description>
</item>
<item>
<title>A Framework for Verifying Depth-First Search Algorithms</title>
<link>/entries/DFS_Framework.html</link>
<pubDate>Tue, 05 Jul 2016 00:00:00 +0000</pubDate>
<guid>/entries/DFS_Framework.html</guid>
<description></description>
</item>
<item>
<title>Chamber Complexes, Coxeter Systems, and Buildings</title>
<link>/entries/Buildings.html</link>
<pubDate>Fri, 01 Jul 2016 00:00:00 +0000</pubDate>
<guid>/entries/Buildings.html</guid>
<description></description>
</item>
<item>
<title>The Resolution Calculus for First-Order Logic</title>
<link>/entries/Resolution_FOL.html</link>
<pubDate>Thu, 30 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Resolution_FOL.html</guid>
<description></description>
</item>
<item>
<title>The Z Property</title>
<link>/entries/Rewriting_Z.html</link>
<pubDate>Thu, 30 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Rewriting_Z.html</guid>
<description></description>
</item>
<item>
<title>Compositional Security-Preserving Refinement for Concurrent Imperative Programs</title>
<link>/entries/Dependent_SIFUM_Refinement.html</link>
<pubDate>Tue, 28 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Dependent_SIFUM_Refinement.html</guid>
<description></description>
</item>
<item>
<title>IP Addresses</title>
<link>/entries/IP_Addresses.html</link>
<pubDate>Tue, 28 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/IP_Addresses.html</guid>
<description></description>
</item>
<item>
<title>Cardinality of Multisets</title>
<link>/entries/Card_Multisets.html</link>
<pubDate>Sun, 26 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Card_Multisets.html</guid>
<description></description>
</item>
<item>
<title>Category Theory with Adjunctions and Limits</title>
<link>/entries/Category3.html</link>
<pubDate>Sun, 26 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Category3.html</guid>
<description></description>
</item>
<item>
<title>A Dependent Security Type System for Concurrent Imperative Programs</title>
<link>/entries/Dependent_SIFUM_Type_Systems.html</link>
<pubDate>Sat, 25 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Dependent_SIFUM_Type_Systems.html</guid>
<description></description>
</item>
<item>
<title>Catalan Numbers</title>
<link>/entries/Catalan_Numbers.html</link>
<pubDate>Tue, 21 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Catalan_Numbers.html</guid>
<description></description>
</item>
<item>
<title>Program Construction and Verification Components Based on Kleene Algebra</title>
<link>/entries/Algebraic_VCs.html</link>
<pubDate>Sat, 18 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Algebraic_VCs.html</guid>
<description></description>
</item>
<item>
<title>Conservation of CSP Noninterference Security under Concurrent Composition</title>
<link>/entries/Noninterference_Concurrent_Composition.html</link>
<pubDate>Mon, 13 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Noninterference_Concurrent_Composition.html</guid>
<description></description>
</item>
<item>
<title>Finite Machine Word Library</title>
<link>/entries/Word_Lib.html</link>
<pubDate>Thu, 09 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Word_Lib.html</guid>
<description></description>
</item>
<item>
<title>Tree Decomposition</title>
<link>/entries/Tree_Decomposition.html</link>
<pubDate>Tue, 31 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Tree_Decomposition.html</guid>
<description></description>
</item>
<item>
<title>Cardinality of Equivalence Relations</title>
<link>/entries/Card_Equiv_Relations.html</link>
<pubDate>Tue, 24 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Card_Equiv_Relations.html</guid>
<description></description>
</item>
<item>
<title>POSIX Lexing with Derivatives of Regular Expressions</title>
<link>/entries/Posix-Lexing.html</link>
<pubDate>Tue, 24 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Posix-Lexing.html</guid>
<description></description>
</item>
<item>
<title>Perron-Frobenius Theorem for Spectral Radius Analysis</title>
<link>/entries/Perron_Frobenius.html</link>
<pubDate>Fri, 20 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Perron_Frobenius.html</guid>
<description></description>
</item>
<item>
<title>The meta theory of the Incredible Proof Machine</title>
<link>/entries/Incredible_Proof_Machine.html</link>
<pubDate>Fri, 20 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Incredible_Proof_Machine.html</guid>
<description></description>
</item>
<item>
<title>A Constructive Proof for FLP</title>
<link>/entries/FLP.html</link>
<pubDate>Wed, 18 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/FLP.html</guid>
<description></description>
</item>
<item>
<title>A Formal Proof of the Max-Flow Min-Cut Theorem for Countable Networks</title>
<link>/entries/MFMC_Countable.html</link>
<pubDate>Mon, 09 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/MFMC_Countable.html</guid>
<description></description>
</item>
<item>
<title>Randomised Social Choice Theory</title>
<link>/entries/Randomised_Social_Choice.html</link>
<pubDate>Thu, 05 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Randomised_Social_Choice.html</guid>
<description></description>
</item>
<item>
<title>Spivey&#39;s Generalized Recurrence for Bell Numbers</title>
<link>/entries/Bell_Numbers_Spivey.html</link>
<pubDate>Wed, 04 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Bell_Numbers_Spivey.html</guid>
<description></description>
</item>
<item>
<title>The Incompatibility of SD-Efficiency and SD-Strategy-Proofness</title>
<link>/entries/SDS_Impossibility.html</link>
<pubDate>Wed, 04 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/SDS_Impossibility.html</guid>
<description></description>
</item>
<item>
<title>Gröbner Bases Theory</title>
<link>/entries/Groebner_Bases.html</link>
<pubDate>Mon, 02 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Groebner_Bases.html</guid>
<description></description>
</item>
<item>
<title>No Faster-Than-Light Observers</title>
<link>/entries/No_FTL_observers.html</link>
<pubDate>Thu, 28 Apr 2016 00:00:00 +0000</pubDate>
<guid>/entries/No_FTL_observers.html</guid>
<description></description>
</item>
<item>
<title>A formalisation of the Cocke-Younger-Kasami algorithm</title>
<link>/entries/CYK.html</link>
<pubDate>Wed, 27 Apr 2016 00:00:00 +0000</pubDate>
<guid>/entries/CYK.html</guid>
<description></description>
</item>
<item>
<title>Algorithms for Reduced Ordered Binary Decision Diagrams</title>
<link>/entries/ROBDD.html</link>
<pubDate>Wed, 27 Apr 2016 00:00:00 +0000</pubDate>
<guid>/entries/ROBDD.html</guid>
<description></description>
</item>
<item>
<title>Conservation of CSP Noninterference Security under Sequential Composition</title>
<link>/entries/Noninterference_Sequential_Composition.html</link>
<pubDate>Tue, 26 Apr 2016 00:00:00 +0000</pubDate>
<guid>/entries/Noninterference_Sequential_Composition.html</guid>
<description></description>
</item>
<item>
<title>Kleene Algebras with Domain</title>
<link>/entries/KAD.html</link>
<pubDate>Tue, 12 Apr 2016 00:00:00 +0000</pubDate>
<guid>/entries/KAD.html</guid>
<description></description>
</item>
<item>
<title>Propositional Resolution and Prime Implicates Generation</title>
<link>/entries/PropResPI.html</link>
<pubDate>Fri, 11 Mar 2016 00:00:00 +0000</pubDate>
<guid>/entries/PropResPI.html</guid>
<description></description>
</item>
<item>
<title>The Cartan Fixed Point Theorems</title>
<link>/entries/Cartan_FP.html</link>
<pubDate>Tue, 08 Mar 2016 00:00:00 +0000</pubDate>
<guid>/entries/Cartan_FP.html</guid>
<description></description>
</item>
<item>
<title>Timed Automata</title>
<link>/entries/Timed_Automata.html</link>
<pubDate>Tue, 08 Mar 2016 00:00:00 +0000</pubDate>
<guid>/entries/Timed_Automata.html</guid>
<description></description>
</item>
<item>
<title>Linear Temporal Logic</title>
<link>/entries/LTL.html</link>
<pubDate>Tue, 01 Mar 2016 00:00:00 +0000</pubDate>
<guid>/entries/LTL.html</guid>
<description></description>
</item>
<item>
<title>Analysis of List Update Algorithms</title>
<link>/entries/List_Update.html</link>
<pubDate>Wed, 17 Feb 2016 00:00:00 +0000</pubDate>
<guid>/entries/List_Update.html</guid>
<description></description>
</item>
<item>
<title>Verified Construction of Static Single Assignment Form</title>
<link>/entries/Formal_SSA.html</link>
<pubDate>Fri, 05 Feb 2016 00:00:00 +0000</pubDate>
<guid>/entries/Formal_SSA.html</guid>
<description></description>
</item>
<item>
<title>Polynomial Factorization</title>
<link>/entries/Polynomial_Factorization.html</link>
<pubDate>Fri, 29 Jan 2016 00:00:00 +0000</pubDate>
<guid>/entries/Polynomial_Factorization.html</guid>
<description></description>
</item>
<item>
<title>Polynomial Interpolation</title>
<link>/entries/Polynomial_Interpolation.html</link>
<pubDate>Fri, 29 Jan 2016 00:00:00 +0000</pubDate>
<guid>/entries/Polynomial_Interpolation.html</guid>
<description></description>
</item>
<item>
<title>Knot Theory</title>
<link>/entries/Knot_Theory.html</link>
<pubDate>Wed, 20 Jan 2016 00:00:00 +0000</pubDate>
<guid>/entries/Knot_Theory.html</guid>
<description></description>
</item>
<item>
<title>Tensor Product of Matrices</title>
<link>/entries/Matrix_Tensor.html</link>
<pubDate>Mon, 18 Jan 2016 00:00:00 +0000</pubDate>
<guid>/entries/Matrix_Tensor.html</guid>
<description></description>
</item>
<item>
<title>Cardinality of Number Partitions</title>
<link>/entries/Card_Number_Partitions.html</link>
<pubDate>Thu, 14 Jan 2016 00:00:00 +0000</pubDate>
<guid>/entries/Card_Number_Partitions.html</guid>
<description></description>
</item>
<item>
<title>Basic Geometric Properties of Triangles</title>
<link>/entries/Triangle.html</link>
<pubDate>Mon, 28 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Triangle.html</guid>
<description></description>
</item>
<item>
<title>Descartes&#39; Rule of Signs</title>
<link>/entries/Descartes_Sign_Rule.html</link>
<pubDate>Mon, 28 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Descartes_Sign_Rule.html</guid>
<description></description>
</item>
<item>
<title>Liouville numbers</title>
<link>/entries/Liouville_Numbers.html</link>
<pubDate>Mon, 28 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Liouville_Numbers.html</guid>
<description></description>
</item>
<item>
<title>The Divergence of the Prime Harmonic Series</title>
<link>/entries/Prime_Harmonic_Series.html</link>
<pubDate>Mon, 28 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Prime_Harmonic_Series.html</guid>
<description></description>
</item>
<item>
<title>Algebraic Numbers in Isabelle/HOL</title>
<link>/entries/Algebraic_Numbers.html</link>
<pubDate>Tue, 22 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Algebraic_Numbers.html</guid>
<description></description>
</item>
<item>
<title>Applicative Lifting</title>
<link>/entries/Applicative_Lifting.html</link>
<pubDate>Tue, 22 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Applicative_Lifting.html</guid>
<description></description>
</item>
<item>
<title>The Stern-Brocot Tree</title>
<link>/entries/Stern_Brocot.html</link>
<pubDate>Tue, 22 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Stern_Brocot.html</guid>
<description></description>
</item>
<item>
<title>Cardinality of Set Partitions</title>
<link>/entries/Card_Partitions.html</link>
<pubDate>Sat, 12 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Card_Partitions.html</guid>
<description></description>
</item>
<item>
<title>Latin Square</title>
<link>/entries/Latin_Square.html</link>
<pubDate>Wed, 02 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Latin_Square.html</guid>
<description></description>
</item>
<item>
<title>Ergodic Theory</title>
<link>/entries/Ergodic_Theory.html</link>
<pubDate>Tue, 01 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Ergodic_Theory.html</guid>
<description></description>
</item>
<item>
<title>Euler&#39;s Partition Theorem</title>
<link>/entries/Euler_Partition.html</link>
<pubDate>Thu, 19 Nov 2015 00:00:00 +0000</pubDate>
<guid>/entries/Euler_Partition.html</guid>
<description></description>
</item>
<item>
<title>The Tortoise and Hare Algorithm</title>
<link>/entries/TortoiseHare.html</link>
<pubDate>Wed, 18 Nov 2015 00:00:00 +0000</pubDate>
<guid>/entries/TortoiseHare.html</guid>
<description></description>
</item>
<item>
<title>Planarity Certificates</title>
<link>/entries/Planarity_Certificates.html</link>
<pubDate>Wed, 11 Nov 2015 00:00:00 +0000</pubDate>
<guid>/entries/Planarity_Certificates.html</guid>
<description></description>
</item>
<item>
<title>Positional Determinacy of Parity Games</title>
<link>/entries/Parity_Game.html</link>
<pubDate>Mon, 02 Nov 2015 00:00:00 +0000</pubDate>
<guid>/entries/Parity_Game.html</guid>
<description></description>
</item>
<item>
<title>A Meta-Model for the Isabelle API</title>
<link>/entries/Isabelle_Meta_Model.html</link>
<pubDate>Wed, 16 Sep 2015 00:00:00 +0000</pubDate>
<guid>/entries/Isabelle_Meta_Model.html</guid>
<description></description>
</item>
<item>
<title>Converting Linear Temporal Logic to Deterministic (Generalized) Rabin Automata</title>
<link>/entries/LTL_to_DRA.html</link>
<pubDate>Fri, 04 Sep 2015 00:00:00 +0000</pubDate>
<guid>/entries/LTL_to_DRA.html</guid>
<description></description>
</item>
<item>
<title>Matrices, Jordan Normal Forms, and Spectral Radius Theory</title>
<link>/entries/Jordan_Normal_Form.html</link>
<pubDate>Fri, 21 Aug 2015 00:00:00 +0000</pubDate>
<guid>/entries/Jordan_Normal_Form.html</guid>
<description></description>
</item>
<item>
<title>Decreasing Diagrams II</title>
<link>/entries/Decreasing-Diagrams-II.html</link>
<pubDate>Thu, 20 Aug 2015 00:00:00 +0000</pubDate>
<guid>/entries/Decreasing-Diagrams-II.html</guid>
<description></description>
</item>
<item>
<title>The Inductive Unwinding Theorem for CSP Noninterference Security</title>
<link>/entries/Noninterference_Inductive_Unwinding.html</link>
<pubDate>Tue, 18 Aug 2015 00:00:00 +0000</pubDate>
<guid>/entries/Noninterference_Inductive_Unwinding.html</guid>
<description></description>
</item>
<item>
<title>Representations of Finite Groups</title>
<link>/entries/Rep_Fin_Groups.html</link>
<pubDate>Wed, 12 Aug 2015 00:00:00 +0000</pubDate>
<guid>/entries/Rep_Fin_Groups.html</guid>
<description></description>
</item>
<item>
<title>Analysing and Comparing Encodability Criteria for Process Calculi</title>
<link>/entries/Encodability_Process_Calculi.html</link>
<pubDate>Mon, 10 Aug 2015 00:00:00 +0000</pubDate>
<guid>/entries/Encodability_Process_Calculi.html</guid>
<description></description>
</item>
<item>
<title>Generating Cases from Labeled Subgoals</title>
<link>/entries/Case_Labeling.html</link>
<pubDate>Tue, 21 Jul 2015 00:00:00 +0000</pubDate>
<guid>/entries/Case_Labeling.html</guid>
<description></description>
</item>
<item>
<title>Landau Symbols</title>
<link>/entries/Landau_Symbols.html</link>
<pubDate>Tue, 14 Jul 2015 00:00:00 +0000</pubDate>
<guid>/entries/Landau_Symbols.html</guid>
<description></description>
</item>
<item>
<title>The Akra-Bazzi theorem and the Master theorem</title>
<link>/entries/Akra_Bazzi.html</link>
<pubDate>Tue, 14 Jul 2015 00:00:00 +0000</pubDate>
<guid>/entries/Akra_Bazzi.html</guid>
<description></description>
</item>
<item>
<title>Hermite Normal Form</title>
<link>/entries/Hermite.html</link>
<pubDate>Tue, 07 Jul 2015 00:00:00 +0000</pubDate>
<guid>/entries/Hermite.html</guid>
<description></description>
</item>
<item>
<title>Derangements Formula</title>
<link>/entries/Derangements.html</link>
<pubDate>Sat, 27 Jun 2015 00:00:00 +0000</pubDate>
<guid>/entries/Derangements.html</guid>
<description></description>
</item>
<item>
<title>Binary Multirelations</title>
<link>/entries/Multirelations.html</link>
<pubDate>Thu, 11 Jun 2015 00:00:00 +0000</pubDate>
<guid>/entries/Multirelations.html</guid>
<description></description>
</item>
<item>
<title>Reasoning about Lists via List Interleaving</title>
<link>/entries/List_Interleaving.html</link>
<pubDate>Thu, 11 Jun 2015 00:00:00 +0000</pubDate>
<guid>/entries/List_Interleaving.html</guid>
<description></description>
</item>
<item>
<title>The Generic Unwinding Theorem for CSP Noninterference Security</title>
<link>/entries/Noninterference_Generic_Unwinding.html</link>
<pubDate>Thu, 11 Jun 2015 00:00:00 +0000</pubDate>
<guid>/entries/Noninterference_Generic_Unwinding.html</guid>
<description></description>
</item>
<item>
<title>The Ipurge Unwinding Theorem for CSP Noninterference Security</title>
<link>/entries/Noninterference_Ipurge_Unwinding.html</link>
<pubDate>Thu, 11 Jun 2015 00:00:00 +0000</pubDate>
<guid>/entries/Noninterference_Ipurge_Unwinding.html</guid>
<description></description>
</item>
<item>
<title>Parameterized Dynamic Tables</title>
<link>/entries/Dynamic_Tables.html</link>
<pubDate>Sun, 07 Jun 2015 00:00:00 +0000</pubDate>
<guid>/entries/Dynamic_Tables.html</guid>
<description></description>
</item>
<item>
<title>Derivatives of Logical Formulas</title>
<link>/entries/Formula_Derivatives.html</link>
<pubDate>Thu, 28 May 2015 00:00:00 +0000</pubDate>
<guid>/entries/Formula_Derivatives.html</guid>
<description></description>
</item>
<item>
<title>A Zoo of Probabilistic Systems</title>
<link>/entries/Probabilistic_System_Zoo.html</link>
<pubDate>Wed, 27 May 2015 00:00:00 +0000</pubDate>
<guid>/entries/Probabilistic_System_Zoo.html</guid>
<description></description>
</item>
<item>
<title>VCG - Combinatorial Vickrey-Clarke-Groves Auctions</title>
<link>/entries/Vickrey_Clarke_Groves.html</link>
<pubDate>Thu, 30 Apr 2015 00:00:00 +0000</pubDate>
<guid>/entries/Vickrey_Clarke_Groves.html</guid>
<description></description>
</item>
<item>
<title>Residuated Lattices</title>
<link>/entries/Residuated_Lattices.html</link>
<pubDate>Wed, 15 Apr 2015 00:00:00 +0000</pubDate>
<guid>/entries/Residuated_Lattices.html</guid>
<description></description>
</item>
<item>
<title>Concurrent IMP</title>
<link>/entries/ConcurrentIMP.html</link>
<pubDate>Mon, 13 Apr 2015 00:00:00 +0000</pubDate>
<guid>/entries/ConcurrentIMP.html</guid>
<description></description>
</item>
<item>
<title>Relaxing Safely: Verified On-the-Fly Garbage Collection for x86-TSO</title>
<link>/entries/ConcurrentGC.html</link>
<pubDate>Mon, 13 Apr 2015 00:00:00 +0000</pubDate>
<guid>/entries/ConcurrentGC.html</guid>
<description></description>
</item>
<item>
<title>Trie</title>
<link>/entries/Trie.html</link>
<pubDate>Mon, 30 Mar 2015 00:00:00 +0000</pubDate>
<guid>/entries/Trie.html</guid>
<description></description>
</item>
<item>
<title>Consensus Refined</title>
<link>/entries/Consensus_Refined.html</link>
<pubDate>Wed, 18 Mar 2015 00:00:00 +0000</pubDate>
<guid>/entries/Consensus_Refined.html</guid>
<description></description>
</item>
<item>
<title>Deriving class instances for datatypes</title>
<link>/entries/Deriving.html</link>
<pubDate>Wed, 11 Mar 2015 00:00:00 +0000</pubDate>
<guid>/entries/Deriving.html</guid>
<description></description>
</item>
<item>
<title>The Safety of Call Arity</title>
<link>/entries/Call_Arity.html</link>
<pubDate>Fri, 20 Feb 2015 00:00:00 +0000</pubDate>
<guid>/entries/Call_Arity.html</guid>
<description></description>
</item>
<item>
<title>Echelon Form</title>
<link>/entries/Echelon_Form.html</link>
<pubDate>Thu, 12 Feb 2015 00:00:00 +0000</pubDate>
<guid>/entries/Echelon_Form.html</guid>
<description></description>
</item>
<item>
<title>QR Decomposition</title>
<link>/entries/QR_Decomposition.html</link>
<pubDate>Thu, 12 Feb 2015 00:00:00 +0000</pubDate>
<guid>/entries/QR_Decomposition.html</guid>
<description></description>
</item>
<item>
<title>Finite Automata in Hereditarily Finite Set Theory</title>
<link>/entries/Finite_Automata_HF.html</link>
<pubDate>Thu, 05 Feb 2015 00:00:00 +0000</pubDate>
<guid>/entries/Finite_Automata_HF.html</guid>
<description></description>
</item>
<item>
<title>Verification of the UpDown Scheme</title>
<link>/entries/UpDown_Scheme.html</link>
<pubDate>Wed, 28 Jan 2015 00:00:00 +0000</pubDate>
<guid>/entries/UpDown_Scheme.html</guid>
<description></description>
</item>
<item>
<title>The Unified Policy Framework (UPF)</title>
<link>/entries/UPF.html</link>
<pubDate>Fri, 28 Nov 2014 00:00:00 +0000</pubDate>
<guid>/entries/UPF.html</guid>
<description></description>
</item>
<item>
<title>Loop freedom of the (untimed) AODV routing protocol</title>
<link>/entries/AODV.html</link>
<pubDate>Thu, 23 Oct 2014 00:00:00 +0000</pubDate>
<guid>/entries/AODV.html</guid>
<description></description>
</item>
<item>
<title>Lifting Definition Option</title>
<link>/entries/Lifting_Definition_Option.html</link>
<pubDate>Mon, 13 Oct 2014 00:00:00 +0000</pubDate>
<guid>/entries/Lifting_Definition_Option.html</guid>
<description></description>
</item>
<item>
<title>Stream Fusion in HOL with Code Generation</title>
<link>/entries/Stream_Fusion_Code.html</link>
<pubDate>Fri, 10 Oct 2014 00:00:00 +0000</pubDate>
<guid>/entries/Stream_Fusion_Code.html</guid>
<description></description>
</item>
<item>
<title>A Verified Compiler for Probability Density Functions</title>
<link>/entries/Density_Compiler.html</link>
<pubDate>Thu, 09 Oct 2014 00:00:00 +0000</pubDate>
<guid>/entries/Density_Compiler.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Refinement Calculus for Reactive Systems</title>
<link>/entries/RefinementReactive.html</link>
<pubDate>Wed, 08 Oct 2014 00:00:00 +0000</pubDate>
<guid>/entries/RefinementReactive.html</guid>
<description></description>
</item>
<item>
<title>Certification Monads</title>
<link>/entries/Certification_Monads.html</link>
<pubDate>Fri, 03 Oct 2014 00:00:00 +0000</pubDate>
<guid>/entries/Certification_Monads.html</guid>
<description></description>
</item>
<item>
<title>XML</title>
<link>/entries/XML.html</link>
<pubDate>Fri, 03 Oct 2014 00:00:00 +0000</pubDate>
<guid>/entries/XML.html</guid>
<description></description>
</item>
<item>
<title>Imperative Insertion Sort</title>
<link>/entries/Imperative_Insertion_Sort.html</link>
<pubDate>Thu, 25 Sep 2014 00:00:00 +0000</pubDate>
<guid>/entries/Imperative_Insertion_Sort.html</guid>
<description></description>
</item>
<item>
<title>The Sturm-Tarski Theorem</title>
<link>/entries/Sturm_Tarski.html</link>
<pubDate>Fri, 19 Sep 2014 00:00:00 +0000</pubDate>
<guid>/entries/Sturm_Tarski.html</guid>
<description></description>
</item>
<item>
<title>The Cayley-Hamilton Theorem</title>
<link>/entries/Cayley_Hamilton.html</link>
<pubDate>Mon, 15 Sep 2014 00:00:00 +0000</pubDate>
<guid>/entries/Cayley_Hamilton.html</guid>
<description></description>
</item>
<item>
<title>The Jordan-Hölder Theorem</title>
<link>/entries/Jordan_Hoelder.html</link>
<pubDate>Tue, 09 Sep 2014 00:00:00 +0000</pubDate>
<guid>/entries/Jordan_Hoelder.html</guid>
<description></description>
</item>
<item>
<title>Priority Queues Based on Braun Trees</title>
<link>/entries/Priority_Queue_Braun.html</link>
<pubDate>Thu, 04 Sep 2014 00:00:00 +0000</pubDate>
<guid>/entries/Priority_Queue_Braun.html</guid>
<description></description>
</item>
<item>
<title>Gauss-Jordan Algorithm and Its Applications</title>
<link>/entries/Gauss_Jordan.html</link>
<pubDate>Wed, 03 Sep 2014 00:00:00 +0000</pubDate>
<guid>/entries/Gauss_Jordan.html</guid>
<description></description>
</item>
<item>
<title>Real-Valued Special Functions: Upper and Lower Bounds</title>
<link>/entries/Special_Function_Bounds.html</link>
<pubDate>Fri, 29 Aug 2014 00:00:00 +0000</pubDate>
<guid>/entries/Special_Function_Bounds.html</guid>
<description></description>
</item>
<item>
<title>Vector Spaces</title>
<link>/entries/VectorSpace.html</link>
<pubDate>Fri, 29 Aug 2014 00:00:00 +0000</pubDate>
<guid>/entries/VectorSpace.html</guid>
<description></description>
</item>
<item>
<title>Skew Heap</title>
<link>/entries/Skew_Heap.html</link>
<pubDate>Wed, 13 Aug 2014 00:00:00 +0000</pubDate>
<guid>/entries/Skew_Heap.html</guid>
<description></description>
</item>
<item>
<title>Splay Tree</title>
<link>/entries/Splay_Tree.html</link>
<pubDate>Tue, 12 Aug 2014 00:00:00 +0000</pubDate>
<guid>/entries/Splay_Tree.html</guid>
<description></description>
</item>
<item>
<title>Haskell&#39;s Show Class in Isabelle/HOL</title>
<link>/entries/Show.html</link>
<pubDate>Tue, 29 Jul 2014 00:00:00 +0000</pubDate>
<guid>/entries/Show.html</guid>
<description></description>
</item>
<item>
<title>Formal Specification of a Generic Separation Kernel</title>
<link>/entries/CISC-Kernel.html</link>
<pubDate>Fri, 18 Jul 2014 00:00:00 +0000</pubDate>
<guid>/entries/CISC-Kernel.html</guid>
<description></description>
</item>
<item>
<title>pGCL for Isabelle</title>
<link>/entries/pGCL.html</link>
<pubDate>Sun, 13 Jul 2014 00:00:00 +0000</pubDate>
<guid>/entries/pGCL.html</guid>
<description></description>
</item>
<item>
<title>Amortized Complexity Verified</title>
<link>/entries/Amortized_Complexity.html</link>
<pubDate>Mon, 07 Jul 2014 00:00:00 +0000</pubDate>
<guid>/entries/Amortized_Complexity.html</guid>
<description></description>
</item>
<item>
<title>Network Security Policy Verification</title>
<link>/entries/Network_Security_Policy_Verification.html</link>
<pubDate>Fri, 04 Jul 2014 00:00:00 +0000</pubDate>
<guid>/entries/Network_Security_Policy_Verification.html</guid>
<description></description>
</item>
<item>
<title>Pop-Refinement</title>
<link>/entries/Pop_Refinement.html</link>
<pubDate>Thu, 03 Jul 2014 00:00:00 +0000</pubDate>
<guid>/entries/Pop_Refinement.html</guid>
<description></description>
</item>
<item>
<title>Decision Procedures for MSO on Words Based on Derivatives of Regular Expressions</title>
<link>/entries/MSO_Regex_Equivalence.html</link>
<pubDate>Thu, 12 Jun 2014 00:00:00 +0000</pubDate>
<guid>/entries/MSO_Regex_Equivalence.html</guid>
<description></description>
</item>
<item>
<title>Boolean Expression Checkers</title>
<link>/entries/Boolean_Expression_Checkers.html</link>
<pubDate>Sun, 08 Jun 2014 00:00:00 +0000</pubDate>
<guid>/entries/Boolean_Expression_Checkers.html</guid>
<description></description>
</item>
<item>
<title>A Fully Verified Executable LTL Model Checker</title>
<link>/entries/CAVA_LTL_Modelchecker.html</link>
<pubDate>Wed, 28 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/CAVA_LTL_Modelchecker.html</guid>
<description></description>
</item>
<item>
<title>Converting Linear-Time Temporal Logic to Generalized Büchi Automata</title>
<link>/entries/LTL_to_GBA.html</link>
<pubDate>Wed, 28 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/LTL_to_GBA.html</guid>
<description></description>
</item>
<item>
<title>Promela Formalization</title>
<link>/entries/Promela.html</link>
<pubDate>Wed, 28 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/Promela.html</guid>
<description></description>
</item>
<item>
<title>The CAVA Automata Library</title>
<link>/entries/CAVA_Automata.html</link>
<pubDate>Wed, 28 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/CAVA_Automata.html</guid>
<description></description>
</item>
<item>
<title>Verified Efficient Implementation of Gabow&#39;s Strongly Connected Components Algorithm</title>
<link>/entries/Gabow_SCC.html</link>
<pubDate>Wed, 28 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/Gabow_SCC.html</guid>
<description></description>
</item>
<item>
<title>Noninterference Security in Communicating Sequential Processes</title>
<link>/entries/Noninterference_CSP.html</link>
<pubDate>Fri, 23 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/Noninterference_CSP.html</guid>
<description></description>
</item>
<item>
<title>Transitive closure according to Roy-Floyd-Warshall</title>
<link>/entries/Roy_Floyd_Warshall.html</link>
<pubDate>Fri, 23 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/Roy_Floyd_Warshall.html</guid>
<description></description>
</item>
<item>
<title>Regular Algebras</title>
<link>/entries/Regular_Algebras.html</link>
<pubDate>Wed, 21 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/Regular_Algebras.html</guid>
<description></description>
</item>
<item>
<title>Formalisation and Analysis of Component Dependencies</title>
<link>/entries/ComponentDependencies.html</link>
<pubDate>Mon, 28 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/ComponentDependencies.html</guid>
<description></description>
</item>
<item>
<title>A Formalization of Assumptions and Guarantees for Compositional Noninterference</title>
<link>/entries/SIFUM_Type_Systems.html</link>
<pubDate>Wed, 23 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/SIFUM_Type_Systems.html</guid>
<description></description>
</item>
<item>
<title>A Formalization of Declassification with WHAT-and-WHERE-Security</title>
<link>/entries/WHATandWHERE_Security.html</link>
<pubDate>Wed, 23 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/WHATandWHERE_Security.html</guid>
<description></description>
</item>
<item>
<title>A Formalization of Strong Security</title>
<link>/entries/Strong_Security.html</link>
<pubDate>Wed, 23 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/Strong_Security.html</guid>
<description></description>
</item>
<item>
<title>Bounded-Deducibility Security</title>
<link>/entries/Bounded_Deducibility_Security.html</link>
<pubDate>Tue, 22 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/Bounded_Deducibility_Security.html</guid>
<description></description>
</item>
<item>
<title>A shallow embedding of HyperCTL*</title>
<link>/entries/HyperCTL.html</link>
<pubDate>Wed, 16 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/HyperCTL.html</guid>
<description></description>
</item>
<item>
<title>Abstract Completeness</title>
<link>/entries/Abstract_Completeness.html</link>
<pubDate>Wed, 16 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/Abstract_Completeness.html</guid>
<description></description>
</item>
<item>
<title>Discrete Summation</title>
<link>/entries/Discrete_Summation.html</link>
<pubDate>Sun, 13 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/Discrete_Summation.html</guid>
<description></description>
</item>
<item>
<title>Syntax and semantics of a GPU kernel programming language</title>
<link>/entries/GPU_Kernel_PL.html</link>
<pubDate>Thu, 03 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/GPU_Kernel_PL.html</guid>
<description></description>
</item>
<item>
<title>Probabilistic Noninterference</title>
<link>/entries/Probabilistic_Noninterference.html</link>
<pubDate>Tue, 11 Mar 2014 00:00:00 +0000</pubDate>
<guid>/entries/Probabilistic_Noninterference.html</guid>
<description></description>
</item>
<item>
<title>Mechanization of the Algebra for Wireless Networks (AWN)</title>
<link>/entries/AWN.html</link>
<pubDate>Sat, 08 Mar 2014 00:00:00 +0000</pubDate>
<guid>/entries/AWN.html</guid>
<description></description>
</item>
<item>
<title>Mutually Recursive Partial Functions</title>
<link>/entries/Partial_Function_MR.html</link>
<pubDate>Tue, 18 Feb 2014 00:00:00 +0000</pubDate>
<guid>/entries/Partial_Function_MR.html</guid>
<description></description>
</item>
<item>
<title>Properties of Random Graphs -- Subgraph Containment</title>
<link>/entries/Random_Graph_Subgraph_Threshold.html</link>
<pubDate>Thu, 13 Feb 2014 00:00:00 +0000</pubDate>
<guid>/entries/Random_Graph_Subgraph_Threshold.html</guid>
<description></description>
</item>
<item>
<title>Verification of Selection and Heap Sort Using Locales</title>
<link>/entries/Selection_Heap_Sort.html</link>
<pubDate>Tue, 11 Feb 2014 00:00:00 +0000</pubDate>
<guid>/entries/Selection_Heap_Sort.html</guid>
<description></description>
</item>
<item>
<title>Affine Arithmetic</title>
<link>/entries/Affine_Arithmetic.html</link>
<pubDate>Fri, 07 Feb 2014 00:00:00 +0000</pubDate>
<guid>/entries/Affine_Arithmetic.html</guid>
<description></description>
</item>
<item>
<title>Implementing field extensions of the form Q[sqrt(b)]</title>
<link>/entries/Real_Impl.html</link>
<pubDate>Thu, 06 Feb 2014 00:00:00 +0000</pubDate>
<guid>/entries/Real_Impl.html</guid>
<description></description>
</item>
<item>
<title>Unified Decision Procedures for Regular Expression Equivalence</title>
<link>/entries/Regex_Equivalence.html</link>
<pubDate>Thu, 30 Jan 2014 00:00:00 +0000</pubDate>
<guid>/entries/Regex_Equivalence.html</guid>
<description></description>
</item>
<item>
<title>Secondary Sylow Theorems</title>
<link>/entries/Secondary_Sylow.html</link>
<pubDate>Tue, 28 Jan 2014 00:00:00 +0000</pubDate>
<guid>/entries/Secondary_Sylow.html</guid>
<description></description>
</item>
<item>
<title>Relation Algebra</title>
<link>/entries/Relation_Algebra.html</link>
<pubDate>Sat, 25 Jan 2014 00:00:00 +0000</pubDate>
<guid>/entries/Relation_Algebra.html</guid>
<description></description>
</item>
<item>
<title>Kleene Algebra with Tests and Demonic Refinement Algebras</title>
<link>/entries/KAT_and_DRA.html</link>
<pubDate>Thu, 23 Jan 2014 00:00:00 +0000</pubDate>
<guid>/entries/KAT_and_DRA.html</guid>
<description></description>
</item>
<item>
<title>Featherweight OCL: A Proposal for a Machine-Checked Formal Semantics for OCL 2.5</title>
<link>/entries/Featherweight_OCL.html</link>
<pubDate>Thu, 16 Jan 2014 00:00:00 +0000</pubDate>
<guid>/entries/Featherweight_OCL.html</guid>
<description></description>
</item>
<item>
<title>Compositional Properties of Crypto-Based Components</title>
<link>/entries/CryptoBasedCompositionalProperties.html</link>
<pubDate>Sat, 11 Jan 2014 00:00:00 +0000</pubDate>
<guid>/entries/CryptoBasedCompositionalProperties.html</guid>
<description></description>
</item>
<item>
<title>Sturm&#39;s Theorem</title>
<link>/entries/Sturm_Sequences.html</link>
<pubDate>Sat, 11 Jan 2014 00:00:00 +0000</pubDate>
<guid>/entries/Sturm_Sequences.html</guid>
<description></description>
</item>
<item>
<title>A General Method for the Proof of Theorems on Tail-recursive Functions</title>
<link>/entries/Tail_Recursive_Functions.html</link>
<pubDate>Sun, 01 Dec 2013 00:00:00 +0000</pubDate>
<guid>/entries/Tail_Recursive_Functions.html</guid>
<description></description>
</item>
<item>
<title>Gödel&#39;s Incompleteness Theorems</title>
<link>/entries/Incompleteness.html</link>
<pubDate>Sun, 17 Nov 2013 00:00:00 +0000</pubDate>
<guid>/entries/Incompleteness.html</guid>
<description></description>
</item>
<item>
<title>The Hereditarily Finite Sets</title>
<link>/entries/HereditarilyFinite.html</link>
<pubDate>Sun, 17 Nov 2013 00:00:00 +0000</pubDate>
<guid>/entries/HereditarilyFinite.html</guid>
<description></description>
</item>
<item>
<title>A Codatatype of Formal Languages</title>
<link>/entries/Coinductive_Languages.html</link>
<pubDate>Fri, 15 Nov 2013 00:00:00 +0000</pubDate>
<guid>/entries/Coinductive_Languages.html</guid>
<description></description>
</item>
<item>
<title>Stream Processing Components: Isabelle/HOL Formalisation and Case Studies</title>
<link>/entries/FocusStreamsCaseStudies.html</link>
<pubDate>Thu, 14 Nov 2013 00:00:00 +0000</pubDate>
<guid>/entries/FocusStreamsCaseStudies.html</guid>
<description></description>
</item>
<item>
<title>Gödel&#39;s God in Isabelle/HOL</title>
<link>/entries/GoedelGod.html</link>
<pubDate>Tue, 12 Nov 2013 00:00:00 +0000</pubDate>
<guid>/entries/GoedelGod.html</guid>
<description></description>
</item>
<item>
<title>Decreasing Diagrams</title>
<link>/entries/Decreasing-Diagrams.html</link>
<pubDate>Fri, 01 Nov 2013 00:00:00 +0000</pubDate>
<guid>/entries/Decreasing-Diagrams.html</guid>
<description></description>
</item>
<item>
<title>Automatic Data Refinement</title>
<link>/entries/Automatic_Refinement.html</link>
<pubDate>Wed, 02 Oct 2013 00:00:00 +0000</pubDate>
<guid>/entries/Automatic_Refinement.html</guid>
<description></description>
</item>
<item>
<title>Native Word</title>
<link>/entries/Native_Word.html</link>
<pubDate>Tue, 17 Sep 2013 00:00:00 +0000</pubDate>
<guid>/entries/Native_Word.html</guid>
<description></description>
</item>
<item>
<title>A Formal Model of IEEE Floating Point Arithmetic</title>
<link>/entries/IEEE_Floating_Point.html</link>
<pubDate>Sat, 27 Jul 2013 00:00:00 +0000</pubDate>
<guid>/entries/IEEE_Floating_Point.html</guid>
<description></description>
</item>
<item>
<title>Lehmer&#39;s Theorem</title>
<link>/entries/Lehmer.html</link>
<pubDate>Mon, 22 Jul 2013 00:00:00 +0000</pubDate>
<guid>/entries/Lehmer.html</guid>
<description></description>
</item>
<item>
<title>Pratt&#39;s Primality Certificates</title>
<link>/entries/Pratt_Certificate.html</link>
<pubDate>Mon, 22 Jul 2013 00:00:00 +0000</pubDate>
<guid>/entries/Pratt_Certificate.html</guid>
<description></description>
</item>
<item>
<title>The Königsberg Bridge Problem and the Friendship Theorem</title>
<link>/entries/Koenigsberg_Friendship.html</link>
<pubDate>Fri, 19 Jul 2013 00:00:00 +0000</pubDate>
<guid>/entries/Koenigsberg_Friendship.html</guid>
<description></description>
</item>
<item>
<title>Sound and Complete Sort Encodings for First-Order Logic</title>
<link>/entries/Sort_Encodings.html</link>
<pubDate>Thu, 27 Jun 2013 00:00:00 +0000</pubDate>
<guid>/entries/Sort_Encodings.html</guid>
<description></description>
</item>
<item>
<title>An Axiomatic Characterization of the Single-Source Shortest Path Problem</title>
<link>/entries/ShortestPath.html</link>
<pubDate>Wed, 22 May 2013 00:00:00 +0000</pubDate>
<guid>/entries/ShortestPath.html</guid>
<description></description>
</item>
<item>
<title>Graph Theory</title>
<link>/entries/Graph_Theory.html</link>
<pubDate>Sun, 28 Apr 2013 00:00:00 +0000</pubDate>
<guid>/entries/Graph_Theory.html</guid>
<description></description>
</item>
<item>
<title>Light-weight Containers</title>
<link>/entries/Containers.html</link>
<pubDate>Mon, 15 Apr 2013 00:00:00 +0000</pubDate>
<guid>/entries/Containers.html</guid>
<description></description>
</item>
<item>
<title>Nominal 2</title>
<link>/entries/Nominal2.html</link>
<pubDate>Thu, 21 Feb 2013 00:00:00 +0000</pubDate>
<guid>/entries/Nominal2.html</guid>
<description></description>
</item>
<item>
<title>The Correctness of Launchbury&#39;s Natural Semantics for Lazy Evaluation</title>
<link>/entries/Launchbury.html</link>
<pubDate>Thu, 31 Jan 2013 00:00:00 +0000</pubDate>
<guid>/entries/Launchbury.html</guid>
<description></description>
</item>
<item>
<title>Ribbon Proofs</title>
<link>/entries/Ribbon_Proofs.html</link>
<pubDate>Sat, 19 Jan 2013 00:00:00 +0000</pubDate>
<guid>/entries/Ribbon_Proofs.html</guid>
<description></description>
</item>
<item>
<title>Rank-Nullity Theorem in Linear Algebra</title>
<link>/entries/Rank_Nullity_Theorem.html</link>
<pubDate>Wed, 16 Jan 2013 00:00:00 +0000</pubDate>
<guid>/entries/Rank_Nullity_Theorem.html</guid>
<description></description>
</item>
<item>
<title>Kleene Algebra</title>
<link>/entries/Kleene_Algebra.html</link>
<pubDate>Tue, 15 Jan 2013 00:00:00 +0000</pubDate>
<guid>/entries/Kleene_Algebra.html</guid>
<description></description>
</item>
<item>
<title>Computing N-th Roots using the Babylonian Method</title>
<link>/entries/Sqrt_Babylonian.html</link>
<pubDate>Thu, 03 Jan 2013 00:00:00 +0000</pubDate>
<guid>/entries/Sqrt_Babylonian.html</guid>
<description></description>
</item>
<item>
<title>A Separation Logic Framework for Imperative HOL</title>
<link>/entries/Separation_Logic_Imperative_HOL.html</link>
<pubDate>Wed, 14 Nov 2012 00:00:00 +0000</pubDate>
<guid>/entries/Separation_Logic_Imperative_HOL.html</guid>
<description></description>
</item>
<item>
<title>Open Induction</title>
<link>/entries/Open_Induction.html</link>
<pubDate>Fri, 02 Nov 2012 00:00:00 +0000</pubDate>
<guid>/entries/Open_Induction.html</guid>
<description></description>
</item>
<item>
<title>The independence of Tarski&#39;s Euclidean axiom</title>
<link>/entries/Tarskis_Geometry.html</link>
<pubDate>Tue, 30 Oct 2012 00:00:00 +0000</pubDate>
<guid>/entries/Tarskis_Geometry.html</guid>
<description></description>
</item>
<item>
<title>Bondy&#39;s Theorem</title>
<link>/entries/Bondy.html</link>
<pubDate>Sat, 27 Oct 2012 00:00:00 +0000</pubDate>
<guid>/entries/Bondy.html</guid>
<description></description>
</item>
<item>
<title>Possibilistic Noninterference</title>
<link>/entries/Possibilistic_Noninterference.html</link>
<pubDate>Mon, 10 Sep 2012 00:00:00 +0000</pubDate>
<guid>/entries/Possibilistic_Noninterference.html</guid>
<description></description>
</item>
<item>
<title>Generating linear orders for datatypes</title>
<link>/entries/Datatype_Order_Generator.html</link>
<pubDate>Tue, 07 Aug 2012 00:00:00 +0000</pubDate>
<guid>/entries/Datatype_Order_Generator.html</guid>
<description></description>
</item>
<item>
<title>Proving the Impossibility of Trisecting an Angle and Doubling the Cube</title>
<link>/entries/Impossible_Geometry.html</link>
<pubDate>Sun, 05 Aug 2012 00:00:00 +0000</pubDate>
<guid>/entries/Impossible_Geometry.html</guid>
<description></description>
</item>
<item>
<title>Verifying Fault-Tolerant Distributed Algorithms in the Heard-Of Model</title>
<link>/entries/Heard_Of.html</link>
<pubDate>Fri, 27 Jul 2012 00:00:00 +0000</pubDate>
<guid>/entries/Heard_Of.html</guid>
<description></description>
</item>
<item>
<title>Logical Relations for PCF</title>
<link>/entries/PCF.html</link>
<pubDate>Sun, 01 Jul 2012 00:00:00 +0000</pubDate>
<guid>/entries/PCF.html</guid>
<description></description>
</item>
<item>
<title>Type Constructor Classes and Monad Transformers</title>
<link>/entries/Tycon.html</link>
<pubDate>Tue, 26 Jun 2012 00:00:00 +0000</pubDate>
<guid>/entries/Tycon.html</guid>
<description></description>
</item>
<item>
<title>CCS in nominal logic</title>
<link>/entries/CCS.html</link>
<pubDate>Tue, 29 May 2012 00:00:00 +0000</pubDate>
<guid>/entries/CCS.html</guid>
<description></description>
</item>
<item>
<title>Psi-calculi in Isabelle</title>
<link>/entries/Psi_Calculi.html</link>
<pubDate>Tue, 29 May 2012 00:00:00 +0000</pubDate>
<guid>/entries/Psi_Calculi.html</guid>
<description></description>
</item>
<item>
<title>The pi-calculus in nominal logic</title>
<link>/entries/Pi_Calculus.html</link>
<pubDate>Tue, 29 May 2012 00:00:00 +0000</pubDate>
<guid>/entries/Pi_Calculus.html</guid>
<description></description>
</item>
<item>
<title>Isabelle/Circus</title>
<link>/entries/Circus.html</link>
<pubDate>Sun, 27 May 2012 00:00:00 +0000</pubDate>
<guid>/entries/Circus.html</guid>
<description></description>
</item>
<item>
<title>Separation Algebra</title>
<link>/entries/Separation_Algebra.html</link>
<pubDate>Fri, 11 May 2012 00:00:00 +0000</pubDate>
<guid>/entries/Separation_Algebra.html</guid>
<description></description>
</item>
<item>
<title>Stuttering Equivalence</title>
<link>/entries/Stuttering_Equivalence.html</link>
<pubDate>Mon, 07 May 2012 00:00:00 +0000</pubDate>
<guid>/entries/Stuttering_Equivalence.html</guid>
<description></description>
</item>
<item>
<title>Inductive Study of Confidentiality</title>
<link>/entries/Inductive_Confidentiality.html</link>
<pubDate>Wed, 02 May 2012 00:00:00 +0000</pubDate>
<guid>/entries/Inductive_Confidentiality.html</guid>
<description></description>
</item>
<item>
<title>Ordinary Differential Equations</title>
<link>/entries/Ordinary_Differential_Equations.html</link>
<pubDate>Thu, 26 Apr 2012 00:00:00 +0000</pubDate>
<guid>/entries/Ordinary_Differential_Equations.html</guid>
<description></description>
</item>
<item>
<title>Well-Quasi-Orders</title>
<link>/entries/Well_Quasi_Orders.html</link>
<pubDate>Fri, 13 Apr 2012 00:00:00 +0000</pubDate>
<guid>/entries/Well_Quasi_Orders.html</guid>
<description></description>
</item>
<item>
<title>Abortable Linearizable Modules</title>
<link>/entries/Abortable_Linearizable_Modules.html</link>
<pubDate>Thu, 01 Mar 2012 00:00:00 +0000</pubDate>
<guid>/entries/Abortable_Linearizable_Modules.html</guid>
<description></description>
</item>
<item>
<title>Executable Transitive Closures</title>
<link>/entries/Transitive-Closure-II.html</link>
<pubDate>Wed, 29 Feb 2012 00:00:00 +0000</pubDate>
<guid>/entries/Transitive-Closure-II.html</guid>
<description></description>
</item>
<item>
<title>A Probabilistic Proof of the Girth-Chromatic Number Theorem</title>
<link>/entries/Girth_Chromatic.html</link>
<pubDate>Mon, 06 Feb 2012 00:00:00 +0000</pubDate>
<guid>/entries/Girth_Chromatic.html</guid>
<description></description>
</item>
<item>
<title>Dijkstra&#39;s Shortest Path Algorithm</title>
<link>/entries/Dijkstra_Shortest_Path.html</link>
<pubDate>Mon, 30 Jan 2012 00:00:00 +0000</pubDate>
<guid>/entries/Dijkstra_Shortest_Path.html</guid>
<description></description>
</item>
<item>
<title>Refinement for Monadic Programs</title>
<link>/entries/Refine_Monadic.html</link>
<pubDate>Mon, 30 Jan 2012 00:00:00 +0000</pubDate>
<guid>/entries/Refine_Monadic.html</guid>
<description></description>
</item>
<item>
<title>Markov Models</title>
<link>/entries/Markov_Models.html</link>
<pubDate>Tue, 03 Jan 2012 00:00:00 +0000</pubDate>
<guid>/entries/Markov_Models.html</guid>
<description></description>
</item>
<item>
<title>A Definitional Encoding of TLA* in Isabelle/HOL</title>
<link>/entries/TLA.html</link>
<pubDate>Sat, 19 Nov 2011 00:00:00 +0000</pubDate>
<guid>/entries/TLA.html</guid>
<description></description>
</item>
<item>
<title>Efficient Mergesort</title>
<link>/entries/Efficient-Mergesort.html</link>
<pubDate>Wed, 09 Nov 2011 00:00:00 +0000</pubDate>
<guid>/entries/Efficient-Mergesort.html</guid>
<description></description>
</item>
<item>
<title>Algebra of Monotonic Boolean Transformers</title>
<link>/entries/MonoBoolTranAlgebra.html</link>
<pubDate>Thu, 22 Sep 2011 00:00:00 +0000</pubDate>
<guid>/entries/MonoBoolTranAlgebra.html</guid>
<description></description>
</item>
<item>
<title>Lattice Properties</title>
<link>/entries/LatticeProperties.html</link>
<pubDate>Thu, 22 Sep 2011 00:00:00 +0000</pubDate>
<guid>/entries/LatticeProperties.html</guid>
<description></description>
</item>
<item>
<title>Pseudo Hoops</title>
<link>/entries/PseudoHoops.html</link>
<pubDate>Thu, 22 Sep 2011 00:00:00 +0000</pubDate>
<guid>/entries/PseudoHoops.html</guid>
<description></description>
</item>
<item>
<title>The Myhill-Nerode Theorem Based on Regular Expressions</title>
<link>/entries/Myhill-Nerode.html</link>
<pubDate>Fri, 26 Aug 2011 00:00:00 +0000</pubDate>
<guid>/entries/Myhill-Nerode.html</guid>
<description></description>
</item>
<item>
<title>Gauss-Jordan Elimination for Matrices Represented as Functions</title>
<link>/entries/Gauss-Jordan-Elim-Fun.html</link>
<pubDate>Fri, 19 Aug 2011 00:00:00 +0000</pubDate>
<guid>/entries/Gauss-Jordan-Elim-Fun.html</guid>
<description></description>
</item>
<item>
<title>Maximum Cardinality Matching</title>
<link>/entries/Max-Card-Matching.html</link>
<pubDate>Thu, 21 Jul 2011 00:00:00 +0000</pubDate>
<guid>/entries/Max-Card-Matching.html</guid>
<description></description>
</item>
<item>
<title>Knowledge-based programs</title>
<link>/entries/KBPs.html</link>
<pubDate>Tue, 17 May 2011 00:00:00 +0000</pubDate>
<guid>/entries/KBPs.html</guid>
<description></description>
</item>
<item>
<title>The General Triangle Is Unique</title>
<link>/entries/General-Triangle.html</link>
<pubDate>Fri, 01 Apr 2011 00:00:00 +0000</pubDate>
<guid>/entries/General-Triangle.html</guid>
<description></description>
</item>
<item>
<title>Executable Transitive Closures of Finite Relations</title>
<link>/entries/Transitive-Closure.html</link>
<pubDate>Mon, 14 Mar 2011 00:00:00 +0000</pubDate>
<guid>/entries/Transitive-Closure.html</guid>
<description></description>
</item>
<item>
<title>AutoFocus Stream Processing for Single-Clocking and Multi-Clocking Semantics</title>
<link>/entries/AutoFocus-Stream.html</link>
<pubDate>Wed, 23 Feb 2011 00:00:00 +0000</pubDate>
<guid>/entries/AutoFocus-Stream.html</guid>
<description></description>
</item>
<item>
<title>Infinite Lists</title>
<link>/entries/List-Infinite.html</link>
<pubDate>Wed, 23 Feb 2011 00:00:00 +0000</pubDate>
<guid>/entries/List-Infinite.html</guid>
<description></description>
</item>
<item>
<title>Interval Temporal Logic on Natural Numbers</title>
<link>/entries/Nat-Interval-Logic.html</link>
<pubDate>Wed, 23 Feb 2011 00:00:00 +0000</pubDate>
<guid>/entries/Nat-Interval-Logic.html</guid>
<description></description>
</item>
<item>
<title>Lightweight Java</title>
<link>/entries/LightweightJava.html</link>
<pubDate>Mon, 07 Feb 2011 00:00:00 +0000</pubDate>
<guid>/entries/LightweightJava.html</guid>
<description></description>
</item>
<item>
<title>RIPEMD-160</title>
<link>/entries/RIPEMD-160-SPARK.html</link>
<pubDate>Mon, 10 Jan 2011 00:00:00 +0000</pubDate>
<guid>/entries/RIPEMD-160-SPARK.html</guid>
<description></description>
</item>
<item>
<title>Lower Semicontinuous Functions</title>
<link>/entries/Lower_Semicontinuous.html</link>
<pubDate>Sat, 08 Jan 2011 00:00:00 +0000</pubDate>
<guid>/entries/Lower_Semicontinuous.html</guid>
<description></description>
</item>
<item>
<title>Hall&#39;s Marriage Theorem</title>
<link>/entries/Marriage.html</link>
<pubDate>Fri, 17 Dec 2010 00:00:00 +0000</pubDate>
<guid>/entries/Marriage.html</guid>
<description></description>
</item>
<item>
<title>Shivers&#39; Control Flow Analysis</title>
<link>/entries/Shivers-CFA.html</link>
<pubDate>Tue, 16 Nov 2010 00:00:00 +0000</pubDate>
<guid>/entries/Shivers-CFA.html</guid>
<description></description>
</item>
<item>
<title>Binomial Heaps and Skew Binomial Heaps</title>
<link>/entries/Binomial-Heaps.html</link>
<pubDate>Thu, 28 Oct 2010 00:00:00 +0000</pubDate>
<guid>/entries/Binomial-Heaps.html</guid>
<description></description>
</item>
<item>
<title>Finger Trees</title>
<link>/entries/Finger-Trees.html</link>
<pubDate>Thu, 28 Oct 2010 00:00:00 +0000</pubDate>
<guid>/entries/Finger-Trees.html</guid>
<description></description>
</item>
<item>
<title>Functional Binomial Queues</title>
<link>/entries/Binomial-Queues.html</link>
<pubDate>Thu, 28 Oct 2010 00:00:00 +0000</pubDate>
<guid>/entries/Binomial-Queues.html</guid>
<description></description>
</item>
<item>
<title>Strong Normalization of Moggis&#39;s Computational Metalanguage</title>
<link>/entries/Lam-ml-Normalization.html</link>
<pubDate>Sun, 29 Aug 2010 00:00:00 +0000</pubDate>
<guid>/entries/Lam-ml-Normalization.html</guid>
<description></description>
</item>
<item>
<title>Executable Multivariate Polynomials</title>
<link>/entries/Polynomials.html</link>
<pubDate>Tue, 10 Aug 2010 00:00:00 +0000</pubDate>
<guid>/entries/Polynomials.html</guid>
<description></description>
</item>
<item>
<title>Formalizing Statecharts using Hierarchical Automata</title>
<link>/entries/Statecharts.html</link>
<pubDate>Sun, 08 Aug 2010 00:00:00 +0000</pubDate>
<guid>/entries/Statecharts.html</guid>
<description></description>
</item>
<item>
<title>Free Groups</title>
<link>/entries/Free-Groups.html</link>
<pubDate>Thu, 24 Jun 2010 00:00:00 +0000</pubDate>
<guid>/entries/Free-Groups.html</guid>
<description></description>
</item>
<item>
<title>Category Theory</title>
<link>/entries/Category2.html</link>
<pubDate>Sun, 20 Jun 2010 00:00:00 +0000</pubDate>
<guid>/entries/Category2.html</guid>
<description></description>
</item>
<item>
<title>Executable Matrix Operations on Matrices of Arbitrary Dimensions</title>
<link>/entries/Matrix.html</link>
<pubDate>Thu, 17 Jun 2010 00:00:00 +0000</pubDate>
<guid>/entries/Matrix.html</guid>
<description></description>
</item>
<item>
<title>Abstract Rewriting</title>
<link>/entries/Abstract-Rewriting.html</link>
<pubDate>Mon, 14 Jun 2010 00:00:00 +0000</pubDate>
<guid>/entries/Abstract-Rewriting.html</guid>
<description></description>
</item>
<item>
<title>Semantics and Data Refinement of Invariant Based Programs</title>
<link>/entries/DataRefinementIBP.html</link>
<pubDate>Fri, 28 May 2010 00:00:00 +0000</pubDate>
<guid>/entries/DataRefinementIBP.html</guid>
<description></description>
</item>
<item>
<title>Verification of the Deutsch-Schorr-Waite Graph Marking Algorithm using Data Refinement</title>
<link>/entries/GraphMarkingIBP.html</link>
<pubDate>Fri, 28 May 2010 00:00:00 +0000</pubDate>
<guid>/entries/GraphMarkingIBP.html</guid>
<description></description>
</item>
<item>
<title>A Complete Proof of the Robbins Conjecture</title>
<link>/entries/Robbins-Conjecture.html</link>
<pubDate>Sat, 22 May 2010 00:00:00 +0000</pubDate>
<guid>/entries/Robbins-Conjecture.html</guid>
<description></description>
</item>
<item>
<title>Regular Sets and Expressions</title>
<link>/entries/Regular-Sets.html</link>
<pubDate>Wed, 12 May 2010 00:00:00 +0000</pubDate>
<guid>/entries/Regular-Sets.html</guid>
<description></description>
</item>
<item>
<title>Locally Nameless Sigma Calculus</title>
<link>/entries/Locally-Nameless-Sigma.html</link>
<pubDate>Fri, 30 Apr 2010 00:00:00 +0000</pubDate>
<guid>/entries/Locally-Nameless-Sigma.html</guid>
<description></description>
</item>
<item>
<title>Free Boolean Algebra</title>
<link>/entries/Free-Boolean-Algebra.html</link>
<pubDate>Mon, 29 Mar 2010 00:00:00 +0000</pubDate>
<guid>/entries/Free-Boolean-Algebra.html</guid>
<description></description>
</item>
<item>
<title>Information Flow Noninterference via Slicing</title>
<link>/entries/InformationFlowSlicing.html</link>
<pubDate>Tue, 23 Mar 2010 00:00:00 +0000</pubDate>
<guid>/entries/InformationFlowSlicing.html</guid>
<description></description>
</item>
<item>
<title>Inter-Procedural Information Flow Noninterference via Slicing</title>
<link>/entries/InformationFlowSlicing_Inter.html</link>
<pubDate>Tue, 23 Mar 2010 00:00:00 +0000</pubDate>
<guid>/entries/InformationFlowSlicing_Inter.html</guid>
<description></description>
</item>
<item>
<title>List Index</title>
<link>/entries/List-Index.html</link>
<pubDate>Sat, 20 Feb 2010 00:00:00 +0000</pubDate>
<guid>/entries/List-Index.html</guid>
<description></description>
</item>
<item>
<title>Coinductive</title>
<link>/entries/Coinductive.html</link>
<pubDate>Fri, 12 Feb 2010 00:00:00 +0000</pubDate>
<guid>/entries/Coinductive.html</guid>
<description></description>
</item>
<item>
<title>A Fast SAT Solver for Isabelle in Standard ML</title>
<link>/entries/DPT-SAT-Solver.html</link>
<pubDate>Wed, 09 Dec 2009 00:00:00 +0000</pubDate>
<guid>/entries/DPT-SAT-Solver.html</guid>
<description></description>
</item>
<item>
<title>Formalizing the Logic-Automaton Connection</title>
<link>/entries/Presburger-Automata.html</link>
<pubDate>Thu, 03 Dec 2009 00:00:00 +0000</pubDate>
<guid>/entries/Presburger-Automata.html</guid>
<description></description>
</item>
<item>
<title>Collections Framework</title>
<link>/entries/Collections.html</link>
<pubDate>Wed, 25 Nov 2009 00:00:00 +0000</pubDate>
<guid>/entries/Collections.html</guid>
<description></description>
</item>
<item>
<title>Tree Automata</title>
<link>/entries/Tree-Automata.html</link>
<pubDate>Wed, 25 Nov 2009 00:00:00 +0000</pubDate>
<guid>/entries/Tree-Automata.html</guid>
<description></description>
</item>
<item>
<title>Perfect Number Theorem</title>
<link>/entries/Perfect-Number-Thm.html</link>
<pubDate>Sun, 22 Nov 2009 00:00:00 +0000</pubDate>
<guid>/entries/Perfect-Number-Thm.html</guid>
<description></description>
</item>
<item>
<title>Backing up Slicing: Verifying the Interprocedural Two-Phase Horwitz-Reps-Binkley Slicer</title>
<link>/entries/HRB-Slicing.html</link>
<pubDate>Fri, 13 Nov 2009 00:00:00 +0000</pubDate>
<guid>/entries/HRB-Slicing.html</guid>
<description></description>
</item>
<item>
<title>The Worker/Wrapper Transformation</title>
<link>/entries/WorkerWrapper.html</link>
<pubDate>Fri, 30 Oct 2009 00:00:00 +0000</pubDate>
<guid>/entries/WorkerWrapper.html</guid>
<description></description>
</item>
<item>
<title>Ordinals and Cardinals</title>
<link>/entries/Ordinals_and_Cardinals.html</link>
<pubDate>Tue, 01 Sep 2009 00:00:00 +0000</pubDate>
<guid>/entries/Ordinals_and_Cardinals.html</guid>
<description></description>
</item>
<item>
<title>Invertibility in Sequent Calculi</title>
<link>/entries/SequentInvertibility.html</link>
<pubDate>Fri, 28 Aug 2009 00:00:00 +0000</pubDate>
<guid>/entries/SequentInvertibility.html</guid>
<description></description>
</item>
<item>
<title>An Example of a Cofinitary Group in Isabelle/HOL</title>
<link>/entries/CofGroups.html</link>
<pubDate>Tue, 04 Aug 2009 00:00:00 +0000</pubDate>
<guid>/entries/CofGroups.html</guid>
<description></description>
</item>
<item>
<title>Code Generation for Functions as Data</title>
<link>/entries/FinFun.html</link>
<pubDate>Wed, 06 May 2009 00:00:00 +0000</pubDate>
<guid>/entries/FinFun.html</guid>
<description></description>
</item>
<item>
<title>Stream Fusion</title>
<link>/entries/Stream-Fusion.html</link>
<pubDate>Wed, 29 Apr 2009 00:00:00 +0000</pubDate>
<guid>/entries/Stream-Fusion.html</guid>
<description></description>
</item>
<item>
<title>A Bytecode Logic for JML and Types</title>
<link>/entries/BytecodeLogicJmlTypes.html</link>
<pubDate>Fri, 12 Dec 2008 00:00:00 +0000</pubDate>
<guid>/entries/BytecodeLogicJmlTypes.html</guid>
<description></description>
</item>
<item>
<title>Secure information flow and program logics</title>
<link>/entries/SIFPL.html</link>
<pubDate>Mon, 10 Nov 2008 00:00:00 +0000</pubDate>
<guid>/entries/SIFPL.html</guid>
<description></description>
</item>
<item>
<title>Some classical results in Social Choice Theory</title>
<link>/entries/SenSocialChoice.html</link>
<pubDate>Sun, 09 Nov 2008 00:00:00 +0000</pubDate>
<guid>/entries/SenSocialChoice.html</guid>
<description></description>
</item>
<item>
<title>Fun With Tilings</title>
<link>/entries/FunWithTilings.html</link>
<pubDate>Fri, 07 Nov 2008 00:00:00 +0000</pubDate>
<guid>/entries/FunWithTilings.html</guid>
<description></description>
</item>
<item>
<title>The Textbook Proof of Huffman&#39;s Algorithm</title>
<link>/entries/Huffman.html</link>
<pubDate>Wed, 15 Oct 2008 00:00:00 +0000</pubDate>
<guid>/entries/Huffman.html</guid>
<description></description>
</item>
<item>
<title>Towards Certified Slicing</title>
<link>/entries/Slicing.html</link>
<pubDate>Tue, 16 Sep 2008 00:00:00 +0000</pubDate>
<guid>/entries/Slicing.html</guid>
<description></description>
</item>
<item>
<title>A Correctness Proof for the Volpano/Smith Security Typing System</title>
<link>/entries/VolpanoSmith.html</link>
<pubDate>Tue, 02 Sep 2008 00:00:00 +0000</pubDate>
<guid>/entries/VolpanoSmith.html</guid>
<description></description>
</item>
<item>
<title>Arrow and Gibbard-Satterthwaite</title>
<link>/entries/ArrowImpossibilityGS.html</link>
<pubDate>Mon, 01 Sep 2008 00:00:00 +0000</pubDate>
<guid>/entries/ArrowImpossibilityGS.html</guid>
<description></description>
</item>
<item>
<title>Fun With Functions</title>
<link>/entries/FunWithFunctions.html</link>
<pubDate>Tue, 26 Aug 2008 00:00:00 +0000</pubDate>
<guid>/entries/FunWithFunctions.html</guid>
<description></description>
</item>
<item>
<title>Formal Verification of Modern SAT Solvers</title>
<link>/entries/SATSolverVerification.html</link>
<pubDate>Wed, 23 Jul 2008 00:00:00 +0000</pubDate>
<guid>/entries/SATSolverVerification.html</guid>
<description></description>
</item>
<item>
<title>Recursion Theory I</title>
<link>/entries/Recursion-Theory-I.html</link>
<pubDate>Sat, 05 Apr 2008 00:00:00 +0000</pubDate>
<guid>/entries/Recursion-Theory-I.html</guid>
<description></description>
</item>
<item>
<title>A Sequential Imperative Programming Language Syntax, Semantics, Hoare Logics and Verification Environment</title>
<link>/entries/Simpl.html</link>
<pubDate>Fri, 29 Feb 2008 00:00:00 +0000</pubDate>
<guid>/entries/Simpl.html</guid>
<description></description>
</item>
<item>
<title>BDD Normalisation</title>
<link>/entries/BDD.html</link>
<pubDate>Fri, 29 Feb 2008 00:00:00 +0000</pubDate>
<guid>/entries/BDD.html</guid>
<description></description>
</item>
<item>
<title>Normalization by Evaluation</title>
<link>/entries/NormByEval.html</link>
<pubDate>Mon, 18 Feb 2008 00:00:00 +0000</pubDate>
<guid>/entries/NormByEval.html</guid>
<description></description>
</item>
<item>
<title>Quantifier Elimination for Linear Arithmetic</title>
<link>/entries/LinearQuantifierElim.html</link>
<pubDate>Fri, 11 Jan 2008 00:00:00 +0000</pubDate>
<guid>/entries/LinearQuantifierElim.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Conflict Analysis of Programs with Procedures, Thread Creation, and Monitors</title>
<link>/entries/Program-Conflict-Analysis.html</link>
<pubDate>Fri, 14 Dec 2007 00:00:00 +0000</pubDate>
<guid>/entries/Program-Conflict-Analysis.html</guid>
<description></description>
</item>
<item>
<title>Jinja with Threads</title>
<link>/entries/JinjaThreads.html</link>
<pubDate>Mon, 03 Dec 2007 00:00:00 +0000</pubDate>
<guid>/entries/JinjaThreads.html</guid>
<description></description>
</item>
<item>
<title>Much Ado About Two</title>
<link>/entries/MuchAdoAboutTwo.html</link>
<pubDate>Tue, 06 Nov 2007 00:00:00 +0000</pubDate>
<guid>/entries/MuchAdoAboutTwo.html</guid>
<description></description>
</item>
<item>
<title>Fermat&#39;s Last Theorem for Exponents 3 and 4 and the Parametrisation of Pythagorean Triples</title>
<link>/entries/Fermat3_4.html</link>
<pubDate>Sun, 12 Aug 2007 00:00:00 +0000</pubDate>
<guid>/entries/Fermat3_4.html</guid>
<description></description>
</item>
<item>
<title>Sums of Two and Four Squares</title>
<link>/entries/SumSquares.html</link>
<pubDate>Sun, 12 Aug 2007 00:00:00 +0000</pubDate>
<guid>/entries/SumSquares.html</guid>
<description></description>
</item>
<item>
<title>Fundamental Properties of Valuation Theory and Hensel&#39;s Lemma</title>
<link>/entries/Valuation.html</link>
<pubDate>Wed, 08 Aug 2007 00:00:00 +0000</pubDate>
<guid>/entries/Valuation.html</guid>
<description></description>
</item>
<item>
<title>First-Order Logic According to Fitting</title>
<link>/entries/FOL-Fitting.html</link>
<pubDate>Thu, 02 Aug 2007 00:00:00 +0000</pubDate>
<guid>/entries/FOL-Fitting.html</guid>
<description></description>
</item>
<item>
<title>POPLmark Challenge Via de Bruijn Indices</title>
<link>/entries/POPLmark-deBruijn.html</link>
<pubDate>Thu, 02 Aug 2007 00:00:00 +0000</pubDate>
<guid>/entries/POPLmark-deBruijn.html</guid>
<description></description>
</item>
<item>
<title>Hotel Key Card System</title>
<link>/entries/HotelKeyCards.html</link>
<pubDate>Sat, 09 Sep 2006 00:00:00 +0000</pubDate>
<guid>/entries/HotelKeyCards.html</guid>
<description></description>
</item>
<item>
<title>Abstract Hoare Logics</title>
<link>/entries/Abstract-Hoare-Logics.html</link>
<pubDate>Tue, 08 Aug 2006 00:00:00 +0000</pubDate>
<guid>/entries/Abstract-Hoare-Logics.html</guid>
<description></description>
</item>
<item>
<title>Flyspeck I: Tame Graphs</title>
<link>/entries/Flyspeck-Tame.html</link>
<pubDate>Mon, 22 May 2006 00:00:00 +0000</pubDate>
<guid>/entries/Flyspeck-Tame.html</guid>
<description></description>
</item>
<item>
<title>CoreC&#43;&#43;</title>
<link>/entries/CoreC&#43;&#43;.html</link>
<pubDate>Mon, 15 May 2006 00:00:00 +0000</pubDate>
<guid>/entries/CoreC&#43;&#43;.html</guid>
<description></description>
</item>
<item>
<title>A Theory of Featherweight Java in Isabelle/HOL</title>
<link>/entries/FeatherweightJava.html</link>
<pubDate>Fri, 31 Mar 2006 00:00:00 +0000</pubDate>
<guid>/entries/FeatherweightJava.html</guid>
<description></description>
</item>
<item>
<title>Instances of Schneider&#39;s generalized protocol of clock synchronization</title>
<link>/entries/ClockSynchInst.html</link>
<pubDate>Wed, 15 Mar 2006 00:00:00 +0000</pubDate>
<guid>/entries/ClockSynchInst.html</guid>
<description></description>
</item>
<item>
<title>Cauchy&#39;s Mean Theorem and the Cauchy-Schwarz Inequality</title>
<link>/entries/Cauchy.html</link>
<pubDate>Tue, 14 Mar 2006 00:00:00 +0000</pubDate>
<guid>/entries/Cauchy.html</guid>
<description></description>
</item>
<item>
<title>Countable Ordinals</title>
<link>/entries/Ordinal.html</link>
<pubDate>Fri, 11 Nov 2005 00:00:00 +0000</pubDate>
<guid>/entries/Ordinal.html</guid>
<description></description>
</item>
<item>
<title>Fast Fourier Transform</title>
<link>/entries/FFT.html</link>
<pubDate>Wed, 12 Oct 2005 00:00:00 +0000</pubDate>
<guid>/entries/FFT.html</guid>
<description></description>
</item>
<item>
<title>Formalization of a Generalized Protocol for Clock Synchronization</title>
<link>/entries/GenClock.html</link>
<pubDate>Fri, 24 Jun 2005 00:00:00 +0000</pubDate>
<guid>/entries/GenClock.html</guid>
<description></description>
</item>
<item>
<title>Proving the Correctness of Disk Paxos</title>
<link>/entries/DiskPaxos.html</link>
<pubDate>Wed, 22 Jun 2005 00:00:00 +0000</pubDate>
<guid>/entries/DiskPaxos.html</guid>
<description></description>
</item>
<item>
<title>Jive Data and Store Model</title>
<link>/entries/JiveDataStoreModel.html</link>
<pubDate>Mon, 20 Jun 2005 00:00:00 +0000</pubDate>
<guid>/entries/JiveDataStoreModel.html</guid>
<description></description>
</item>
<item>
<title>Jinja is not Java</title>
<link>/entries/Jinja.html</link>
<pubDate>Wed, 01 Jun 2005 00:00:00 +0000</pubDate>
<guid>/entries/Jinja.html</guid>
<description></description>
</item>
<item>
<title>SHA1, RSA, PSS and more</title>
<link>/entries/RSAPSS.html</link>
<pubDate>Mon, 02 May 2005 00:00:00 +0000</pubDate>
<guid>/entries/RSAPSS.html</guid>
<description></description>
</item>
<item>
<title>Category Theory to Yoneda&#39;s Lemma</title>
<link>/entries/Category.html</link>
<pubDate>Thu, 21 Apr 2005 00:00:00 +0000</pubDate>
<guid>/entries/Category.html</guid>
<description></description>
</item>
<item>
<title>File Refinement</title>
<link>/entries/FileRefinement.html</link>
<pubDate>Thu, 09 Dec 2004 00:00:00 +0000</pubDate>
<guid>/entries/FileRefinement.html</guid>
<description></description>
</item>
<item>
<title>Integration theory and random variables</title>
<link>/entries/Integration.html</link>
<pubDate>Fri, 19 Nov 2004 00:00:00 +0000</pubDate>
<guid>/entries/Integration.html</guid>
<description></description>
</item>
<item>
<title>A Mechanically Verified, Efficient, Sound and Complete Theorem Prover For First Order Logic</title>
<link>/entries/Verified-Prover.html</link>
<pubDate>Tue, 28 Sep 2004 00:00:00 +0000</pubDate>
<guid>/entries/Verified-Prover.html</guid>
<description></description>
</item>
<item>
<title>Completeness theorem</title>
<link>/entries/Completeness.html</link>
<pubDate>Mon, 20 Sep 2004 00:00:00 +0000</pubDate>
<guid>/entries/Completeness.html</guid>
<description></description>
</item>
<item>
<title>Ramsey&#39;s theorem, infinitary version</title>
<link>/entries/Ramsey-Infinite.html</link>
<pubDate>Mon, 20 Sep 2004 00:00:00 +0000</pubDate>
<guid>/entries/Ramsey-Infinite.html</guid>
<description></description>
</item>
<item>
<title>Compiling Exceptions Correctly</title>
<link>/entries/Compiling-Exceptions-Correctly.html</link>
<pubDate>Fri, 09 Jul 2004 00:00:00 +0000</pubDate>
<guid>/entries/Compiling-Exceptions-Correctly.html</guid>
<description></description>
</item>
<item>
<title>Depth First Search</title>
<link>/entries/Depth-First-Search.html</link>
<pubDate>Thu, 24 Jun 2004 00:00:00 +0000</pubDate>
<guid>/entries/Depth-First-Search.html</guid>
<description></description>
</item>
<item>
<title>Groups, Rings and Modules</title>
<link>/entries/Group-Ring-Module.html</link>
<pubDate>Tue, 18 May 2004 00:00:00 +0000</pubDate>
<guid>/entries/Group-Ring-Module.html</guid>
<description></description>
</item>
<item>
<title>Lazy Lists II</title>
<link>/entries/Lazy-Lists-II.html</link>
<pubDate>Mon, 26 Apr 2004 00:00:00 +0000</pubDate>
<guid>/entries/Lazy-Lists-II.html</guid>
<description></description>
</item>
<item>
<title>Topology</title>
<link>/entries/Topology.html</link>
<pubDate>Mon, 26 Apr 2004 00:00:00 +0000</pubDate>
<guid>/entries/Topology.html</guid>
<description></description>
</item>
<item>
<title>Binary Search Trees</title>
<link>/entries/BinarySearchTree.html</link>
<pubDate>Mon, 05 Apr 2004 00:00:00 +0000</pubDate>
<guid>/entries/BinarySearchTree.html</guid>
<description></description>
</item>
<item>
<title>Functional Automata</title>
<link>/entries/Functional-Automata.html</link>
<pubDate>Tue, 30 Mar 2004 00:00:00 +0000</pubDate>
<guid>/entries/Functional-Automata.html</guid>
<description></description>
</item>
<item>
<title>AVL Trees</title>
<link>/entries/AVL-Trees.html</link>
<pubDate>Fri, 19 Mar 2004 00:00:00 +0000</pubDate>
<guid>/entries/AVL-Trees.html</guid>
<description></description>
</item>
<item>
<title>Mini ML</title>
<link>/entries/MiniML.html</link>
<pubDate>Fri, 19 Mar 2004 00:00:00 +0000</pubDate>
<guid>/entries/MiniML.html</guid>
<description></description>
</item>
<item>
<title>Abortable_Linearizable_Modules</title>
<link>/theories/abortable_linearizable_modules/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/abortable_linearizable_modules/</guid>
<description></description>
</item>
<item>
<title>About</title>
<link>/about/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/about/</guid>
<description>The Archive of Formal Proofs is a collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle. It is organized in the way of a scientific journal. Submissions are refereed.
The archive repository is hosted on Heptapod to provide easy free access to archive entries. The entries are tested and maintained continuously against the current stable release of Isabelle. Older versions of archive entries will remain available.</description>
</item>
<item>
<title>Abs_Int_ITP2012</title>
<link>/theories/abs_int_itp2012/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/abs_int_itp2012/</guid>
<description></description>
</item>
<item>
<title>Abstract-Hoare-Logics</title>
<link>/theories/abstract-hoare-logics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/abstract-hoare-logics/</guid>
<description></description>
</item>
<item>
<title>Abstract-Rewriting</title>
<link>/theories/abstract-rewriting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/abstract-rewriting/</guid>
<description></description>
</item>
<item>
<title>Abstract_Completeness</title>
<link>/theories/abstract_completeness/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/abstract_completeness/</guid>
<description></description>
</item>
<item>
<title>Abstract_Soundness</title>
<link>/theories/abstract_soundness/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/abstract_soundness/</guid>
<description></description>
</item>
<item>
<title>Ackermanns_not_PR</title>
<link>/theories/ackermanns_not_pr/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ackermanns_not_pr/</guid>
<description></description>
</item>
<item>
<title>Actuarial_Mathematics</title>
<link>/theories/actuarial_mathematics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/actuarial_mathematics/</guid>
<description></description>
</item>
<item>
<title>Adaptive_State_Counting</title>
<link>/theories/adaptive_state_counting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/adaptive_state_counting/</guid>
<description></description>
</item>
<item>
<title>ADS_Functor</title>
<link>/theories/ads_functor/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ads_functor/</guid>
<description></description>
</item>
<item>
<title>Affine_Arithmetic</title>
<link>/theories/affine_arithmetic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/affine_arithmetic/</guid>
<description></description>
</item>
<item>
<title>Aggregation_Algebras</title>
<link>/theories/aggregation_algebras/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/aggregation_algebras/</guid>
<description></description>
</item>
<item>
<title>AI_Planning_Languages_Semantics</title>
<link>/theories/ai_planning_languages_semantics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ai_planning_languages_semantics/</guid>
<description></description>
</item>
<item>
<title>Akra_Bazzi</title>
<link>/theories/akra_bazzi/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/akra_bazzi/</guid>
<description></description>
</item>
<item>
<title>Algebraic_Numbers</title>
<link>/theories/algebraic_numbers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/algebraic_numbers/</guid>
<description></description>
</item>
<item>
<title>Algebraic_VCs</title>
<link>/theories/algebraic_vcs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/algebraic_vcs/</guid>
<description></description>
</item>
<item>
<title>Allen_Calculus</title>
<link>/theories/allen_calculus/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/allen_calculus/</guid>
<description></description>
</item>
<item>
<title>Amicable_Numbers</title>
<link>/theories/amicable_numbers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/amicable_numbers/</guid>
<description></description>
</item>
<item>
<title>Amortized_Complexity</title>
<link>/theories/amortized_complexity/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/amortized_complexity/</guid>
<description></description>
</item>
<item>
<title>AnselmGod</title>
<link>/theories/anselmgod/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/anselmgod/</guid>
<description></description>
</item>
<item>
<title>AODV</title>
<link>/theories/aodv/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/aodv/</guid>
<description></description>
</item>
<item>
<title>Applicative_Lifting</title>
<link>/theories/applicative_lifting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/applicative_lifting/</guid>
<description></description>
</item>
<item>
<title>Approximation_Algorithms</title>
<link>/theories/approximation_algorithms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/approximation_algorithms/</guid>
<description></description>
</item>
<item>
<title>Architectural_Design_Patterns</title>
<link>/theories/architectural_design_patterns/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/architectural_design_patterns/</guid>
<description></description>
</item>
<item>
<title>Aristotles_Assertoric_Syllogistic</title>
<link>/theories/aristotles_assertoric_syllogistic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/aristotles_assertoric_syllogistic/</guid>
<description></description>
</item>
<item>
<title>Arith_Prog_Rel_Primes</title>
<link>/theories/arith_prog_rel_primes/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/arith_prog_rel_primes/</guid>
<description></description>
</item>
<item>
<title>ArrowImpossibilityGS</title>
<link>/theories/arrowimpossibilitygs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/arrowimpossibilitygs/</guid>
<description></description>
</item>
<item>
<title>Attack_Trees</title>
<link>/theories/attack_trees/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/attack_trees/</guid>
<description></description>
</item>
<item>
<title>Auto2_HOL</title>
<link>/theories/auto2_hol/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/auto2_hol/</guid>
<description></description>
</item>
<item>
<title>Auto2_Imperative_HOL</title>
<link>/theories/auto2_imperative_hol/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/auto2_imperative_hol/</guid>
<description></description>
</item>
<item>
<title>AutoFocus-Stream</title>
<link>/theories/autofocus-stream/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/autofocus-stream/</guid>
<description></description>
</item>
<item>
<title>Automated_Stateful_Protocol_Verification</title>
<link>/theories/automated_stateful_protocol_verification/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/automated_stateful_protocol_verification/</guid>
<description></description>
</item>
<item>
<title>Automatic_Refinement</title>
<link>/theories/automatic_refinement/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/automatic_refinement/</guid>
<description></description>
</item>
<item>
<title>AVL-Trees</title>
<link>/theories/avl-trees/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/avl-trees/</guid>
<description></description>
</item>
<item>
<title>AWN</title>
<link>/theories/awn/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/awn/</guid>
<description></description>
</item>
<item>
<title>AxiomaticCategoryTheory</title>
<link>/theories/axiomaticcategorytheory/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/axiomaticcategorytheory/</guid>
<description></description>
</item>
<item>
<title>Banach_Steinhaus</title>
<link>/theories/banach_steinhaus/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/banach_steinhaus/</guid>
<description></description>
</item>
<item>
<title>BD_Security_Compositional</title>
<link>/theories/bd_security_compositional/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bd_security_compositional/</guid>
<description></description>
</item>
<item>
<title>BDD</title>
<link>/theories/bdd/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bdd/</guid>
<description></description>
</item>
<item>
<title>Belief_Revision</title>
<link>/theories/belief_revision/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/belief_revision/</guid>
<description></description>
</item>
<item>
<title>Bell_Numbers_Spivey</title>
<link>/theories/bell_numbers_spivey/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bell_numbers_spivey/</guid>
<description></description>
</item>
<item>
<title>BenOr_Kozen_Reif</title>
<link>/theories/benor_kozen_reif/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/benor_kozen_reif/</guid>
<description></description>
</item>
<item>
<title>Berlekamp_Zassenhaus</title>
<link>/theories/berlekamp_zassenhaus/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/berlekamp_zassenhaus/</guid>
<description></description>
</item>
<item>
<title>Bernoulli</title>
<link>/theories/bernoulli/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bernoulli/</guid>
<description></description>
</item>
<item>
<title>Bertrands_Postulate</title>
<link>/theories/bertrands_postulate/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bertrands_postulate/</guid>
<description></description>
</item>
<item>
<title>Bicategory</title>
<link>/theories/bicategory/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bicategory/</guid>
<description></description>
</item>
<item>
<title>BinarySearchTree</title>
<link>/theories/binarysearchtree/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/binarysearchtree/</guid>
<description></description>
</item>
<item>
<title>Binding_Syntax_Theory</title>
<link>/theories/binding_syntax_theory/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/binding_syntax_theory/</guid>
<description></description>
</item>
<item>
<title>Binomial-Heaps</title>
<link>/theories/binomial-heaps/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/binomial-heaps/</guid>
<description></description>
</item>
<item>
<title>Binomial-Queues</title>
<link>/theories/binomial-queues/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/binomial-queues/</guid>
<description></description>
</item>
<item>
<title>BirdKMP</title>
<link>/theories/birdkmp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/birdkmp/</guid>
<description></description>
</item>
<item>
<title>Blue_Eyes</title>
<link>/theories/blue_eyes/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/blue_eyes/</guid>
<description></description>
</item>
<item>
<title>BNF_CC</title>
<link>/theories/bnf_cc/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bnf_cc/</guid>
<description></description>
</item>
<item>
<title>BNF_Operations</title>
<link>/theories/bnf_operations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bnf_operations/</guid>
<description></description>
</item>
<item>
<title>Bondy</title>
<link>/theories/bondy/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bondy/</guid>
<description></description>
</item>
<item>
<title>Boolean_Expression_Checkers</title>
<link>/theories/boolean_expression_checkers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/boolean_expression_checkers/</guid>
<description></description>
</item>
<item>
<title>Boolos_Curious_Inference</title>
<link>/theories/boolos_curious_inference/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/boolos_curious_inference/</guid>
<description></description>
</item>
<item>
<title>Bounded_Deducibility_Security</title>
<link>/theories/bounded_deducibility_security/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bounded_deducibility_security/</guid>
<description></description>
</item>
<item>
<title>BTree</title>
<link>/theories/btree/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/btree/</guid>
<description></description>
</item>
<item>
<title>Buchi_Complementation</title>
<link>/theories/buchi_complementation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/buchi_complementation/</guid>
<description></description>
</item>
<item>
<title>Budan_Fourier</title>
<link>/theories/budan_fourier/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/budan_fourier/</guid>
<description></description>
</item>
<item>
<title>Buffons_Needle</title>
<link>/theories/buffons_needle/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/buffons_needle/</guid>
<description></description>
</item>
<item>
<title>Buildings</title>
<link>/theories/buildings/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/buildings/</guid>
<description></description>
</item>
<item>
<title>BytecodeLogicJmlTypes</title>
<link>/theories/bytecodelogicjmltypes/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bytecodelogicjmltypes/</guid>
<description></description>
</item>
<item>
<title>C2KA_DistributedSystems</title>
<link>/theories/c2ka_distributedsystems/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/c2ka_distributedsystems/</guid>
<description></description>
</item>
<item>
<title>CakeML</title>
<link>/theories/cakeml/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cakeml/</guid>
<description></description>
</item>
<item>
<title>CakeML_Codegen</title>
<link>/theories/cakeml_codegen/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cakeml_codegen/</guid>
<description></description>
</item>
<item>
<title>Call_Arity</title>
<link>/theories/call_arity/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/call_arity/</guid>
<description></description>
</item>
<item>
<title>Card_Equiv_Relations</title>
<link>/theories/card_equiv_relations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/card_equiv_relations/</guid>
<description></description>
</item>
<item>
<title>Card_Multisets</title>
<link>/theories/card_multisets/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/card_multisets/</guid>
<description></description>
</item>
<item>
<title>Card_Number_Partitions</title>
<link>/theories/card_number_partitions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/card_number_partitions/</guid>
<description></description>
</item>
<item>
<title>Card_Partitions</title>
<link>/theories/card_partitions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/card_partitions/</guid>
<description></description>
</item>
<item>
<title>Cartan_FP</title>
<link>/theories/cartan_fp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cartan_fp/</guid>
<description></description>
</item>
<item>
<title>Case_Labeling</title>
<link>/theories/case_labeling/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/case_labeling/</guid>
<description></description>
</item>
<item>
<title>Catalan_Numbers</title>
<link>/theories/catalan_numbers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/catalan_numbers/</guid>
<description></description>
</item>
<item>
<title>Category</title>
<link>/theories/category/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/category/</guid>
<description></description>
</item>
<item>
<title>Category2</title>
<link>/theories/category2/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/category2/</guid>
<description></description>
</item>
<item>
<title>Category3</title>
<link>/theories/category3/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/category3/</guid>
<description></description>
</item>
<item>
<title>Cauchy</title>
<link>/theories/cauchy/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cauchy/</guid>
<description></description>
</item>
<item>
<title>CAVA_Automata</title>
<link>/theories/cava_automata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cava_automata/</guid>
<description></description>
</item>
<item>
<title>CAVA_Base</title>
<link>/theories/cava_base/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cava_base/</guid>
<description></description>
</item>
<item>
<title>CAVA_LTL_Modelchecker</title>
<link>/theories/cava_ltl_modelchecker/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cava_ltl_modelchecker/</guid>
<description></description>
</item>
<item>
<title>CAVA_Setup</title>
<link>/theories/cava_setup/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cava_setup/</guid>
<description></description>
</item>
<item>
<title>Cayley_Hamilton</title>
<link>/theories/cayley_hamilton/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cayley_hamilton/</guid>
<description></description>
</item>
<item>
<title>CCS</title>
<link>/theories/ccs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ccs/</guid>
<description></description>
</item>
<item>
<title>Certification_Monads</title>
<link>/theories/certification_monads/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/certification_monads/</guid>
<description></description>
</item>
<item>
<title>Chandy_Lamport</title>
<link>/theories/chandy_lamport/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/chandy_lamport/</guid>
<description></description>
</item>
<item>
<title>Chord_Segments</title>
<link>/theories/chord_segments/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/chord_segments/</guid>
<description></description>
</item>
<item>
<title>Circus</title>
<link>/theories/circus/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/circus/</guid>
<description></description>
</item>
<item>
<title>CISC-Kernel</title>
<link>/theories/cisc-kernel/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cisc-kernel/</guid>
<description></description>
</item>
<item>
<title>Clean</title>
<link>/theories/clean/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/clean/</guid>
<description></description>
</item>
<item>
<title>Clique_and_Monotone_Circuits</title>
<link>/theories/clique_and_monotone_circuits/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/clique_and_monotone_circuits/</guid>
<description></description>
</item>
<item>
<title>ClockSynchInst</title>
<link>/theories/clocksynchinst/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/clocksynchinst/</guid>
<description></description>
</item>
<item>
<title>Closest_Pair_Points</title>
<link>/theories/closest_pair_points/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/closest_pair_points/</guid>
<description></description>
</item>
<item>
<title>CoCon</title>
<link>/theories/cocon/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cocon/</guid>
<description></description>
</item>
<item>
<title>CofGroups</title>
<link>/theories/cofgroups/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cofgroups/</guid>
<description></description>
</item>
<item>
<title>Coinductive</title>
<link>/theories/coinductive/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/coinductive/</guid>
<description></description>
</item>
<item>
<title>Coinductive_Languages</title>
<link>/theories/coinductive_languages/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/coinductive_languages/</guid>
<description></description>
</item>
<item>
<title>Collections</title>
<link>/theories/collections/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/collections/</guid>
<description></description>
</item>
<item>
<title>Collections_Examples</title>
<link>/theories/collections_examples/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/collections_examples/</guid>
<description></description>
</item>
<item>
<title>Combinable_Wands</title>
<link>/theories/combinable_wands/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/combinable_wands/</guid>
<description></description>
</item>
<item>
<title>Combinatorics_Words</title>
<link>/theories/combinatorics_words/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/combinatorics_words/</guid>
<description></description>
</item>
<item>
<title>Combinatorics_Words_Graph_Lemma</title>
<link>/theories/combinatorics_words_graph_lemma/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/combinatorics_words_graph_lemma/</guid>
<description></description>
</item>
<item>
<title>Combinatorics_Words_Lyndon</title>
<link>/theories/combinatorics_words_lyndon/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/combinatorics_words_lyndon/</guid>
<description></description>
</item>
<item>
<title>Commuting_Hermitian</title>
<link>/theories/commuting_hermitian/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/commuting_hermitian/</guid>
<description></description>
</item>
<item>
<title>Comparison_Sort_Lower_Bound</title>
<link>/theories/comparison_sort_lower_bound/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/comparison_sort_lower_bound/</guid>
<description></description>
</item>
<item>
<title>Compiling-Exceptions-Correctly</title>
<link>/theories/compiling-exceptions-correctly/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/compiling-exceptions-correctly/</guid>
<description></description>
</item>
<item>
<title>Complete_Non_Orders</title>
<link>/theories/complete_non_orders/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/complete_non_orders/</guid>
<description></description>
</item>
<item>
<title>Completeness</title>
<link>/theories/completeness/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/completeness/</guid>
<description></description>
</item>
<item>
<title>Complex_Bounded_Operators</title>
<link>/theories/complex_bounded_operators/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/complex_bounded_operators/</guid>
<description></description>
</item>
<item>
<title>Complex_Geometry</title>
<link>/theories/complex_geometry/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/complex_geometry/</guid>
<description></description>
</item>
<item>
<title>Complx</title>
<link>/theories/complx/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/complx/</guid>
<description></description>
</item>
<item>
<title>ComponentDependencies</title>
<link>/theories/componentdependencies/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/componentdependencies/</guid>
<description></description>
</item>
<item>
<title>Concurrent_Ref_Alg</title>
<link>/theories/concurrent_ref_alg/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/concurrent_ref_alg/</guid>
<description></description>
</item>
<item>
<title>Concurrent_Revisions</title>
<link>/theories/concurrent_revisions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/concurrent_revisions/</guid>
<description></description>
</item>
<item>
<title>ConcurrentGC</title>
<link>/theories/concurrentgc/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/concurrentgc/</guid>
<description></description>
</item>
<item>
<title>ConcurrentIMP</title>
<link>/theories/concurrentimp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/concurrentimp/</guid>
<description></description>
</item>
<item>
<title>Conditional_Simplification</title>
<link>/theories/conditional_simplification/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/conditional_simplification/</guid>
<description></description>
</item>
<item>
<title>Conditional_Transfer_Rule</title>
<link>/theories/conditional_transfer_rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/conditional_transfer_rule/</guid>
<description></description>
</item>
<item>
<title>Consensus_Refined</title>
<link>/theories/consensus_refined/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/consensus_refined/</guid>
<description></description>
</item>
<item>
<title>Constructive_Cryptography</title>
<link>/theories/constructive_cryptography/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/constructive_cryptography/</guid>
<description></description>
</item>
<item>
<title>Constructive_Cryptography_CM</title>
<link>/theories/constructive_cryptography_cm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/constructive_cryptography_cm/</guid>
<description></description>
</item>
<item>
<title>Constructor_Funs</title>
<link>/theories/constructor_funs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/constructor_funs/</guid>
<description></description>
</item>
<item>
<title>Containers</title>
<link>/theories/containers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/containers/</guid>
<description></description>
</item>
<item>
<title>Containers-Benchmarks</title>
<link>/theories/containers-benchmarks/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/containers-benchmarks/</guid>
<description></description>
</item>
<item>
<title>Core_DOM</title>
<link>/theories/core_dom/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/core_dom/</guid>
<description></description>
</item>
<item>
<title>Core_SC_DOM</title>
<link>/theories/core_sc_dom/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/core_sc_dom/</guid>
<description></description>
</item>
<item>
<title>CoreC&#43;&#43;</title>
<link>/theories/corec&#43;&#43;/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/corec&#43;&#43;/</guid>
<description></description>
</item>
<item>
<title>Correctness_Algebras</title>
<link>/theories/correctness_algebras/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/correctness_algebras/</guid>
<description></description>
</item>
<item>
<title>CoSMed</title>
<link>/theories/cosmed/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cosmed/</guid>
<description></description>
</item>
<item>
<title>CoSMeDis</title>
<link>/theories/cosmedis/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cosmedis/</guid>
<description></description>
</item>
<item>
<title>Cotangent_PFD_Formula</title>
<link>/theories/cotangent_pfd_formula/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cotangent_pfd_formula/</guid>
<description></description>
</item>
<item>
<title>Count_Complex_Roots</title>
<link>/theories/count_complex_roots/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/count_complex_roots/</guid>
<description></description>
</item>
<item>
<title>CRDT</title>
<link>/theories/crdt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/crdt/</guid>
<description></description>
</item>
<item>
<title>CryptHOL</title>
<link>/theories/crypthol/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/crypthol/</guid>
<description></description>
</item>
<item>
<title>CryptoBasedCompositionalProperties</title>
<link>/theories/cryptobasedcompositionalproperties/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cryptobasedcompositionalproperties/</guid>
<description></description>
</item>
<item>
+ <title>CRYSTALS-Kyber</title>
+ <link>/theories/crystals-kyber/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/theories/crystals-kyber/</guid>
+ <description></description>
+ </item>
+
+ <item>
<title>CSP_RefTK</title>
<link>/theories/csp_reftk/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/csp_reftk/</guid>
<description></description>
</item>
<item>
<title>Cubic_Quartic_Equations</title>
<link>/theories/cubic_quartic_equations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cubic_quartic_equations/</guid>
<description></description>
</item>
<item>
<title>CYK</title>
<link>/theories/cyk/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cyk/</guid>
<description></description>
</item>
<item>
<title>CZH_Elementary_Categories</title>
<link>/theories/czh_elementary_categories/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/czh_elementary_categories/</guid>
<description></description>
</item>
<item>
<title>CZH_Foundations</title>
<link>/theories/czh_foundations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/czh_foundations/</guid>
<description></description>
</item>
<item>
<title>CZH_Universal_Constructions</title>
<link>/theories/czh_universal_constructions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/czh_universal_constructions/</guid>
<description></description>
</item>
<item>
<title>DataRefinementIBP</title>
<link>/theories/datarefinementibp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/datarefinementibp/</guid>
<description></description>
</item>
<item>
<title>Datatype_Order_Generator</title>
<link>/theories/datatype_order_generator/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/datatype_order_generator/</guid>
<description></description>
</item>
<item>
<title>Decl_Sem_Fun_PL</title>
<link>/theories/decl_sem_fun_pl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/decl_sem_fun_pl/</guid>
<description></description>
</item>
<item>
<title>Decreasing-Diagrams</title>
<link>/theories/decreasing-diagrams/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/decreasing-diagrams/</guid>
<description></description>
</item>
<item>
<title>Decreasing-Diagrams-II</title>
<link>/theories/decreasing-diagrams-ii/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/decreasing-diagrams-ii/</guid>
<description></description>
</item>
<item>
<title>Dedekind_Real</title>
<link>/theories/dedekind_real/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dedekind_real/</guid>
<description></description>
</item>
<item>
<title>Deep_Learning</title>
<link>/theories/deep_learning/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/deep_learning/</guid>
<description></description>
</item>
<item>
<title>Delta_System_Lemma</title>
<link>/theories/delta_system_lemma/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/delta_system_lemma/</guid>
<description></description>
</item>
<item>
<title>Density_Compiler</title>
<link>/theories/density_compiler/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/density_compiler/</guid>
<description></description>
</item>
<item>
<title>Dependent_SIFUM_Refinement</title>
<link>/theories/dependent_sifum_refinement/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dependent_sifum_refinement/</guid>
<description></description>
</item>
<item>
<title>Dependent_SIFUM_Type_Systems</title>
<link>/theories/dependent_sifum_type_systems/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dependent_sifum_type_systems/</guid>
<description></description>
</item>
<item>
<title>Depth-First-Search</title>
<link>/theories/depth-first-search/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/depth-first-search/</guid>
<description></description>
</item>
<item>
<title>Derangements</title>
<link>/theories/derangements/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/derangements/</guid>
<description></description>
</item>
<item>
<title>Deriving</title>
<link>/theories/deriving/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/deriving/</guid>
<description></description>
</item>
<item>
<title>Descartes_Sign_Rule</title>
<link>/theories/descartes_sign_rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/descartes_sign_rule/</guid>
<description></description>
</item>
<item>
<title>Design_Theory</title>
<link>/theories/design_theory/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/design_theory/</guid>
<description></description>
</item>
<item>
<title>DFS_Framework</title>
<link>/theories/dfs_framework/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dfs_framework/</guid>
<description></description>
</item>
<item>
<title>Dict_Construction</title>
<link>/theories/dict_construction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dict_construction/</guid>
<description></description>
</item>
<item>
<title>Differential_Dynamic_Logic</title>
<link>/theories/differential_dynamic_logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/differential_dynamic_logic/</guid>
<description></description>
</item>
<item>
<title>Differential_Game_Logic</title>
<link>/theories/differential_game_logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/differential_game_logic/</guid>
<description></description>
</item>
<item>
<title>Digit_Expansions</title>
<link>/theories/digit_expansions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/digit_expansions/</guid>
<description></description>
</item>
<item>
<title>Dijkstra_Shortest_Path</title>
<link>/theories/dijkstra_shortest_path/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dijkstra_shortest_path/</guid>
<description></description>
</item>
<item>
<title>Diophantine_Eqns_Lin_Hom</title>
<link>/theories/diophantine_eqns_lin_hom/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/diophantine_eqns_lin_hom/</guid>
<description></description>
</item>
<item>
<title>Dirichlet_L</title>
<link>/theories/dirichlet_l/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dirichlet_l/</guid>
<description></description>
</item>
<item>
<title>Dirichlet_Series</title>
<link>/theories/dirichlet_series/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dirichlet_series/</guid>
<description></description>
</item>
<item>
<title>Discrete_Summation</title>
<link>/theories/discrete_summation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/discrete_summation/</guid>
<description></description>
</item>
<item>
<title>DiscretePricing</title>
<link>/theories/discretepricing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/discretepricing/</guid>
<description></description>
</item>
<item>
<title>DiskPaxos</title>
<link>/theories/diskpaxos/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/diskpaxos/</guid>
<description></description>
</item>
<item>
<title>DOM_Components</title>
<link>/theories/dom_components/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dom_components/</guid>
<description></description>
</item>
<item>
<title>Dominance_CHK</title>
<link>/theories/dominance_chk/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dominance_chk/</guid>
<description></description>
</item>
<item>
<title>Download the Archive</title>
<link>/download/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/download/</guid>
<description>Current stable version (for most recent Isabelle release): Download all sessions: afp-current.tar.gz (~70 MB)
Older stable versions: Please use the sourceforge download system to access older versions of the archive.
Mercurial access: The AFP repositories with tooling and metadata can be found at Heptapod. In particular, the development version of the Archive (for the development version of Isabelle) is available there.
How to refer to AFP entries: You can refer to AFP entries by using the AFP as an Isabelle component.</description>
</item>
<item>
<title>DPRM_Theorem</title>
<link>/theories/dprm_theorem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dprm_theorem/</guid>
<description></description>
</item>
<item>
<title>DPT-SAT-Solver</title>
<link>/theories/dpt-sat-solver/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dpt-sat-solver/</guid>
<description></description>
</item>
<item>
<title>Dynamic_Tables</title>
<link>/theories/dynamic_tables/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dynamic_tables/</guid>
<description></description>
</item>
<item>
<title>DynamicArchitectures</title>
<link>/theories/dynamicarchitectures/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dynamicarchitectures/</guid>
<description></description>
</item>
<item>
<title>E_Transcendental</title>
<link>/theories/e_transcendental/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/e_transcendental/</guid>
<description></description>
</item>
<item>
<title>Echelon_Form</title>
<link>/theories/echelon_form/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/echelon_form/</guid>
<description></description>
</item>
<item>
<title>EdmondsKarp_Maxflow</title>
<link>/theories/edmondskarp_maxflow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/edmondskarp_maxflow/</guid>
<description></description>
</item>
<item>
<title>Efficient-Mergesort</title>
<link>/theories/efficient-mergesort/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/efficient-mergesort/</guid>
<description></description>
</item>
<item>
<title>Elliptic_Curves_Group_Law</title>
<link>/theories/elliptic_curves_group_law/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/elliptic_curves_group_law/</guid>
<description></description>
</item>
<item>
<title>Encodability_Process_Calculi</title>
<link>/theories/encodability_process_calculi/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/encodability_process_calculi/</guid>
<description></description>
</item>
<item>
<title>Entry Submission</title>
<link>/submission/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/submission/</guid>
<description>Submission Guidelines The submission must follow the following Isabelle style rules. For additional guidelines on Isabelle proofs, also see the this guide (feel free to follow all of these; only the below are mandatory). Technical details about the submission process and the format of the submission are explained on the submission site.
No use of the commands sorry or back. Instantiations must not use Isabelle-generated names such as xa — use Isar, the subgoal command or rename_tac to avoid such names.</description>
</item>
<item>
<title>Epistemic_Logic</title>
<link>/theories/epistemic_logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/epistemic_logic/</guid>
<description></description>
</item>
<item>
<title>Equivalence_Relation_Enumeration</title>
<link>/theories/equivalence_relation_enumeration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/equivalence_relation_enumeration/</guid>
<description></description>
</item>
<item>
<title>Ergodic_Theory</title>
<link>/theories/ergodic_theory/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ergodic_theory/</guid>
<description></description>
</item>
<item>
<title>Error_Function</title>
<link>/theories/error_function/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/error_function/</guid>
<description></description>
</item>
<item>
<title>Euler_MacLaurin</title>
<link>/theories/euler_maclaurin/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/euler_maclaurin/</guid>
<description></description>
</item>
<item>
<title>Euler_Partition</title>
<link>/theories/euler_partition/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/euler_partition/</guid>
<description></description>
</item>
<item>
<title>Eval_FO</title>
<link>/theories/eval_fo/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/eval_fo/</guid>
<description></description>
</item>
<item>
<title>Extended_Finite_State_Machine_Inference</title>
<link>/theories/extended_finite_state_machine_inference/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/extended_finite_state_machine_inference/</guid>
<description></description>
</item>
<item>
<title>Extended_Finite_State_Machines</title>
<link>/theories/extended_finite_state_machines/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/extended_finite_state_machines/</guid>
<description></description>
</item>
<item>
<title>Factor_Algebraic_Polynomial</title>
<link>/theories/factor_algebraic_polynomial/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/factor_algebraic_polynomial/</guid>
<description></description>
</item>
<item>
<title>Factored_Transition_System_Bounding</title>
<link>/theories/factored_transition_system_bounding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/factored_transition_system_bounding/</guid>
<description></description>
</item>
<item>
<title>Falling_Factorial_Sum</title>
<link>/theories/falling_factorial_sum/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/falling_factorial_sum/</guid>
<description></description>
</item>
<item>
<title>Farkas</title>
<link>/theories/farkas/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/farkas/</guid>
<description></description>
</item>
<item>
<title>Featherweight_OCL</title>
<link>/theories/featherweight_ocl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/featherweight_ocl/</guid>
<description></description>
</item>
<item>
<title>FeatherweightJava</title>
<link>/theories/featherweightjava/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/featherweightjava/</guid>
<description></description>
</item>
<item>
<title>Fermat3_4</title>
<link>/theories/fermat3_4/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fermat3_4/</guid>
<description></description>
</item>
<item>
<title>FFT</title>
<link>/theories/fft/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fft/</guid>
<description></description>
</item>
<item>
<title>FileRefinement</title>
<link>/theories/filerefinement/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/filerefinement/</guid>
<description></description>
</item>
<item>
<title>FinFun</title>
<link>/theories/finfun/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/finfun/</guid>
<description></description>
</item>
<item>
<title>Finger-Trees</title>
<link>/theories/finger-trees/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/finger-trees/</guid>
<description></description>
</item>
<item>
<title>Finite-Map-Extras</title>
<link>/theories/finite-map-extras/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/finite-map-extras/</guid>
<description></description>
</item>
<item>
<title>Finite_Automata_HF</title>
<link>/theories/finite_automata_hf/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/finite_automata_hf/</guid>
<description></description>
</item>
<item>
<title>Finite_Fields</title>
<link>/theories/finite_fields/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/finite_fields/</guid>
<description></description>
</item>
<item>
<title>Finitely_Generated_Abelian_Groups</title>
<link>/theories/finitely_generated_abelian_groups/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/finitely_generated_abelian_groups/</guid>
<description></description>
</item>
<item>
<title>First_Order_Terms</title>
<link>/theories/first_order_terms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/first_order_terms/</guid>
<description></description>
</item>
<item>
<title>First_Welfare_Theorem</title>
<link>/theories/first_welfare_theorem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/first_welfare_theorem/</guid>
<description></description>
</item>
<item>
<title>Fishburn_Impossibility</title>
<link>/theories/fishburn_impossibility/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fishburn_impossibility/</guid>
<description></description>
</item>
<item>
<title>Fisher_Yates</title>
<link>/theories/fisher_yates/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fisher_yates/</guid>
<description></description>
</item>
<item>
<title>Fishers_Inequality</title>
<link>/theories/fishers_inequality/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fishers_inequality/</guid>
<description></description>
</item>
<item>
<title>Flow_Networks</title>
<link>/theories/flow_networks/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/flow_networks/</guid>
<description></description>
</item>
<item>
<title>Floyd_Warshall</title>
<link>/theories/floyd_warshall/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/floyd_warshall/</guid>
<description></description>
</item>
<item>
<title>FLP</title>
<link>/theories/flp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/flp/</guid>
<description></description>
</item>
<item>
<title>Flyspeck-Tame</title>
<link>/theories/flyspeck-tame/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/flyspeck-tame/</guid>
<description></description>
</item>
<item>
<title>Flyspeck-Tame-Computation</title>
<link>/theories/flyspeck-tame-computation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/flyspeck-tame-computation/</guid>
<description></description>
</item>
<item>
<title>FO_Theory_Rewriting</title>
<link>/theories/fo_theory_rewriting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fo_theory_rewriting/</guid>
<description></description>
</item>
<item>
<title>FocusStreamsCaseStudies</title>
<link>/theories/focusstreamscasestudies/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/focusstreamscasestudies/</guid>
<description></description>
</item>
<item>
<title>FOL-Fitting</title>
<link>/theories/fol-fitting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fol-fitting/</guid>
<description></description>
</item>
<item>
<title>FOL_Axiomatic</title>
<link>/theories/fol_axiomatic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fol_axiomatic/</guid>
<description></description>
</item>
<item>
<title>FOL_Harrison</title>
<link>/theories/fol_harrison/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fol_harrison/</guid>
<description></description>
</item>
<item>
<title>FOL_Seq_Calc1</title>
<link>/theories/fol_seq_calc1/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fol_seq_calc1/</guid>
<description></description>
</item>
<item>
<title>FOL_Seq_Calc2</title>
<link>/theories/fol_seq_calc2/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fol_seq_calc2/</guid>
<description></description>
</item>
<item>
<title>FOL_Seq_Calc3</title>
<link>/theories/fol_seq_calc3/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fol_seq_calc3/</guid>
<description></description>
</item>
<item>
<title>Forcing</title>
<link>/theories/forcing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/forcing/</guid>
<description></description>
</item>
<item>
<title>Formal_Puiseux_Series</title>
<link>/theories/formal_puiseux_series/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/formal_puiseux_series/</guid>
<description></description>
</item>
<item>
<title>Formal_SSA</title>
<link>/theories/formal_ssa/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/formal_ssa/</guid>
<description></description>
</item>
<item>
<title>Formula_Derivatives</title>
<link>/theories/formula_derivatives/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/formula_derivatives/</guid>
<description></description>
</item>
<item>
<title>Formula_Derivatives-Examples</title>
<link>/theories/formula_derivatives-examples/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/formula_derivatives-examples/</guid>
<description></description>
</item>
<item>
<title>Foundation_of_geometry</title>
<link>/theories/foundation_of_geometry/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/foundation_of_geometry/</guid>
<description></description>
</item>
<item>
<title>Fourier</title>
<link>/theories/fourier/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fourier/</guid>
<description></description>
</item>
<item>
<title>Free-Boolean-Algebra</title>
<link>/theories/free-boolean-algebra/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/free-boolean-algebra/</guid>
<description></description>
</item>
<item>
<title>Free-Groups</title>
<link>/theories/free-groups/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/free-groups/</guid>
<description></description>
</item>
<item>
<title>Frequency_Moments</title>
<link>/theories/frequency_moments/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/frequency_moments/</guid>
<description></description>
</item>
<item>
<title>Fresh_Identifiers</title>
<link>/theories/fresh_identifiers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fresh_identifiers/</guid>
<description></description>
</item>
<item>
<title>FSM_Tests</title>
<link>/theories/fsm_tests/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fsm_tests/</guid>
<description></description>
</item>
<item>
<title>Functional-Automata</title>
<link>/theories/functional-automata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/functional-automata/</guid>
<description></description>
</item>
<item>
<title>Functional_Ordered_Resolution_Prover</title>
<link>/theories/functional_ordered_resolution_prover/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/functional_ordered_resolution_prover/</guid>
<description></description>
</item>
<item>
<title>FunWithFunctions</title>
<link>/theories/funwithfunctions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/funwithfunctions/</guid>
<description></description>
</item>
<item>
<title>FunWithTilings</title>
<link>/theories/funwithtilings/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/funwithtilings/</guid>
<description></description>
</item>
<item>
<title>Furstenberg_Topology</title>
<link>/theories/furstenberg_topology/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/furstenberg_topology/</guid>
<description></description>
</item>
<item>
<title>Gabow_SCC</title>
<link>/theories/gabow_scc/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/gabow_scc/</guid>
<description></description>
</item>
<item>
<title>Gale_Shapley</title>
<link>/theories/gale_shapley/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/gale_shapley/</guid>
<description></description>
</item>
<item>
<title>GaleStewart_Games</title>
<link>/theories/galestewart_games/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/galestewart_games/</guid>
<description></description>
</item>
<item>
<title>Game_Based_Crypto</title>
<link>/theories/game_based_crypto/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/game_based_crypto/</guid>
<description></description>
</item>
<item>
<title>Gauss-Jordan-Elim-Fun</title>
<link>/theories/gauss-jordan-elim-fun/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/gauss-jordan-elim-fun/</guid>
<description></description>
</item>
<item>
<title>Gauss_Jordan</title>
<link>/theories/gauss_jordan/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/gauss_jordan/</guid>
<description></description>
</item>
<item>
<title>Gauss_Sums</title>
<link>/theories/gauss_sums/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/gauss_sums/</guid>
<description></description>
</item>
<item>
<title>Gaussian_Integers</title>
<link>/theories/gaussian_integers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/gaussian_integers/</guid>
<description></description>
</item>
<item>
<title>GenClock</title>
<link>/theories/genclock/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/genclock/</guid>
<description></description>
</item>
<item>
<title>General-Triangle</title>
<link>/theories/general-triangle/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/general-triangle/</guid>
<description></description>
</item>
<item>
<title>Generalized_Counting_Sort</title>
<link>/theories/generalized_counting_sort/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/generalized_counting_sort/</guid>
<description></description>
</item>
<item>
<title>Generic_Deriving</title>
<link>/theories/generic_deriving/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/generic_deriving/</guid>
<description></description>
</item>
<item>
<title>Generic_Join</title>
<link>/theories/generic_join/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/generic_join/</guid>
<description></description>
</item>
<item>
<title>GewirthPGCProof</title>
<link>/theories/gewirthpgcproof/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/gewirthpgcproof/</guid>
<description></description>
</item>
<item>
<title>Girth_Chromatic</title>
<link>/theories/girth_chromatic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/girth_chromatic/</guid>
<description></description>
</item>
<item>
<title>Goedel_HFSet_Semantic</title>
<link>/theories/goedel_hfset_semantic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/goedel_hfset_semantic/</guid>
<description></description>
</item>
<item>
<title>Goedel_HFSet_Semanticless</title>
<link>/theories/goedel_hfset_semanticless/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/goedel_hfset_semanticless/</guid>
<description></description>
</item>
<item>
<title>Goedel_Incompleteness</title>
<link>/theories/goedel_incompleteness/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/goedel_incompleteness/</guid>
<description></description>
</item>
<item>
<title>GoedelGod</title>
<link>/theories/goedelgod/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/goedelgod/</guid>
<description></description>
</item>
<item>
<title>Goodstein_Lambda</title>
<link>/theories/goodstein_lambda/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/goodstein_lambda/</guid>
<description></description>
</item>
<item>
<title>GPU_Kernel_PL</title>
<link>/theories/gpu_kernel_pl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/gpu_kernel_pl/</guid>
<description></description>
</item>
<item>
<title>Graph_Saturation</title>
<link>/theories/graph_saturation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/graph_saturation/</guid>
<description></description>
</item>
<item>
<title>Graph_Theory</title>
<link>/theories/graph_theory/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/graph_theory/</guid>
<description></description>
</item>
<item>
<title>GraphMarkingIBP</title>
<link>/theories/graphmarkingibp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/graphmarkingibp/</guid>
<description></description>
</item>
<item>
<title>Green</title>
<link>/theories/green/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/green/</guid>
<description></description>
</item>
<item>
<title>Groebner_Bases</title>
<link>/theories/groebner_bases/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/groebner_bases/</guid>
<description></description>
</item>
<item>
<title>Groebner_Macaulay</title>
<link>/theories/groebner_macaulay/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/groebner_macaulay/</guid>
<description></description>
</item>
<item>
<title>Gromov_Hyperbolicity</title>
<link>/theories/gromov_hyperbolicity/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/gromov_hyperbolicity/</guid>
<description></description>
</item>
<item>
<title>Grothendieck_Schemes</title>
<link>/theories/grothendieck_schemes/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/grothendieck_schemes/</guid>
<description></description>
</item>
<item>
<title>Group-Ring-Module</title>
<link>/theories/group-ring-module/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/group-ring-module/</guid>
<description></description>
</item>
<item>
<title>Hahn_Jordan_Decomposition</title>
<link>/theories/hahn_jordan_decomposition/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hahn_jordan_decomposition/</guid>
<description></description>
</item>
<item>
+ <title>Hales_Jewett</title>
+ <link>/theories/hales_jewett/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/theories/hales_jewett/</guid>
+ <description></description>
+ </item>
+
+ <item>
<title>Heard_Of</title>
<link>/theories/heard_of/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/heard_of/</guid>
<description></description>
</item>
<item>
<title>Hello_World</title>
<link>/theories/hello_world/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hello_world/</guid>
<description></description>
</item>
<item>
<title>Help</title>
<link>/help/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/help/</guid>
<description>This section focuses on the Archive of Formal Proofs. For help with Isabelle, see the Isabelle Documentation. More resources are listed in the Isabelle Quick Access Links.
Referring to AFP Entries in Isabelle/JEdit Once you have downloaded the AFP, you can include its articles and theories in your own developments. If you would like to make your work available to others without having to include the AFP articles you depend on, here is how to do it.</description>
</item>
<item>
<title>HereditarilyFinite</title>
<link>/theories/hereditarilyfinite/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hereditarilyfinite/</guid>
<description></description>
</item>
<item>
<title>Hermite</title>
<link>/theories/hermite/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hermite/</guid>
<description></description>
</item>
<item>
<title>Hermite_Lindemann</title>
<link>/theories/hermite_lindemann/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hermite_lindemann/</guid>
<description></description>
</item>
<item>
<title>Hidden_Markov_Models</title>
<link>/theories/hidden_markov_models/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hidden_markov_models/</guid>
<description></description>
</item>
<item>
<title>Higher_Order_Terms</title>
<link>/theories/higher_order_terms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/higher_order_terms/</guid>
<description></description>
</item>
<item>
<title>Hoare_Time</title>
<link>/theories/hoare_time/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hoare_time/</guid>
<description></description>
</item>
<item>
<title>HOL-CSP</title>
<link>/theories/hol-csp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hol-csp/</guid>
<description></description>
</item>
<item>
<title>HOL-ODE-ARCH-COMP</title>
<link>/theories/hol-ode-arch-comp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hol-ode-arch-comp/</guid>
<description></description>
</item>
<item>
<title>HOL-ODE-Examples</title>
<link>/theories/hol-ode-examples/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hol-ode-examples/</guid>
<description></description>
</item>
<item>
<title>HOL-ODE-Numerics</title>
<link>/theories/hol-ode-numerics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hol-ode-numerics/</guid>
<description></description>
</item>
<item>
<title>HOLCF-Prelude</title>
<link>/theories/holcf-prelude/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/holcf-prelude/</guid>
<description></description>
</item>
<item>
<title>Hood_Melville_Queue</title>
<link>/theories/hood_melville_queue/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hood_melville_queue/</guid>
<description></description>
</item>
<item>
<title>HotelKeyCards</title>
<link>/theories/hotelkeycards/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hotelkeycards/</guid>
<description></description>
</item>
<item>
<title>HRB-Slicing</title>
<link>/theories/hrb-slicing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hrb-slicing/</guid>
<description></description>
</item>
<item>
<title>Huffman</title>
<link>/theories/huffman/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/huffman/</guid>
<description></description>
</item>
<item>
<title>Hybrid_Logic</title>
<link>/theories/hybrid_logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hybrid_logic/</guid>
<description></description>
</item>
<item>
<title>Hybrid_Multi_Lane_Spatial_Logic</title>
<link>/theories/hybrid_multi_lane_spatial_logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hybrid_multi_lane_spatial_logic/</guid>
<description></description>
</item>
<item>
<title>Hybrid_Systems_VCs</title>
<link>/theories/hybrid_systems_vcs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hybrid_systems_vcs/</guid>
<description></description>
</item>
<item>
<title>HyperCTL</title>
<link>/theories/hyperctl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hyperctl/</guid>
<description></description>
</item>
<item>
<title>Hyperdual</title>
<link>/theories/hyperdual/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hyperdual/</guid>
<description></description>
</item>
<item>
<title>IEEE_Floating_Point</title>
<link>/theories/ieee_floating_point/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ieee_floating_point/</guid>
<description></description>
</item>
<item>
<title>IFC_Tracking</title>
<link>/theories/ifc_tracking/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ifc_tracking/</guid>
<description></description>
</item>
<item>
<title>IMAP-CRDT</title>
<link>/theories/imap-crdt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/imap-crdt/</guid>
<description></description>
</item>
<item>
<title>IMO2019</title>
<link>/theories/imo2019/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/imo2019/</guid>
<description></description>
</item>
<item>
<title>IMP2</title>
<link>/theories/imp2/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/imp2/</guid>
<description></description>
</item>
<item>
<title>IMP2_Binary_Heap</title>
<link>/theories/imp2_binary_heap/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/imp2_binary_heap/</guid>
<description></description>
</item>
<item>
<title>IMP_Compiler</title>
<link>/theories/imp_compiler/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/imp_compiler/</guid>
<description></description>
</item>
<item>
<title>IMP_Compiler_Reuse</title>
<link>/theories/imp_compiler_reuse/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/imp_compiler_reuse/</guid>
<description></description>
</item>
<item>
<title>Imperative_Insertion_Sort</title>
<link>/theories/imperative_insertion_sort/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/imperative_insertion_sort/</guid>
<description></description>
</item>
<item>
<title>Impossible_Geometry</title>
<link>/theories/impossible_geometry/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/impossible_geometry/</guid>
<description></description>
</item>
<item>
<title>Incompleteness</title>
<link>/theories/incompleteness/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/incompleteness/</guid>
<description></description>
</item>
<item>
<title>Incredible_Proof_Machine</title>
<link>/theories/incredible_proof_machine/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/incredible_proof_machine/</guid>
<description></description>
</item>
<item>
<title>Independence_CH</title>
<link>/theories/independence_ch/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/independence_ch/</guid>
<description></description>
</item>
<item>
<title>Inductive_Confidentiality</title>
<link>/theories/inductive_confidentiality/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/inductive_confidentiality/</guid>
<description></description>
</item>
<item>
<title>Inductive_Inference</title>
<link>/theories/inductive_inference/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/inductive_inference/</guid>
<description></description>
</item>
<item>
<title>InformationFlowSlicing</title>
<link>/theories/informationflowslicing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/informationflowslicing/</guid>
<description></description>
</item>
<item>
<title>InformationFlowSlicing_Inter</title>
<link>/theories/informationflowslicing_inter/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/informationflowslicing_inter/</guid>
<description></description>
</item>
<item>
<title>InfPathElimination</title>
<link>/theories/infpathelimination/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/infpathelimination/</guid>
<description></description>
</item>
<item>
<title>Integration</title>
<link>/theories/integration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/integration/</guid>
<description></description>
</item>
<item>
<title>Interpolation_Polynomials_HOL_Algebra</title>
<link>/theories/interpolation_polynomials_hol_algebra/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/interpolation_polynomials_hol_algebra/</guid>
<description></description>
</item>
<item>
<title>Interpreter_Optimizations</title>
<link>/theories/interpreter_optimizations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/interpreter_optimizations/</guid>
<description></description>
</item>
<item>
<title>Interval_Arithmetic_Word32</title>
<link>/theories/interval_arithmetic_word32/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/interval_arithmetic_word32/</guid>
<description></description>
</item>
<item>
<title>Intro_Dest_Elim</title>
<link>/theories/intro_dest_elim/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/intro_dest_elim/</guid>
<description></description>
</item>
<item>
<title>Involutions2Squares</title>
<link>/theories/involutions2squares/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/involutions2squares/</guid>
<description></description>
</item>
<item>
<title>IP_Addresses</title>
<link>/theories/ip_addresses/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ip_addresses/</guid>
<description></description>
</item>
<item>
<title>Iptables_Semantics</title>
<link>/theories/iptables_semantics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/iptables_semantics/</guid>
<description></description>
</item>
<item>
<title>Iptables_Semantics_Examples</title>
<link>/theories/iptables_semantics_examples/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/iptables_semantics_examples/</guid>
<description></description>
</item>
<item>
<title>Iptables_Semantics_Examples_Big</title>
<link>/theories/iptables_semantics_examples_big/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/iptables_semantics_examples_big/</guid>
<description></description>
</item>
<item>
<title>Irrational_Series_Erdos_Straus</title>
<link>/theories/irrational_series_erdos_straus/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/irrational_series_erdos_straus/</guid>
<description></description>
</item>
<item>
<title>Irrationality_J_Hancl</title>
<link>/theories/irrationality_j_hancl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/irrationality_j_hancl/</guid>
<description></description>
</item>
<item>
<title>Irrationals_From_THEBOOK</title>
<link>/theories/irrationals_from_thebook/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/irrationals_from_thebook/</guid>
<description></description>
</item>
<item>
<title>Isabelle_C</title>
<link>/theories/isabelle_c/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/isabelle_c/</guid>
<description></description>
</item>
<item>
<title>Isabelle_Marries_Dirac</title>
<link>/theories/isabelle_marries_dirac/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/isabelle_marries_dirac/</guid>
<description></description>
</item>
<item>
<title>Isabelle_Meta_Model</title>
<link>/theories/isabelle_meta_model/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/isabelle_meta_model/</guid>
<description></description>
</item>
<item>
<title>IsaGeoCoq</title>
<link>/theories/isageocoq/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/isageocoq/</guid>
<description></description>
</item>
<item>
<title>IsaNet</title>
<link>/theories/isanet/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/isanet/</guid>
<description></description>
</item>
<item>
<title>Jacobson_Basic_Algebra</title>
<link>/theories/jacobson_basic_algebra/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/jacobson_basic_algebra/</guid>
<description></description>
</item>
<item>
<title>Jinja</title>
<link>/theories/jinja/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/jinja/</guid>
<description></description>
</item>
<item>
<title>JinjaDCI</title>
<link>/theories/jinjadci/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/jinjadci/</guid>
<description></description>
</item>
<item>
<title>JinjaThreads</title>
<link>/theories/jinjathreads/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/jinjathreads/</guid>
<description></description>
</item>
<item>
<title>JiveDataStoreModel</title>
<link>/theories/jivedatastoremodel/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/jivedatastoremodel/</guid>
<description></description>
</item>
<item>
<title>Jordan_Hoelder</title>
<link>/theories/jordan_hoelder/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/jordan_hoelder/</guid>
<description></description>
</item>
<item>
<title>Jordan_Normal_Form</title>
<link>/theories/jordan_normal_form/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/jordan_normal_form/</guid>
<description></description>
</item>
<item>
<title>KAD</title>
<link>/theories/kad/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/kad/</guid>
<description></description>
</item>
<item>
<title>KAT_and_DRA</title>
<link>/theories/kat_and_dra/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/kat_and_dra/</guid>
<description></description>
</item>
<item>
<title>KBPs</title>
<link>/theories/kbps/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/kbps/</guid>
<description></description>
</item>
<item>
<title>KD_Tree</title>
<link>/theories/kd_tree/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/kd_tree/</guid>
<description></description>
</item>
<item>
<title>Key_Agreement_Strong_Adversaries</title>
<link>/theories/key_agreement_strong_adversaries/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/key_agreement_strong_adversaries/</guid>
<description></description>
</item>
<item>
+ <title>Khovanskii_Theorem</title>
+ <link>/theories/khovanskii_theorem/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/theories/khovanskii_theorem/</guid>
+ <description></description>
+ </item>
+
+ <item>
<title>Kleene_Algebra</title>
<link>/theories/kleene_algebra/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/kleene_algebra/</guid>
<description></description>
</item>
<item>
<title>Knights_Tour</title>
<link>/theories/knights_tour/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/knights_tour/</guid>
<description></description>
</item>
<item>
<title>Knot_Theory</title>
<link>/theories/knot_theory/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/knot_theory/</guid>
<description></description>
</item>
<item>
<title>Knuth_Bendix_Order</title>
<link>/theories/knuth_bendix_order/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/knuth_bendix_order/</guid>
<description></description>
</item>
<item>
<title>Knuth_Morris_Pratt</title>
<link>/theories/knuth_morris_pratt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/knuth_morris_pratt/</guid>
<description></description>
</item>
<item>
<title>Koenigsberg_Friendship</title>
<link>/theories/koenigsberg_friendship/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/koenigsberg_friendship/</guid>
<description></description>
</item>
<item>
<title>Kruskal</title>
<link>/theories/kruskal/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/kruskal/</guid>
<description></description>
</item>
<item>
<title>Kuratowski_Closure_Complement</title>
<link>/theories/kuratowski_closure_complement/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/kuratowski_closure_complement/</guid>
<description></description>
</item>
<item>
<title>Lam-ml-Normalization</title>
<link>/theories/lam-ml-normalization/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lam-ml-normalization/</guid>
<description></description>
</item>
<item>
<title>Lambda_Free_EPO</title>
<link>/theories/lambda_free_epo/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lambda_free_epo/</guid>
<description></description>
</item>
<item>
<title>Lambda_Free_KBOs</title>
<link>/theories/lambda_free_kbos/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lambda_free_kbos/</guid>
<description></description>
</item>
<item>
<title>Lambda_Free_RPOs</title>
<link>/theories/lambda_free_rpos/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lambda_free_rpos/</guid>
<description></description>
</item>
<item>
<title>LambdaAuth</title>
<link>/theories/lambdaauth/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lambdaauth/</guid>
<description></description>
</item>
<item>
<title>LambdaMu</title>
<link>/theories/lambdamu/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lambdamu/</guid>
<description></description>
</item>
<item>
<title>Lambert_W</title>
<link>/theories/lambert_w/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lambert_w/</guid>
<description></description>
</item>
<item>
<title>Landau_Symbols</title>
<link>/theories/landau_symbols/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/landau_symbols/</guid>
<description></description>
</item>
<item>
<title>Laplace_Transform</title>
<link>/theories/laplace_transform/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/laplace_transform/</guid>
<description></description>
</item>
<item>
<title>Latin_Square</title>
<link>/theories/latin_square/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/latin_square/</guid>
<description></description>
</item>
<item>
<title>LatticeProperties</title>
<link>/theories/latticeproperties/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/latticeproperties/</guid>
<description></description>
</item>
<item>
<title>Launchbury</title>
<link>/theories/launchbury/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/launchbury/</guid>
<description></description>
</item>
<item>
<title>Laws_of_Large_Numbers</title>
<link>/theories/laws_of_large_numbers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/laws_of_large_numbers/</guid>
<description></description>
</item>
<item>
<title>Lazy-Lists-II</title>
<link>/theories/lazy-lists-ii/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lazy-lists-ii/</guid>
<description></description>
</item>
<item>
<title>Lazy_Case</title>
<link>/theories/lazy_case/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lazy_case/</guid>
<description></description>
</item>
<item>
<title>Lehmer</title>
<link>/theories/lehmer/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lehmer/</guid>
<description></description>
</item>
<item>
<title>LEM</title>
<link>/theories/lem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lem/</guid>
<description></description>
</item>
<item>
<title>Lifting_Definition_Option</title>
<link>/theories/lifting_definition_option/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lifting_definition_option/</guid>
<description></description>
</item>
<item>
<title>Lifting_the_Exponent</title>
<link>/theories/lifting_the_exponent/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lifting_the_exponent/</guid>
<description></description>
</item>
<item>
<title>LightweightJava</title>
<link>/theories/lightweightjava/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lightweightjava/</guid>
<description></description>
</item>
<item>
<title>Linear_Inequalities</title>
<link>/theories/linear_inequalities/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/linear_inequalities/</guid>
<description></description>
</item>
<item>
<title>Linear_Programming</title>
<link>/theories/linear_programming/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/linear_programming/</guid>
<description></description>
</item>
<item>
<title>Linear_Recurrences</title>
<link>/theories/linear_recurrences/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/linear_recurrences/</guid>
<description></description>
</item>
<item>
<title>Linear_Recurrences_Solver</title>
<link>/theories/linear_recurrences_solver/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/linear_recurrences_solver/</guid>
<description></description>
</item>
<item>
<title>LinearQuantifierElim</title>
<link>/theories/linearquantifierelim/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/linearquantifierelim/</guid>
<description></description>
</item>
<item>
<title>Liouville_Numbers</title>
<link>/theories/liouville_numbers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/liouville_numbers/</guid>
<description></description>
</item>
<item>
<title>List-Index</title>
<link>/theories/list-index/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/list-index/</guid>
<description></description>
</item>
<item>
<title>List-Infinite</title>
<link>/theories/list-infinite/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/list-infinite/</guid>
<description></description>
</item>
<item>
<title>List_Interleaving</title>
<link>/theories/list_interleaving/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/list_interleaving/</guid>
<description></description>
</item>
<item>
<title>List_Inversions</title>
<link>/theories/list_inversions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/list_inversions/</guid>
<description></description>
</item>
<item>
<title>List_Update</title>
<link>/theories/list_update/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/list_update/</guid>
<description></description>
</item>
<item>
<title>LLL_Basis_Reduction</title>
<link>/theories/lll_basis_reduction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lll_basis_reduction/</guid>
<description></description>
</item>
<item>
<title>LLL_Factorization</title>
<link>/theories/lll_factorization/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lll_factorization/</guid>
<description></description>
</item>
<item>
<title>Localization_Ring</title>
<link>/theories/localization_ring/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/localization_ring/</guid>
<description></description>
</item>
<item>
<title>LocalLexing</title>
<link>/theories/locallexing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/locallexing/</guid>
<description></description>
</item>
<item>
<title>Locally-Nameless-Sigma</title>
<link>/theories/locally-nameless-sigma/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/locally-nameless-sigma/</guid>
<description></description>
</item>
<item>
<title>LOFT</title>
<link>/theories/loft/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/loft/</guid>
<description></description>
</item>
<item>
<title>Logging_Independent_Anonymity</title>
<link>/theories/logging_independent_anonymity/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/logging_independent_anonymity/</guid>
<description></description>
</item>
<item>
<title>Lorenz_Approximation</title>
<link>/theories/lorenz_approximation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lorenz_approximation/</guid>
<description></description>
</item>
<item>
<title>Lorenz_C0</title>
<link>/theories/lorenz_c0/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lorenz_c0/</guid>
<description></description>
</item>
<item>
<title>Lorenz_C1</title>
<link>/theories/lorenz_c1/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lorenz_c1/</guid>
<description></description>
</item>
<item>
<title>Lowe_Ontological_Argument</title>
<link>/theories/lowe_ontological_argument/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lowe_ontological_argument/</guid>
<description></description>
</item>
<item>
<title>Lower_Semicontinuous</title>
<link>/theories/lower_semicontinuous/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lower_semicontinuous/</guid>
<description></description>
</item>
<item>
<title>Lp</title>
<link>/theories/lp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lp/</guid>
<description></description>
</item>
<item>
<title>LP_Duality</title>
<link>/theories/lp_duality/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lp_duality/</guid>
<description></description>
</item>
<item>
<title>LTL</title>
<link>/theories/ltl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ltl/</guid>
<description></description>
</item>
<item>
<title>LTL_Master_Theorem</title>
<link>/theories/ltl_master_theorem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ltl_master_theorem/</guid>
<description></description>
</item>
<item>
<title>LTL_Normal_Form</title>
<link>/theories/ltl_normal_form/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ltl_normal_form/</guid>
<description></description>
</item>
<item>
<title>LTL_to_DRA</title>
<link>/theories/ltl_to_dra/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ltl_to_dra/</guid>
<description></description>
</item>
<item>
<title>LTL_to_GBA</title>
<link>/theories/ltl_to_gba/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ltl_to_gba/</guid>
<description></description>
</item>
<item>
<title>Lucas_Theorem</title>
<link>/theories/lucas_theorem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lucas_theorem/</guid>
<description></description>
</item>
<item>
<title>Markov_Models</title>
<link>/theories/markov_models/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/markov_models/</guid>
<description></description>
</item>
<item>
<title>Marriage</title>
<link>/theories/marriage/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/marriage/</guid>
<description></description>
</item>
<item>
<title>Mason_Stothers</title>
<link>/theories/mason_stothers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/mason_stothers/</guid>
<description></description>
</item>
<item>
<title>Matrices_for_ODEs</title>
<link>/theories/matrices_for_odes/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/matrices_for_odes/</guid>
<description></description>
</item>
<item>
<title>Matrix</title>
<link>/theories/matrix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/matrix/</guid>
<description></description>
</item>
<item>
<title>Matrix_Tensor</title>
<link>/theories/matrix_tensor/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/matrix_tensor/</guid>
<description></description>
</item>
<item>
<title>Matroids</title>
<link>/theories/matroids/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/matroids/</guid>
<description></description>
</item>
<item>
<title>Max-Card-Matching</title>
<link>/theories/max-card-matching/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/max-card-matching/</guid>
<description></description>
</item>
<item>
<title>MDP-Algorithms</title>
<link>/theories/mdp-algorithms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/mdp-algorithms/</guid>
<description></description>
</item>
<item>
<title>MDP-Rewards</title>
<link>/theories/mdp-rewards/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/mdp-rewards/</guid>
<description></description>
</item>
<item>
<title>Median_Method</title>
<link>/theories/median_method/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/median_method/</guid>
<description></description>
</item>
<item>
<title>Median_Of_Medians_Selection</title>
<link>/theories/median_of_medians_selection/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/median_of_medians_selection/</guid>
<description></description>
</item>
<item>
<title>Menger</title>
<link>/theories/menger/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/menger/</guid>
<description></description>
</item>
<item>
<title>Mereology</title>
<link>/theories/mereology/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/mereology/</guid>
<description></description>
</item>
<item>
<title>Mersenne_Primes</title>
<link>/theories/mersenne_primes/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/mersenne_primes/</guid>
<description></description>
</item>
<item>
<title>Metalogic_ProofChecker</title>
<link>/theories/metalogic_proofchecker/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/metalogic_proofchecker/</guid>
<description></description>
</item>
<item>
<title>MFMC_Countable</title>
<link>/theories/mfmc_countable/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/mfmc_countable/</guid>
<description></description>
</item>
<item>
<title>MFODL_Monitor_Optimized</title>
<link>/theories/mfodl_monitor_optimized/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/mfodl_monitor_optimized/</guid>
<description></description>
</item>
<item>
<title>MFOTL_Monitor</title>
<link>/theories/mfotl_monitor/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/mfotl_monitor/</guid>
<description></description>
</item>
<item>
<title>Minimal_SSA</title>
<link>/theories/minimal_ssa/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/minimal_ssa/</guid>
<description></description>
</item>
<item>
<title>MiniML</title>
<link>/theories/miniml/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/miniml/</guid>
<description></description>
</item>
<item>
<title>MiniSail</title>
<link>/theories/minisail/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/minisail/</guid>
<description></description>
</item>
<item>
<title>Minkowskis_Theorem</title>
<link>/theories/minkowskis_theorem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/minkowskis_theorem/</guid>
<description></description>
</item>
<item>
<title>Minsky_Machines</title>
<link>/theories/minsky_machines/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/minsky_machines/</guid>
<description></description>
</item>
<item>
<title>Modal_Logics_for_NTS</title>
<link>/theories/modal_logics_for_nts/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/modal_logics_for_nts/</guid>
<description></description>
</item>
<item>
<title>Modular_arithmetic_LLL_and_HNF_algorithms</title>
<link>/theories/modular_arithmetic_lll_and_hnf_algorithms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/modular_arithmetic_lll_and_hnf_algorithms/</guid>
<description></description>
</item>
<item>
<title>Modular_Assembly_Kit_Security</title>
<link>/theories/modular_assembly_kit_security/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/modular_assembly_kit_security/</guid>
<description></description>
</item>
<item>
<title>Monad_Memo_DP</title>
<link>/theories/monad_memo_dp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/monad_memo_dp/</guid>
<description></description>
</item>
<item>
<title>Monad_Normalisation</title>
<link>/theories/monad_normalisation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/monad_normalisation/</guid>
<description></description>
</item>
<item>
<title>MonoBoolTranAlgebra</title>
<link>/theories/monobooltranalgebra/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/monobooltranalgebra/</guid>
<description></description>
</item>
<item>
<title>MonoidalCategory</title>
<link>/theories/monoidalcategory/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/monoidalcategory/</guid>
<description></description>
</item>
<item>
<title>Monomorphic_Monad</title>
<link>/theories/monomorphic_monad/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/monomorphic_monad/</guid>
<description></description>
</item>
<item>
<title>MSO_Regex_Equivalence</title>
<link>/theories/mso_regex_equivalence/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/mso_regex_equivalence/</guid>
<description></description>
</item>
<item>
<title>MuchAdoAboutTwo</title>
<link>/theories/muchadoabouttwo/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/muchadoabouttwo/</guid>
<description></description>
</item>
<item>
<title>Multi_Party_Computation</title>
<link>/theories/multi_party_computation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/multi_party_computation/</guid>
<description></description>
</item>
<item>
<title>Multirelations</title>
<link>/theories/multirelations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/multirelations/</guid>
<description></description>
</item>
<item>
<title>Multiset_Ordering_NPC</title>
<link>/theories/multiset_ordering_npc/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/multiset_ordering_npc/</guid>
<description></description>
</item>
<item>
<title>Myhill-Nerode</title>
<link>/theories/myhill-nerode/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/myhill-nerode/</guid>
<description></description>
</item>
<item>
<title>Name_Carrying_Type_Inference</title>
<link>/theories/name_carrying_type_inference/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/name_carrying_type_inference/</guid>
<description></description>
</item>
<item>
<title>Nano_JSON</title>
<link>/theories/nano_json/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/nano_json/</guid>
<description></description>
</item>
<item>
<title>Nash_Williams</title>
<link>/theories/nash_williams/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/nash_williams/</guid>
<description></description>
</item>
<item>
<title>Nat-Interval-Logic</title>
<link>/theories/nat-interval-logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/nat-interval-logic/</guid>
<description></description>
</item>
<item>
<title>Native_Word</title>
<link>/theories/native_word/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/native_word/</guid>
<description></description>
</item>
<item>
<title>Nested_Multisets_Ordinals</title>
<link>/theories/nested_multisets_ordinals/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/nested_multisets_ordinals/</guid>
<description></description>
</item>
<item>
<title>Network_Security_Policy_Verification</title>
<link>/theories/network_security_policy_verification/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/network_security_policy_verification/</guid>
<description></description>
</item>
<item>
<title>Neumann_Morgenstern_Utility</title>
<link>/theories/neumann_morgenstern_utility/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/neumann_morgenstern_utility/</guid>
<description></description>
</item>
<item>
<title>No_FTL_observers</title>
<link>/theories/no_ftl_observers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/no_ftl_observers/</guid>
<description></description>
</item>
<item>
<title>Nominal2</title>
<link>/theories/nominal2/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/nominal2/</guid>
<description></description>
</item>
<item>
<title>Noninterference_Concurrent_Composition</title>
<link>/theories/noninterference_concurrent_composition/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/noninterference_concurrent_composition/</guid>
<description></description>
</item>
<item>
<title>Noninterference_CSP</title>
<link>/theories/noninterference_csp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/noninterference_csp/</guid>
<description></description>
</item>
<item>
<title>Noninterference_Generic_Unwinding</title>
<link>/theories/noninterference_generic_unwinding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/noninterference_generic_unwinding/</guid>
<description></description>
</item>
<item>
<title>Noninterference_Inductive_Unwinding</title>
<link>/theories/noninterference_inductive_unwinding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/noninterference_inductive_unwinding/</guid>
<description></description>
</item>
<item>
<title>Noninterference_Ipurge_Unwinding</title>
<link>/theories/noninterference_ipurge_unwinding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/noninterference_ipurge_unwinding/</guid>
<description></description>
</item>
<item>
<title>Noninterference_Sequential_Composition</title>
<link>/theories/noninterference_sequential_composition/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/noninterference_sequential_composition/</guid>
<description></description>
</item>
<item>
<title>NormByEval</title>
<link>/theories/normbyeval/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/normbyeval/</guid>
<description></description>
</item>
<item>
<title>Nullstellensatz</title>
<link>/theories/nullstellensatz/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/nullstellensatz/</guid>
<description></description>
</item>
<item>
+ <title>Number_Theoretic_Transform</title>
+ <link>/theories/number_theoretic_transform/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/theories/number_theoretic_transform/</guid>
+ <description></description>
+ </item>
+
+ <item>
<title>Octonions</title>
<link>/theories/octonions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/octonions/</guid>
<description></description>
</item>
<item>
<title>Old_Datatype_Show</title>
<link>/theories/old_datatype_show/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/old_datatype_show/</guid>
<description></description>
</item>
<item>
<title>Open_Induction</title>
<link>/theories/open_induction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/open_induction/</guid>
<description></description>
</item>
<item>
<title>OpSets</title>
<link>/theories/opsets/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/opsets/</guid>
<description></description>
</item>
<item>
<title>Optics</title>
<link>/theories/optics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/optics/</guid>
<description></description>
</item>
<item>
<title>Optimal_BST</title>
<link>/theories/optimal_bst/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/optimal_bst/</guid>
<description></description>
</item>
<item>
<title>Orbit_Stabiliser</title>
<link>/theories/orbit_stabiliser/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/orbit_stabiliser/</guid>
<description></description>
</item>
<item>
<title>Order_Lattice_Props</title>
<link>/theories/order_lattice_props/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/order_lattice_props/</guid>
<description></description>
</item>
<item>
<title>Ordered_Resolution_Prover</title>
<link>/theories/ordered_resolution_prover/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ordered_resolution_prover/</guid>
<description></description>
</item>
<item>
<title>Ordinal</title>
<link>/theories/ordinal/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ordinal/</guid>
<description></description>
</item>
<item>
<title>Ordinal_Partitions</title>
<link>/theories/ordinal_partitions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ordinal_partitions/</guid>
<description></description>
</item>
<item>
<title>Ordinals_and_Cardinals</title>
<link>/theories/ordinals_and_cardinals/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ordinals_and_cardinals/</guid>
<description></description>
</item>
<item>
<title>Ordinary_Differential_Equations</title>
<link>/theories/ordinary_differential_equations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ordinary_differential_equations/</guid>
<description></description>
</item>
<item>
<title>PAC_Checker</title>
<link>/theories/pac_checker/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pac_checker/</guid>
<description></description>
</item>
<item>
<title>Package_logic</title>
<link>/theories/package_logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/package_logic/</guid>
<description></description>
</item>
<item>
<title>Padic_Ints</title>
<link>/theories/padic_ints/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/padic_ints/</guid>
<description></description>
</item>
<item>
<title>Pairing_Heap</title>
<link>/theories/pairing_heap/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pairing_heap/</guid>
<description></description>
</item>
<item>
<title>PAL</title>
<link>/theories/pal/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pal/</guid>
<description></description>
</item>
<item>
<title>Paraconsistency</title>
<link>/theories/paraconsistency/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/paraconsistency/</guid>
<description></description>
</item>
<item>
<title>Parity_Game</title>
<link>/theories/parity_game/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/parity_game/</guid>
<description></description>
</item>
<item>
<title>Partial_Function_MR</title>
<link>/theories/partial_function_mr/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/partial_function_mr/</guid>
<description></description>
</item>
<item>
<title>Partial_Order_Reduction</title>
<link>/theories/partial_order_reduction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/partial_order_reduction/</guid>
<description></description>
</item>
<item>
<title>Password_Authentication_Protocol</title>
<link>/theories/password_authentication_protocol/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/password_authentication_protocol/</guid>
<description></description>
</item>
<item>
<title>PCF</title>
<link>/theories/pcf/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pcf/</guid>
<description></description>
</item>
<item>
<title>Pell</title>
<link>/theories/pell/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pell/</guid>
<description></description>
</item>
<item>
<title>Perfect-Number-Thm</title>
<link>/theories/perfect-number-thm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/perfect-number-thm/</guid>
<description></description>
</item>
<item>
<title>Perron_Frobenius</title>
<link>/theories/perron_frobenius/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/perron_frobenius/</guid>
<description></description>
</item>
<item>
<title>pGCL</title>
<link>/theories/pgcl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pgcl/</guid>
<description></description>
</item>
<item>
<title>Physical_Quantities</title>
<link>/theories/physical_quantities/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/physical_quantities/</guid>
<description></description>
</item>
<item>
<title>Pi_Calculus</title>
<link>/theories/pi_calculus/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pi_calculus/</guid>
<description></description>
</item>
<item>
<title>Pi_Transcendental</title>
<link>/theories/pi_transcendental/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pi_transcendental/</guid>
<description></description>
</item>
<item>
<title>Planarity_Certificates</title>
<link>/theories/planarity_certificates/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/planarity_certificates/</guid>
<description></description>
</item>
<item>
<title>PLM</title>
<link>/theories/plm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/plm/</guid>
<description></description>
</item>
<item>
<title>Pluennecke_Ruzsa_Inequality</title>
<link>/theories/pluennecke_ruzsa_inequality/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pluennecke_ruzsa_inequality/</guid>
<description></description>
</item>
<item>
<title>Poincare_Bendixson</title>
<link>/theories/poincare_bendixson/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/poincare_bendixson/</guid>
<description></description>
</item>
<item>
<title>Poincare_Disc</title>
<link>/theories/poincare_disc/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/poincare_disc/</guid>
<description></description>
</item>
<item>
<title>Polynomial_Factorization</title>
<link>/theories/polynomial_factorization/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/polynomial_factorization/</guid>
<description></description>
</item>
<item>
<title>Polynomial_Interpolation</title>
<link>/theories/polynomial_interpolation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/polynomial_interpolation/</guid>
<description></description>
</item>
<item>
<title>Polynomials</title>
<link>/theories/polynomials/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/polynomials/</guid>
<description></description>
</item>
<item>
<title>Pop_Refinement</title>
<link>/theories/pop_refinement/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pop_refinement/</guid>
<description></description>
</item>
<item>
<title>POPLmark-deBruijn</title>
<link>/theories/poplmark-debruijn/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/poplmark-debruijn/</guid>
<description></description>
</item>
<item>
<title>Posix-Lexing</title>
<link>/theories/posix-lexing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/posix-lexing/</guid>
<description></description>
</item>
<item>
<title>Possibilistic_Noninterference</title>
<link>/theories/possibilistic_noninterference/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/possibilistic_noninterference/</guid>
<description></description>
</item>
<item>
<title>Power_Sum_Polynomials</title>
<link>/theories/power_sum_polynomials/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/power_sum_polynomials/</guid>
<description></description>
</item>
<item>
<title>Pratt_Certificate</title>
<link>/theories/pratt_certificate/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pratt_certificate/</guid>
<description></description>
</item>
<item>
<title>Prefix_Free_Code_Combinators</title>
<link>/theories/prefix_free_code_combinators/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/prefix_free_code_combinators/</guid>
<description></description>
</item>
<item>
<title>Presburger-Automata</title>
<link>/theories/presburger-automata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/presburger-automata/</guid>
<description></description>
</item>
<item>
<title>Prim_Dijkstra_Simple</title>
<link>/theories/prim_dijkstra_simple/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/prim_dijkstra_simple/</guid>
<description></description>
</item>
<item>
<title>Prime_Distribution_Elementary</title>
<link>/theories/prime_distribution_elementary/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/prime_distribution_elementary/</guid>
<description></description>
</item>
<item>
<title>Prime_Harmonic_Series</title>
<link>/theories/prime_harmonic_series/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/prime_harmonic_series/</guid>
<description></description>
</item>
<item>
<title>Prime_Number_Theorem</title>
<link>/theories/prime_number_theorem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/prime_number_theorem/</guid>
<description></description>
</item>
<item>
<title>Priority_Queue_Braun</title>
<link>/theories/priority_queue_braun/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/priority_queue_braun/</guid>
<description></description>
</item>
<item>
<title>Priority_Search_Trees</title>
<link>/theories/priority_search_trees/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/priority_search_trees/</guid>
<description></description>
</item>
<item>
<title>Probabilistic_Noninterference</title>
<link>/theories/probabilistic_noninterference/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/probabilistic_noninterference/</guid>
<description></description>
</item>
<item>
<title>Probabilistic_Prime_Tests</title>
<link>/theories/probabilistic_prime_tests/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/probabilistic_prime_tests/</guid>
<description></description>
</item>
<item>
<title>Probabilistic_System_Zoo</title>
<link>/theories/probabilistic_system_zoo/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/probabilistic_system_zoo/</guid>
<description></description>
</item>
<item>
<title>Probabilistic_Timed_Automata</title>
<link>/theories/probabilistic_timed_automata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/probabilistic_timed_automata/</guid>
<description></description>
</item>
<item>
<title>Probabilistic_While</title>
<link>/theories/probabilistic_while/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/probabilistic_while/</guid>
<description></description>
</item>
<item>
<title>Program-Conflict-Analysis</title>
<link>/theories/program-conflict-analysis/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/program-conflict-analysis/</guid>
<description></description>
</item>
<item>
<title>Progress_Tracking</title>
<link>/theories/progress_tracking/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/progress_tracking/</guid>
<description></description>
</item>
<item>
<title>Projective_Geometry</title>
<link>/theories/projective_geometry/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/projective_geometry/</guid>
<description></description>
</item>
<item>
<title>Projective_Measurements</title>
<link>/theories/projective_measurements/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/projective_measurements/</guid>
<description></description>
</item>
<item>
<title>Promela</title>
<link>/theories/promela/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/promela/</guid>
<description></description>
</item>
<item>
<title>Proof_Strategy_Language</title>
<link>/theories/proof_strategy_language/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/proof_strategy_language/</guid>
<description></description>
</item>
<item>
<title>Propositional_Proof_Systems</title>
<link>/theories/propositional_proof_systems/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/propositional_proof_systems/</guid>
<description></description>
</item>
<item>
<title>PropResPI</title>
<link>/theories/proprespi/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/proprespi/</guid>
<description></description>
</item>
<item>
<title>Prpu_Maxflow</title>
<link>/theories/prpu_maxflow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/prpu_maxflow/</guid>
<description></description>
</item>
<item>
<title>PSemigroupsConvolution</title>
<link>/theories/psemigroupsconvolution/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/psemigroupsconvolution/</guid>
<description></description>
</item>
<item>
<title>PseudoHoops</title>
<link>/theories/pseudohoops/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pseudohoops/</guid>
<description></description>
</item>
<item>
<title>Psi_Calculi</title>
<link>/theories/psi_calculi/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/psi_calculi/</guid>
<description></description>
</item>
<item>
<title>Ptolemys_Theorem</title>
<link>/theories/ptolemys_theorem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ptolemys_theorem/</guid>
<description></description>
</item>
<item>
<title>Public_Announcement_Logic</title>
<link>/theories/public_announcement_logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/public_announcement_logic/</guid>
<description></description>
</item>
<item>
<title>QHLProver</title>
<link>/theories/qhlprover/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/qhlprover/</guid>
<description></description>
</item>
<item>
<title>QR_Decomposition</title>
<link>/theories/qr_decomposition/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/qr_decomposition/</guid>
<description></description>
</item>
<item>
<title>Quantales</title>
<link>/theories/quantales/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/quantales/</guid>
<description></description>
</item>
<item>
<title>Quasi_Borel_Spaces</title>
<link>/theories/quasi_borel_spaces/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/quasi_borel_spaces/</guid>
<description></description>
</item>
<item>
<title>Quaternions</title>
<link>/theories/quaternions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/quaternions/</guid>
<description></description>
</item>
<item>
<title>Quick_Sort_Cost</title>
<link>/theories/quick_sort_cost/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/quick_sort_cost/</guid>
<description></description>
</item>
<item>
<title>Ramsey-Infinite</title>
<link>/theories/ramsey-infinite/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ramsey-infinite/</guid>
<description></description>
</item>
<item>
<title>Random_BSTs</title>
<link>/theories/random_bsts/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/random_bsts/</guid>
<description></description>
</item>
<item>
<title>Random_Graph_Subgraph_Threshold</title>
<link>/theories/random_graph_subgraph_threshold/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/random_graph_subgraph_threshold/</guid>
<description></description>
</item>
<item>
<title>Randomised_BSTs</title>
<link>/theories/randomised_bsts/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/randomised_bsts/</guid>
<description></description>
</item>
<item>
<title>Randomised_Social_Choice</title>
<link>/theories/randomised_social_choice/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/randomised_social_choice/</guid>
<description></description>
</item>
<item>
<title>Rank_Nullity_Theorem</title>
<link>/theories/rank_nullity_theorem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/rank_nullity_theorem/</guid>
<description></description>
</item>
<item>
<title>Real_Impl</title>
<link>/theories/real_impl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/real_impl/</guid>
<description></description>
</item>
<item>
<title>Real_Power</title>
<link>/theories/real_power/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/real_power/</guid>
<description></description>
</item>
<item>
<title>Real_Time_Deque</title>
<link>/theories/real_time_deque/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/real_time_deque/</guid>
<description></description>
</item>
<item>
<title>Recursion-Addition</title>
<link>/theories/recursion-addition/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/recursion-addition/</guid>
<description></description>
</item>
<item>
<title>Recursion-Theory-I</title>
<link>/theories/recursion-theory-i/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/recursion-theory-i/</guid>
<description></description>
</item>
<item>
<title>Refine_Imperative_HOL</title>
<link>/theories/refine_imperative_hol/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/refine_imperative_hol/</guid>
<description></description>
</item>
<item>
<title>Refine_Monadic</title>
<link>/theories/refine_monadic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/refine_monadic/</guid>
<description></description>
</item>
<item>
<title>RefinementReactive</title>
<link>/theories/refinementreactive/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/refinementreactive/</guid>
<description></description>
</item>
<item>
<title>Regex_Equivalence</title>
<link>/theories/regex_equivalence/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/regex_equivalence/</guid>
<description></description>
</item>
<item>
<title>Registers</title>
<link>/theories/registers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/registers/</guid>
<description></description>
</item>
<item>
<title>Regression_Test_Selection</title>
<link>/theories/regression_test_selection/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/regression_test_selection/</guid>
<description></description>
</item>
<item>
<title>Regular-Sets</title>
<link>/theories/regular-sets/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/regular-sets/</guid>
<description></description>
</item>
<item>
<title>Regular_Algebras</title>
<link>/theories/regular_algebras/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/regular_algebras/</guid>
<description></description>
</item>
<item>
<title>Regular_Tree_Relations</title>
<link>/theories/regular_tree_relations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/regular_tree_relations/</guid>
<description></description>
</item>
<item>
<title>Relation_Algebra</title>
<link>/theories/relation_algebra/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/relation_algebra/</guid>
<description></description>
</item>
<item>
<title>Relational-Incorrectness-Logic</title>
<link>/theories/relational-incorrectness-logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/relational-incorrectness-logic/</guid>
<description></description>
</item>
<item>
<title>Relational_Disjoint_Set_Forests</title>
<link>/theories/relational_disjoint_set_forests/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/relational_disjoint_set_forests/</guid>
<description></description>
</item>
<item>
<title>Relational_Forests</title>
<link>/theories/relational_forests/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/relational_forests/</guid>
<description></description>
</item>
<item>
<title>Relational_Method</title>
<link>/theories/relational_method/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/relational_method/</guid>
<description></description>
</item>
<item>
<title>Relational_Minimum_Spanning_Trees</title>
<link>/theories/relational_minimum_spanning_trees/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/relational_minimum_spanning_trees/</guid>
<description></description>
</item>
<item>
<title>Relational_Paths</title>
<link>/theories/relational_paths/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/relational_paths/</guid>
<description></description>
</item>
<item>
<title>Rep_Fin_Groups</title>
<link>/theories/rep_fin_groups/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/rep_fin_groups/</guid>
<description></description>
</item>
<item>
<title>Residuated_Lattices</title>
<link>/theories/residuated_lattices/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/residuated_lattices/</guid>
<description></description>
</item>
<item>
<title>ResiduatedTransitionSystem</title>
<link>/theories/residuatedtransitionsystem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/residuatedtransitionsystem/</guid>
<description></description>
</item>
<item>
<title>Resolution_FOL</title>
<link>/theories/resolution_fol/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/resolution_fol/</guid>
<description></description>
</item>
<item>
<title>Rewrite_Properties_Reduction</title>
<link>/theories/rewrite_properties_reduction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/rewrite_properties_reduction/</guid>
<description></description>
</item>
<item>
<title>Rewriting_Z</title>
<link>/theories/rewriting_z/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/rewriting_z/</guid>
<description></description>
</item>
<item>
<title>Ribbon_Proofs</title>
<link>/theories/ribbon_proofs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ribbon_proofs/</guid>
<description></description>
</item>
<item>
<title>RIPEMD-160-SPARK</title>
<link>/theories/ripemd-160-spark/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ripemd-160-spark/</guid>
<description></description>
</item>
<item>
<title>Robbins-Conjecture</title>
<link>/theories/robbins-conjecture/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/robbins-conjecture/</guid>
<description></description>
</item>
<item>
<title>ROBDD</title>
<link>/theories/robdd/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/robdd/</guid>
<description></description>
</item>
<item>
<title>Robinson_Arithmetic</title>
<link>/theories/robinson_arithmetic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/robinson_arithmetic/</guid>
<description></description>
</item>
<item>
<title>Root_Balanced_Tree</title>
<link>/theories/root_balanced_tree/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/root_balanced_tree/</guid>
<description></description>
</item>
<item>
<title>Roth_Arithmetic_Progressions</title>
<link>/theories/roth_arithmetic_progressions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/roth_arithmetic_progressions/</guid>
<description></description>
</item>
<item>
<title>Routing</title>
<link>/theories/routing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/routing/</guid>
<description></description>
</item>
<item>
<title>Roy_Floyd_Warshall</title>
<link>/theories/roy_floyd_warshall/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/roy_floyd_warshall/</guid>
<description></description>
</item>
<item>
<title>RSAPSS</title>
<link>/theories/rsapss/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/rsapss/</guid>
<description></description>
</item>
<item>
<title>Safe_Distance</title>
<link>/theories/safe_distance/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/safe_distance/</guid>
<description></description>
</item>
<item>
<title>Safe_OCL</title>
<link>/theories/safe_ocl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/safe_ocl/</guid>
<description></description>
</item>
<item>
<title>SATSolverVerification</title>
<link>/theories/satsolververification/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/satsolververification/</guid>
<description></description>
</item>
<item>
<title>Saturation_Framework</title>
<link>/theories/saturation_framework/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/saturation_framework/</guid>
<description></description>
</item>
<item>
<title>Saturation_Framework_Extensions</title>
<link>/theories/saturation_framework_extensions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/saturation_framework_extensions/</guid>
<description></description>
</item>
<item>
<title>SC_DOM_Components</title>
<link>/theories/sc_dom_components/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sc_dom_components/</guid>
<description></description>
</item>
<item>
<title>Schutz_Spacetime</title>
<link>/theories/schutz_spacetime/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/schutz_spacetime/</guid>
<description></description>
</item>
<item>
<title>SDS_Impossibility</title>
<link>/theories/sds_impossibility/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sds_impossibility/</guid>
<description></description>
</item>
<item>
<title>Search the Archive</title>
<link>/search/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/search/</guid>
<description></description>
</item>
<item>
<title>Secondary_Sylow</title>
<link>/theories/secondary_sylow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/secondary_sylow/</guid>
<description></description>
</item>
<item>
<title>Security_Protocol_Refinement</title>
<link>/theories/security_protocol_refinement/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/security_protocol_refinement/</guid>
<description></description>
</item>
<item>
<title>Selection_Heap_Sort</title>
<link>/theories/selection_heap_sort/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/selection_heap_sort/</guid>
<description></description>
</item>
<item>
<title>SenSocialChoice</title>
<link>/theories/sensocialchoice/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sensocialchoice/</guid>
<description></description>
</item>
<item>
<title>Separata</title>
<link>/theories/separata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/separata/</guid>
<description></description>
</item>
<item>
<title>Separation_Algebra</title>
<link>/theories/separation_algebra/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/separation_algebra/</guid>
<description></description>
</item>
<item>
<title>Separation_Logic_Imperative_HOL</title>
<link>/theories/separation_logic_imperative_hol/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/separation_logic_imperative_hol/</guid>
<description></description>
</item>
<item>
<title>Sepref_Basic</title>
<link>/theories/sepref_basic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sepref_basic/</guid>
<description></description>
</item>
<item>
<title>Sepref_IICF</title>
<link>/theories/sepref_iicf/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sepref_iicf/</guid>
<description></description>
</item>
<item>
<title>Sepref_Prereq</title>
<link>/theories/sepref_prereq/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sepref_prereq/</guid>
<description></description>
</item>
<item>
<title>SequentInvertibility</title>
<link>/theories/sequentinvertibility/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sequentinvertibility/</guid>
<description></description>
</item>
<item>
<title>Shadow_DOM</title>
<link>/theories/shadow_dom/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/shadow_dom/</guid>
<description></description>
</item>
<item>
<title>Shadow_SC_DOM</title>
<link>/theories/shadow_sc_dom/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/shadow_sc_dom/</guid>
<description></description>
</item>
<item>
<title>Shivers-CFA</title>
<link>/theories/shivers-cfa/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/shivers-cfa/</guid>
<description></description>
</item>
<item>
<title>ShortestPath</title>
<link>/theories/shortestpath/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/shortestpath/</guid>
<description></description>
</item>
<item>
<title>Show</title>
<link>/theories/show/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/show/</guid>
<description></description>
</item>
<item>
<title>SIFPL</title>
<link>/theories/sifpl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sifpl/</guid>
<description></description>
</item>
<item>
<title>SIFUM_Type_Systems</title>
<link>/theories/sifum_type_systems/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sifum_type_systems/</guid>
<description></description>
</item>
<item>
<title>Sigma_Commit_Crypto</title>
<link>/theories/sigma_commit_crypto/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sigma_commit_crypto/</guid>
<description></description>
</item>
<item>
<title>Signature_Groebner</title>
<link>/theories/signature_groebner/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/signature_groebner/</guid>
<description></description>
</item>
<item>
<title>Simpl</title>
<link>/theories/simpl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/simpl/</guid>
<description></description>
</item>
<item>
<title>Simple_Firewall</title>
<link>/theories/simple_firewall/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/simple_firewall/</guid>
<description></description>
</item>
<item>
<title>Simplex</title>
<link>/theories/simplex/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/simplex/</guid>
<description></description>
</item>
<item>
<title>Simplicial_complexes_and_boolean_functions</title>
<link>/theories/simplicial_complexes_and_boolean_functions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/simplicial_complexes_and_boolean_functions/</guid>
<description></description>
</item>
<item>
<title>SimplifiedOntologicalArgument</title>
<link>/theories/simplifiedontologicalargument/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/simplifiedontologicalargument/</guid>
<description></description>
</item>
<item>
<title>Skew_Heap</title>
<link>/theories/skew_heap/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/skew_heap/</guid>
<description></description>
</item>
<item>
<title>Skip_Lists</title>
<link>/theories/skip_lists/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/skip_lists/</guid>
<description></description>
</item>
<item>
<title>Slicing</title>
<link>/theories/slicing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/slicing/</guid>
<description></description>
</item>
<item>
<title>Sliding_Window_Algorithm</title>
<link>/theories/sliding_window_algorithm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sliding_window_algorithm/</guid>
<description></description>
</item>
<item>
<title>SM</title>
<link>/theories/sm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sm/</guid>
<description></description>
</item>
<item>
<title>SM_Base</title>
<link>/theories/sm_base/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sm_base/</guid>
<description></description>
</item>
<item>
<title>Smith_Normal_Form</title>
<link>/theories/smith_normal_form/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/smith_normal_form/</guid>
<description></description>
</item>
<item>
<title>Smooth_Manifolds</title>
<link>/theories/smooth_manifolds/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/smooth_manifolds/</guid>
<description></description>
</item>
<item>
<title>Solidity</title>
<link>/theories/solidity/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/solidity/</guid>
<description></description>
</item>
<item>
<title>Sophomores_Dream</title>
<link>/theories/sophomores_dream/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sophomores_dream/</guid>
<description></description>
</item>
<item>
<title>Sort_Encodings</title>
<link>/theories/sort_encodings/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sort_encodings/</guid>
<description></description>
</item>
<item>
<title>Source_Coding_Theorem</title>
<link>/theories/source_coding_theorem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/source_coding_theorem/</guid>
<description></description>
</item>
<item>
<title>SPARCv8</title>
<link>/theories/sparcv8/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sparcv8/</guid>
<description></description>
</item>
<item>
<title>SpecCheck</title>
<link>/theories/speccheck/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/speccheck/</guid>
<description></description>
</item>
<item>
<title>Special_Function_Bounds</title>
<link>/theories/special_function_bounds/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/special_function_bounds/</guid>
<description></description>
</item>
<item>
<title>Splay_Tree</title>
<link>/theories/splay_tree/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/splay_tree/</guid>
<description></description>
</item>
<item>
<title>Sqrt_Babylonian</title>
<link>/theories/sqrt_babylonian/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sqrt_babylonian/</guid>
<description></description>
</item>
<item>
<title>Stable_Matching</title>
<link>/theories/stable_matching/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stable_matching/</guid>
<description></description>
</item>
<item>
<title>Statecharts</title>
<link>/theories/statecharts/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/statecharts/</guid>
<description></description>
</item>
<item>
<title>Stateful_Protocol_Composition_and_Typing</title>
<link>/theories/stateful_protocol_composition_and_typing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stateful_protocol_composition_and_typing/</guid>
<description></description>
</item>
<item>
<title>Statistics</title>
<link>/statistics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/statistics/</guid>
-<<<<<<< working copy
- <description>690 Entries 424 Authors ~213,500 Lemmas ~3,459,300 Lines of Code Most used AFP articles: Name Used by ? articles 1. List-Index 21 2. Collections 18 3. Show 16 4. Coinductive 12 5. Deriving 12 6. Jordan_Normal_Form 12 7. Polynomial_Factorization 12 8. Regular-Sets 12 9.</description>
-||||||| common ancestor
- <description>690 Entries 424 Authors ~212,500 Lemmas ~3,436,100 Lines of Code Most used AFP articles: Name Used by ? articles 1. List-Index 21 2. Collections 18 3. Show 16 4. Coinductive 12 5. Deriving 12 6. Jordan_Normal_Form 12 7. Polynomial_Factorization 12 8. Regular-Sets 12 9.</description>
-=======
- <description>695 Entries 424 Authors ~214,300 Lemmas ~3,512,300 Lines of Code Most used AFP articles: Name Used by ? articles 1. List-Index 21 2. Collections 18 3. Show 16 4. Coinductive 12 5. Deriving 12 6. Jordan_Normal_Form 12 7. Polynomial_Factorization 12 8. Regular-Sets 12 9.</description>
->>>>>>> merge rev
+ <description>699 Entries 425 Authors ~220,200 Lemmas ~3,582,600 Lines of Code Most used AFP articles: Name Used by ? articles 1. List-Index 21 2. Collections 18 3. Show 16 4. Coinductive 12 5. Deriving 12 6. Jordan_Normal_Form 12 7. Polynomial_Factorization 12 8. Regular-Sets 12 9.</description>
</item>
<item>
<title>Stellar_Quorums</title>
<link>/theories/stellar_quorums/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stellar_quorums/</guid>
<description></description>
</item>
<item>
<title>Stern_Brocot</title>
<link>/theories/stern_brocot/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stern_brocot/</guid>
<description></description>
</item>
<item>
<title>Stewart_Apollonius</title>
<link>/theories/stewart_apollonius/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stewart_apollonius/</guid>
<description></description>
</item>
<item>
<title>Stirling_Formula</title>
<link>/theories/stirling_formula/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stirling_formula/</guid>
<description></description>
</item>
<item>
<title>Stochastic_Matrices</title>
<link>/theories/stochastic_matrices/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stochastic_matrices/</guid>
<description></description>
</item>
<item>
<title>Stone_Algebras</title>
<link>/theories/stone_algebras/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stone_algebras/</guid>
<description></description>
</item>
<item>
<title>Stone_Kleene_Relation_Algebras</title>
<link>/theories/stone_kleene_relation_algebras/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stone_kleene_relation_algebras/</guid>
<description></description>
</item>
<item>
<title>Stone_Relation_Algebras</title>
<link>/theories/stone_relation_algebras/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stone_relation_algebras/</guid>
<description></description>
</item>
<item>
<title>Store_Buffer_Reduction</title>
<link>/theories/store_buffer_reduction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/store_buffer_reduction/</guid>
<description></description>
</item>
<item>
<title>Stream-Fusion</title>
<link>/theories/stream-fusion/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stream-fusion/</guid>
<description></description>
</item>
<item>
<title>Stream_Fusion_Code</title>
<link>/theories/stream_fusion_code/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stream_fusion_code/</guid>
<description></description>
</item>
<item>
<title>Strong_Security</title>
<link>/theories/strong_security/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/strong_security/</guid>
<description></description>
</item>
<item>
<title>Sturm_Sequences</title>
<link>/theories/sturm_sequences/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sturm_sequences/</guid>
<description></description>
</item>
<item>
<title>Sturm_Tarski</title>
<link>/theories/sturm_tarski/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sturm_tarski/</guid>
<description></description>
</item>
<item>
<title>Stuttering_Equivalence</title>
<link>/theories/stuttering_equivalence/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stuttering_equivalence/</guid>
<description></description>
</item>
<item>
<title>Subresultants</title>
<link>/theories/subresultants/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/subresultants/</guid>
<description></description>
</item>
<item>
<title>Subset_Boolean_Algebras</title>
<link>/theories/subset_boolean_algebras/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/subset_boolean_algebras/</guid>
<description></description>
</item>
<item>
<title>SumSquares</title>
<link>/theories/sumsquares/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sumsquares/</guid>
<description></description>
</item>
<item>
<title>Sunflowers</title>
<link>/theories/sunflowers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sunflowers/</guid>
<description></description>
</item>
<item>
<title>SuperCalc</title>
<link>/theories/supercalc/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/supercalc/</guid>
<description></description>
</item>
<item>
<title>Surprise_Paradox</title>
<link>/theories/surprise_paradox/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/surprise_paradox/</guid>
<description></description>
</item>
<item>
<title>Symmetric_Polynomials</title>
<link>/theories/symmetric_polynomials/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/symmetric_polynomials/</guid>
<description></description>
</item>
<item>
<title>Syntax_Independent_Logic</title>
<link>/theories/syntax_independent_logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/syntax_independent_logic/</guid>
<description></description>
</item>
<item>
<title>Szemeredi_Regularity</title>
<link>/theories/szemeredi_regularity/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/szemeredi_regularity/</guid>
<description></description>
</item>
<item>
<title>Szpilrajn</title>
<link>/theories/szpilrajn/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/szpilrajn/</guid>
<description></description>
</item>
<item>
<title>Tail_Recursive_Functions</title>
<link>/theories/tail_recursive_functions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/tail_recursive_functions/</guid>
<description></description>
</item>
<item>
<title>Tarskis_Geometry</title>
<link>/theories/tarskis_geometry/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/tarskis_geometry/</guid>
<description></description>
</item>
<item>
<title>Taylor_Models</title>
<link>/theories/taylor_models/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/taylor_models/</guid>
<description></description>
</item>
<item>
<title>TESL_Language</title>
<link>/theories/tesl_language/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/tesl_language/</guid>
<description></description>
</item>
<item>
<title>Three_Circles</title>
<link>/theories/three_circles/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/three_circles/</guid>
<description></description>
</item>
<item>
<title>Timed_Automata</title>
<link>/theories/timed_automata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/timed_automata/</guid>
<description></description>
</item>
<item>
<title>TLA</title>
<link>/theories/tla/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/tla/</guid>
<description></description>
</item>
<item>
<title>Topological_Semantics</title>
<link>/theories/topological_semantics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/topological_semantics/</guid>
<description></description>
</item>
<item>
<title>Topology</title>
<link>/theories/topology/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/topology/</guid>
<description></description>
</item>
<item>
<title>TortoiseHare</title>
<link>/theories/tortoisehare/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/tortoisehare/</guid>
<description></description>
</item>
<item>
<title>Transcendence_Series_Hancl_Rucki</title>
<link>/theories/transcendence_series_hancl_rucki/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/transcendence_series_hancl_rucki/</guid>
<description></description>
</item>
<item>
<title>Transformer_Semantics</title>
<link>/theories/transformer_semantics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/transformer_semantics/</guid>
<description></description>
</item>
<item>
<title>Transition_Systems_and_Automata</title>
<link>/theories/transition_systems_and_automata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/transition_systems_and_automata/</guid>
<description></description>
</item>
<item>
<title>Transitive-Closure</title>
<link>/theories/transitive-closure/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/transitive-closure/</guid>
<description></description>
</item>
<item>
<title>Transitive-Closure-II</title>
<link>/theories/transitive-closure-ii/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/transitive-closure-ii/</guid>
<description></description>
</item>
<item>
<title>Transitive_Models</title>
<link>/theories/transitive_models/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/transitive_models/</guid>
<description></description>
</item>
<item>
<title>Treaps</title>
<link>/theories/treaps/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/treaps/</guid>
<description></description>
</item>
<item>
<title>Tree-Automata</title>
<link>/theories/tree-automata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/tree-automata/</guid>
<description></description>
</item>
<item>
<title>Tree_Decomposition</title>
<link>/theories/tree_decomposition/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/tree_decomposition/</guid>
<description></description>
</item>
<item>
<title>Triangle</title>
<link>/theories/triangle/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/triangle/</guid>
<description></description>
</item>
<item>
<title>Trie</title>
<link>/theories/trie/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/trie/</guid>
<description></description>
</item>
<item>
<title>Twelvefold_Way</title>
<link>/theories/twelvefold_way/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/twelvefold_way/</guid>
<description></description>
</item>
<item>
<title>Tycon</title>
<link>/theories/tycon/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/tycon/</guid>
<description></description>
</item>
<item>
<title>Types_Tableaus_and_Goedels_God</title>
<link>/theories/types_tableaus_and_goedels_god/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/types_tableaus_and_goedels_god/</guid>
<description></description>
</item>
<item>
<title>Types_To_Sets_Extension</title>
<link>/theories/types_to_sets_extension/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/types_to_sets_extension/</guid>
<description></description>
</item>
<item>
<title>Universal_Hash_Families</title>
<link>/theories/universal_hash_families/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/universal_hash_families/</guid>
<description></description>
</item>
<item>
<title>Universal_Turing_Machine</title>
<link>/theories/universal_turing_machine/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/universal_turing_machine/</guid>
<description></description>
</item>
<item>
<title>UpDown_Scheme</title>
<link>/theories/updown_scheme/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/updown_scheme/</guid>
<description></description>
</item>
<item>
<title>UPF</title>
<link>/theories/upf/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/upf/</guid>
<description></description>
</item>
<item>
<title>UPF_Firewall</title>
<link>/theories/upf_firewall/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/upf_firewall/</guid>
<description></description>
</item>
<item>
<title>UTP</title>
<link>/theories/utp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/utp/</guid>
<description></description>
</item>
<item>
<title>UTP-Toolkit</title>
<link>/theories/utp-toolkit/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/utp-toolkit/</guid>
<description></description>
</item>
<item>
<title>Valuation</title>
<link>/theories/valuation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/valuation/</guid>
<description></description>
</item>
<item>
<title>Van_der_Waerden</title>
<link>/theories/van_der_waerden/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/van_der_waerden/</guid>
<description></description>
</item>
<item>
<title>Van_Emde_Boas_Trees</title>
<link>/theories/van_emde_boas_trees/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/van_emde_boas_trees/</guid>
<description></description>
</item>
<item>
<title>VectorSpace</title>
<link>/theories/vectorspace/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/vectorspace/</guid>
<description></description>
</item>
<item>
<title>VeriComp</title>
<link>/theories/vericomp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/vericomp/</guid>
<description></description>
</item>
<item>
<title>Verified-Prover</title>
<link>/theories/verified-prover/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/verified-prover/</guid>
<description></description>
</item>
<item>
<title>Verified_SAT_Based_AI_Planning</title>
<link>/theories/verified_sat_based_ai_planning/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/verified_sat_based_ai_planning/</guid>
<description></description>
</item>
<item>
<title>VerifyThis2018</title>
<link>/theories/verifythis2018/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/verifythis2018/</guid>
<description></description>
</item>
<item>
<title>VerifyThis2019</title>
<link>/theories/verifythis2019/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/verifythis2019/</guid>
<description></description>
</item>
<item>
<title>Vickrey_Clarke_Groves</title>
<link>/theories/vickrey_clarke_groves/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/vickrey_clarke_groves/</guid>
<description></description>
</item>
<item>
<title>Virtual_Substitution</title>
<link>/theories/virtual_substitution/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/virtual_substitution/</guid>
<description></description>
</item>
<item>
<title>VolpanoSmith</title>
<link>/theories/volpanosmith/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/volpanosmith/</guid>
<description></description>
</item>
<item>
<title>VYDRA_MDL</title>
<link>/theories/vydra_mdl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/vydra_mdl/</guid>
<description></description>
</item>
<item>
<title>WebAssembly</title>
<link>/theories/webassembly/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/webassembly/</guid>
<description></description>
</item>
<item>
<title>Weight_Balanced_Trees</title>
<link>/theories/weight_balanced_trees/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/weight_balanced_trees/</guid>
<description></description>
</item>
<item>
<title>Weighted_Arithmetic_Geometric_Mean</title>
<link>/theories/weighted_arithmetic_geometric_mean/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/weighted_arithmetic_geometric_mean/</guid>
<description></description>
</item>
<item>
<title>Weighted_Path_Order</title>
<link>/theories/weighted_path_order/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/weighted_path_order/</guid>
<description></description>
</item>
<item>
<title>Well_Quasi_Orders</title>
<link>/theories/well_quasi_orders/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/well_quasi_orders/</guid>
<description></description>
</item>
<item>
<title>Wetzels_Problem</title>
<link>/theories/wetzels_problem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/wetzels_problem/</guid>
<description></description>
</item>
<item>
<title>WHATandWHERE_Security</title>
<link>/theories/whatandwhere_security/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/whatandwhere_security/</guid>
<description></description>
</item>
<item>
<title>Winding_Number_Eval</title>
<link>/theories/winding_number_eval/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/winding_number_eval/</guid>
<description></description>
</item>
<item>
<title>WOOT_Strong_Eventual_Consistency</title>
<link>/theories/woot_strong_eventual_consistency/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/woot_strong_eventual_consistency/</guid>
<description></description>
</item>
<item>
<title>Word_Lib</title>
<link>/theories/word_lib/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/word_lib/</guid>
<description></description>
</item>
<item>
<title>WorkerWrapper</title>
<link>/theories/workerwrapper/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/workerwrapper/</guid>
<description></description>
</item>
<item>
<title>X86_Semantics</title>
<link>/theories/x86_semantics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/x86_semantics/</guid>
<description></description>
</item>
<item>
<title>XML</title>
<link>/theories/xml/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/xml/</guid>
<description></description>
</item>
<item>
<title>Youngs_Inequality</title>
<link>/theories/youngs_inequality/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/youngs_inequality/</guid>
<description></description>
</item>
<item>
<title>Zeta_3_Irrational</title>
<link>/theories/zeta_3_irrational/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/zeta_3_irrational/</guid>
<description></description>
</item>
<item>
<title>Zeta_Function</title>
<link>/theories/zeta_function/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/zeta_function/</guid>
<description></description>
</item>
<item>
<title>ZFC_in_HOL</title>
<link>/theories/zfc_in_hol/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/zfc_in_hol/</guid>
<description></description>
</item>
</channel>
</rss>
diff --git a/web/sitemap.xml b/web/sitemap.xml
--- a/web/sitemap.xml
+++ b/web/sitemap.xml
@@ -1,5797 +1,5826 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>/</loc>
- <lastmod>2022-08-15T00:00:00+00:00</lastmod>
+ <lastmod>2022-09-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/</loc>
- <lastmod>2022-08-15T00:00:00+00:00</lastmod>
+ <lastmod>2022-09-08T00:00:00+00:00</lastmod>
+ </url><url>
+ <loc>/dependencies/berlekamp_zassenhaus/</loc>
+ <lastmod>2022-09-08T00:00:00+00:00</lastmod>
+ </url><url>
+ <loc>/entries/CRYSTALS-Kyber.html</loc>
+ <lastmod>2022-09-08T00:00:00+00:00</lastmod>
+ </url><url>
+ <loc>/dependencies/</loc>
+ <lastmod>2022-09-08T00:00:00+00:00</lastmod>
+ </url><url>
+ <loc>/entries/</loc>
+ <lastmod>2022-09-08T00:00:00+00:00</lastmod>
+ </url><url>
+ <loc>/authors/kreuzer/</loc>
+ <lastmod>2022-09-08T00:00:00+00:00</lastmod>
+ </url><url>
+ <loc>/dependencies/number_theoretic_transform/</loc>
+ <lastmod>2022-09-08T00:00:00+00:00</lastmod>
+ </url><url>
+ <loc>/authors/argyraki/</loc>
+ <lastmod>2022-09-02T00:00:00+00:00</lastmod>
+ </url><url>
+ <loc>/dependencies/bernoulli/</loc>
+ <lastmod>2022-09-02T00:00:00+00:00</lastmod>
+ </url><url>
+ <loc>/authors/eberl/</loc>
+ <lastmod>2022-09-02T00:00:00+00:00</lastmod>
+ </url><url>
+ <loc>/dependencies/jacobson_basic_algebra/</loc>
+ <lastmod>2022-09-02T00:00:00+00:00</lastmod>
+ </url><url>
+ <loc>/entries/Khovanskii_Theorem.html</loc>
+ <lastmod>2022-09-02T00:00:00+00:00</lastmod>
+ </url><url>
+ <loc>/authors/paulson/</loc>
+ <lastmod>2022-09-02T00:00:00+00:00</lastmod>
+ </url><url>
+ <loc>/dependencies/pluennecke_ruzsa_inequality/</loc>
+ <lastmod>2022-09-02T00:00:00+00:00</lastmod>
+ </url><url>
+ <loc>/authors/sulejmani/</loc>
+ <lastmod>2022-09-02T00:00:00+00:00</lastmod>
+ </url><url>
+ <loc>/entries/Hales_Jewett.html</loc>
+ <lastmod>2022-09-02T00:00:00+00:00</lastmod>
+ </url><url>
+ <loc>/authors/ammer/</loc>
+ <lastmod>2022-08-18T00:00:00+00:00</lastmod>
+ </url><url>
+ <loc>/entries/Number_Theoretic_Transform.html</loc>
+ <lastmod>2022-08-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/bortin/</loc>
<lastmod>2022-08-15T00:00:00+00:00</lastmod>
</url><url>
- <loc>/entries/</loc>
- <lastmod>2022-08-15T00:00:00+00:00</lastmod>
- </url><url>
<loc>/entries/Involutions2Squares.html</loc>
<lastmod>2022-08-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/containers/</loc>
<lastmod>2022-08-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/datatype_order_generator/</loc>
<lastmod>2022-08-09T00:00:00+00:00</lastmod>
</url><url>
- <loc>/dependencies/</loc>
- <lastmod>2022-08-09T00:00:00+00:00</lastmod>
- </url><url>
<loc>/dependencies/native_word/</loc>
<lastmod>2022-08-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/sachtleben/</loc>
<lastmod>2022-08-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/FSM_Tests.html</loc>
<lastmod>2022-08-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/brucker/</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Nano_JSON.html</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/topics/tools/</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/topics/</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/echenim/</loc>
<lastmod>2022-07-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Solidity.html</loc>
<lastmod>2022-07-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/marmsoler/</loc>
<lastmod>2022-07-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/projective_measurements/</loc>
<lastmod>2022-07-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Commuting_Hermitian.html</loc>
<lastmod>2022-07-18T00:00:00+00:00</lastmod>
</url><url>
- <loc>/authors/eberl/</loc>
- <lastmod>2022-07-11T00:00:00+00:00</lastmod>
- </url><url>
<loc>/entries/Weighted_Arithmetic_Geometric_Mean.html</loc>
<lastmod>2022-07-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/IMP_Compiler_Reuse.html</loc>
<lastmod>2022-07-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/noce/</loc>
<lastmod>2022-07-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/nipkow/</loc>
<lastmod>2022-06-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Real_Time_Deque.html</loc>
<lastmod>2022-06-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/toth/</loc>
<lastmod>2022-06-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Boolos_Curious_Inference.html</loc>
<lastmod>2022-06-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/ketland/</loc>
<lastmod>2022-06-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/dirichlet_series/</loc>
<lastmod>2022-06-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Finite_Fields.html</loc>
<lastmod>2022-06-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/IsaNet.html</loc>
<lastmod>2022-06-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/karayel/</loc>
<lastmod>2022-06-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/klenze/</loc>
<lastmod>2022-06-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/sprenger/</loc>
<lastmod>2022-06-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/bayer/</loc>
<lastmod>2022-06-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/david/</loc>
<lastmod>2022-06-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/digit_expansions/</loc>
<lastmod>2022-06-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/DPRM_Theorem.html</loc>
<lastmod>2022-06-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/lucas_theorem/</loc>
<lastmod>2022-06-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/matiyasevich/</loc>
<lastmod>2022-06-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/pal/</loc>
<lastmod>2022-06-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/schleicher/</loc>
<lastmod>2022-06-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/stock/</loc>
<lastmod>2022-06-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/lochmann/</loc>
<lastmod>2022-06-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Rewrite_Properties_Reduction.html</loc>
<lastmod>2022-06-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/regular_tree_relations/</loc>
<lastmod>2022-06-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Combinable_Wands.html</loc>
<lastmod>2022-05-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/dardinier/</loc>
<lastmod>2022-05-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/package_logic/</loc>
<lastmod>2022-05-30T00:00:00+00:00</lastmod>
</url><url>
- <loc>/authors/argyraki/</loc>
- <lastmod>2022-05-26T00:00:00+00:00</lastmod>
- </url><url>
- <loc>/dependencies/jacobson_basic_algebra/</loc>
- <lastmod>2022-05-26T00:00:00+00:00</lastmod>
- </url><url>
- <loc>/authors/paulson/</loc>
- <lastmod>2022-05-26T00:00:00+00:00</lastmod>
- </url><url>
<loc>/entries/Pluennecke_Ruzsa_Inequality.html</loc>
<lastmod>2022-05-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Package_logic.html</loc>
<lastmod>2022-05-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Clique_and_Monotone_Circuits.html</loc>
<lastmod>2022-05-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/stirling_formula/</loc>
<lastmod>2022-05-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/sunflowers/</loc>
<lastmod>2022-05-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/thiemann/</loc>
<lastmod>2022-05-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/benor_kozen_reif/</loc>
<lastmod>2022-04-21T00:00:00+00:00</lastmod>
</url><url>
- <loc>/dependencies/berlekamp_zassenhaus/</loc>
- <lastmod>2022-04-21T00:00:00+00:00</lastmod>
- </url><url>
<loc>/dependencies/design_theory/</loc>
<lastmod>2022-04-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/edmonds/</loc>
<lastmod>2022-04-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Fishers_Inequality.html</loc>
<lastmod>2022-04-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/groebner_bases/</loc>
<lastmod>2022-04-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/list-index/</loc>
<lastmod>2022-04-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/polynomial_factorization/</loc>
<lastmod>2022-04-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Digit_Expansions.html</loc>
<lastmod>2022-04-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/schmidinger/</loc>
<lastmod>2022-04-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Multiset_Ordering_NPC.html</loc>
<lastmod>2022-04-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/weighted_path_order/</loc>
<lastmod>2022-04-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Sophomores_Dream.html</loc>
<lastmod>2022-04-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Prefix_Free_Code_Combinators.html</loc>
<lastmod>2022-04-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/bertrands_postulate/</loc>
<lastmod>2022-04-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/equivalence_relation_enumeration/</loc>
<lastmod>2022-04-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Frequency_Moments.html</loc>
<lastmod>2022-04-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/interpolation_polynomials_hol_algebra/</loc>
<lastmod>2022-04-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/lp/</loc>
<lastmod>2022-04-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/median_method/</loc>
<lastmod>2022-04-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/prefix_free_code_combinators/</loc>
<lastmod>2022-04-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/universal_hash_families/</loc>
<lastmod>2022-04-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Dedekind_Real.html</loc>
<lastmod>2022-03-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/fleuriot/</loc>
<lastmod>2022-03-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Ackermanns_not_PR.html</loc>
<lastmod>2022-03-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/FOL_Seq_Calc3.html</loc>
<lastmod>2022-03-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/abstract_completeness/</loc>
<lastmod>2022-03-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/abstract_soundness/</loc>
<lastmod>2022-03-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/from/</loc>
<lastmod>2022-03-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Cotangent_PFD_Formula.html</loc>
<lastmod>2022-03-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/gunther/</loc>
<lastmod>2022-03-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/pagano/</loc>
<lastmod>2022-03-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/steinberg/</loc>
<lastmod>2022-03-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/terraf/</loc>
<lastmod>2022-03-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Independence_CH.html</loc>
<lastmod>2022-03-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/transitive_models/</loc>
<lastmod>2022-03-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/delta_system_lemma/</loc>
<lastmod>2022-03-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Transitive_Models.html</loc>
<lastmod>2022-03-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/ResiduatedTransitionSystem.html</loc>
<lastmod>2022-02-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/stark/</loc>
<lastmod>2022-02-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/finite_fields/</loc>
<lastmod>2022-02-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Universal_Hash_Families.html</loc>
<lastmod>2022-02-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Wetzels_Problem.html</loc>
<lastmod>2022-02-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/zfc_in_hol/</loc>
<lastmod>2022-02-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Eval_FO.html</loc>
<lastmod>2022-02-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/raszyk/</loc>
<lastmod>2022-02-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/VYDRA_MDL.html</loc>
<lastmod>2022-02-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/card_equiv_relations/</loc>
<lastmod>2022-02-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Equivalence_Relation_Enumeration.html</loc>
<lastmod>2022-02-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/LP_Duality.html</loc>
<lastmod>2022-02-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/hirata/</loc>
<lastmod>2022-02-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/linear_inequalities/</loc>
<lastmod>2022-02-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/minamide/</loc>
<lastmod>2022-02-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Quasi_Borel_Spaces.html</loc>
<lastmod>2022-02-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/sato/</loc>
<lastmod>2022-02-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/felgenhauer/</loc>
<lastmod>2022-02-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/FO_Theory_Rewriting.html</loc>
<lastmod>2022-02-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/fol-fitting/</loc>
<lastmod>2022-02-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/FOL_Seq_Calc2.html</loc>
<lastmod>2022-01-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/collections/</loc>
<lastmod>2022-01-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/fol_seq_calc1/</loc>
<lastmod>2022-01-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/jacobsen/</loc>
<lastmod>2022-01-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Youngs_Inequality.html</loc>
<lastmod>2022-01-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Interpolation_Polynomials_HOL_Algebra.html</loc>
<lastmod>2022-01-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Median_Method.html</loc>
<lastmod>2022-01-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Actuarial_Mathematics.html</loc>
<lastmod>2022-01-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/ito/</loc>
<lastmod>2022-01-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Irrationals_From_THEBOOK.html</loc>
<lastmod>2022-01-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Knights_Tour.html</loc>
<lastmod>2022-01-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/koller/</loc>
<lastmod>2022-01-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Hyperdual.html</loc>
<lastmod>2021-12-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/smola/</loc>
<lastmod>2021-12-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Gale_Shapley.html</loc>
<lastmod>2021-12-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/ergodic_theory/</loc>
<lastmod>2021-12-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/girth_chromatic/</loc>
<lastmod>2021-12-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/random_graph_subgraph_threshold/</loc>
<lastmod>2021-12-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Roth_Arithmetic_Progressions.html</loc>
<lastmod>2021-12-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/szemeredi_regularity/</loc>
<lastmod>2021-12-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/abdulaziz/</loc>
<lastmod>2021-12-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/gauss_jordan/</loc>
<lastmod>2021-12-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/MDP-Rewards.html</loc>
<lastmod>2021-12-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/mdp-rewards/</loc>
<lastmod>2021-12-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/schaeffeler/</loc>
<lastmod>2021-12-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/MDP-Algorithms.html</loc>
<lastmod>2021-12-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/knuth_bendix_order/</loc>
<lastmod>2021-12-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Regular_Tree_Relations.html</loc>
<lastmod>2021-12-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/sternagel/</loc>
<lastmod>2021-12-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/sternagelt/</loc>
<lastmod>2021-12-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/aransay/</loc>
<lastmod>2021-11-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/campo/</loc>
<lastmod>2021-11-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/jordan_normal_form/</loc>
<lastmod>2021-11-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/michaelis/</loc>
<lastmod>2021-11-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/robdd/</loc>
<lastmod>2021-11-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/sepref_prereq/</loc>
<lastmod>2021-11-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Simplicial_complexes_and_boolean_functions.html</loc>
<lastmod>2021-11-29T00:00:00+00:00</lastmod>
</url><url>
- <loc>/authors/ammer/</loc>
- <lastmod>2021-11-23T00:00:00+00:00</lastmod>
- </url><url>
<loc>/dependencies/automatic_refinement/</loc>
<lastmod>2021-11-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/deriving/</loc>
<lastmod>2021-11-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/lammich/</loc>
<lastmod>2021-11-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Van_Emde_Boas_Trees.html</loc>
<lastmod>2021-11-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Foundation_of_geometry.html</loc>
<lastmod>2021-11-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/iwama/</loc>
<lastmod>2021-11-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/cousin/</loc>
<lastmod>2021-11-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/guiol/</loc>
<lastmod>2021-11-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Hahn_Jordan_Decomposition.html</loc>
<lastmod>2021-11-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/algebraic_numbers/</loc>
<lastmod>2021-11-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/PAL.html</loc>
<lastmod>2021-11-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/benzmueller/</loc>
<lastmod>2021-11-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/SimplifiedOntologicalArgument.html</loc>
<lastmod>2021-11-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Factor_Algebraic_Polynomial.html</loc>
<lastmod>2021-11-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/hermite_lindemann/</loc>
<lastmod>2021-11-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/polynomials/</loc>
<lastmod>2021-11-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Real_Power.html</loc>
<lastmod>2021-11-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/reiche/</loc>
<lastmod>2021-11-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Szemeredi_Regularity.html</loc>
<lastmod>2021-11-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/complex_bounded_operators/</loc>
<lastmod>2021-10-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Registers.html</loc>
<lastmod>2021-10-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/unruh/</loc>
<lastmod>2021-10-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Belief_Revision.html</loc>
<lastmod>2021-10-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/boulanger/</loc>
<lastmod>2021-10-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/fouillard/</loc>
<lastmod>2021-10-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/sabouret/</loc>
<lastmod>2021-10-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/taha/</loc>
<lastmod>2021-10-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/bharadwaj/</loc>
<lastmod>2021-10-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/bockenek/</loc>
<lastmod>2021-10-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/ravindran/</loc>
<lastmod>2021-10-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/roessle/</loc>
<lastmod>2021-10-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/verbeek/</loc>
<lastmod>2021-10-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/weerwag/</loc>
<lastmod>2021-10-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/word_lib/</loc>
<lastmod>2021-10-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/X86_Semantics.html</loc>
<lastmod>2021-10-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Correctness_Algebras.html</loc>
<lastmod>2021-10-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/guttmann/</loc>
<lastmod>2021-10-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/monobooltranalgebra/</loc>
<lastmod>2021-10-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/stone_kleene_relation_algebras/</loc>
<lastmod>2021-10-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/subset_boolean_algebras/</loc>
<lastmod>2021-10-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/cordwell/</loc>
<lastmod>2021-10-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/mitsch/</loc>
<lastmod>2021-10-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/platzer/</loc>
<lastmod>2021-10-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/scharager/</loc>
<lastmod>2021-10-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Virtual_Substitution.html</loc>
<lastmod>2021-10-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/FOL_Axiomatic.html</loc>
<lastmod>2021-09-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/banach_steinhaus/</loc>
<lastmod>2021-09-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/caballero/</loc>
<lastmod>2021-09-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Complex_Bounded_Operators.html</loc>
<lastmod>2021-09-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/real_impl/</loc>
<lastmod>2021-09-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Weighted_Path_Order.html</loc>
<lastmod>2021-09-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/yamada/</loc>
<lastmod>2021-09-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CZH_Foundations.html</loc>
<lastmod>2021-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CZH_Elementary_Categories.html</loc>
<lastmod>2021-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CZH_Universal_Constructions.html</loc>
<lastmod>2021-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Conditional_Simplification.html</loc>
<lastmod>2021-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Conditional_Transfer_Rule.html</loc>
<lastmod>2021-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/conditional_simplification/</loc>
<lastmod>2021-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/conditional_transfer_rule/</loc>
<lastmod>2021-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/czh_elementary_categories/</loc>
<lastmod>2021-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/czh_foundations/</loc>
<lastmod>2021-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Types_To_Sets_Extension.html</loc>
<lastmod>2021-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Intro_Dest_Elim.html</loc>
<lastmod>2021-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/intro_dest_elim/</loc>
<lastmod>2021-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/milehins/</loc>
<lastmod>2021-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/speccheck/</loc>
<lastmod>2021-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Dominance_CHK.html</loc>
<lastmod>2021-09-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/jiang/</loc>
<lastmod>2021-09-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/jinja/</loc>
<lastmod>2021-09-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/complex_geometry/</loc>
<lastmod>2021-09-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/factor_algebraic_polynomial/</loc>
<lastmod>2021-09-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Cubic_Quartic_Equations.html</loc>
<lastmod>2021-09-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Logging_Independent_Anonymity.html</loc>
<lastmod>2021-08-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/budan_fourier/</loc>
<lastmod>2021-08-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/li/</loc>
<lastmod>2021-08-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/polynomial_interpolation/</loc>
<lastmod>2021-08-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Three_Circles.html</loc>
<lastmod>2021-08-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/thomson/</loc>
<lastmod>2021-08-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/bauereiss/</loc>
<lastmod>2021-08-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/bd_security_compositional/</loc>
<lastmod>2021-08-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/bounded_deducibility_security/</loc>
<lastmod>2021-08-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CoCon.html</loc>
<lastmod>2021-08-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/BD_Security_Compositional.html</loc>
<lastmod>2021-08-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CoSMed.html</loc>
<lastmod>2021-08-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CoSMeDis.html</loc>
<lastmod>2021-08-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Fresh_Identifiers.html</loc>
<lastmod>2021-08-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/fresh_identifiers/</loc>
<lastmod>2021-08-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/popescu/</loc>
<lastmod>2021-08-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/card_partitions/</loc>
<lastmod>2021-08-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Design_Theory.html</loc>
<lastmod>2021-08-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/graph_theory/</loc>
<lastmod>2021-08-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/nested_multisets_ordinals/</loc>
<lastmod>2021-08-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Relational_Forests.html</loc>
<lastmod>2021-08-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/palmer/</loc>
<lastmod>2021-07-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/schmoetten/</loc>
<lastmod>2021-07-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Schutz_Spacetime.html</loc>
<lastmod>2021-07-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Finitely_Generated_Abelian_Groups.html</loc>
<lastmod>2021-07-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/thommes/</loc>
<lastmod>2021-07-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/bulwahn/</loc>
<lastmod>2021-07-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/kappelmann/</loc>
<lastmod>2021-07-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/SpecCheck.html</loc>
<lastmod>2021-07-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/willenbrink/</loc>
<lastmod>2021-07-01T00:00:00+00:00</lastmod>
</url><url>
- <loc>/authors/kreuzer/</loc>
- <lastmod>2021-06-22T00:00:00+00:00</lastmod>
- </url><url>
<loc>/entries/Van_der_Waerden.html</loc>
<lastmod>2021-06-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/MiniSail.html</loc>
<lastmod>2021-06-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/nominal2/</loc>
<lastmod>2021-06-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/show/</loc>
<lastmod>2021-06-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/wassell/</loc>
<lastmod>2021-06-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/epistemic_logic/</loc>
<lastmod>2021-06-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Public_Announcement_Logic.html</loc>
<lastmod>2021-06-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/IMP_Compiler.html</loc>
<lastmod>2021-06-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Combinatorics_Words.html</loc>
<lastmod>2021-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/combinatorics_words/</loc>
<lastmod>2021-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Combinatorics_Words_Graph_Lemma.html</loc>
<lastmod>2021-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/holub/</loc>
<lastmod>2021-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Combinatorics_Words_Lyndon.html</loc>
<lastmod>2021-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/raska/</loc>
<lastmod>2021-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/starosta/</loc>
<lastmod>2021-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/szpilrajn/</loc>
<lastmod>2021-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/jinjadci/</loc>
<lastmod>2021-04-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/mansky/</loc>
<lastmod>2021-04-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Regression_Test_Selection.html</loc>
<lastmod>2021-04-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Metalogic_ProofChecker.html</loc>
<lastmod>2021-04-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/kadzioka/</loc>
<lastmod>2021-04-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Lifting_the_Exponent.html</loc>
<lastmod>2021-04-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/rosskopf/</loc>
<lastmod>2021-04-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/sturm_tarski/</loc>
<lastmod>2021-04-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/tan/</loc>
<lastmod>2021-04-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/BenOr_Kozen_Reif.html</loc>
<lastmod>2021-04-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/GaleStewart_Games.html</loc>
<lastmod>2021-04-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/joosten/</loc>
<lastmod>2021-04-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/parity_game/</loc>
<lastmod>2021-04-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/brun/</loc>
<lastmod>2021-04-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/decova/</loc>
<lastmod>2021-04-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Progress_Tracking.html</loc>
<lastmod>2021-04-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/lattuada/</loc>
<lastmod>2021-04-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/traytel/</loc>
<lastmod>2021-04-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/IFC_Tracking.html</loc>
<lastmod>2021-04-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/nordhoff/</loc>
<lastmod>2021-04-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/bordg/</loc>
<lastmod>2021-03-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Grothendieck_Schemes.html</loc>
<lastmod>2021-03-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/crighton/</loc>
<lastmod>2021-03-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Padic_Ints.html</loc>
<lastmod>2021-03-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Constructive_Cryptography_CM.html</loc>
<lastmod>2021-03-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/constructive_cryptography/</loc>
<lastmod>2021-03-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/game_based_crypto/</loc>
<lastmod>2021-03-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/lochbihler/</loc>
<lastmod>2021-03-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/sefidgar/</loc>
<lastmod>2021-03-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/sigma_commit_crypto/</loc>
<lastmod>2021-03-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/bottesch/</loc>
<lastmod>2021-03-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/divason/</loc>
<lastmod>2021-03-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/hermite/</loc>
<lastmod>2021-03-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/lll_basis_reduction/</loc>
<lastmod>2021-03-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/smith_normal_form/</loc>
<lastmod>2021-03-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Modular_arithmetic_LLL_and_HNF_algorithms.html</loc>
<lastmod>2021-03-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/isabelle_marries_dirac/</loc>
<lastmod>2021-03-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/pi_transcendental/</loc>
<lastmod>2021-03-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/power_sum_polynomials/</loc>
<lastmod>2021-03-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/qhlprover/</loc>
<lastmod>2021-03-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Projective_Measurements.html</loc>
<lastmod>2021-03-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Hermite_Lindemann.html</loc>
<lastmod>2021-03-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/blumson/</loc>
<lastmod>2021-03-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Mereology.html</loc>
<lastmod>2021-03-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Sunflowers.html</loc>
<lastmod>2021-02-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/BTree.html</loc>
<lastmod>2021-02-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/muendler/</loc>
<lastmod>2021-02-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/refine_imperative_hol/</loc>
<lastmod>2021-02-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Formal_Puiseux_Series.html</loc>
<lastmod>2021-02-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Laws_of_Large_Numbers.html</loc>
<lastmod>2021-02-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/coghetto/</loc>
<lastmod>2021-01-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/IsaGeoCoq.html</loc>
<lastmod>2021-01-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Blue_Eyes.html</loc>
<lastmod>2021-01-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Hood_Melville_Queue.html</loc>
<lastmod>2021-01-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/londono/</loc>
<lastmod>2021-01-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/JinjaDCI.html</loc>
<lastmod>2021-01-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Delta_System_Lemma.html</loc>
<lastmod>2020-12-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/fuenmayor/</loc>
<lastmod>2020-12-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Topological_Semantics.html</loc>
<lastmod>2020-12-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/aggregation_algebras/</loc>
<lastmod>2020-12-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/brien/</loc>
<lastmod>2020-12-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Relational_Minimum_Spanning_Trees.html</loc>
<lastmod>2020-12-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/relational_disjoint_set_forests/</loc>
<lastmod>2020-12-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/desharnais/</loc>
<lastmod>2020-12-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Interpreter_Optimizations.html</loc>
<lastmod>2020-12-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/vericomp/</loc>
<lastmod>2020-12-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Relational_Method.html</loc>
<lastmod>2020-12-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/he/</loc>
<lastmod>2020-11-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Isabelle_Marries_Dirac.html</loc>
<lastmod>2020-11-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/lachnitt/</loc>
<lastmod>2020-11-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/matrix_tensor/</loc>
<lastmod>2020-11-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/vectorspace/</loc>
<lastmod>2020-11-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/hol-csp/</loc>
<lastmod>2020-11-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CSP_RefTK.html</loc>
<lastmod>2020-11-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/wolff/</loc>
<lastmod>2020-11-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/ye/</loc>
<lastmod>2020-11-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/AI_Planning_Languages_Semantics.html</loc>
<lastmod>2020-10-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/ai_planning_languages_semantics/</loc>
<lastmod>2020-10-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/certification_monads/</loc>
<lastmod>2020-10-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/kurz/</loc>
<lastmod>2020-10-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/propositional_proof_systems/</loc>
<lastmod>2020-10-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Verified_SAT_Based_AI_Planning.html</loc>
<lastmod>2020-10-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Physical_Quantities.html</loc>
<lastmod>2020-10-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/fosters/</loc>
<lastmod>2020-10-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/diaz/</loc>
<lastmod>2020-10-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Finite-Map-Extras.html</loc>
<lastmod>2020-10-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Shadow_DOM.html</loc>
<lastmod>2020-09-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Shadow_SC_DOM.html</loc>
<lastmod>2020-09-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/SC_DOM_Components.html</loc>
<lastmod>2020-09-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/DOM_Components.html</loc>
<lastmod>2020-09-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/core_dom/</loc>
<lastmod>2020-09-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/core_sc_dom/</loc>
<lastmod>2020-09-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/herzberg/</loc>
<lastmod>2020-09-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/shadow_dom/</loc>
<lastmod>2020-09-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/shadow_sc_dom/</loc>
<lastmod>2020-09-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Core_SC_DOM.html</loc>
<lastmod>2020-09-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Goedel_Incompleteness.html</loc>
<lastmod>2020-09-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Goedel_HFSet_Semantic.html</loc>
<lastmod>2020-09-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Goedel_HFSet_Semanticless.html</loc>
<lastmod>2020-09-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/goedel_incompleteness/</loc>
<lastmod>2020-09-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/hereditarilyfinite/</loc>
<lastmod>2020-09-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/incompleteness/</loc>
<lastmod>2020-09-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Robinson_Arithmetic.html</loc>
<lastmod>2020-09-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Syntax_Independent_Logic.html</loc>
<lastmod>2020-09-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/syntax_independent_logic/</loc>
<lastmod>2020-09-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Extended_Finite_State_Machines.html</loc>
<lastmod>2020-09-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/derrick/</loc>
<lastmod>2020-09-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/extended_finite_state_machines/</loc>
<lastmod>2020-09-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/finfun/</loc>
<lastmod>2020-09-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/foster/</loc>
<lastmod>2020-09-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Extended_Finite_State_Machine_Inference.html</loc>
<lastmod>2020-09-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/taylor/</loc>
<lastmod>2020-09-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/balbach/</loc>
<lastmod>2020-08-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/fleury/</loc>
<lastmod>2020-08-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/kaufmann/</loc>
<lastmod>2020-08-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/PAC_Checker.html</loc>
<lastmod>2020-08-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/sepref_iicf/</loc>
<lastmod>2020-08-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Inductive_Inference.html</loc>
<lastmod>2020-08-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Relational_Disjoint_Set_Forests.html</loc>
<lastmod>2020-08-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/blanchette/</loc>
<lastmod>2020-08-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Saturation_Framework_Extensions.html</loc>
<lastmod>2020-08-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/first_order_terms/</loc>
<lastmod>2020-08-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/gammie/</loc>
<lastmod>2020-08-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/holcf-prelude/</loc>
<lastmod>2020-08-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/ordered_resolution_prover/</loc>
<lastmod>2020-08-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/BirdKMP.html</loc>
<lastmod>2020-08-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/saturation_framework/</loc>
<lastmod>2020-08-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/tourret/</loc>
<lastmod>2020-08-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/well_quasi_orders/</loc>
<lastmod>2020-08-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Amicable_Numbers.html</loc>
<lastmod>2020-08-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/pratt_certificate/</loc>
<lastmod>2020-08-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/nash_williams/</loc>
<lastmod>2020-08-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Ordinal_Partitions.html</loc>
<lastmod>2020-08-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Chandy_Lamport.html</loc>
<lastmod>2020-07-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/fiedler/</loc>
<lastmod>2020-07-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/hoefner/</loc>
<lastmod>2020-07-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/relation_algebra/</loc>
<lastmod>2020-07-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Relational_Paths.html</loc>
<lastmod>2020-07-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Safe_Distance.html</loc>
<lastmod>2020-06-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/immler/</loc>
<lastmod>2020-06-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/rizaldi/</loc>
<lastmod>2020-06-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/sturm_sequences/</loc>
<lastmod>2020-06-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Smith_Normal_Form.html</loc>
<lastmod>2020-05-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/perron_frobenius/</loc>
<lastmod>2020-05-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Nash_Williams.html</loc>
<lastmod>2020-05-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Knuth_Bendix_Order.html</loc>
<lastmod>2020-05-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/matrix/</loc>
<lastmod>2020-05-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Irrational_Series_Erdos_Straus.html</loc>
<lastmod>2020-05-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/prime_distribution_elementary/</loc>
<lastmod>2020-05-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/prime_number_theorem/</loc>
<lastmod>2020-05-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/dunaev/</loc>
<lastmod>2020-05-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Recursion-Addition.html</loc>
<lastmod>2020-05-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/LTL_Normal_Form.html</loc>
<lastmod>2020-05-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/ltl/</loc>
<lastmod>2020-05-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/ltl_master_theorem/</loc>
<lastmod>2020-05-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/sickert/</loc>
<lastmod>2020-05-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Forcing.html</loc>
<lastmod>2020-05-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Banach_Steinhaus.html</loc>
<lastmod>2020-05-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Attack_Trees.html</loc>
<lastmod>2020-04-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/kammueller/</loc>
<lastmod>2020-04-27T00:00:00+00:00</lastmod>
</url><url>
- <loc>/dependencies/bernoulli/</loc>
- <lastmod>2020-04-24T00:00:00+00:00</lastmod>
- </url><url>
<loc>/entries/Gaussian_Integers.html</loc>
<lastmod>2020-04-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Power_Sum_Polynomials.html</loc>
<lastmod>2020-04-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/symmetric_polynomials/</loc>
<lastmod>2020-04-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Lambert_W.html</loc>
<lastmod>2020-04-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/hybrid_systems_vcs/</loc>
<lastmod>2020-04-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Matrices_for_ODEs.html</loc>
<lastmod>2020-04-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/munive/</loc>
<lastmod>2020-04-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/ADS_Functor.html</loc>
<lastmod>2020-04-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/maric/</loc>
<lastmod>2020-04-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Sliding_Window_Algorithm.html</loc>
<lastmod>2020-04-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/heimes/</loc>
<lastmod>2020-04-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/schneider/</loc>
<lastmod>2020-04-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Saturation_Framework.html</loc>
<lastmod>2020-04-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/MFODL_Monitor_Optimized.html</loc>
<lastmod>2020-04-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/generic_join/</loc>
<lastmod>2020-04-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/ieee_floating_point/</loc>
<lastmod>2020-04-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/lambda_free_rpos/</loc>
<lastmod>2020-04-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/mfotl_monitor/</loc>
<lastmod>2020-04-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Automated_Stateful_Protocol_Verification.html</loc>
<lastmod>2020-04-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/hess/</loc>
<lastmod>2020-04-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/moedersheim/</loc>
<lastmod>2020-04-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/schlichtkrull/</loc>
<lastmod>2020-04-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Stateful_Protocol_Composition_and_Typing.html</loc>
<lastmod>2020-04-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/stateful_protocol_composition_and_typing/</loc>
<lastmod>2020-04-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Lucas_Theorem.html</loc>
<lastmod>2020-04-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/gonzalez/</loc>
<lastmod>2020-03-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/WOOT_Strong_Eventual_Consistency.html</loc>
<lastmod>2020-03-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Furstenberg_Topology.html</loc>
<lastmod>2020-03-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Relational-Incorrectness-Logic.html</loc>
<lastmod>2020-03-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/murray/</loc>
<lastmod>2020-03-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/diekmann/</loc>
<lastmod>2020-03-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Hello_World.html</loc>
<lastmod>2020-03-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/hupel/</loc>
<lastmod>2020-03-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Goodstein_Lambda.html</loc>
<lastmod>2020-02-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/VeriComp.html</loc>
<lastmod>2020-02-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Arith_Prog_Rel_Primes.html</loc>
<lastmod>2020-02-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Subset_Boolean_Algebras.html</loc>
<lastmod>2020-01-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/moeller/</loc>
<lastmod>2020-01-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/stone_algebras/</loc>
<lastmod>2020-01-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Mersenne_Primes.html</loc>
<lastmod>2020-01-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/pell/</loc>
<lastmod>2020-01-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/probabilistic_prime_tests/</loc>
<lastmod>2020-01-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/essmann/</loc>
<lastmod>2020-01-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/robillard/</loc>
<lastmod>2020-01-16T00:00:00+00:00</lastmod>
</url><url>
- <loc>/authors/sulejmani/</loc>
- <lastmod>2020-01-16T00:00:00+00:00</lastmod>
- </url><url>
<loc>/entries/Approximation_Algorithms.html</loc>
<lastmod>2020-01-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/akra_bazzi/</loc>
<lastmod>2020-01-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Closest_Pair_Points.html</loc>
<lastmod>2020-01-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/rau/</loc>
<lastmod>2020-01-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/root_balanced_tree/</loc>
<lastmod>2020-01-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/haslbeck/</loc>
<lastmod>2020-01-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/monad_normalisation/</loc>
<lastmod>2020-01-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Skip_Lists.html</loc>
<lastmod>2020-01-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Bicategory.html</loc>
<lastmod>2020-01-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/monoidalcategory/</loc>
<lastmod>2020-01-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/e_transcendental/</loc>
<lastmod>2019-12-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Zeta_3_Irrational.html</loc>
<lastmod>2019-12-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Hybrid_Logic.html</loc>
<lastmod>2019-12-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/hol-ode-numerics/</loc>
<lastmod>2019-12-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Poincare_Bendixson.html</loc>
<lastmod>2019-12-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/boutry/</loc>
<lastmod>2019-12-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Complex_Geometry.html</loc>
<lastmod>2019-12-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/maricf/</loc>
<lastmod>2019-12-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Poincare_Disc.html</loc>
<lastmod>2019-12-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/simic/</loc>
<lastmod>2019-12-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/dirichlet_l/</loc>
<lastmod>2019-12-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Gauss_Sums.html</loc>
<lastmod>2019-12-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/raya/</loc>
<lastmod>2019-12-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Generalized_Counting_Sort.html</loc>
<lastmod>2019-12-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/bohrer/</loc>
<lastmod>2019-11-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Interval_Arithmetic_Word32.html</loc>
<lastmod>2019-11-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/ZFC_in_HOL.html</loc>
<lastmod>2019-10-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Isabelle_C.html</loc>
<lastmod>2019-10-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/tuong/</loc>
<lastmod>2019-10-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/VerifyThis2019.html</loc>
<lastmod>2019-10-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/wimmer/</loc>
<lastmod>2019-10-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Aristotles_Assertoric_Syllogistic.html</loc>
<lastmod>2019-10-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/butler/</loc>
<lastmod>2019-10-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/crypthol/</loc>
<lastmod>2019-10-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Sigma_Commit_Crypto.html</loc>
<lastmod>2019-10-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Clean.html</loc>
<lastmod>2019-10-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Generic_Join.html</loc>
<lastmod>2019-09-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/kad/</loc>
<lastmod>2019-09-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/kat_and_dra/</loc>
<lastmod>2019-09-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/ordinary_differential_equations/</loc>
<lastmod>2019-09-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/transformer_semantics/</loc>
<lastmod>2019-09-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Hybrid_Systems_VCs.html</loc>
<lastmod>2019-09-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Fourier.html</loc>
<lastmod>2019-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Jacobson_Basic_Algebra.html</loc>
<lastmod>2019-08-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/ballarin/</loc>
<lastmod>2019-08-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Adaptive_State_Counting.html</loc>
<lastmod>2019-08-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/transition_systems_and_automata/</loc>
<lastmod>2019-08-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Laplace_Transform.html</loc>
<lastmod>2019-08-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/buyse/</loc>
<lastmod>2019-08-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/C2KA_DistributedSystems.html</loc>
<lastmod>2019-08-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/farkas/</loc>
<lastmod>2019-08-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/jaskolka/</loc>
<lastmod>2019-08-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/kaliszyk/</loc>
<lastmod>2019-08-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Linear_Programming.html</loc>
<lastmod>2019-08-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/parsert/</loc>
<lastmod>2019-08-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/IMO2019.html</loc>
<lastmod>2019-08-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/losa/</loc>
<lastmod>2019-08-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Stellar_Quorums.html</loc>
<lastmod>2019-08-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/TESL_Language.html</loc>
<lastmod>2019-07-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/van/</loc>
<lastmod>2019-07-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Szpilrajn.html</loc>
<lastmod>2019-07-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/stevens/</loc>
<lastmod>2019-07-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/zeller/</loc>
<lastmod>2019-07-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/FOL_Seq_Calc1.html</loc>
<lastmod>2019-07-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CakeML_Codegen.html</loc>
<lastmod>2019-07-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/cakeml/</loc>
<lastmod>2019-07-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/constructor_funs/</loc>
<lastmod>2019-07-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/dict_construction/</loc>
<lastmod>2019-07-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/higher_order_terms/</loc>
<lastmod>2019-07-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/huffman/</loc>
<lastmod>2019-07-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/pairing_heap/</loc>
<lastmod>2019-07-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/MFOTL_Monitor.html</loc>
<lastmod>2019-07-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Complete_Non_Orders.html</loc>
<lastmod>2019-06-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/dubut/</loc>
<lastmod>2019-06-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Priority_Search_Trees.html</loc>
<lastmod>2019-06-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/priority_search_trees/</loc>
<lastmod>2019-06-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Prim_Dijkstra_Simple.html</loc>
<lastmod>2019-06-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Linear_Inequalities.html</loc>
<lastmod>2019-06-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/reynaud/</loc>
<lastmod>2019-06-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Nullstellensatz.html</loc>
<lastmod>2019-06-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/maletzky/</loc>
<lastmod>2019-06-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Groebner_Macaulay.html</loc>
<lastmod>2019-06-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/IMP2_Binary_Heap.html</loc>
<lastmod>2019-06-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/griebel/</loc>
<lastmod>2019-06-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/imp2/</loc>
<lastmod>2019-06-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Differential_Game_Logic.html</loc>
<lastmod>2019-06-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/median_of_medians_selection/</loc>
<lastmod>2019-05-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/KD_Tree.html</loc>
<lastmod>2019-05-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/LambdaAuth.html</loc>
<lastmod>2019-05-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/aspinall/</loc>
<lastmod>2019-05-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Multi_Party_Computation.html</loc>
<lastmod>2019-05-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/HOL-CSP.html</loc>
<lastmod>2019-04-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/LTL_Master_Theorem.html</loc>
<lastmod>2019-04-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/seidl/</loc>
<lastmod>2019-04-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Binding_Syntax_Theory.html</loc>
<lastmod>2019-04-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/gheri/</loc>
<lastmod>2019-04-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Transcendence_Series_Hancl_Rucki.html</loc>
<lastmod>2019-03-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/deep_learning/</loc>
<lastmod>2019-03-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/liu/</loc>
<lastmod>2019-03-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/liut/</loc>
<lastmod>2019-03-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/liy/</loc>
<lastmod>2019-03-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/QHLProver.html</loc>
<lastmod>2019-03-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/wang/</loc>
<lastmod>2019-03-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/ying/</loc>
<lastmod>2019-03-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/yingm/</loc>
<lastmod>2019-03-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/zhan/</loc>
<lastmod>2019-03-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/zhann/</loc>
<lastmod>2019-03-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/nikiforov/</loc>
<lastmod>2019-03-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Safe_OCL.html</loc>
<lastmod>2019-03-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Prime_Distribution_Elementary.html</loc>
<lastmod>2019-02-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/zeta_function/</loc>
<lastmod>2019-02-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/biendarra/</loc>
<lastmod>2019-02-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/haslbeckm/</loc>
<lastmod>2019-02-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Kruskal.html</loc>
<lastmod>2019-02-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/matroids/</loc>
<lastmod>2019-02-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/refine_monadic/</loc>
<lastmod>2019-02-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Probabilistic_Prime_Tests.html</loc>
<lastmod>2019-02-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/stuewe/</loc>
<lastmod>2019-02-11T00:00:00+00:00</lastmod>
</url><url>
+ <loc>/authors/regensburger/</loc>
+ <lastmod>2019-02-08T00:00:00+00:00</lastmod>
+ </url><url>
<loc>/entries/Universal_Turing_Machine.html</loc>
<lastmod>2019-02-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/urban/</loc>
<lastmod>2019-02-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/xu/</loc>
<lastmod>2019-02-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/zhangx/</loc>
<lastmod>2019-02-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/UTP.html</loc>
<lastmod>2019-02-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/nemouchi/</loc>
<lastmod>2019-02-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/optics/</loc>
<lastmod>2019-02-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/ribeiro/</loc>
<lastmod>2019-02-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/List_Inversions.html</loc>
<lastmod>2019-02-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/utp-toolkit/</loc>
<lastmod>2019-02-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/zeyda/</loc>
<lastmod>2019-02-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Farkas.html</loc>
<lastmod>2019-01-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/simplex/</loc>
<lastmod>2019-01-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Higher_Order_Terms.html</loc>
<lastmod>2019-01-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/IMP2.html</loc>
<lastmod>2019-01-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Store_Buffer_Reduction.html</loc>
<lastmod>2019-01-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/cohen/</loc>
<lastmod>2019-01-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/schirmer/</loc>
<lastmod>2019-01-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Core_DOM.html</loc>
<lastmod>2018-12-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Concurrent_Revisions.html</loc>
<lastmod>2018-12-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/overbeek/</loc>
<lastmod>2018-12-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/auto2_hol/</loc>
<lastmod>2018-12-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Auto2_Imperative_HOL.html</loc>
<lastmod>2018-12-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Constructive_Cryptography.html</loc>
<lastmod>2018-12-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/kleene_algebra/</loc>
<lastmod>2018-12-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/order_lattice_props/</loc>
<lastmod>2018-12-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Order_Lattice_Props.html</loc>
<lastmod>2018-12-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/quantales/</loc>
<lastmod>2018-12-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Quantales.html</loc>
<lastmod>2018-12-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/struth/</loc>
<lastmod>2018-12-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Transformer_Semantics.html</loc>
<lastmod>2018-12-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Functional_Ordered_Resolution_Prover.html</loc>
<lastmod>2018-11-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Graph_Saturation.html</loc>
<lastmod>2018-11-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/open_induction/</loc>
<lastmod>2018-11-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Auto2_HOL.html</loc>
<lastmod>2018-11-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/keinholz/</loc>
<lastmod>2018-11-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Matroids.html</loc>
<lastmod>2018-11-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Generic_Deriving.html</loc>
<lastmod>2018-11-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/raedle/</loc>
<lastmod>2018-11-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/GewirthPGCProof.html</loc>
<lastmod>2018-10-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Epistemic_Logic.html</loc>
<lastmod>2018-10-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Smooth_Manifolds.html</loc>
<lastmod>2018-10-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/bentkamp/</loc>
<lastmod>2018-10-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Lambda_Free_EPO.html</loc>
<lastmod>2018-10-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/random_bsts/</loc>
<lastmod>2018-10-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Randomised_BSTs.html</loc>
<lastmod>2018-10-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Factored_Transition_System_Bounding.html</loc>
<lastmod>2018-10-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Pi_Transcendental.html</loc>
<lastmod>2018-09-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Symmetric_Polynomials.html</loc>
<lastmod>2018-09-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Signature_Groebner.html</loc>
<lastmod>2018-09-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Prime_Number_Theorem.html</loc>
<lastmod>2018-09-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Aggregation_Algebras.html</loc>
<lastmod>2018-09-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Octonions.html</loc>
<lastmod>2018-09-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Quaternions.html</loc>
<lastmod>2018-09-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Budan_Fourier.html</loc>
<lastmod>2018-09-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Simplex.html</loc>
<lastmod>2018-08-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/spasic/</loc>
<lastmod>2018-08-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/abstract-rewriting/</loc>
<lastmod>2018-08-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Minsky_Machines.html</loc>
<lastmod>2018-08-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/recursion-theory-i/</loc>
<lastmod>2018-08-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/DiscretePricing.html</loc>
<lastmod>2018-07-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/first_welfare_theorem/</loc>
<lastmod>2018-07-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Neumann_Morgenstern_Utility.html</loc>
<lastmod>2018-07-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Pell.html</loc>
<lastmod>2018-06-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Projective_Geometry.html</loc>
<lastmod>2018-06-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Localization_Ring.html</loc>
<lastmod>2018-06-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/brunner/</loc>
<lastmod>2018-06-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/coinductive/</loc>
<lastmod>2018-06-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Partial_Order_Reduction.html</loc>
<lastmod>2018-06-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/stuttering_equivalence/</loc>
<lastmod>2018-06-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/monad_memo_dp/</loc>
<lastmod>2018-05-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Optimal_BST.html</loc>
<lastmod>2018-05-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/somogyi/</loc>
<lastmod>2018-05-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Hidden_Markov_Models.html</loc>
<lastmod>2018-05-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/markov_models/</loc>
<lastmod>2018-05-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/hoelzl/</loc>
<lastmod>2018-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Probabilistic_Timed_Automata.html</loc>
<lastmod>2018-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/timed_automata/</loc>
<lastmod>2018-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/AxiomaticCategoryTheory.html</loc>
<lastmod>2018-05-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Irrationality_J_Hancl.html</loc>
<lastmod>2018-05-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/scott/</loc>
<lastmod>2018-05-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/hu/</loc>
<lastmod>2018-05-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Monad_Memo_DP.html</loc>
<lastmod>2018-05-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/beresford/</loc>
<lastmod>2018-05-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/gomes/</loc>
<lastmod>2018-05-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/kleppmann/</loc>
<lastmod>2018-05-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/mulligan/</loc>
<lastmod>2018-05-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/OpSets.html</loc>
<lastmod>2018-05-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Modular_Assembly_Kit_Security.html</loc>
<lastmod>2018-05-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/bracevac/</loc>
<lastmod>2018-05-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/gay/</loc>
<lastmod>2018-05-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/grewe/</loc>
<lastmod>2018-05-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/mantel/</loc>
<lastmod>2018-05-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/sudbrock/</loc>
<lastmod>2018-05-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/tasch/</loc>
<lastmod>2018-05-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/watt/</loc>
<lastmod>2018-04-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/WebAssembly.html</loc>
<lastmod>2018-04-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/VerifyThis2018.html</loc>
<lastmod>2018-04-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/BNF_CC.html</loc>
<lastmod>2018-04-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/brandt/</loc>
<lastmod>2018-03-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/randomised_social_choice/</loc>
<lastmod>2018-03-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/saile/</loc>
<lastmod>2018-03-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/stricker/</loc>
<lastmod>2018-03-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Fishburn_Impossibility.html</loc>
<lastmod>2018-03-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/dirix/</loc>
<lastmod>2018-03-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Weight_Balanced_Trees.html</loc>
<lastmod>2018-03-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CakeML.html</loc>
<lastmod>2018-03-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/lem/</loc>
<lastmod>2018-03-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/zhang/</loc>
<lastmod>2018-03-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Architectural_Design_Patterns.html</loc>
<lastmod>2018-03-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/dynamicarchitectures/</loc>
<lastmod>2018-03-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Hoare_Time.html</loc>
<lastmod>2018-02-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/separation_algebra/</loc>
<lastmod>2018-02-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/LLL_Factorization.html</loc>
<lastmod>2018-02-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/comparison_sort_lower_bound/</loc>
<lastmod>2018-02-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/First_Order_Terms.html</loc>
<lastmod>2018-02-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/landau_symbols/</loc>
<lastmod>2018-02-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Error_Function.html</loc>
<lastmod>2018-02-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Treaps.html</loc>
<lastmod>2018-02-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/LLL_Basis_Reduction.html</loc>
<lastmod>2018-02-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Ordered_Resolution_Prover.html</loc>
<lastmod>2018-01-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/waldmann/</loc>
<lastmod>2018-01-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/gouezel/</loc>
<lastmod>2018-01-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Gromov_Hyperbolicity.html</loc>
<lastmod>2018-01-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Green.html</loc>
<lastmod>2018-01-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/affine_arithmetic/</loc>
<lastmod>2018-01-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Taylor_Models.html</loc>
<lastmod>2018-01-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/traut/</loc>
<lastmod>2018-01-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/discrete_summation/</loc>
<lastmod>2017-12-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Falling_Factorial_Sum.html</loc>
<lastmod>2017-12-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Dirichlet_L.html</loc>
<lastmod>2017-12-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/finitely_generated_abelian_groups/</loc>
<lastmod>2017-12-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Mason_Stothers.html</loc>
<lastmod>2017-12-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Median_Of_Medians_Selection.html</loc>
<lastmod>2017-12-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/BNF_Operations.html</loc>
<lastmod>2017-12-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/hellauer/</loc>
<lastmod>2017-12-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Knuth_Morris_Pratt.html</loc>
<lastmod>2017-12-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Stochastic_Matrices.html</loc>
<lastmod>2017-11-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/crdt/</loc>
<lastmod>2017-11-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/jungnickel/</loc>
<lastmod>2017-11-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/loibl/</loc>
<lastmod>2017-11-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/oldenburg/</loc>
<lastmod>2017-11-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/IMAP-CRDT.html</loc>
<lastmod>2017-11-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Hybrid_Multi_Lane_Spatial_Logic.html</loc>
<lastmod>2017-11-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/linker/</loc>
<lastmod>2017-11-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/gioiosa/</loc>
<lastmod>2017-10-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Kuratowski_Closure_Complement.html</loc>
<lastmod>2017-10-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Buchi_Complementation.html</loc>
<lastmod>2017-10-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/dfs_framework/</loc>
<lastmod>2017-10-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/gabow_scc/</loc>
<lastmod>2017-10-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Transition_Systems_and_Automata.html</loc>
<lastmod>2017-10-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Count_Complex_Roots.html</loc>
<lastmod>2017-10-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Winding_Number_Eval.html</loc>
<lastmod>2017-10-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/winding_number_eval/</loc>
<lastmod>2017-10-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Diophantine_Eqns_Lin_Hom.html</loc>
<lastmod>2017-10-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/messner/</loc>
<lastmod>2017-10-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/schoepf/</loc>
<lastmod>2017-10-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/count_complex_roots/</loc>
<lastmod>2017-10-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Dirichlet_Series.html</loc>
<lastmod>2017-10-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/euler_maclaurin/</loc>
<lastmod>2017-10-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Linear_Recurrences.html</loc>
<lastmod>2017-10-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/linear_recurrences/</loc>
<lastmod>2017-10-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Zeta_Function.html</loc>
<lastmod>2017-10-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Lowe_Ontological_Argument.html</loc>
<lastmod>2017-09-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/kirchner/</loc>
<lastmod>2017-09-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/PLM.html</loc>
<lastmod>2017-09-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/AnselmGod.html</loc>
<lastmod>2017-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/First_Welfare_Theorem.html</loc>
<lastmod>2017-09-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/amortized_complexity/</loc>
<lastmod>2017-08-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Orbit_Stabiliser.html</loc>
<lastmod>2017-08-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Root_Balanced_Tree.html</loc>
<lastmod>2017-08-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/matache/</loc>
<lastmod>2017-08-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/LambdaMu.html</loc>
<lastmod>2017-08-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Stewart_Apollonius.html</loc>
<lastmod>2017-07-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/triangle/</loc>
<lastmod>2017-07-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/DynamicArchitectures.html</loc>
<lastmod>2017-07-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Decl_Sem_Fun_PL.html</loc>
<lastmod>2017-07-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/siek/</loc>
<lastmod>2017-07-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/breitner/</loc>
<lastmod>2017-07-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/HOLCF-Prelude.html</loc>
<lastmod>2017-07-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/huffman/</loc>
<lastmod>2017-07-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/mitchell/</loc>
<lastmod>2017-07-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Minkowskis_Theorem.html</loc>
<lastmod>2017-07-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/rawson/</loc>
<lastmod>2017-07-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Name_Carrying_Type_Inference.html</loc>
<lastmod>2017-07-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CRDT.html</loc>
<lastmod>2017-07-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Stone_Kleene_Relation_Algebras.html</loc>
<lastmod>2017-07-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/stone_relation_algebras/</loc>
<lastmod>2017-07-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Propositional_Proof_Systems.html</loc>
<lastmod>2017-06-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/dongol/</loc>
<lastmod>2017-06-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/hayes/</loc>
<lastmod>2017-06-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/PSemigroupsConvolution.html</loc>
<lastmod>2017-06-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Buffons_Needle.html</loc>
<lastmod>2017-06-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/cava_automata/</loc>
<lastmod>2017-06-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Flow_Networks.html</loc>
<lastmod>2017-06-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/flow_networks/</loc>
<lastmod>2017-06-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Prpu_Maxflow.html</loc>
<lastmod>2017-06-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/program-conflict-analysis/</loc>
<lastmod>2017-06-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Optics.html</loc>
<lastmod>2017-05-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Security_Protocol_Refinement.html</loc>
<lastmod>2017-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Dict_Construction.html</loc>
<lastmod>2017-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/lazy_case/</loc>
<lastmod>2017-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/somaini/</loc>
<lastmod>2017-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Floyd_Warshall.html</loc>
<lastmod>2017-05-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/applicative_lifting/</loc>
<lastmod>2017-05-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/bhatt/</loc>
<lastmod>2017-05-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CryptHOL.html</loc>
<lastmod>2017-05-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Monomorphic_Monad.html</loc>
<lastmod>2017-05-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Game_Based_Crypto.html</loc>
<lastmod>2017-05-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/mfmc_countable/</loc>
<lastmod>2017-05-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Monad_Normalisation.html</loc>
<lastmod>2017-05-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/monomorphic_monad/</loc>
<lastmod>2017-05-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Probabilistic_While.html</loc>
<lastmod>2017-05-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/probabilistic_while/</loc>
<lastmod>2017-05-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/category3/</loc>
<lastmod>2017-05-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/MonoidalCategory.html</loc>
<lastmod>2017-05-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Types_Tableaus_and_Goedels_God.html</loc>
<lastmod>2017-05-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/LocalLexing.html</loc>
<lastmod>2017-04-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/obua/</loc>
<lastmod>2017-04-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Constructor_Funs.html</loc>
<lastmod>2017-04-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Lazy_Case.html</loc>
<lastmod>2017-04-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Subresultants.html</loc>
<lastmod>2017-04-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Random_BSTs.html</loc>
<lastmod>2017-04-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/quick_sort_cost/</loc>
<lastmod>2017-04-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Comparison_Sort_Lower_Bound.html</loc>
<lastmod>2017-03-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/regular-sets/</loc>
<lastmod>2017-03-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Quick_Sort_Cost.html</loc>
<lastmod>2017-03-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Euler_MacLaurin.html</loc>
<lastmod>2017-03-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/berghofer/</loc>
<lastmod>2017-02-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Elliptic_Curves_Group_Law.html</loc>
<lastmod>2017-02-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/dittmann/</loc>
<lastmod>2017-02-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Menger.html</loc>
<lastmod>2017-02-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Differential_Dynamic_Logic.html</loc>
<lastmod>2017-02-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Abstract_Soundness.html</loc>
<lastmod>2017-02-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Stone_Relation_Algebras.html</loc>
<lastmod>2017-02-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/lallemand/</loc>
<lastmod>2017-01-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Key_Agreement_Strong_Adversaries.html</loc>
<lastmod>2017-01-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Bernoulli.html</loc>
<lastmod>2017-01-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Bertrands_Postulate.html</loc>
<lastmod>2017-01-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/formal_ssa/</loc>
<lastmod>2017-01-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/lohner/</loc>
<lastmod>2017-01-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Minimal_SSA.html</loc>
<lastmod>2017-01-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/wagner/</loc>
<lastmod>2017-01-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/E_Transcendental.html</loc>
<lastmod>2017-01-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/bruegger/</loc>
<lastmod>2017-01-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/UPF_Firewall.html</loc>
<lastmod>2017-01-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/upf/</loc>
<lastmod>2017-01-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Password_Authentication_Protocol.html</loc>
<lastmod>2017-01-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/FOL_Harrison.html</loc>
<lastmod>2017-01-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/jensen/</loc>
<lastmod>2017-01-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/villadsen/</loc>
<lastmod>2017-01-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Concurrent_Ref_Alg.html</loc>
<lastmod>2016-12-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/fell/</loc>
<lastmod>2016-12-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/velykis/</loc>
<lastmod>2016-12-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/bell_numbers_spivey/</loc>
<lastmod>2016-12-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/card_multisets/</loc>
<lastmod>2016-12-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/card_number_partitions/</loc>
<lastmod>2016-12-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Twelvefold_Way.html</loc>
<lastmod>2016-12-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/nagashima/</loc>
<lastmod>2016-12-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Proof_Strategy_Language.html</loc>
<lastmod>2016-12-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Paraconsistency.html</loc>
<lastmod>2016-12-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/amani/</loc>
<lastmod>2016-11-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/andronick/</loc>
<lastmod>2016-11-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Complx.html</loc>
<lastmod>2016-11-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/lewis/</loc>
<lastmod>2016-11-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/rizkallah/</loc>
<lastmod>2016-11-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/tuongj/</loc>
<lastmod>2016-11-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Abs_Int_ITP2012.html</loc>
<lastmod>2016-11-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/clouston/</loc>
<lastmod>2016-11-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/gore/</loc>
<lastmod>2016-11-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/hou/</loc>
<lastmod>2016-11-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/sanan/</loc>
<lastmod>2016-11-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Separata.html</loc>
<lastmod>2016-11-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/tiu/</loc>
<lastmod>2016-11-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/becker/</loc>
<lastmod>2016-11-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Lambda_Free_KBOs.html</loc>
<lastmod>2016-11-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Nested_Multisets_Ordinals.html</loc>
<lastmod>2016-11-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/ordinal/</loc>
<lastmod>2016-11-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/wand/</loc>
<lastmod>2016-11-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Deep_Learning.html</loc>
<lastmod>2016-11-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/borgstroem/</loc>
<lastmod>2016-10-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/eriksson/</loc>
<lastmod>2016-10-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/gutkovas/</loc>
<lastmod>2016-10-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Modal_Logics_for_NTS.html</loc>
<lastmod>2016-10-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/parrow/</loc>
<lastmod>2016-10-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/weber/</loc>
<lastmod>2016-10-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Stable_Matching.html</loc>
<lastmod>2016-10-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/iptables_semantics/</loc>
<lastmod>2016-10-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/LOFT.html</loc>
<lastmod>2016-10-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/SPARCv8.html</loc>
<lastmod>2016-10-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/hibon/</loc>
<lastmod>2016-10-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/liuy/</loc>
<lastmod>2016-10-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Source_Coding_Theorem.html</loc>
<lastmod>2016-10-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/efficient-mergesort/</loc>
<lastmod>2016-10-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/subresultants/</loc>
<lastmod>2016-10-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Berlekamp_Zassenhaus.html</loc>
<lastmod>2016-10-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Chord_Segments.html</loc>
<lastmod>2016-10-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Lp.html</loc>
<lastmod>2016-10-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Fisher_Yates.html</loc>
<lastmod>2016-09-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Allen_Calculus.html</loc>
<lastmod>2016-09-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/ghourabi/</loc>
<lastmod>2016-09-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Lambda_Free_RPOs.html</loc>
<lastmod>2016-09-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Iptables_Semantics.html</loc>
<lastmod>2016-09-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/iptables_semantics_examples/</loc>
<lastmod>2016-09-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/routing/</loc>
<lastmod>2016-09-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/SuperCalc.html</loc>
<lastmod>2016-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/peltier/</loc>
<lastmod>2016-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Stone_Algebras.html</loc>
<lastmod>2016-09-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Stirling_Formula.html</loc>
<lastmod>2016-09-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Routing.html</loc>
<lastmod>2016-08-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/simple_firewall/</loc>
<lastmod>2016-08-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/ip_addresses/</loc>
<lastmod>2016-08-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Simple_Firewall.html</loc>
<lastmod>2016-08-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/aissat/</loc>
<lastmod>2016-08-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/InfPathElimination.html</loc>
<lastmod>2016-08-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/voisin/</loc>
<lastmod>2016-08-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/EdmondsKarp_Maxflow.html</loc>
<lastmod>2016-08-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/collections_examples/</loc>
<lastmod>2016-08-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/dijkstra_shortest_path/</loc>
<lastmod>2016-08-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/separation_logic_imperative_hol/</loc>
<lastmod>2016-08-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/sepref_basic/</loc>
<lastmod>2016-08-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Refine_Imperative_HOL.html</loc>
<lastmod>2016-08-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Ptolemys_Theorem.html</loc>
<lastmod>2016-08-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Surprise_Paradox.html</loc>
<lastmod>2016-07-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/brinkop/</loc>
<lastmod>2016-07-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Pairing_Heap.html</loc>
<lastmod>2016-07-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/DFS_Framework.html</loc>
<lastmod>2016-07-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/neumann/</loc>
<lastmod>2016-07-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Buildings.html</loc>
<lastmod>2016-07-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/sylvestre/</loc>
<lastmod>2016-07-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/nagele/</loc>
<lastmod>2016-06-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/oostrom/</loc>
<lastmod>2016-06-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Resolution_FOL.html</loc>
<lastmod>2016-06-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Rewriting_Z.html</loc>
<lastmod>2016-06-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Dependent_SIFUM_Refinement.html</loc>
<lastmod>2016-06-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/dependent_sifum_type_systems/</loc>
<lastmod>2016-06-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/IP_Addresses.html</loc>
<lastmod>2016-06-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/pierzchalski/</loc>
<lastmod>2016-06-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/sison/</loc>
<lastmod>2016-06-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Card_Multisets.html</loc>
<lastmod>2016-06-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Category3.html</loc>
<lastmod>2016-06-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Dependent_SIFUM_Type_Systems.html</loc>
<lastmod>2016-06-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Catalan_Numbers.html</loc>
<lastmod>2016-06-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Algebraic_VCs.html</loc>
<lastmod>2016-06-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Noninterference_Concurrent_Composition.html</loc>
<lastmod>2016-06-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/noninterference_sequential_composition/</loc>
<lastmod>2016-06-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/beeren/</loc>
<lastmod>2016-06-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/fernandez/</loc>
<lastmod>2016-06-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Word_Lib.html</loc>
<lastmod>2016-06-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/gao/</loc>
<lastmod>2016-06-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/klein/</loc>
<lastmod>2016-06-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/kolanski/</loc>
<lastmod>2016-06-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/lim/</loc>
<lastmod>2016-06-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/matichuk/</loc>
<lastmod>2016-06-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/sewell/</loc>
<lastmod>2016-06-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Tree_Decomposition.html</loc>
<lastmod>2016-05-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/ausaf/</loc>
<lastmod>2016-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Card_Equiv_Relations.html</loc>
<lastmod>2016-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/dyckhoff/</loc>
<lastmod>2016-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Posix-Lexing.html</loc>
<lastmod>2016-05-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/kuncar/</loc>
<lastmod>2016-05-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Perron_Frobenius.html</loc>
<lastmod>2016-05-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/rank_nullity_theorem/</loc>
<lastmod>2016-05-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Incredible_Proof_Machine.html</loc>
<lastmod>2016-05-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/FLP.html</loc>
<lastmod>2016-05-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/bisping/</loc>
<lastmod>2016-05-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/brodmann/</loc>
<lastmod>2016-05-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/nestmann/</loc>
<lastmod>2016-05-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/peters/</loc>
<lastmod>2016-05-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/rickmann/</loc>
<lastmod>2016-05-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/seidler/</loc>
<lastmod>2016-05-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/stueber/</loc>
<lastmod>2016-05-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/weidner/</loc>
<lastmod>2016-05-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/MFMC_Countable.html</loc>
<lastmod>2016-05-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/edmondskarp_maxflow/</loc>
<lastmod>2016-05-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Randomised_Social_Choice.html</loc>
<lastmod>2016-05-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Bell_Numbers_Spivey.html</loc>
<lastmod>2016-05-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/SDS_Impossibility.html</loc>
<lastmod>2016-05-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Groebner_Bases.html</loc>
<lastmod>2016-05-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/nemeti/</loc>
<lastmod>2016-04-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/No_FTL_observers.html</loc>
<lastmod>2016-04-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/stannett/</loc>
<lastmod>2016-04-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CYK.html</loc>
<lastmod>2016-04-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/ROBDD.html</loc>
<lastmod>2016-04-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Noninterference_Sequential_Composition.html</loc>
<lastmod>2016-04-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/noninterference_ipurge_unwinding/</loc>
<lastmod>2016-04-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/KAD.html</loc>
<lastmod>2016-04-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/PropResPI.html</loc>
<lastmod>2016-03-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Cartan_FP.html</loc>
<lastmod>2016-03-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Timed_Automata.html</loc>
<lastmod>2016-03-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/boolean_expression_checkers/</loc>
<lastmod>2016-03-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/LTL.html</loc>
<lastmod>2016-03-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/List_Update.html</loc>
<lastmod>2016-02-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/slicing/</loc>
<lastmod>2016-02-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/ullrich/</loc>
<lastmod>2016-02-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Formal_SSA.html</loc>
<lastmod>2016-02-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/partial_function_mr/</loc>
<lastmod>2016-01-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Polynomial_Factorization.html</loc>
<lastmod>2016-01-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Polynomial_Interpolation.html</loc>
<lastmod>2016-01-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/sqrt_babylonian/</loc>
<lastmod>2016-01-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Knot_Theory.html</loc>
<lastmod>2016-01-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/prathamesh/</loc>
<lastmod>2016-01-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Matrix_Tensor.html</loc>
<lastmod>2016-01-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Card_Number_Partitions.html</loc>
<lastmod>2016-01-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Triangle.html</loc>
<lastmod>2015-12-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Descartes_Sign_Rule.html</loc>
<lastmod>2015-12-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Liouville_Numbers.html</loc>
<lastmod>2015-12-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Prime_Harmonic_Series.html</loc>
<lastmod>2015-12-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Algebraic_Numbers.html</loc>
<lastmod>2015-12-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Applicative_Lifting.html</loc>
<lastmod>2015-12-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Stern_Brocot.html</loc>
<lastmod>2015-12-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Card_Partitions.html</loc>
<lastmod>2015-12-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Latin_Square.html</loc>
<lastmod>2015-12-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/marriage/</loc>
<lastmod>2015-12-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Ergodic_Theory.html</loc>
<lastmod>2015-12-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Euler_Partition.html</loc>
<lastmod>2015-11-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/TortoiseHare.html</loc>
<lastmod>2015-11-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/case_labeling/</loc>
<lastmod>2015-11-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/noschinski/</loc>
<lastmod>2015-11-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Planarity_Certificates.html</loc>
<lastmod>2015-11-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/simpl/</loc>
<lastmod>2015-11-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/transitive-closure/</loc>
<lastmod>2015-11-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Parity_Game.html</loc>
<lastmod>2015-11-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Isabelle_Meta_Model.html</loc>
<lastmod>2015-09-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/LTL_to_DRA.html</loc>
<lastmod>2015-09-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/kbps/</loc>
<lastmod>2015-09-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Jordan_Normal_Form.html</loc>
<lastmod>2015-08-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Decreasing-Diagrams-II.html</loc>
<lastmod>2015-08-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Noninterference_Inductive_Unwinding.html</loc>
<lastmod>2015-08-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Rep_Fin_Groups.html</loc>
<lastmod>2015-08-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Encodability_Process_Calculi.html</loc>
<lastmod>2015-08-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/glabbeek/</loc>
<lastmod>2015-08-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Case_Labeling.html</loc>
<lastmod>2015-07-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Landau_Symbols.html</loc>
<lastmod>2015-07-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Akra_Bazzi.html</loc>
<lastmod>2015-07-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/echelon_form/</loc>
<lastmod>2015-07-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Hermite.html</loc>
<lastmod>2015-07-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Derangements.html</loc>
<lastmod>2015-06-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Multirelations.html</loc>
<lastmod>2015-06-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/furusawa/</loc>
<lastmod>2015-06-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/list_interleaving/</loc>
<lastmod>2015-06-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/noninterference_csp/</loc>
<lastmod>2015-06-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/List_Interleaving.html</loc>
<lastmod>2015-06-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Noninterference_Generic_Unwinding.html</loc>
<lastmod>2015-06-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Noninterference_Ipurge_Unwinding.html</loc>
<lastmod>2015-06-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Dynamic_Tables.html</loc>
<lastmod>2015-06-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/coinductive_languages/</loc>
<lastmod>2015-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Formula_Derivatives.html</loc>
<lastmod>2015-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/formula_derivatives/</loc>
<lastmod>2015-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Probabilistic_System_Zoo.html</loc>
<lastmod>2015-05-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/caminati/</loc>
<lastmod>2015-04-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/kerber/</loc>
<lastmod>2015-04-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/lange/</loc>
<lastmod>2015-04-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/rowat/</loc>
<lastmod>2015-04-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Vickrey_Clarke_Groves.html</loc>
<lastmod>2015-04-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Residuated_Lattices.html</loc>
<lastmod>2015-04-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/ConcurrentIMP.html</loc>
<lastmod>2015-04-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/concurrentimp/</loc>
<lastmod>2015-04-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/engelhardt/</loc>
<lastmod>2015-04-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/hosking/</loc>
<lastmod>2015-04-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/ConcurrentGC.html</loc>
<lastmod>2015-04-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Trie.html</loc>
<lastmod>2015-03-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Consensus_Refined.html</loc>
<lastmod>2015-03-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/heard_of/</loc>
<lastmod>2015-03-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Deriving.html</loc>
<lastmod>2015-03-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/launchbury/</loc>
<lastmod>2015-02-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Call_Arity.html</loc>
<lastmod>2015-02-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/cayley_hamilton/</loc>
<lastmod>2015-02-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Echelon_Form.html</loc>
<lastmod>2015-02-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/QR_Decomposition.html</loc>
<lastmod>2015-02-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Finite_Automata_HF.html</loc>
<lastmod>2015-02-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/UpDown_Scheme.html</loc>
<lastmod>2015-01-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/UPF.html</loc>
<lastmod>2014-11-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/awn/</loc>
<lastmod>2014-10-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/bourke/</loc>
<lastmod>2014-10-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/AODV.html</loc>
<lastmod>2014-10-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Lifting_Definition_Option.html</loc>
<lastmod>2014-10-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/maximova/</loc>
<lastmod>2014-10-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Stream_Fusion_Code.html</loc>
<lastmod>2014-10-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Density_Compiler.html</loc>
<lastmod>2014-10-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/RefinementReactive.html</loc>
<lastmod>2014-10-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/preoteasa/</loc>
<lastmod>2014-10-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Certification_Monads.html</loc>
<lastmod>2014-10-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/XML.html</loc>
<lastmod>2014-10-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Imperative_Insertion_Sort.html</loc>
<lastmod>2014-09-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Sturm_Tarski.html</loc>
<lastmod>2014-09-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/adelsberger/</loc>
<lastmod>2014-09-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/hetzl/</loc>
<lastmod>2014-09-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/pollak/</loc>
<lastmod>2014-09-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Cayley_Hamilton.html</loc>
<lastmod>2014-09-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/raumer/</loc>
<lastmod>2014-09-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/secondary_sylow/</loc>
<lastmod>2014-09-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Jordan_Hoelder.html</loc>
<lastmod>2014-09-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Priority_Queue_Braun.html</loc>
<lastmod>2014-09-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Gauss_Jordan.html</loc>
<lastmod>2014-09-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/lee/</loc>
<lastmod>2014-08-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Special_Function_Bounds.html</loc>
<lastmod>2014-08-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/VectorSpace.html</loc>
<lastmod>2014-08-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Skew_Heap.html</loc>
<lastmod>2014-08-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Splay_Tree.html</loc>
<lastmod>2014-08-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Show.html</loc>
<lastmod>2014-07-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/blasum/</loc>
<lastmod>2014-07-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/feliachi/</loc>
<lastmod>2014-07-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CISC-Kernel.html</loc>
<lastmod>2014-07-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/havle/</loc>
<lastmod>2014-07-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/langenstein/</loc>
<lastmod>2014-07-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/schmaltz/</loc>
<lastmod>2014-07-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/stephan/</loc>
<lastmod>2014-07-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/tverdyshev/</loc>
<lastmod>2014-07-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/cock/</loc>
<lastmod>2014-07-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/pGCL.html</loc>
<lastmod>2014-07-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Amortized_Complexity.html</loc>
<lastmod>2014-07-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/skew_heap/</loc>
<lastmod>2014-07-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/splay_tree/</loc>
<lastmod>2014-07-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Network_Security_Policy_Verification.html</loc>
<lastmod>2014-07-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/coglio/</loc>
<lastmod>2014-07-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Pop_Refinement.html</loc>
<lastmod>2014-07-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/MSO_Regex_Equivalence.html</loc>
<lastmod>2014-06-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Boolean_Expression_Checkers.html</loc>
<lastmod>2014-06-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CAVA_LTL_Modelchecker.html</loc>
<lastmod>2014-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/cava_base/</loc>
<lastmod>2014-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/cava_setup/</loc>
<lastmod>2014-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/LTL_to_GBA.html</loc>
<lastmod>2014-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/esparza/</loc>
<lastmod>2014-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/ltl_to_gba/</loc>
<lastmod>2014-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/partial_order_reduction/</loc>
<lastmod>2014-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/promela/</loc>
<lastmod>2014-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Promela.html</loc>
<lastmod>2014-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/schimpf/</loc>
<lastmod>2014-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/sm/</loc>
<lastmod>2014-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/sm_base/</loc>
<lastmod>2014-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/smaus/</loc>
<lastmod>2014-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CAVA_Automata.html</loc>
<lastmod>2014-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Gabow_SCC.html</loc>
<lastmod>2014-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Noninterference_CSP.html</loc>
<lastmod>2014-05-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Roy_Floyd_Warshall.html</loc>
<lastmod>2014-05-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/wenzel/</loc>
<lastmod>2014-05-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Regular_Algebras.html</loc>
<lastmod>2014-05-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/ComponentDependencies.html</loc>
<lastmod>2014-04-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/spichkova/</loc>
<lastmod>2014-04-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/SIFUM_Type_Systems.html</loc>
<lastmod>2014-04-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/WHATandWHERE_Security.html</loc>
<lastmod>2014-04-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Strong_Security.html</loc>
<lastmod>2014-04-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/lux/</loc>
<lastmod>2014-04-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/sauer/</loc>
<lastmod>2014-04-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/schoepe/</loc>
<lastmod>2014-04-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/strong_security/</loc>
<lastmod>2014-04-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Bounded_Deducibility_Security.html</loc>
<lastmod>2014-04-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/HyperCTL.html</loc>
<lastmod>2014-04-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Abstract_Completeness.html</loc>
<lastmod>2014-04-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/rabe/</loc>
<lastmod>2014-04-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Discrete_Summation.html</loc>
<lastmod>2014-04-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/haftmann/</loc>
<lastmod>2014-04-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/GPU_Kernel_PL.html</loc>
<lastmod>2014-04-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/wickerson/</loc>
<lastmod>2014-04-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Probabilistic_Noninterference.html</loc>
<lastmod>2014-03-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/AWN.html</loc>
<lastmod>2014-03-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Partial_Function_MR.html</loc>
<lastmod>2014-02-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Random_Graph_Subgraph_Threshold.html</loc>
<lastmod>2014-02-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/petrovic/</loc>
<lastmod>2014-02-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Selection_Heap_Sort.html</loc>
<lastmod>2014-02-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Affine_Arithmetic.html</loc>
<lastmod>2014-02-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Real_Impl.html</loc>
<lastmod>2014-02-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Regex_Equivalence.html</loc>
<lastmod>2014-01-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Secondary_Sylow.html</loc>
<lastmod>2014-01-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/armstrong/</loc>
<lastmod>2014-01-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Relation_Algebra.html</loc>
<lastmod>2014-01-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/KAT_and_DRA.html</loc>
<lastmod>2014-01-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Featherweight_OCL.html</loc>
<lastmod>2014-01-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CryptoBasedCompositionalProperties.html</loc>
<lastmod>2014-01-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Sturm_Sequences.html</loc>
<lastmod>2014-01-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Tail_Recursive_Functions.html</loc>
<lastmod>2013-12-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Incompleteness.html</loc>
<lastmod>2013-11-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/HereditarilyFinite.html</loc>
<lastmod>2013-11-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Coinductive_Languages.html</loc>
<lastmod>2013-11-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/FocusStreamsCaseStudies.html</loc>
<lastmod>2013-11-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/GoedelGod.html</loc>
<lastmod>2013-11-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/paleo/</loc>
<lastmod>2013-11-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Decreasing-Diagrams.html</loc>
<lastmod>2013-11-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/zankl/</loc>
<lastmod>2013-11-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Automatic_Refinement.html</loc>
<lastmod>2013-10-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Native_Word.html</loc>
<lastmod>2013-09-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/IEEE_Floating_Point.html</loc>
<lastmod>2013-07-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/yu/</loc>
<lastmod>2013-07-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/lehmer/</loc>
<lastmod>2013-07-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Lehmer.html</loc>
<lastmod>2013-07-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Pratt_Certificate.html</loc>
<lastmod>2013-07-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Koenigsberg_Friendship.html</loc>
<lastmod>2013-07-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Sort_Encodings.html</loc>
<lastmod>2013-06-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/ShortestPath.html</loc>
<lastmod>2013-05-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Graph_Theory.html</loc>
<lastmod>2013-04-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/finger-trees/</loc>
<lastmod>2013-04-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Containers.html</loc>
<lastmod>2013-04-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/trie/</loc>
<lastmod>2013-04-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Nominal2.html</loc>
<lastmod>2013-02-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Launchbury.html</loc>
<lastmod>2013-01-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Ribbon_Proofs.html</loc>
<lastmod>2013-01-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Rank_Nullity_Theorem.html</loc>
<lastmod>2013-01-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Kleene_Algebra.html</loc>
<lastmod>2013-01-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/cauchy/</loc>
<lastmod>2013-01-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Sqrt_Babylonian.html</loc>
<lastmod>2013-01-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Separation_Logic_Imperative_HOL.html</loc>
<lastmod>2012-11-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/meis/</loc>
<lastmod>2012-11-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/ogawa/</loc>
<lastmod>2012-11-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Open_Induction.html</loc>
<lastmod>2012-11-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/makarios/</loc>
<lastmod>2012-10-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Tarskis_Geometry.html</loc>
<lastmod>2012-10-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/avigad/</loc>
<lastmod>2012-10-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Bondy.html</loc>
<lastmod>2012-10-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Possibilistic_Noninterference.html</loc>
<lastmod>2012-09-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Datatype_Order_Generator.html</loc>
<lastmod>2012-08-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Impossible_Geometry.html</loc>
<lastmod>2012-08-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/romanos/</loc>
<lastmod>2012-08-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/debrat/</loc>
<lastmod>2012-07-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/merz/</loc>
<lastmod>2012-07-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Heard_Of.html</loc>
<lastmod>2012-07-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/PCF.html</loc>
<lastmod>2012-07-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Tycon.html</loc>
<lastmod>2012-06-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/bengtson/</loc>
<lastmod>2012-05-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CCS.html</loc>
<lastmod>2012-05-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Psi_Calculi.html</loc>
<lastmod>2012-05-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Pi_Calculus.html</loc>
<lastmod>2012-05-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/gaudel/</loc>
<lastmod>2012-05-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Circus.html</loc>
<lastmod>2012-05-27T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/boyton/</loc>
<lastmod>2012-05-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Separation_Algebra.html</loc>
<lastmod>2012-05-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Stuttering_Equivalence.html</loc>
<lastmod>2012-05-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/bella/</loc>
<lastmod>2012-05-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Inductive_Confidentiality.html</loc>
<lastmod>2012-05-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/lorenz_approximation/</loc>
<lastmod>2012-04-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Ordinary_Differential_Equations.html</loc>
<lastmod>2012-04-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Well_Quasi_Orders.html</loc>
<lastmod>2012-04-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Abortable_Linearizable_Modules.html</loc>
<lastmod>2012-03-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/guerraoui/</loc>
<lastmod>2012-03-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/kuncak/</loc>
<lastmod>2012-03-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Transitive-Closure-II.html</loc>
<lastmod>2012-02-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Girth_Chromatic.html</loc>
<lastmod>2012-02-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Dijkstra_Shortest_Path.html</loc>
<lastmod>2012-01-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Refine_Monadic.html</loc>
<lastmod>2012-01-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/gauss-jordan-elim-fun/</loc>
<lastmod>2012-01-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Markov_Models.html</loc>
<lastmod>2012-01-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/TLA.html</loc>
<lastmod>2011-11-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/grov/</loc>
<lastmod>2011-11-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Efficient-Mergesort.html</loc>
<lastmod>2011-11-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/MonoBoolTranAlgebra.html</loc>
<lastmod>2011-09-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/georgescu/</loc>
<lastmod>2011-09-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/LatticeProperties.html</loc>
<lastmod>2011-09-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/latticeproperties/</loc>
<lastmod>2011-09-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/leustean/</loc>
<lastmod>2011-09-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/PseudoHoops.html</loc>
<lastmod>2011-09-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Myhill-Nerode.html</loc>
<lastmod>2011-08-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/wu/</loc>
<lastmod>2011-08-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Gauss-Jordan-Elim-Fun.html</loc>
<lastmod>2011-08-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Max-Card-Matching.html</loc>
<lastmod>2011-07-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/KBPs.html</loc>
<lastmod>2011-05-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/General-Triangle.html</loc>
<lastmod>2011-04-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Transitive-Closure.html</loc>
<lastmod>2011-03-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/AutoFocus-Stream.html</loc>
<lastmod>2011-02-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/List-Infinite.html</loc>
<lastmod>2011-02-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Nat-Interval-Logic.html</loc>
<lastmod>2011-02-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/list-infinite/</loc>
<lastmod>2011-02-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/nat-interval-logic/</loc>
<lastmod>2011-02-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/trachtenherz/</loc>
<lastmod>2011-02-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/LightweightJava.html</loc>
<lastmod>2011-02-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/parkinson/</loc>
<lastmod>2011-02-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/strnisa/</loc>
<lastmod>2011-02-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/RIPEMD-160-SPARK.html</loc>
<lastmod>2011-01-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/grechuk/</loc>
<lastmod>2011-01-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Lower_Semicontinuous.html</loc>
<lastmod>2011-01-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Marriage.html</loc>
<lastmod>2010-12-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/jiangd/</loc>
<lastmod>2010-12-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Shivers-CFA.html</loc>
<lastmod>2010-11-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Binomial-Heaps.html</loc>
<lastmod>2010-10-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Finger-Trees.html</loc>
<lastmod>2010-10-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Binomial-Queues.html</loc>
<lastmod>2010-10-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/koerner/</loc>
<lastmod>2010-10-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/nielsen/</loc>
<lastmod>2010-10-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/doczkal/</loc>
<lastmod>2010-08-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Lam-ml-Normalization.html</loc>
<lastmod>2010-08-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Polynomials.html</loc>
<lastmod>2010-08-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Statecharts.html</loc>
<lastmod>2010-08-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/helke/</loc>
<lastmod>2010-08-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Free-Groups.html</loc>
<lastmod>2010-06-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Category2.html</loc>
<lastmod>2010-06-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/katovsky/</loc>
<lastmod>2010-06-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Matrix.html</loc>
<lastmod>2010-06-17T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Abstract-Rewriting.html</loc>
<lastmod>2010-06-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/back/</loc>
<lastmod>2010-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/datarefinementibp/</loc>
<lastmod>2010-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/DataRefinementIBP.html</loc>
<lastmod>2010-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/GraphMarkingIBP.html</loc>
<lastmod>2010-05-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Robbins-Conjecture.html</loc>
<lastmod>2010-05-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/doty/</loc>
<lastmod>2010-05-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/krauss/</loc>
<lastmod>2010-05-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Regular-Sets.html</loc>
<lastmod>2010-05-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/henrio/</loc>
<lastmod>2010-04-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Locally-Nameless-Sigma.html</loc>
<lastmod>2010-04-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/lutz/</loc>
<lastmod>2010-04-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/sudhof/</loc>
<lastmod>2010-04-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Free-Boolean-Algebra.html</loc>
<lastmod>2010-03-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/hrb-slicing/</loc>
<lastmod>2010-03-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/InformationFlowSlicing.html</loc>
<lastmod>2010-03-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/InformationFlowSlicing_Inter.html</loc>
<lastmod>2010-03-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/wasserrab/</loc>
<lastmod>2010-03-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/List-Index.html</loc>
<lastmod>2010-02-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Coinductive.html</loc>
<lastmod>2010-02-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/DPT-SAT-Solver.html</loc>
<lastmod>2009-12-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/heller/</loc>
<lastmod>2009-12-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Presburger-Automata.html</loc>
<lastmod>2009-12-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/reiter/</loc>
<lastmod>2009-12-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/binomial-heaps/</loc>
<lastmod>2009-11-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Collections.html</loc>
<lastmod>2009-11-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Tree-Automata.html</loc>
<lastmod>2009-11-25T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/ijbema/</loc>
<lastmod>2009-11-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Perfect-Number-Thm.html</loc>
<lastmod>2009-11-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/HRB-Slicing.html</loc>
<lastmod>2009-11-13T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/WorkerWrapper.html</loc>
<lastmod>2009-10-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Ordinals_and_Cardinals.html</loc>
<lastmod>2009-09-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/chapman/</loc>
<lastmod>2009-08-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/SequentInvertibility.html</loc>
<lastmod>2009-08-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CofGroups.html</loc>
<lastmod>2009-08-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/kastermans/</loc>
<lastmod>2009-08-04T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/FinFun.html</loc>
<lastmod>2009-05-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Stream-Fusion.html</loc>
<lastmod>2009-04-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/BytecodeLogicJmlTypes.html</loc>
<lastmod>2008-12-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/beringer/</loc>
<lastmod>2008-12-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/hofmann/</loc>
<lastmod>2008-12-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/SIFPL.html</loc>
<lastmod>2008-11-10T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/SenSocialChoice.html</loc>
<lastmod>2008-11-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/FunWithTilings.html</loc>
<lastmod>2008-11-07T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Huffman.html</loc>
<lastmod>2008-10-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Slicing.html</loc>
<lastmod>2008-09-16T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/VolpanoSmith.html</loc>
<lastmod>2008-09-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/snelting/</loc>
<lastmod>2008-09-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/ArrowImpossibilityGS.html</loc>
<lastmod>2008-09-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/FunWithFunctions.html</loc>
<lastmod>2008-08-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/SATSolverVerification.html</loc>
<lastmod>2008-07-23T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/nedzelsky/</loc>
<lastmod>2008-04-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Recursion-Theory-I.html</loc>
<lastmod>2008-04-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Simpl.html</loc>
<lastmod>2008-02-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/BDD.html</loc>
<lastmod>2008-02-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/ortner/</loc>
<lastmod>2008-02-29T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/aehlig/</loc>
<lastmod>2008-02-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/NormByEval.html</loc>
<lastmod>2008-02-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/LinearQuantifierElim.html</loc>
<lastmod>2008-01-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Program-Conflict-Analysis.html</loc>
<lastmod>2007-12-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/olm/</loc>
<lastmod>2007-12-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/JinjaThreads.html</loc>
<lastmod>2007-12-03T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/boehme/</loc>
<lastmod>2007-11-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/MuchAdoAboutTwo.html</loc>
<lastmod>2007-11-06T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Fermat3_4.html</loc>
<lastmod>2007-08-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/oosterhuis/</loc>
<lastmod>2007-08-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/SumSquares.html</loc>
<lastmod>2007-08-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Valuation.html</loc>
<lastmod>2007-08-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/group-ring-module/</loc>
<lastmod>2007-08-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/kobayashi/</loc>
<lastmod>2007-08-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/FOL-Fitting.html</loc>
<lastmod>2007-08-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/POPLmark-deBruijn.html</loc>
<lastmod>2007-08-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/HotelKeyCards.html</loc>
<lastmod>2006-09-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Abstract-Hoare-Logics.html</loc>
<lastmod>2006-08-08T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/bauer/</loc>
<lastmod>2006-05-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Flyspeck-Tame.html</loc>
<lastmod>2006-05-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/flyspeck-tame/</loc>
<lastmod>2006-05-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/CoreC&#43;&#43;.html</loc>
<lastmod>2006-05-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/FeatherweightJava.html</loc>
<lastmod>2006-03-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/fosterj/</loc>
<lastmod>2006-03-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/vytiniotis/</loc>
<lastmod>2006-03-31T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/barsotti/</loc>
<lastmod>2006-03-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/ClockSynchInst.html</loc>
<lastmod>2006-03-15T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Cauchy.html</loc>
<lastmod>2006-03-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/porter/</loc>
<lastmod>2006-03-14T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Ordinal.html</loc>
<lastmod>2005-11-11T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/FFT.html</loc>
<lastmod>2005-10-12T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/GenClock.html</loc>
<lastmod>2005-06-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/jaskelioff/</loc>
<lastmod>2005-06-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/DiskPaxos.html</loc>
<lastmod>2005-06-22T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/JiveDataStoreModel.html</loc>
<lastmod>2005-06-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/rauch/</loc>
<lastmod>2005-06-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Jinja.html</loc>
<lastmod>2005-06-01T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/lindenberg/</loc>
<lastmod>2005-05-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/RSAPSS.html</loc>
<lastmod>2005-05-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/wirt/</loc>
<lastmod>2005-05-02T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Category.html</loc>
<lastmod>2005-04-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/keefe/</loc>
<lastmod>2005-04-21T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/FileRefinement.html</loc>
<lastmod>2004-12-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/zee/</loc>
<lastmod>2004-12-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Integration.html</loc>
<lastmod>2004-11-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/richter/</loc>
<lastmod>2004-11-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Verified-Prover.html</loc>
<lastmod>2004-09-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/ridge/</loc>
<lastmod>2004-09-28T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Completeness.html</loc>
<lastmod>2004-09-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/margetson/</loc>
<lastmod>2004-09-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Ramsey-Infinite.html</loc>
<lastmod>2004-09-20T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Compiling-Exceptions-Correctly.html</loc>
<lastmod>2004-07-09T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Depth-First-Search.html</loc>
<lastmod>2004-06-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/nishihara/</loc>
<lastmod>2004-06-24T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/chen/</loc>
<lastmod>2004-05-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Group-Ring-Module.html</loc>
<lastmod>2004-05-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/murao/</loc>
<lastmod>2004-05-18T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/friedrich/</loc>
<lastmod>2004-04-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Lazy-Lists-II.html</loc>
<lastmod>2004-04-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/dependencies/lazy-lists-ii/</loc>
<lastmod>2004-04-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Topology.html</loc>
<lastmod>2004-04-26T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/BinarySearchTree.html</loc>
<lastmod>2004-04-05T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/Functional-Automata.html</loc>
<lastmod>2004-03-30T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/AVL-Trees.html</loc>
<lastmod>2004-03-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/entries/MiniML.html</loc>
<lastmod>2004-03-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/naraschewski/</loc>
<lastmod>2004-03-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/authors/pusch/</loc>
<lastmod>2004-03-19T00:00:00+00:00</lastmod>
</url><url>
<loc>/theories/abortable_linearizable_modules/</loc>
</url><url>
<loc>/about/</loc>
</url><url>
<loc>/theories/abs_int_itp2012/</loc>
</url><url>
<loc>/theories/abstract-hoare-logics/</loc>
</url><url>
<loc>/theories/abstract-rewriting/</loc>
</url><url>
<loc>/theories/abstract_completeness/</loc>
</url><url>
<loc>/theories/abstract_soundness/</loc>
</url><url>
<loc>/theories/ackermanns_not_pr/</loc>
</url><url>
<loc>/theories/actuarial_mathematics/</loc>
</url><url>
<loc>/theories/adaptive_state_counting/</loc>
</url><url>
<loc>/theories/ads_functor/</loc>
</url><url>
<loc>/theories/affine_arithmetic/</loc>
</url><url>
<loc>/theories/aggregation_algebras/</loc>
</url><url>
<loc>/theories/ai_planning_languages_semantics/</loc>
</url><url>
<loc>/theories/akra_bazzi/</loc>
</url><url>
<loc>/theories/algebraic_numbers/</loc>
</url><url>
<loc>/theories/algebraic_vcs/</loc>
</url><url>
<loc>/theories/allen_calculus/</loc>
</url><url>
<loc>/theories/amicable_numbers/</loc>
</url><url>
<loc>/theories/amortized_complexity/</loc>
</url><url>
<loc>/theories/anselmgod/</loc>
</url><url>
<loc>/theories/aodv/</loc>
</url><url>
<loc>/theories/applicative_lifting/</loc>
</url><url>
<loc>/theories/approximation_algorithms/</loc>
</url><url>
<loc>/theories/architectural_design_patterns/</loc>
</url><url>
<loc>/theories/aristotles_assertoric_syllogistic/</loc>
</url><url>
<loc>/theories/arith_prog_rel_primes/</loc>
</url><url>
<loc>/theories/arrowimpossibilitygs/</loc>
</url><url>
<loc>/theories/attack_trees/</loc>
</url><url>
<loc>/theories/auto2_hol/</loc>
</url><url>
<loc>/theories/auto2_imperative_hol/</loc>
</url><url>
<loc>/theories/autofocus-stream/</loc>
</url><url>
<loc>/theories/automated_stateful_protocol_verification/</loc>
</url><url>
<loc>/theories/automatic_refinement/</loc>
</url><url>
<loc>/theories/avl-trees/</loc>
</url><url>
<loc>/theories/awn/</loc>
</url><url>
<loc>/theories/axiomaticcategorytheory/</loc>
</url><url>
<loc>/theories/banach_steinhaus/</loc>
</url><url>
<loc>/theories/bd_security_compositional/</loc>
</url><url>
<loc>/theories/bdd/</loc>
</url><url>
<loc>/theories/belief_revision/</loc>
</url><url>
<loc>/theories/bell_numbers_spivey/</loc>
</url><url>
<loc>/theories/benor_kozen_reif/</loc>
</url><url>
<loc>/theories/berlekamp_zassenhaus/</loc>
</url><url>
<loc>/theories/bernoulli/</loc>
</url><url>
<loc>/theories/bertrands_postulate/</loc>
</url><url>
<loc>/theories/bicategory/</loc>
</url><url>
<loc>/theories/binarysearchtree/</loc>
</url><url>
<loc>/theories/binding_syntax_theory/</loc>
</url><url>
<loc>/theories/binomial-heaps/</loc>
</url><url>
<loc>/theories/binomial-queues/</loc>
</url><url>
<loc>/theories/birdkmp/</loc>
</url><url>
<loc>/theories/blue_eyes/</loc>
</url><url>
<loc>/theories/bnf_cc/</loc>
</url><url>
<loc>/theories/bnf_operations/</loc>
</url><url>
<loc>/theories/bondy/</loc>
</url><url>
<loc>/theories/boolean_expression_checkers/</loc>
</url><url>
<loc>/theories/boolos_curious_inference/</loc>
</url><url>
<loc>/theories/bounded_deducibility_security/</loc>
</url><url>
<loc>/theories/btree/</loc>
</url><url>
<loc>/theories/buchi_complementation/</loc>
</url><url>
<loc>/theories/budan_fourier/</loc>
</url><url>
<loc>/theories/buffons_needle/</loc>
</url><url>
<loc>/theories/buildings/</loc>
</url><url>
<loc>/theories/bytecodelogicjmltypes/</loc>
</url><url>
<loc>/theories/c2ka_distributedsystems/</loc>
</url><url>
<loc>/theories/cakeml/</loc>
</url><url>
<loc>/theories/cakeml_codegen/</loc>
</url><url>
<loc>/theories/call_arity/</loc>
</url><url>
<loc>/theories/card_equiv_relations/</loc>
</url><url>
<loc>/theories/card_multisets/</loc>
</url><url>
<loc>/theories/card_number_partitions/</loc>
</url><url>
<loc>/theories/card_partitions/</loc>
</url><url>
<loc>/theories/cartan_fp/</loc>
</url><url>
<loc>/theories/case_labeling/</loc>
</url><url>
<loc>/theories/catalan_numbers/</loc>
</url><url>
<loc>/theories/category/</loc>
</url><url>
<loc>/theories/category2/</loc>
</url><url>
<loc>/theories/category3/</loc>
</url><url>
<loc>/theories/cauchy/</loc>
</url><url>
<loc>/theories/cava_automata/</loc>
</url><url>
<loc>/theories/cava_base/</loc>
</url><url>
<loc>/theories/cava_ltl_modelchecker/</loc>
</url><url>
<loc>/theories/cava_setup/</loc>
</url><url>
<loc>/theories/cayley_hamilton/</loc>
</url><url>
<loc>/theories/ccs/</loc>
</url><url>
<loc>/theories/certification_monads/</loc>
</url><url>
<loc>/theories/chandy_lamport/</loc>
</url><url>
<loc>/theories/chord_segments/</loc>
</url><url>
<loc>/theories/circus/</loc>
</url><url>
<loc>/theories/cisc-kernel/</loc>
</url><url>
<loc>/theories/clean/</loc>
</url><url>
<loc>/theories/clique_and_monotone_circuits/</loc>
</url><url>
<loc>/theories/clocksynchinst/</loc>
</url><url>
<loc>/theories/closest_pair_points/</loc>
</url><url>
<loc>/theories/cocon/</loc>
</url><url>
<loc>/theories/cofgroups/</loc>
</url><url>
<loc>/theories/coinductive/</loc>
</url><url>
<loc>/theories/coinductive_languages/</loc>
</url><url>
<loc>/theories/collections/</loc>
</url><url>
<loc>/theories/collections_examples/</loc>
</url><url>
<loc>/theories/combinable_wands/</loc>
</url><url>
<loc>/theories/combinatorics_words/</loc>
</url><url>
<loc>/theories/combinatorics_words_graph_lemma/</loc>
</url><url>
<loc>/theories/combinatorics_words_lyndon/</loc>
</url><url>
<loc>/theories/commuting_hermitian/</loc>
</url><url>
<loc>/theories/comparison_sort_lower_bound/</loc>
</url><url>
<loc>/theories/compiling-exceptions-correctly/</loc>
</url><url>
<loc>/theories/complete_non_orders/</loc>
</url><url>
<loc>/theories/completeness/</loc>
</url><url>
<loc>/theories/complex_bounded_operators/</loc>
</url><url>
<loc>/theories/complex_geometry/</loc>
</url><url>
<loc>/theories/complx/</loc>
</url><url>
<loc>/theories/componentdependencies/</loc>
</url><url>
<loc>/topics/computer-science/algorithms/</loc>
</url><url>
<loc>/topics/computer-science/algorithms/approximation/</loc>
</url><url>
<loc>/topics/computer-science/algorithms/concurrent/</loc>
</url><url>
<loc>/topics/computer-science/algorithms/distributed/</loc>
</url><url>
<loc>/topics/computer-science/algorithms/geometry/</loc>
</url><url>
<loc>/topics/computer-science/algorithms/graph/</loc>
</url><url>
<loc>/topics/computer-science/algorithms/mathematical/</loc>
</url><url>
<loc>/topics/computer-science/algorithms/online/</loc>
</url><url>
<loc>/topics/computer-science/algorithms/optimization/</loc>
</url><url>
<loc>/topics/computer-science/algorithms/quantum-computing/</loc>
</url><url>
<loc>/topics/computer-science/artificial-intelligence/</loc>
</url><url>
<loc>/topics/computer-science/automata-and-formal-languages/</loc>
</url><url>
<loc>/topics/computer-science/concurrency/</loc>
</url><url>
<loc>/topics/computer-science/concurrency/process-calculi/</loc>
</url><url>
<loc>/topics/computer-science/data-structures/</loc>
</url><url>
<loc>/topics/computer-science/functional-programming/</loc>
</url><url>
<loc>/topics/computer-science/hardware/</loc>
</url><url>
<loc>/topics/computer-science/machine-learning/</loc>
</url><url>
<loc>/topics/computer-science/networks/</loc>
</url><url>
<loc>/topics/computer-science/programming-languages/</loc>
</url><url>
<loc>/topics/computer-science/programming-languages/compiling/</loc>
</url><url>
<loc>/topics/computer-science/programming-languages/lambda-calculi/</loc>
</url><url>
<loc>/topics/computer-science/programming-languages/language-definitions/</loc>
</url><url>
<loc>/topics/computer-science/programming-languages/logics/</loc>
</url><url>
<loc>/topics/computer-science/programming-languages/misc/</loc>
</url><url>
<loc>/topics/computer-science/programming-languages/static-analysis/</loc>
</url><url>
<loc>/topics/computer-science/programming-languages/type-systems/</loc>
</url><url>
<loc>/topics/computer-science/security/</loc>
</url><url>
<loc>/topics/computer-science/security/cryptography/</loc>
</url><url>
<loc>/topics/computer-science/semantics-and-reasoning/</loc>
</url><url>
<loc>/topics/computer-science/system-description-languages/</loc>
</url><url>
<loc>/theories/concurrent_ref_alg/</loc>
</url><url>
<loc>/theories/concurrent_revisions/</loc>
</url><url>
<loc>/theories/concurrentgc/</loc>
</url><url>
<loc>/theories/concurrentimp/</loc>
</url><url>
<loc>/theories/conditional_simplification/</loc>
</url><url>
<loc>/theories/conditional_transfer_rule/</loc>
</url><url>
<loc>/theories/consensus_refined/</loc>
</url><url>
<loc>/theories/constructive_cryptography/</loc>
</url><url>
<loc>/theories/constructive_cryptography_cm/</loc>
</url><url>
<loc>/theories/constructor_funs/</loc>
</url><url>
<loc>/theories/containers/</loc>
</url><url>
<loc>/theories/containers-benchmarks/</loc>
</url><url>
<loc>/theories/core_dom/</loc>
</url><url>
<loc>/theories/core_sc_dom/</loc>
</url><url>
<loc>/theories/corec&#43;&#43;/</loc>
</url><url>
<loc>/theories/correctness_algebras/</loc>
</url><url>
<loc>/theories/cosmed/</loc>
</url><url>
<loc>/theories/cosmedis/</loc>
</url><url>
<loc>/theories/cotangent_pfd_formula/</loc>
</url><url>
<loc>/theories/count_complex_roots/</loc>
</url><url>
<loc>/theories/crdt/</loc>
</url><url>
<loc>/theories/crypthol/</loc>
</url><url>
<loc>/theories/cryptobasedcompositionalproperties/</loc>
</url><url>
+ <loc>/theories/crystals-kyber/</loc>
+ </url><url>
<loc>/theories/csp_reftk/</loc>
</url><url>
<loc>/theories/cubic_quartic_equations/</loc>
</url><url>
<loc>/theories/cyk/</loc>
</url><url>
<loc>/theories/czh_elementary_categories/</loc>
</url><url>
<loc>/theories/czh_foundations/</loc>
</url><url>
<loc>/theories/czh_universal_constructions/</loc>
</url><url>
<loc>/theories/datarefinementibp/</loc>
</url><url>
<loc>/theories/datatype_order_generator/</loc>
</url><url>
<loc>/theories/decl_sem_fun_pl/</loc>
</url><url>
<loc>/theories/decreasing-diagrams/</loc>
</url><url>
<loc>/theories/decreasing-diagrams-ii/</loc>
</url><url>
<loc>/theories/dedekind_real/</loc>
</url><url>
<loc>/theories/deep_learning/</loc>
</url><url>
<loc>/theories/delta_system_lemma/</loc>
</url><url>
<loc>/theories/density_compiler/</loc>
</url><url>
<loc>/theories/dependent_sifum_refinement/</loc>
</url><url>
<loc>/theories/dependent_sifum_type_systems/</loc>
</url><url>
<loc>/theories/depth-first-search/</loc>
</url><url>
<loc>/theories/derangements/</loc>
</url><url>
<loc>/theories/deriving/</loc>
</url><url>
<loc>/theories/descartes_sign_rule/</loc>
</url><url>
<loc>/theories/design_theory/</loc>
</url><url>
<loc>/theories/dfs_framework/</loc>
</url><url>
<loc>/theories/dict_construction/</loc>
</url><url>
<loc>/theories/differential_dynamic_logic/</loc>
</url><url>
<loc>/theories/differential_game_logic/</loc>
</url><url>
<loc>/theories/digit_expansions/</loc>
</url><url>
<loc>/theories/dijkstra_shortest_path/</loc>
</url><url>
<loc>/theories/diophantine_eqns_lin_hom/</loc>
</url><url>
<loc>/theories/dirichlet_l/</loc>
</url><url>
<loc>/theories/dirichlet_series/</loc>
</url><url>
<loc>/theories/discrete_summation/</loc>
</url><url>
<loc>/theories/discretepricing/</loc>
</url><url>
<loc>/theories/diskpaxos/</loc>
</url><url>
<loc>/theories/dom_components/</loc>
</url><url>
<loc>/theories/dominance_chk/</loc>
</url><url>
<loc>/download/</loc>
</url><url>
<loc>/theories/dprm_theorem/</loc>
</url><url>
<loc>/theories/dpt-sat-solver/</loc>
</url><url>
<loc>/theories/dynamic_tables/</loc>
</url><url>
<loc>/theories/dynamicarchitectures/</loc>
</url><url>
<loc>/theories/e_transcendental/</loc>
</url><url>
<loc>/theories/echelon_form/</loc>
</url><url>
<loc>/theories/edmondskarp_maxflow/</loc>
</url><url>
<loc>/theories/efficient-mergesort/</loc>
</url><url>
<loc>/theories/elliptic_curves_group_law/</loc>
</url><url>
<loc>/theories/encodability_process_calculi/</loc>
</url><url>
<loc>/submission/</loc>
</url><url>
<loc>/theories/epistemic_logic/</loc>
</url><url>
<loc>/theories/equivalence_relation_enumeration/</loc>
</url><url>
<loc>/theories/ergodic_theory/</loc>
</url><url>
<loc>/theories/error_function/</loc>
</url><url>
<loc>/theories/euler_maclaurin/</loc>
</url><url>
<loc>/theories/euler_partition/</loc>
</url><url>
<loc>/theories/eval_fo/</loc>
</url><url>
<loc>/theories/extended_finite_state_machine_inference/</loc>
</url><url>
<loc>/theories/extended_finite_state_machines/</loc>
</url><url>
<loc>/theories/factor_algebraic_polynomial/</loc>
</url><url>
<loc>/theories/factored_transition_system_bounding/</loc>
</url><url>
<loc>/theories/falling_factorial_sum/</loc>
</url><url>
<loc>/theories/farkas/</loc>
</url><url>
<loc>/theories/featherweight_ocl/</loc>
</url><url>
<loc>/theories/featherweightjava/</loc>
</url><url>
<loc>/theories/fermat3_4/</loc>
</url><url>
<loc>/theories/fft/</loc>
</url><url>
<loc>/theories/filerefinement/</loc>
</url><url>
<loc>/theories/finfun/</loc>
</url><url>
<loc>/theories/finger-trees/</loc>
</url><url>
<loc>/theories/finite-map-extras/</loc>
</url><url>
<loc>/theories/finite_automata_hf/</loc>
</url><url>
<loc>/theories/finite_fields/</loc>
</url><url>
<loc>/theories/finitely_generated_abelian_groups/</loc>
</url><url>
<loc>/theories/first_order_terms/</loc>
</url><url>
<loc>/theories/first_welfare_theorem/</loc>
</url><url>
<loc>/theories/fishburn_impossibility/</loc>
</url><url>
<loc>/theories/fisher_yates/</loc>
</url><url>
<loc>/theories/fishers_inequality/</loc>
</url><url>
<loc>/theories/flow_networks/</loc>
</url><url>
<loc>/theories/floyd_warshall/</loc>
</url><url>
<loc>/theories/flp/</loc>
</url><url>
<loc>/theories/flyspeck-tame/</loc>
</url><url>
<loc>/theories/flyspeck-tame-computation/</loc>
</url><url>
<loc>/theories/fo_theory_rewriting/</loc>
</url><url>
<loc>/theories/focusstreamscasestudies/</loc>
</url><url>
<loc>/theories/fol-fitting/</loc>
</url><url>
<loc>/theories/fol_axiomatic/</loc>
</url><url>
<loc>/theories/fol_harrison/</loc>
</url><url>
<loc>/theories/fol_seq_calc1/</loc>
</url><url>
<loc>/theories/fol_seq_calc2/</loc>
</url><url>
<loc>/theories/fol_seq_calc3/</loc>
</url><url>
<loc>/theories/forcing/</loc>
</url><url>
<loc>/theories/formal_puiseux_series/</loc>
</url><url>
<loc>/theories/formal_ssa/</loc>
</url><url>
<loc>/theories/formula_derivatives/</loc>
</url><url>
<loc>/theories/formula_derivatives-examples/</loc>
</url><url>
<loc>/theories/foundation_of_geometry/</loc>
</url><url>
<loc>/theories/fourier/</loc>
</url><url>
<loc>/theories/free-boolean-algebra/</loc>
</url><url>
<loc>/theories/free-groups/</loc>
</url><url>
<loc>/theories/frequency_moments/</loc>
</url><url>
<loc>/theories/fresh_identifiers/</loc>
</url><url>
<loc>/theories/fsm_tests/</loc>
</url><url>
<loc>/theories/functional-automata/</loc>
</url><url>
<loc>/theories/functional_ordered_resolution_prover/</loc>
</url><url>
<loc>/theories/funwithfunctions/</loc>
</url><url>
<loc>/theories/funwithtilings/</loc>
</url><url>
<loc>/theories/furstenberg_topology/</loc>
</url><url>
<loc>/theories/gabow_scc/</loc>
</url><url>
<loc>/theories/gale_shapley/</loc>
</url><url>
<loc>/theories/galestewart_games/</loc>
</url><url>
<loc>/theories/game_based_crypto/</loc>
</url><url>
<loc>/theories/gauss-jordan-elim-fun/</loc>
</url><url>
<loc>/theories/gauss_jordan/</loc>
</url><url>
<loc>/theories/gauss_sums/</loc>
</url><url>
<loc>/theories/gaussian_integers/</loc>
</url><url>
<loc>/theories/genclock/</loc>
</url><url>
<loc>/theories/general-triangle/</loc>
</url><url>
<loc>/theories/generalized_counting_sort/</loc>
</url><url>
<loc>/theories/generic_deriving/</loc>
</url><url>
<loc>/theories/generic_join/</loc>
</url><url>
<loc>/theories/gewirthpgcproof/</loc>
</url><url>
<loc>/theories/girth_chromatic/</loc>
</url><url>
<loc>/theories/goedel_hfset_semantic/</loc>
</url><url>
<loc>/theories/goedel_hfset_semanticless/</loc>
</url><url>
<loc>/theories/goedel_incompleteness/</loc>
</url><url>
<loc>/theories/goedelgod/</loc>
</url><url>
<loc>/theories/goodstein_lambda/</loc>
</url><url>
<loc>/theories/gpu_kernel_pl/</loc>
</url><url>
<loc>/theories/graph_saturation/</loc>
</url><url>
<loc>/theories/graph_theory/</loc>
</url><url>
<loc>/theories/graphmarkingibp/</loc>
</url><url>
<loc>/theories/green/</loc>
</url><url>
<loc>/theories/groebner_bases/</loc>
</url><url>
<loc>/theories/groebner_macaulay/</loc>
</url><url>
<loc>/theories/gromov_hyperbolicity/</loc>
</url><url>
<loc>/theories/grothendieck_schemes/</loc>
</url><url>
<loc>/theories/group-ring-module/</loc>
</url><url>
<loc>/theories/hahn_jordan_decomposition/</loc>
</url><url>
+ <loc>/theories/hales_jewett/</loc>
+ </url><url>
<loc>/theories/heard_of/</loc>
</url><url>
<loc>/theories/hello_world/</loc>
</url><url>
<loc>/help/</loc>
</url><url>
<loc>/theories/hereditarilyfinite/</loc>
</url><url>
<loc>/theories/hermite/</loc>
</url><url>
<loc>/theories/hermite_lindemann/</loc>
</url><url>
<loc>/theories/hidden_markov_models/</loc>
</url><url>
<loc>/theories/higher_order_terms/</loc>
</url><url>
<loc>/theories/hoare_time/</loc>
</url><url>
<loc>/theories/hol-csp/</loc>
</url><url>
<loc>/theories/hol-ode-arch-comp/</loc>
</url><url>
<loc>/theories/hol-ode-examples/</loc>
</url><url>
<loc>/theories/hol-ode-numerics/</loc>
</url><url>
<loc>/theories/holcf-prelude/</loc>
</url><url>
<loc>/theories/hood_melville_queue/</loc>
</url><url>
<loc>/theories/hotelkeycards/</loc>
</url><url>
<loc>/theories/hrb-slicing/</loc>
</url><url>
<loc>/theories/huffman/</loc>
</url><url>
<loc>/theories/hybrid_logic/</loc>
</url><url>
<loc>/theories/hybrid_multi_lane_spatial_logic/</loc>
</url><url>
<loc>/theories/hybrid_systems_vcs/</loc>
</url><url>
<loc>/theories/hyperctl/</loc>
</url><url>
<loc>/theories/hyperdual/</loc>
</url><url>
<loc>/theories/ieee_floating_point/</loc>
</url><url>
<loc>/theories/ifc_tracking/</loc>
</url><url>
<loc>/theories/imap-crdt/</loc>
</url><url>
<loc>/theories/imo2019/</loc>
</url><url>
<loc>/theories/imp2/</loc>
</url><url>
<loc>/theories/imp2_binary_heap/</loc>
</url><url>
<loc>/theories/imp_compiler/</loc>
</url><url>
<loc>/theories/imp_compiler_reuse/</loc>
</url><url>
<loc>/theories/imperative_insertion_sort/</loc>
</url><url>
<loc>/theories/impossible_geometry/</loc>
</url><url>
<loc>/theories/incompleteness/</loc>
</url><url>
<loc>/theories/incredible_proof_machine/</loc>
</url><url>
<loc>/theories/independence_ch/</loc>
</url><url>
<loc>/theories/inductive_confidentiality/</loc>
</url><url>
<loc>/theories/inductive_inference/</loc>
</url><url>
<loc>/theories/informationflowslicing/</loc>
</url><url>
<loc>/theories/informationflowslicing_inter/</loc>
</url><url>
<loc>/theories/infpathelimination/</loc>
</url><url>
<loc>/theories/integration/</loc>
</url><url>
<loc>/theories/interpolation_polynomials_hol_algebra/</loc>
</url><url>
<loc>/theories/interpreter_optimizations/</loc>
</url><url>
<loc>/theories/interval_arithmetic_word32/</loc>
</url><url>
<loc>/theories/intro_dest_elim/</loc>
</url><url>
<loc>/theories/involutions2squares/</loc>
</url><url>
<loc>/theories/ip_addresses/</loc>
</url><url>
<loc>/theories/iptables_semantics/</loc>
</url><url>
<loc>/theories/iptables_semantics_examples/</loc>
</url><url>
<loc>/theories/iptables_semantics_examples_big/</loc>
</url><url>
<loc>/theories/irrational_series_erdos_straus/</loc>
</url><url>
<loc>/theories/irrationality_j_hancl/</loc>
</url><url>
<loc>/theories/irrationals_from_thebook/</loc>
</url><url>
<loc>/theories/isabelle_c/</loc>
</url><url>
<loc>/theories/isabelle_marries_dirac/</loc>
</url><url>
<loc>/theories/isabelle_meta_model/</loc>
</url><url>
<loc>/theories/isageocoq/</loc>
</url><url>
<loc>/theories/isanet/</loc>
</url><url>
<loc>/theories/jacobson_basic_algebra/</loc>
</url><url>
<loc>/theories/jinja/</loc>
</url><url>
<loc>/theories/jinjadci/</loc>
</url><url>
<loc>/theories/jinjathreads/</loc>
</url><url>
<loc>/theories/jivedatastoremodel/</loc>
</url><url>
<loc>/theories/jordan_hoelder/</loc>
</url><url>
<loc>/theories/jordan_normal_form/</loc>
</url><url>
<loc>/theories/kad/</loc>
</url><url>
<loc>/theories/kat_and_dra/</loc>
</url><url>
<loc>/theories/kbps/</loc>
</url><url>
<loc>/theories/kd_tree/</loc>
</url><url>
<loc>/theories/key_agreement_strong_adversaries/</loc>
</url><url>
+ <loc>/theories/khovanskii_theorem/</loc>
+ </url><url>
<loc>/theories/kleene_algebra/</loc>
</url><url>
<loc>/theories/knights_tour/</loc>
</url><url>
<loc>/theories/knot_theory/</loc>
</url><url>
<loc>/theories/knuth_bendix_order/</loc>
</url><url>
<loc>/theories/knuth_morris_pratt/</loc>
</url><url>
<loc>/theories/koenigsberg_friendship/</loc>
</url><url>
<loc>/theories/kruskal/</loc>
</url><url>
<loc>/theories/kuratowski_closure_complement/</loc>
</url><url>
<loc>/theories/lam-ml-normalization/</loc>
</url><url>
<loc>/theories/lambda_free_epo/</loc>
</url><url>
<loc>/theories/lambda_free_kbos/</loc>
</url><url>
<loc>/theories/lambda_free_rpos/</loc>
</url><url>
<loc>/theories/lambdaauth/</loc>
</url><url>
<loc>/theories/lambdamu/</loc>
</url><url>
<loc>/theories/lambert_w/</loc>
</url><url>
<loc>/theories/landau_symbols/</loc>
</url><url>
<loc>/theories/laplace_transform/</loc>
</url><url>
<loc>/theories/latin_square/</loc>
</url><url>
<loc>/theories/latticeproperties/</loc>
</url><url>
<loc>/theories/launchbury/</loc>
</url><url>
<loc>/theories/laws_of_large_numbers/</loc>
</url><url>
<loc>/theories/lazy-lists-ii/</loc>
</url><url>
<loc>/theories/lazy_case/</loc>
</url><url>
<loc>/theories/lehmer/</loc>
</url><url>
<loc>/theories/lem/</loc>
</url><url>
<loc>/theories/lifting_definition_option/</loc>
</url><url>
<loc>/theories/lifting_the_exponent/</loc>
</url><url>
<loc>/theories/lightweightjava/</loc>
</url><url>
<loc>/theories/linear_inequalities/</loc>
</url><url>
<loc>/theories/linear_programming/</loc>
</url><url>
<loc>/theories/linear_recurrences/</loc>
</url><url>
<loc>/theories/linear_recurrences_solver/</loc>
</url><url>
<loc>/theories/linearquantifierelim/</loc>
</url><url>
<loc>/theories/liouville_numbers/</loc>
</url><url>
<loc>/theories/list-index/</loc>
</url><url>
<loc>/theories/list-infinite/</loc>
</url><url>
<loc>/theories/list_interleaving/</loc>
</url><url>
<loc>/theories/list_inversions/</loc>
</url><url>
<loc>/theories/list_update/</loc>
</url><url>
<loc>/theories/lll_basis_reduction/</loc>
</url><url>
<loc>/theories/lll_factorization/</loc>
</url><url>
<loc>/theories/localization_ring/</loc>
</url><url>
<loc>/theories/locallexing/</loc>
</url><url>
<loc>/theories/locally-nameless-sigma/</loc>
</url><url>
<loc>/theories/loft/</loc>
</url><url>
<loc>/theories/logging_independent_anonymity/</loc>
</url><url>
<loc>/topics/logic/computability/</loc>
</url><url>
<loc>/topics/logic/general-logic/</loc>
</url><url>
<loc>/topics/logic/general-logic/classical-first-order-logic/</loc>
</url><url>
<loc>/topics/logic/general-logic/classical-propositional-logic/</loc>
</url><url>
<loc>/topics/logic/general-logic/decidability-of-theories/</loc>
</url><url>
<loc>/topics/logic/general-logic/logics-of-knowledge-and-belief/</loc>
</url><url>
<loc>/topics/logic/general-logic/mechanization-of-proofs/</loc>
</url><url>
<loc>/topics/logic/general-logic/modal-logic/</loc>
</url><url>
<loc>/topics/logic/general-logic/paraconsistent-logics/</loc>
</url><url>
<loc>/topics/logic/general-logic/temporal-logic/</loc>
</url><url>
<loc>/topics/logic/philosophical-aspects/</loc>
</url><url>
<loc>/topics/logic/proof-theory/</loc>
</url><url>
<loc>/topics/logic/rewriting/</loc>
</url><url>
<loc>/topics/logic/set-theory/</loc>
</url><url>
<loc>/theories/lorenz_approximation/</loc>
</url><url>
<loc>/theories/lorenz_c0/</loc>
</url><url>
<loc>/theories/lorenz_c1/</loc>
</url><url>
<loc>/theories/lowe_ontological_argument/</loc>
</url><url>
<loc>/theories/lower_semicontinuous/</loc>
</url><url>
<loc>/theories/lp/</loc>
</url><url>
<loc>/theories/lp_duality/</loc>
</url><url>
<loc>/theories/ltl/</loc>
</url><url>
<loc>/theories/ltl_master_theorem/</loc>
</url><url>
<loc>/theories/ltl_normal_form/</loc>
</url><url>
<loc>/theories/ltl_to_dra/</loc>
</url><url>
<loc>/theories/ltl_to_gba/</loc>
</url><url>
<loc>/theories/lucas_theorem/</loc>
</url><url>
<loc>/theories/markov_models/</loc>
</url><url>
<loc>/theories/marriage/</loc>
</url><url>
<loc>/theories/mason_stothers/</loc>
</url><url>
<loc>/topics/mathematics/algebra/</loc>
</url><url>
<loc>/topics/mathematics/analysis/</loc>
</url><url>
<loc>/topics/mathematics/category-theory/</loc>
</url><url>
<loc>/topics/mathematics/combinatorics/</loc>
</url><url>
<loc>/topics/mathematics/games-and-economics/</loc>
</url><url>
<loc>/topics/mathematics/geometry/</loc>
</url><url>
<loc>/topics/mathematics/graph-theory/</loc>
</url><url>
<loc>/topics/mathematics/measure-and-integration/</loc>
</url><url>
<loc>/topics/mathematics/misc/</loc>
</url><url>
<loc>/topics/mathematics/number-theory/</loc>
</url><url>
<loc>/topics/mathematics/order/</loc>
</url><url>
<loc>/topics/mathematics/physics/</loc>
</url><url>
<loc>/topics/mathematics/physics/quantum-information/</loc>
</url><url>
<loc>/topics/mathematics/probability-theory/</loc>
</url><url>
<loc>/topics/mathematics/topology/</loc>
</url><url>
<loc>/theories/matrices_for_odes/</loc>
</url><url>
<loc>/theories/matrix/</loc>
</url><url>
<loc>/theories/matrix_tensor/</loc>
</url><url>
<loc>/theories/matroids/</loc>
</url><url>
<loc>/theories/max-card-matching/</loc>
</url><url>
<loc>/theories/mdp-algorithms/</loc>
</url><url>
<loc>/theories/mdp-rewards/</loc>
</url><url>
<loc>/theories/median_method/</loc>
</url><url>
<loc>/theories/median_of_medians_selection/</loc>
</url><url>
<loc>/theories/menger/</loc>
</url><url>
<loc>/theories/mereology/</loc>
</url><url>
<loc>/theories/mersenne_primes/</loc>
</url><url>
<loc>/theories/metalogic_proofchecker/</loc>
</url><url>
<loc>/theories/mfmc_countable/</loc>
</url><url>
<loc>/theories/mfodl_monitor_optimized/</loc>
</url><url>
<loc>/theories/mfotl_monitor/</loc>
</url><url>
<loc>/theories/minimal_ssa/</loc>
</url><url>
<loc>/theories/miniml/</loc>
</url><url>
<loc>/theories/minisail/</loc>
</url><url>
<loc>/theories/minkowskis_theorem/</loc>
</url><url>
<loc>/theories/minsky_machines/</loc>
</url><url>
<loc>/theories/modal_logics_for_nts/</loc>
</url><url>
<loc>/theories/modular_arithmetic_lll_and_hnf_algorithms/</loc>
</url><url>
<loc>/theories/modular_assembly_kit_security/</loc>
</url><url>
<loc>/theories/monad_memo_dp/</loc>
</url><url>
<loc>/theories/monad_normalisation/</loc>
</url><url>
<loc>/theories/monobooltranalgebra/</loc>
</url><url>
<loc>/theories/monoidalcategory/</loc>
</url><url>
<loc>/theories/monomorphic_monad/</loc>
</url><url>
<loc>/theories/mso_regex_equivalence/</loc>
</url><url>
<loc>/theories/muchadoabouttwo/</loc>
</url><url>
<loc>/theories/multi_party_computation/</loc>
</url><url>
<loc>/theories/multirelations/</loc>
</url><url>
<loc>/theories/multiset_ordering_npc/</loc>
</url><url>
<loc>/theories/myhill-nerode/</loc>
</url><url>
<loc>/theories/name_carrying_type_inference/</loc>
</url><url>
<loc>/theories/nano_json/</loc>
</url><url>
<loc>/theories/nash_williams/</loc>
</url><url>
<loc>/theories/nat-interval-logic/</loc>
</url><url>
<loc>/theories/native_word/</loc>
</url><url>
<loc>/theories/nested_multisets_ordinals/</loc>
</url><url>
<loc>/theories/network_security_policy_verification/</loc>
</url><url>
<loc>/theories/neumann_morgenstern_utility/</loc>
</url><url>
<loc>/theories/no_ftl_observers/</loc>
</url><url>
<loc>/theories/nominal2/</loc>
</url><url>
<loc>/theories/noninterference_concurrent_composition/</loc>
</url><url>
<loc>/theories/noninterference_csp/</loc>
</url><url>
<loc>/theories/noninterference_generic_unwinding/</loc>
</url><url>
<loc>/theories/noninterference_inductive_unwinding/</loc>
</url><url>
<loc>/theories/noninterference_ipurge_unwinding/</loc>
</url><url>
<loc>/theories/noninterference_sequential_composition/</loc>
</url><url>
<loc>/theories/normbyeval/</loc>
</url><url>
<loc>/theories/nullstellensatz/</loc>
</url><url>
+ <loc>/theories/number_theoretic_transform/</loc>
+ </url><url>
<loc>/theories/octonions/</loc>
</url><url>
<loc>/theories/old_datatype_show/</loc>
</url><url>
<loc>/theories/open_induction/</loc>
</url><url>
<loc>/theories/opsets/</loc>
</url><url>
<loc>/theories/optics/</loc>
</url><url>
<loc>/theories/optimal_bst/</loc>
</url><url>
<loc>/theories/orbit_stabiliser/</loc>
</url><url>
<loc>/theories/order_lattice_props/</loc>
</url><url>
<loc>/theories/ordered_resolution_prover/</loc>
</url><url>
<loc>/theories/ordinal/</loc>
</url><url>
<loc>/theories/ordinal_partitions/</loc>
</url><url>
<loc>/theories/ordinals_and_cardinals/</loc>
</url><url>
<loc>/theories/ordinary_differential_equations/</loc>
</url><url>
<loc>/theories/pac_checker/</loc>
</url><url>
<loc>/theories/package_logic/</loc>
</url><url>
<loc>/theories/padic_ints/</loc>
</url><url>
<loc>/theories/pairing_heap/</loc>
</url><url>
<loc>/theories/pal/</loc>
</url><url>
<loc>/theories/paraconsistency/</loc>
</url><url>
<loc>/theories/parity_game/</loc>
</url><url>
<loc>/theories/partial_function_mr/</loc>
</url><url>
<loc>/theories/partial_order_reduction/</loc>
</url><url>
<loc>/theories/password_authentication_protocol/</loc>
</url><url>
<loc>/theories/pcf/</loc>
</url><url>
<loc>/theories/pell/</loc>
</url><url>
<loc>/theories/perfect-number-thm/</loc>
</url><url>
<loc>/theories/perron_frobenius/</loc>
</url><url>
<loc>/theories/pgcl/</loc>
</url><url>
<loc>/theories/physical_quantities/</loc>
</url><url>
<loc>/theories/pi_calculus/</loc>
</url><url>
<loc>/theories/pi_transcendental/</loc>
</url><url>
<loc>/theories/planarity_certificates/</loc>
</url><url>
<loc>/theories/plm/</loc>
</url><url>
<loc>/theories/pluennecke_ruzsa_inequality/</loc>
</url><url>
<loc>/theories/poincare_bendixson/</loc>
</url><url>
<loc>/theories/poincare_disc/</loc>
</url><url>
<loc>/theories/polynomial_factorization/</loc>
</url><url>
<loc>/theories/polynomial_interpolation/</loc>
</url><url>
<loc>/theories/polynomials/</loc>
</url><url>
<loc>/theories/pop_refinement/</loc>
</url><url>
<loc>/theories/poplmark-debruijn/</loc>
</url><url>
<loc>/theories/posix-lexing/</loc>
</url><url>
<loc>/theories/possibilistic_noninterference/</loc>
</url><url>
<loc>/theories/power_sum_polynomials/</loc>
</url><url>
<loc>/theories/pratt_certificate/</loc>
</url><url>
<loc>/theories/prefix_free_code_combinators/</loc>
</url><url>
<loc>/theories/presburger-automata/</loc>
</url><url>
<loc>/theories/prim_dijkstra_simple/</loc>
</url><url>
<loc>/theories/prime_distribution_elementary/</loc>
</url><url>
<loc>/theories/prime_harmonic_series/</loc>
</url><url>
<loc>/theories/prime_number_theorem/</loc>
</url><url>
<loc>/theories/priority_queue_braun/</loc>
</url><url>
<loc>/theories/priority_search_trees/</loc>
</url><url>
<loc>/theories/probabilistic_noninterference/</loc>
</url><url>
<loc>/theories/probabilistic_prime_tests/</loc>
</url><url>
<loc>/theories/probabilistic_system_zoo/</loc>
</url><url>
<loc>/theories/probabilistic_timed_automata/</loc>
</url><url>
<loc>/theories/probabilistic_while/</loc>
</url><url>
<loc>/theories/program-conflict-analysis/</loc>
</url><url>
<loc>/theories/progress_tracking/</loc>
</url><url>
<loc>/theories/projective_geometry/</loc>
</url><url>
<loc>/theories/projective_measurements/</loc>
</url><url>
<loc>/theories/promela/</loc>
</url><url>
<loc>/theories/proof_strategy_language/</loc>
</url><url>
<loc>/theories/propositional_proof_systems/</loc>
</url><url>
<loc>/theories/proprespi/</loc>
</url><url>
<loc>/theories/prpu_maxflow/</loc>
</url><url>
<loc>/theories/psemigroupsconvolution/</loc>
</url><url>
<loc>/theories/pseudohoops/</loc>
</url><url>
<loc>/theories/psi_calculi/</loc>
</url><url>
<loc>/theories/ptolemys_theorem/</loc>
</url><url>
<loc>/theories/public_announcement_logic/</loc>
</url><url>
<loc>/theories/qhlprover/</loc>
</url><url>
<loc>/theories/qr_decomposition/</loc>
</url><url>
<loc>/theories/quantales/</loc>
</url><url>
<loc>/theories/quasi_borel_spaces/</loc>
</url><url>
<loc>/theories/quaternions/</loc>
</url><url>
<loc>/theories/quick_sort_cost/</loc>
</url><url>
<loc>/theories/ramsey-infinite/</loc>
</url><url>
<loc>/theories/random_bsts/</loc>
</url><url>
<loc>/theories/random_graph_subgraph_threshold/</loc>
</url><url>
<loc>/theories/randomised_bsts/</loc>
</url><url>
<loc>/theories/randomised_social_choice/</loc>
</url><url>
<loc>/theories/rank_nullity_theorem/</loc>
</url><url>
<loc>/theories/real_impl/</loc>
</url><url>
<loc>/theories/real_power/</loc>
</url><url>
<loc>/theories/real_time_deque/</loc>
</url><url>
<loc>/theories/recursion-addition/</loc>
</url><url>
<loc>/theories/recursion-theory-i/</loc>
</url><url>
<loc>/theories/refine_imperative_hol/</loc>
</url><url>
<loc>/theories/refine_monadic/</loc>
</url><url>
<loc>/theories/refinementreactive/</loc>
</url><url>
<loc>/theories/regex_equivalence/</loc>
</url><url>
<loc>/theories/registers/</loc>
</url><url>
<loc>/theories/regression_test_selection/</loc>
</url><url>
<loc>/theories/regular-sets/</loc>
</url><url>
<loc>/theories/regular_algebras/</loc>
</url><url>
<loc>/theories/regular_tree_relations/</loc>
</url><url>
<loc>/theories/relation_algebra/</loc>
</url><url>
<loc>/theories/relational-incorrectness-logic/</loc>
</url><url>
<loc>/theories/relational_disjoint_set_forests/</loc>
</url><url>
<loc>/theories/relational_forests/</loc>
</url><url>
<loc>/theories/relational_method/</loc>
</url><url>
<loc>/theories/relational_minimum_spanning_trees/</loc>
</url><url>
<loc>/theories/relational_paths/</loc>
</url><url>
<loc>/theories/rep_fin_groups/</loc>
</url><url>
<loc>/theories/residuated_lattices/</loc>
</url><url>
<loc>/theories/residuatedtransitionsystem/</loc>
</url><url>
<loc>/theories/resolution_fol/</loc>
</url><url>
<loc>/theories/rewrite_properties_reduction/</loc>
</url><url>
<loc>/theories/rewriting_z/</loc>
</url><url>
<loc>/theories/ribbon_proofs/</loc>
</url><url>
<loc>/theories/ripemd-160-spark/</loc>
</url><url>
<loc>/theories/robbins-conjecture/</loc>
</url><url>
<loc>/theories/robdd/</loc>
</url><url>
<loc>/theories/robinson_arithmetic/</loc>
</url><url>
<loc>/theories/root_balanced_tree/</loc>
</url><url>
<loc>/theories/roth_arithmetic_progressions/</loc>
</url><url>
<loc>/theories/routing/</loc>
</url><url>
<loc>/theories/roy_floyd_warshall/</loc>
</url><url>
<loc>/theories/rsapss/</loc>
</url><url>
<loc>/theories/safe_distance/</loc>
</url><url>
<loc>/theories/safe_ocl/</loc>
</url><url>
<loc>/theories/satsolververification/</loc>
</url><url>
<loc>/theories/saturation_framework/</loc>
</url><url>
<loc>/theories/saturation_framework_extensions/</loc>
</url><url>
<loc>/theories/sc_dom_components/</loc>
</url><url>
<loc>/theories/schutz_spacetime/</loc>
</url><url>
<loc>/theories/sds_impossibility/</loc>
</url><url>
<loc>/search/</loc>
<priority>0.1</priority>
</url><url>
<loc>/theories/secondary_sylow/</loc>
</url><url>
<loc>/theories/security_protocol_refinement/</loc>
</url><url>
<loc>/theories/selection_heap_sort/</loc>
</url><url>
<loc>/theories/sensocialchoice/</loc>
</url><url>
<loc>/theories/separata/</loc>
</url><url>
<loc>/theories/separation_algebra/</loc>
</url><url>
<loc>/theories/separation_logic_imperative_hol/</loc>
</url><url>
<loc>/theories/sepref_basic/</loc>
</url><url>
<loc>/theories/sepref_iicf/</loc>
</url><url>
<loc>/theories/sepref_prereq/</loc>
</url><url>
<loc>/theories/sequentinvertibility/</loc>
</url><url>
<loc>/theories/shadow_dom/</loc>
</url><url>
<loc>/theories/shadow_sc_dom/</loc>
</url><url>
<loc>/theories/shivers-cfa/</loc>
</url><url>
<loc>/theories/shortestpath/</loc>
</url><url>
<loc>/theories/show/</loc>
</url><url>
<loc>/theories/sifpl/</loc>
</url><url>
<loc>/theories/sifum_type_systems/</loc>
</url><url>
<loc>/theories/sigma_commit_crypto/</loc>
</url><url>
<loc>/theories/signature_groebner/</loc>
</url><url>
<loc>/theories/simpl/</loc>
</url><url>
<loc>/theories/simple_firewall/</loc>
</url><url>
<loc>/theories/simplex/</loc>
</url><url>
<loc>/theories/simplicial_complexes_and_boolean_functions/</loc>
</url><url>
<loc>/theories/simplifiedontologicalargument/</loc>
</url><url>
<loc>/theories/skew_heap/</loc>
</url><url>
<loc>/theories/skip_lists/</loc>
</url><url>
<loc>/theories/slicing/</loc>
</url><url>
<loc>/theories/sliding_window_algorithm/</loc>
</url><url>
<loc>/theories/sm/</loc>
</url><url>
<loc>/theories/sm_base/</loc>
</url><url>
<loc>/theories/smith_normal_form/</loc>
</url><url>
<loc>/theories/smooth_manifolds/</loc>
</url><url>
<loc>/theories/solidity/</loc>
</url><url>
<loc>/theories/sophomores_dream/</loc>
</url><url>
<loc>/theories/sort_encodings/</loc>
</url><url>
<loc>/theories/source_coding_theorem/</loc>
</url><url>
<loc>/theories/sparcv8/</loc>
</url><url>
<loc>/theories/speccheck/</loc>
</url><url>
<loc>/theories/special_function_bounds/</loc>
</url><url>
<loc>/theories/splay_tree/</loc>
</url><url>
<loc>/theories/sqrt_babylonian/</loc>
</url><url>
<loc>/theories/stable_matching/</loc>
</url><url>
<loc>/theories/statecharts/</loc>
</url><url>
<loc>/theories/stateful_protocol_composition_and_typing/</loc>
</url><url>
<loc>/statistics/</loc>
</url><url>
<loc>/theories/stellar_quorums/</loc>
</url><url>
<loc>/theories/stern_brocot/</loc>
</url><url>
<loc>/theories/stewart_apollonius/</loc>
</url><url>
<loc>/theories/stirling_formula/</loc>
</url><url>
<loc>/theories/stochastic_matrices/</loc>
</url><url>
<loc>/theories/stone_algebras/</loc>
</url><url>
<loc>/theories/stone_kleene_relation_algebras/</loc>
</url><url>
<loc>/theories/stone_relation_algebras/</loc>
</url><url>
<loc>/theories/store_buffer_reduction/</loc>
</url><url>
<loc>/theories/stream-fusion/</loc>
</url><url>
<loc>/theories/stream_fusion_code/</loc>
</url><url>
<loc>/theories/strong_security/</loc>
</url><url>
<loc>/theories/sturm_sequences/</loc>
</url><url>
<loc>/theories/sturm_tarski/</loc>
</url><url>
<loc>/theories/stuttering_equivalence/</loc>
</url><url>
<loc>/theories/subresultants/</loc>
</url><url>
<loc>/theories/subset_boolean_algebras/</loc>
</url><url>
<loc>/theories/sumsquares/</loc>
</url><url>
<loc>/theories/sunflowers/</loc>
</url><url>
<loc>/theories/supercalc/</loc>
</url><url>
<loc>/theories/surprise_paradox/</loc>
</url><url>
<loc>/theories/symmetric_polynomials/</loc>
</url><url>
<loc>/theories/syntax_independent_logic/</loc>
</url><url>
<loc>/theories/szemeredi_regularity/</loc>
</url><url>
<loc>/theories/szpilrajn/</loc>
</url><url>
<loc>/theories/tail_recursive_functions/</loc>
</url><url>
<loc>/theories/tarskis_geometry/</loc>
</url><url>
<loc>/theories/taylor_models/</loc>
</url><url>
<loc>/theories/tesl_language/</loc>
</url><url>
<loc>/theories/</loc>
</url><url>
<loc>/theories/three_circles/</loc>
</url><url>
<loc>/theories/timed_automata/</loc>
</url><url>
<loc>/theories/tla/</loc>
</url><url>
<loc>/theories/topological_semantics/</loc>
</url><url>
<loc>/theories/topology/</loc>
</url><url>
<loc>/theories/tortoisehare/</loc>
</url><url>
<loc>/theories/transcendence_series_hancl_rucki/</loc>
</url><url>
<loc>/theories/transformer_semantics/</loc>
</url><url>
<loc>/theories/transition_systems_and_automata/</loc>
</url><url>
<loc>/theories/transitive-closure/</loc>
</url><url>
<loc>/theories/transitive-closure-ii/</loc>
</url><url>
<loc>/theories/transitive_models/</loc>
</url><url>
<loc>/theories/treaps/</loc>
</url><url>
<loc>/theories/tree-automata/</loc>
</url><url>
<loc>/theories/tree_decomposition/</loc>
</url><url>
<loc>/theories/triangle/</loc>
</url><url>
<loc>/theories/trie/</loc>
</url><url>
<loc>/theories/twelvefold_way/</loc>
</url><url>
<loc>/theories/tycon/</loc>
</url><url>
<loc>/theories/types_tableaus_and_goedels_god/</loc>
</url><url>
<loc>/theories/types_to_sets_extension/</loc>
</url><url>
<loc>/theories/universal_hash_families/</loc>
</url><url>
<loc>/theories/universal_turing_machine/</loc>
</url><url>
<loc>/theories/updown_scheme/</loc>
</url><url>
<loc>/theories/upf/</loc>
</url><url>
<loc>/theories/upf_firewall/</loc>
</url><url>
<loc>/theories/utp/</loc>
</url><url>
<loc>/theories/utp-toolkit/</loc>
</url><url>
<loc>/theories/valuation/</loc>
</url><url>
<loc>/theories/van_der_waerden/</loc>
</url><url>
<loc>/theories/van_emde_boas_trees/</loc>
</url><url>
<loc>/theories/vectorspace/</loc>
</url><url>
<loc>/theories/vericomp/</loc>
</url><url>
<loc>/theories/verified-prover/</loc>
</url><url>
<loc>/theories/verified_sat_based_ai_planning/</loc>
</url><url>
<loc>/theories/verifythis2018/</loc>
</url><url>
<loc>/theories/verifythis2019/</loc>
</url><url>
<loc>/theories/vickrey_clarke_groves/</loc>
</url><url>
<loc>/theories/virtual_substitution/</loc>
</url><url>
<loc>/theories/volpanosmith/</loc>
</url><url>
<loc>/theories/vydra_mdl/</loc>
</url><url>
<loc>/theories/webassembly/</loc>
</url><url>
<loc>/theories/weight_balanced_trees/</loc>
</url><url>
<loc>/theories/weighted_arithmetic_geometric_mean/</loc>
</url><url>
<loc>/theories/weighted_path_order/</loc>
</url><url>
<loc>/theories/well_quasi_orders/</loc>
</url><url>
<loc>/theories/wetzels_problem/</loc>
</url><url>
<loc>/theories/whatandwhere_security/</loc>
</url><url>
<loc>/theories/winding_number_eval/</loc>
</url><url>
<loc>/theories/woot_strong_eventual_consistency/</loc>
</url><url>
<loc>/theories/word_lib/</loc>
</url><url>
<loc>/theories/workerwrapper/</loc>
</url><url>
<loc>/theories/x86_semantics/</loc>
</url><url>
<loc>/theories/xml/</loc>
</url><url>
<loc>/theories/youngs_inequality/</loc>
</url><url>
<loc>/theories/zeta_3_irrational/</loc>
</url><url>
<loc>/theories/zeta_function/</loc>
</url><url>
<loc>/theories/zfc_in_hol/</loc>
</url>
</urlset>
diff --git a/web/statistics/index.html b/web/statistics/index.html
--- a/web/statistics/index.html
+++ b/web/statistics/index.html
@@ -1,379 +1,337 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Statistics - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="Statistics" />
-<<<<<<< working copy
-<meta property="og:description" content="690 Entries 424 Authors ~213,500 Lemmas ~3,459,300 Lines of Code Most used AFP articles: Name Used by ? articles 1. List-Index 21 2. Collections 18 3. Show 16 4. Coinductive 12 5. Deriving 12 6. Jordan_Normal_Form 12 7. Polynomial_Factorization 12 8. Regular-Sets 12 9." />
-||||||| common ancestor
-<meta property="og:description" content="690 Entries 424 Authors ~212,500 Lemmas ~3,436,100 Lines of Code Most used AFP articles: Name Used by ? articles 1. List-Index 21 2. Collections 18 3. Show 16 4. Coinductive 12 5. Deriving 12 6. Jordan_Normal_Form 12 7. Polynomial_Factorization 12 8. Regular-Sets 12 9." />
-=======
-<meta property="og:description" content="695 Entries 424 Authors ~214,300 Lemmas ~3,512,300 Lines of Code Most used AFP articles: Name Used by ? articles 1. List-Index 21 2. Collections 18 3. Show 16 4. Coinductive 12 5. Deriving 12 6. Jordan_Normal_Form 12 7. Polynomial_Factorization 12 8. Regular-Sets 12 9." />
->>>>>>> merge rev
+<meta property="og:description" content="699 Entries 425 Authors ~220,200 Lemmas ~3,582,600 Lines of Code Most used AFP articles: Name Used by ? articles 1. List-Index 21 2. Collections 18 3. Show 16 4. Coinductive 12 5. Deriving 12 6. Jordan_Normal_Form 12 7. Polynomial_Factorization 12 8. Regular-Sets 12 9." />
<meta property="og:type" content="article" />
<meta property="og:url" content="/statistics/" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="" />
<meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Statistics"/>
-<<<<<<< working copy
-<meta name="twitter:description" content="690 Entries 424 Authors ~213,500 Lemmas ~3,459,300 Lines of Code Most used AFP articles: Name Used by ? articles 1. List-Index 21 2. Collections 18 3. Show 16 4. Coinductive 12 5. Deriving 12 6. Jordan_Normal_Form 12 7. Polynomial_Factorization 12 8. Regular-Sets 12 9."/>
-||||||| common ancestor
-<meta name="twitter:description" content="690 Entries 424 Authors ~212,500 Lemmas ~3,436,100 Lines of Code Most used AFP articles: Name Used by ? articles 1. List-Index 21 2. Collections 18 3. Show 16 4. Coinductive 12 5. Deriving 12 6. Jordan_Normal_Form 12 7. Polynomial_Factorization 12 8. Regular-Sets 12 9."/>
-=======
-<meta name="twitter:description" content="695 Entries 424 Authors ~214,300 Lemmas ~3,512,300 Lines of Code Most used AFP articles: Name Used by ? articles 1. List-Index 21 2. Collections 18 3. Show 16 4. Coinductive 12 5. Deriving 12 6. Jordan_Normal_Form 12 7. Polynomial_Factorization 12 8. Regular-Sets 12 9."/>
->>>>>>> merge rev
+<meta name="twitter:description" content="699 Entries 425 Authors ~220,200 Lemmas ~3,582,600 Lines of Code Most used AFP articles: Name Used by ? articles 1. List-Index 21 2. Collections 18 3. Show 16 4. Coinductive 12 5. Deriving 12 6. Jordan_Normal_Form 12 7. Polynomial_Factorization 12 8. Regular-Sets 12 9."/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon"><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li class="active" >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>S</span>tatistics</h1>
<div>
</div>
</header><div><div>
<table>
<tr>
- <td class="statsnumber">695</td>
+ <td class="statsnumber">699</td>
<td><a href="../">Entries</a></td>
</tr>
<tr>
- <td class="statsnumber">424</td>
+ <td class="statsnumber">425</td>
<td><a href="../authors/">Authors</a></td>
</tr>
<tr>
-<<<<<<< working copy
- <td class="statsnumber">~213,500</td>
-||||||| common ancestor
- <td class="statsnumber">~212,500</td>
-=======
- <td class="statsnumber">~214,300</td>
->>>>>>> merge rev
+ <td class="statsnumber">~220,200</td>
<td>Lemmas</td>
</tr>
<tr>
-<<<<<<< working copy
- <td class="statsnumber">~3,459,300</td>
-||||||| common ancestor
- <td class="statsnumber">~3,436,100</td>
-=======
- <td class="statsnumber">~3,512,300</td>
->>>>>>> merge rev
+ <td class="statsnumber">~3,582,600</td>
<td>Lines of Code</td>
</tr>
</table>
<h4>Most used AFP articles:</h4>
<table id="most_used">
<tr>
<th></th>
<th>Name</th>
<th>Used by ? articles</th>
</tr>
<tr>
<td>1.</td>
<td><a href="../entries/List-Index.html">List-Index</a></td>
<td><a href="../dependencies/list-index/">21</a></td>
</tr>
<tr>
<td>2.</td>
<td><a href="../entries/Collections.html">Collections</a></td>
<td><a href="../dependencies/collections/">18</a></td>
</tr>
<tr>
<td>3.</td>
<td><a href="../entries/Show.html">Show</a></td>
<td><a href="../dependencies/show/">16</a></td>
</tr>
<tr>
<td>4.</td>
<td><a href="../entries/Coinductive.html">Coinductive</a></td>
<td><a href="../dependencies/coinductive/">12</a></td>
</tr>
<tr>
<td>5.</td>
<td><a href="../entries/Deriving.html">Deriving</a></td>
<td><a href="../dependencies/deriving/">12</a></td>
</tr>
<tr>
<td>6.</td>
<td><a href="../entries/Jordan_Normal_Form.html">Jordan_Normal_Form</a></td>
<td><a href="../dependencies/jordan_normal_form/">12</a></td>
</tr>
<tr>
<td>7.</td>
<td><a href="../entries/Polynomial_Factorization.html">Polynomial_Factorization</a></td>
<td><a href="../dependencies/polynomial_factorization/">12</a></td>
</tr>
<tr>
<td>8.</td>
<td><a href="../entries/Regular-Sets.html">Regular-Sets</a></td>
<td><a href="../dependencies/regular-sets/">12</a></td>
</tr>
<tr>
<td>9.</td>
<td><a href="../entries/Landau_Symbols.html">Landau_Symbols</a></td>
<td><a href="../dependencies/landau_symbols/">11</a></td>
</tr>
<tr>
<td>10.</td>
<td><a href="../entries/Abstract-Rewriting.html">Abstract-Rewriting</a></td>
<td><a href="../dependencies/abstract-rewriting/">10</a></td>
</tr>
<tr>
<td>11.</td>
<td><a href="../entries/Automatic_Refinement.html">Automatic_Refinement</a></td>
<td><a href="../dependencies/automatic_refinement/">10</a></td>
</tr>
<tr>
<td>12.</td>
<td><a href="../entries/Native_Word.html">Native_Word</a></td>
<td><a href="../dependencies/native_word/">10</a></td>
</tr>
</table>
<script>
const years = [2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022]
-<<<<<<< working copy
- const no_articles = [14,22,29,37,52,64,86,103,128,151,208,253,326,396,455,511,577,650,690]
- const no_loc = [60600,96900,131400,238800,353600,435800,516900,568000,737900,825000,1036600,1216900,1600100,1855900,2127100,2429300,2824100,3314700,3459300]
-||||||| common ancestor
- const no_articles = [14,22,29,37,52,64,86,103,128,151,208,253,326,396,455,511,577,650,690]
- const no_loc = [60600,96900,131400,238900,353600,435800,517000,568000,738000,825200,1036600,1216700,1595100,1850800,2121700,2424600,2811700,3290600,3436100]
-=======
- const no_articles = [14,22,29,37,52,64,86,103,128,151,208,253,326,396,455,511,577,650,695]
- const no_loc = [60600,96900,131400,238900,353600,435800,517000,568000,738000,825200,1036600,1216700,1595100,1850800,2121700,2424600,2811700,3290600,3512300]
->>>>>>> merge rev
- const no_authors = [14,11,6,6,10,6,24,11,17,16,37,20,63,31,26,37,30,43,16]
- const no_authors_series = [14,25,31,37,47,53,77,88,105,121,158,178,241,272,298,335,365,408,424]
-<<<<<<< working copy
- const all_articles = ['AVL-Trees','MiniML','Functional-Automata','BinarySearchTree','Lazy-Lists-II','Topology','Group-Ring-Module','Depth-First-Search','Compiling-Exceptions-Correctly','Completeness','Ramsey-Infinite','Verified-Prover','Integration','FileRefinement','Category','RSAPSS','Jinja','JiveDataStoreModel','DiskPaxos','GenClock','FFT','Ordinal','Cauchy','ClockSynchInst','FeatherweightJava','CoreC++','Flyspeck-Tame','Abstract-Hoare-Logics','HotelKeyCards','FOL-Fitting','POPLmark-deBruijn','Valuation','Fermat3_4','SumSquares','MuchAdoAboutTwo','JinjaThreads','Program-Conflict-Analysis','LinearQuantifierElim','NormByEval','BDD','Simpl','Recursion-Theory-I','SATSolverVerification','FunWithFunctions','ArrowImpossibilityGS','VolpanoSmith','Slicing','Huffman','FunWithTilings','SenSocialChoice','SIFPL','BytecodeLogicJmlTypes','Stream-Fusion','FinFun','CofGroups','SequentInvertibility','Ordinals_and_Cardinals','WorkerWrapper','HRB-Slicing','Perfect-Number-Thm','Collections','Tree-Automata','Presburger-Automata','DPT-SAT-Solver','Coinductive','List-Index','InformationFlowSlicing','InformationFlowSlicing_Inter','Free-Boolean-Algebra','Locally-Nameless-Sigma','Regular-Sets','Robbins-Conjecture','DataRefinementIBP','GraphMarkingIBP','Abstract-Rewriting','Matrix','Category2','Free-Groups','Statecharts','Polynomials','Lam-ml-Normalization','Binomial-Heaps','Binomial-Queues','Finger-Trees','Shivers-CFA','Marriage','Lower_Semicontinuous','RIPEMD-160-SPARK','LightweightJava','AutoFocus-Stream','List-Infinite','Nat-Interval-Logic','Transitive-Closure','General-Triangle','KBPs','Max-Card-Matching','Gauss-Jordan-Elim-Fun','Myhill-Nerode','LatticeProperties','MonoBoolTranAlgebra','PseudoHoops','Efficient-Mergesort','TLA','Markov_Models','Dijkstra_Shortest_Path','Refine_Monadic','Girth_Chromatic','Transitive-Closure-II','Abortable_Linearizable_Modules','Well_Quasi_Orders','Ordinary_Differential_Equations','Inductive_Confidentiality','Stuttering_Equivalence','Separation_Algebra','Circus','CCS','Pi_Calculus','Psi_Calculi','Tycon','PCF','Heard_Of','Impossible_Geometry','Datatype_Order_Generator','Possibilistic_Noninterference','Bondy','Tarskis_Geometry','Open_Induction','Separation_Logic_Imperative_HOL','Sqrt_Babylonian','Kleene_Algebra','Rank_Nullity_Theorem','Ribbon_Proofs','Launchbury','Nominal2','Containers','Graph_Theory','ShortestPath','Sort_Encodings','Koenigsberg_Friendship','Lehmer','Pratt_Certificate','IEEE_Floating_Point','Native_Word','Automatic_Refinement','Decreasing-Diagrams','GoedelGod','FocusStreamsCaseStudies','Coinductive_Languages','HereditarilyFinite','Incompleteness','Tail_Recursive_Functions','CryptoBasedCompositionalProperties','Sturm_Sequences','Featherweight_OCL','KAT_and_DRA','Relation_Algebra','Secondary_Sylow','Regex_Equivalence','Real_Impl','Affine_Arithmetic','Selection_Heap_Sort','Random_Graph_Subgraph_Threshold','Partial_Function_MR','AWN','Probabilistic_Noninterference','GPU_Kernel_PL','Discrete_Summation','Abstract_Completeness','HyperCTL','Bounded_Deducibility_Security','SIFUM_Type_Systems','Strong_Security','WHATandWHERE_Security','ComponentDependencies','Regular_Algebras','Noninterference_CSP','Roy_Floyd_Warshall','CAVA_Automata','CAVA_LTL_Modelchecker','Gabow_SCC','LTL_to_GBA','Promela','Boolean_Expression_Checkers','MSO_Regex_Equivalence','Pop_Refinement','Network_Security_Policy_Verification','Amortized_Complexity','pGCL','CISC-Kernel','Show','Splay_Tree','Skew_Heap','Special_Function_Bounds','VectorSpace','Gauss_Jordan','Priority_Queue_Braun','Jordan_Hoelder','Cayley_Hamilton','Sturm_Tarski','Imperative_Insertion_Sort','Certification_Monads','XML','RefinementReactive','Density_Compiler','Stream_Fusion_Code','Lifting_Definition_Option','AODV','UPF','UpDown_Scheme','Finite_Automata_HF','Echelon_Form','QR_Decomposition','Call_Arity','Deriving','Consensus_Refined','Trie','ConcurrentGC','ConcurrentIMP','Residuated_Lattices','Vickrey_Clarke_Groves','Probabilistic_System_Zoo','Formula_Derivatives','Dynamic_Tables','List_Interleaving','Multirelations','Noninterference_Generic_Unwinding','Noninterference_Ipurge_Unwinding','Derangements','Hermite','Akra_Bazzi','Landau_Symbols','Case_Labeling','Encodability_Process_Calculi','Rep_Fin_Groups','Noninterference_Inductive_Unwinding','Decreasing-Diagrams-II','Jordan_Normal_Form','LTL_to_DRA','Isabelle_Meta_Model','Parity_Game','Planarity_Certificates','TortoiseHare','Euler_Partition','Ergodic_Theory','Latin_Square','Card_Partitions','Algebraic_Numbers','Applicative_Lifting','Stern_Brocot','Descartes_Sign_Rule','Liouville_Numbers','Prime_Harmonic_Series','Triangle','Card_Number_Partitions','Matrix_Tensor','Knot_Theory','Polynomial_Factorization','Polynomial_Interpolation','Formal_SSA','List_Update','LTL','Cartan_FP','Timed_Automata','PropResPI','KAD','Noninterference_Sequential_Composition','CYK','ROBDD','No_FTL_observers','Groebner_Bases','Bell_Numbers_Spivey','SDS_Impossibility','Randomised_Social_Choice','MFMC_Countable','FLP','Incredible_Proof_Machine','Perron_Frobenius','Card_Equiv_Relations','Posix-Lexing','Tree_Decomposition','Word_Lib','Noninterference_Concurrent_Composition','Algebraic_VCs','Catalan_Numbers','Dependent_SIFUM_Type_Systems','Card_Multisets','Category3','Dependent_SIFUM_Refinement','IP_Addresses','Resolution_FOL','Rewriting_Z','Buildings','DFS_Framework','Pairing_Heap','Surprise_Paradox','Ptolemys_Theorem','Refine_Imperative_HOL','EdmondsKarp_Maxflow','InfPathElimination','Simple_Firewall','Routing','Stirling_Formula','Stone_Algebras','SuperCalc','Iptables_Semantics','Lambda_Free_RPOs','Allen_Calculus','Fisher_Yates','Lp','Chord_Segments','Berlekamp_Zassenhaus','SPARCv8','Source_Coding_Theorem','LOFT','Stable_Matching','Modal_Logics_for_NTS','Deep_Learning','Lambda_Free_KBOs','Nested_Multisets_Ordinals','Separata','Abs_Int_ITP2012','Complx','Paraconsistency','Proof_Strategy_Language','Twelvefold_Way','Concurrent_Ref_Alg','FOL_Harrison','Password_Authentication_Protocol','UPF_Firewall','E_Transcendental','Bertrands_Postulate','Minimal_SSA','Bernoulli','Key_Agreement_Strong_Adversaries','Stone_Relation_Algebras','Abstract_Soundness','Differential_Dynamic_Logic','Menger','Elliptic_Curves_Group_Law','Euler_MacLaurin','Comparison_Sort_Lower_Bound','Quick_Sort_Cost','Random_BSTs','Subresultants','Lazy_Case','Constructor_Funs','LocalLexing','Types_Tableaus_and_Goedels_God','MonoidalCategory','CryptHOL','Game_Based_Crypto','Monad_Normalisation','Monomorphic_Monad','Probabilistic_While','Floyd_Warshall','Dict_Construction','Security_Protocol_Refinement','Optics','Flow_Networks','Prpu_Maxflow','Buffons_Needle','PSemigroupsConvolution','Propositional_Proof_Systems','Stone_Kleene_Relation_Algebras','CRDT','Name_Carrying_Type_Inference','Minkowskis_Theorem','HOLCF-Prelude','Decl_Sem_Fun_PL','DynamicArchitectures','Stewart_Apollonius','LambdaMu','Orbit_Stabiliser','Root_Balanced_Tree','First_Welfare_Theorem','AnselmGod','PLM','Lowe_Ontological_Argument','Dirichlet_Series','Linear_Recurrences','Zeta_Function','Diophantine_Eqns_Lin_Hom','Count_Complex_Roots','Winding_Number_Eval','Buchi_Complementation','Transition_Systems_and_Automata','Kuratowski_Closure_Complement','Hybrid_Multi_Lane_Spatial_Logic','IMAP-CRDT','Stochastic_Matrices','Knuth_Morris_Pratt','BNF_Operations','Dirichlet_L','Mason_Stothers','Median_Of_Medians_Selection','Falling_Factorial_Sum','Taylor_Models','Green','Gromov_Hyperbolicity','Ordered_Resolution_Prover','LLL_Basis_Reduction','Error_Function','First_Order_Terms','LLL_Factorization','Treaps','Hoare_Time','Architectural_Design_Patterns','CakeML','Weight_Balanced_Trees','Fishburn_Impossibility','BNF_CC','VerifyThis2018','WebAssembly','Modular_Assembly_Kit_Security','OpSets','Monad_Memo_DP','AxiomaticCategoryTheory','Irrationality_J_Hancl','Probabilistic_Timed_Automata','Hidden_Markov_Models','Optimal_BST','Partial_Order_Reduction','Localization_Ring','Projective_Geometry','Pell','Neumann_Morgenstern_Utility','DiscretePricing','Minsky_Machines','Simplex','Budan_Fourier','Quaternions','Octonions','Aggregation_Algebras','Prime_Number_Theorem','Signature_Groebner','Symmetric_Polynomials','Pi_Transcendental','Factored_Transition_System_Bounding','Lambda_Free_EPO','Randomised_BSTs','Smooth_Manifolds','Epistemic_Logic','GewirthPGCProof','Generic_Deriving','Matroids','Auto2_HOL','Functional_Ordered_Resolution_Prover','Graph_Saturation','Order_Lattice_Props','Quantales','Transformer_Semantics','Constructive_Cryptography','Auto2_Imperative_HOL','Concurrent_Revisions','Core_DOM','Store_Buffer_Reduction','Higher_Order_Terms','IMP2','Farkas','List_Inversions','UTP','Universal_Turing_Machine','Probabilistic_Prime_Tests','Kruskal','Prime_Distribution_Elementary','Safe_OCL','QHLProver','Transcendence_Series_Hancl_Rucki','Binding_Syntax_Theory','LTL_Master_Theorem','HOL-CSP','Multi_Party_Computation','LambdaAuth','KD_Tree','Differential_Game_Logic','IMP2_Binary_Heap','Groebner_Macaulay','Nullstellensatz','Linear_Inequalities','Prim_Dijkstra_Simple','Priority_Search_Trees','Complete_Non_Orders','MFOTL_Monitor','CakeML_Codegen','FOL_Seq_Calc1','Szpilrajn','TESL_Language','Stellar_Quorums','IMO2019','C2KA_DistributedSystems','Linear_Programming','Laplace_Transform','Adaptive_State_Counting','Jacobson_Basic_Algebra','Fourier','Hybrid_Systems_VCs','Generic_Join','Clean','Sigma_Commit_Crypto','Aristotles_Assertoric_Syllogistic','VerifyThis2019','Isabelle_C','ZFC_in_HOL','Interval_Arithmetic_Word32','Generalized_Counting_Sort','Gauss_Sums','Complex_Geometry','Poincare_Disc','Poincare_Bendixson','Hybrid_Logic','Zeta_3_Irrational','Bicategory','Skip_Lists','Closest_Pair_Points','Approximation_Algorithms','Mersenne_Primes','Subset_Boolean_Algebras','Arith_Prog_Rel_Primes','VeriComp','Goodstein_Lambda','Hello_World','Relational-Incorrectness-Logic','Furstenberg_Topology','WOOT_Strong_Eventual_Consistency','Lucas_Theorem','Automated_Stateful_Protocol_Verification','Stateful_Protocol_Composition_and_Typing','MFODL_Monitor_Optimized','Saturation_Framework','Sliding_Window_Algorithm','ADS_Functor','Matrices_for_ODEs','Gaussian_Integers','Lambert_W','Power_Sum_Polynomials','Attack_Trees','Banach_Steinhaus','Forcing','LTL_Normal_Form','Recursion-Addition','Irrational_Series_Erdos_Straus','Knuth_Bendix_Order','Nash_Williams','Smith_Normal_Form','Safe_Distance','Relational_Paths','Chandy_Lamport','Ordinal_Partitions','Amicable_Numbers','BirdKMP','Saturation_Framework_Extensions','Relational_Disjoint_Set_Forests','Inductive_Inference','PAC_Checker','Extended_Finite_State_Machine_Inference','Extended_Finite_State_Machines','Goedel_HFSet_Semantic','Goedel_HFSet_Semanticless','Goedel_Incompleteness','Robinson_Arithmetic','Syntax_Independent_Logic','Core_SC_DOM','DOM_Components','SC_DOM_Components','Shadow_DOM','Shadow_SC_DOM','Finite-Map-Extras','Physical_Quantities','AI_Planning_Languages_Semantics','Verified_SAT_Based_AI_Planning','CSP_RefTK','Isabelle_Marries_Dirac','Relational_Method','Interpreter_Optimizations','Relational_Minimum_Spanning_Trees','Topological_Semantics','Delta_System_Lemma','JinjaDCI','Hood_Melville_Queue','Blue_Eyes','IsaGeoCoq','Laws_of_Large_Numbers','Formal_Puiseux_Series','BTree','Sunflowers','Mereology','Hermite_Lindemann','Projective_Measurements','Modular_arithmetic_LLL_and_HNF_algorithms','Constructive_Cryptography_CM','Padic_Ints','Grothendieck_Schemes','IFC_Tracking','Progress_Tracking','GaleStewart_Games','BenOr_Kozen_Reif','Lifting_the_Exponent','Metalogic_ProofChecker','Regression_Test_Selection','Combinatorics_Words','Combinatorics_Words_Graph_Lemma','Combinatorics_Words_Lyndon','IMP_Compiler','Public_Announcement_Logic','MiniSail','Van_der_Waerden','SpecCheck','Finitely_Generated_Abelian_Groups','Schutz_Spacetime','Relational_Forests','Design_Theory','BD_Security_Compositional','CoCon','CoSMeDis','CoSMed','Fresh_Identifiers','Three_Circles','Logging_Independent_Anonymity','Cubic_Quartic_Equations','Dominance_CHK','CZH_Elementary_Categories','CZH_Foundations','CZH_Universal_Constructions','Conditional_Simplification','Conditional_Transfer_Rule','Intro_Dest_Elim','Types_To_Sets_Extension','Weighted_Path_Order','Complex_Bounded_Operators','FOL_Axiomatic','Virtual_Substitution','Correctness_Algebras','X86_Semantics','Belief_Revision','Registers','Szemeredi_Regularity','Factor_Algebraic_Polynomial','PAL','Real_Power','SimplifiedOntologicalArgument','Hahn_Jordan_Decomposition','Foundation_of_geometry','Van_Emde_Boas_Trees','Simplicial_complexes_and_boolean_functions','Regular_Tree_Relations','MDP-Algorithms','MDP-Rewards','Roth_Arithmetic_Progressions','Gale_Shapley','Hyperdual','Knights_Tour','Irrationals_From_THEBOOK','Actuarial_Mathematics','Median_Method','Interpolation_Polynomials_HOL_Algebra','FOL_Seq_Calc2','Youngs_Inequality','FO_Theory_Rewriting','LP_Duality','Quasi_Borel_Spaces','Equivalence_Relation_Enumeration','VYDRA_MDL','Eval_FO','Wetzels_Problem','Universal_Hash_Families','ResiduatedTransitionSystem','Transitive_Models','Independence_CH','Cotangent_PFD_Formula','FOL_Seq_Calc3','Ackermanns_not_PR','Dedekind_Real','Frequency_Moments','Prefix_Free_Code_Combinators','Sophomores_Dream','Digit_Expansions','Multiset_Ordering_NPC','Fishers_Inequality','Clique_and_Monotone_Circuits','Package_logic','Pluennecke_Ruzsa_Inequality','Combinable_Wands','Rewrite_Properties_Reduction','DPRM_Theorem','Finite_Fields','IsaNet','Boolos_Curious_Inference','Real_Time_Deque','IMP_Compiler_Reuse','Weighted_Arithmetic_Geometric_Mean']
- const article_years_unique = ['2004','','','','','','','','','','','','','','2005','','','','','','','','2006','','','','','','','2007','','','','','','','','2008','','','','','','','','','','','','','','','2009','','','','','','','','','','','','2010','','','','','','','','','','','','','','','','','','','','','','2011','','','','','','','','','','','','','','','','','2012','','','','','','','','','','','','','','','','','','','','','','','','','2013','','','','','','','','','','','','','','','','','','','','','','','2014','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2015','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2016','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2017','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2018','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2019','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2020','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2021','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2022','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','']
- const loc_articles = [839,1507,1542,1096,1058,2419,44195,205,142,1974,209,1110,3792,506,1141,3766,17713,3119,6430,1145,447,2537,1275,1583,1838,12832,13047,2685,1228,3556,4238,9647,2847,970,1740,79712,4738,3396,2185,10664,31022,6726,30332,180,793,1047,14413,2080,254,2221,5959,3463,799,1540,684,6654,8,2627,27490,264,32555,5025,4380,208,9533,447,2380,3399,606,6305,2060,840,713,1024,5632,1427,4078,2230,6003,22604,1602,3370,1587,2451,2591,260,1617,16,2937,6557,7804,6381,992,125,10130,332,239,1831,999,1755,4420,434,4461,11861,2835,8583,1045,408,2940,2613,37935,3243,1480,2612,3141,2580,23005,27588,2266,4107,7701,1249,260,5309,73,9729,719,6674,1512,4355,1249,1908,6214,4977,10086,7261,538,3830,4591,202,853,1784,5274,10304,1524,150,5292,706,2248,10737,1463,1958,3067,11487,1860,1190,1219,2174,1144,14863,2212,1957,166,10685,6419,572,590,465,1698,1909,4134,1403,2138,2280,1959,2467,220,4432,9396,5430,3999,4460,406,5935,1829,12828,3214,9486,4560,926,659,63,1653,2338,9145,753,2113,875,1836,627,931,1400,1296,7880,1922,90,28055,2879,2796,1116,5259,4863,8842,1356,5997,527,6658,2606,1772,5327,1092,4112,952,1064,2362,1089,2446,477,2074,3763,1954,710,16080,8267,908,1063,21228,9679,8661,3142,9156,695,435,13995,478,898,10318,2724,1162,741,405,495,498,838,3622,4616,6264,4102,8166,12091,3178,518,17581,2876,2418,5496,885,2453,1162,17387,509,703,5047,10687,4287,3811,5337,329,3986,1057,15079,3257,2582,553,8478,206,26506,8773,3324,2960,398,12811,9483,370,173,384,18990,2545,6119,3774,645,2415,4344,9370,20053,3963,3419,319,3172,169,19414,14667,541,2652,7058,7590,3898,3243,4507,855,2289,5027,1349,276,4339,1475,3482,7119,9662,601,1728,852,2194,12204,4212,590,13558,1695,4484,1644,694,835,737,3394,105,68,10492,1127,8499,11280,4135,378,4711,1200,2078,639,14059,2229,3930,4869,468,1531,5570,5683,1993,4205,478,4121,3146,3472,88,480,1261,1877,2193,250,10669,822,7466,3107,5302,2784,8208,8844,2324,6164,945,6514,992,489,810,8949,3434,338,854,493,4593,9457,15962,6362,10342,787,2288,3260,1820,8442,3278,12945,672,843,3402,3638,11570,13548,3734,6261,530,965,7711,1042,1221,5017,1390,2755,1622,2173,13357,805,10042,2667,541,1271,2668,5319,9770,2765,934,11918,2205,1743,7917,1209,449,685,1812,1227,3559,3578,2951,2218,1644,5182,4968,2767,17368,34354,3204,6019,1900,373,9969,16875,3018,3298,5306,4576,10509,986,15793,4437,9487,5543,3301,1264,2973,805,10229,2606,5735,3365,472,3604,3199,13289,951,787,4455,527,713,782,2335,2134,9936,2090,3736,5801,2350,4124,3809,176,1726,9701,7027,5069,5729,4561,14098,10292,6402,4470,1907,68336,2355,3937,3485,1699,3154,944,1033,597,370,691,764,2564,332,21109,23314,10943,3059,744,2353,1560,2537,1609,1239,1939,1338,12002,1034,1444,1902,2670,755,13319,3036,5074,9793,6289,1261,2908,2107,5113,12873,9018,4265,4731,426,11477,3546,1295,8100,16384,3523,7798,12695,15385,648,1761,2352,16434,2359,7700,3995,6542,4731,2826,3295,24547,745,365,26525,290,2582,5083,615,4039,3766,4959,17068,8442,15847,6578,4131,7218,1015,10328,384,9264,4094,4696,399,829,666,840,19737,1088,233,4433,8236,1962,4940,3003,11165,14638,5913,303,3758,817,1329,3157,40867,29106,22137,225,1061,176,17924,4239,15836,1304,21771,13533,2621,1324,5953,909,2961,133,2203,471,2619,6076,20665,1882,9541,4344,4298,1384,2007,2946,3108,269,948,566,757,2594,807,9208,624,8738,502,7222,5937,343,828,18305,14876,15205,730,742,229,1411,4181,816,401,1312,1820,5168,2337,2174,650,2030,3338,8759,4623,7346,95,3711,1527,414]
-||||||| common ancestor
- const all_articles = ['AVL-Trees','MiniML','Functional-Automata','BinarySearchTree','Lazy-Lists-II','Topology','Group-Ring-Module','Depth-First-Search','Compiling-Exceptions-Correctly','Completeness','Ramsey-Infinite','Verified-Prover','Integration','FileRefinement','Category','RSAPSS','Jinja','JiveDataStoreModel','DiskPaxos','GenClock','FFT','Ordinal','Cauchy','ClockSynchInst','FeatherweightJava','CoreC++','Flyspeck-Tame','Abstract-Hoare-Logics','HotelKeyCards','FOL-Fitting','POPLmark-deBruijn','Valuation','Fermat3_4','SumSquares','MuchAdoAboutTwo','JinjaThreads','Program-Conflict-Analysis','LinearQuantifierElim','NormByEval','BDD','Simpl','Recursion-Theory-I','SATSolverVerification','FunWithFunctions','ArrowImpossibilityGS','VolpanoSmith','Slicing','Huffman','FunWithTilings','SenSocialChoice','SIFPL','BytecodeLogicJmlTypes','Stream-Fusion','FinFun','CofGroups','SequentInvertibility','Ordinals_and_Cardinals','WorkerWrapper','HRB-Slicing','Perfect-Number-Thm','Collections','Tree-Automata','Presburger-Automata','DPT-SAT-Solver','Coinductive','List-Index','InformationFlowSlicing','InformationFlowSlicing_Inter','Free-Boolean-Algebra','Locally-Nameless-Sigma','Regular-Sets','Robbins-Conjecture','DataRefinementIBP','GraphMarkingIBP','Abstract-Rewriting','Matrix','Category2','Free-Groups','Statecharts','Polynomials','Lam-ml-Normalization','Binomial-Heaps','Binomial-Queues','Finger-Trees','Shivers-CFA','Marriage','Lower_Semicontinuous','RIPEMD-160-SPARK','LightweightJava','AutoFocus-Stream','List-Infinite','Nat-Interval-Logic','Transitive-Closure','General-Triangle','KBPs','Max-Card-Matching','Gauss-Jordan-Elim-Fun','Myhill-Nerode','LatticeProperties','MonoBoolTranAlgebra','PseudoHoops','Efficient-Mergesort','TLA','Markov_Models','Dijkstra_Shortest_Path','Refine_Monadic','Girth_Chromatic','Transitive-Closure-II','Abortable_Linearizable_Modules','Well_Quasi_Orders','Ordinary_Differential_Equations','Inductive_Confidentiality','Stuttering_Equivalence','Separation_Algebra','Circus','CCS','Pi_Calculus','Psi_Calculi','Tycon','PCF','Heard_Of','Impossible_Geometry','Datatype_Order_Generator','Possibilistic_Noninterference','Bondy','Tarskis_Geometry','Open_Induction','Separation_Logic_Imperative_HOL','Sqrt_Babylonian','Kleene_Algebra','Rank_Nullity_Theorem','Ribbon_Proofs','Launchbury','Nominal2','Containers','Graph_Theory','ShortestPath','Sort_Encodings','Koenigsberg_Friendship','Lehmer','Pratt_Certificate','IEEE_Floating_Point','Native_Word','Automatic_Refinement','Decreasing-Diagrams','GoedelGod','FocusStreamsCaseStudies','Coinductive_Languages','HereditarilyFinite','Incompleteness','Tail_Recursive_Functions','CryptoBasedCompositionalProperties','Sturm_Sequences','Featherweight_OCL','KAT_and_DRA','Relation_Algebra','Secondary_Sylow','Regex_Equivalence','Real_Impl','Affine_Arithmetic','Selection_Heap_Sort','Random_Graph_Subgraph_Threshold','Partial_Function_MR','AWN','Probabilistic_Noninterference','GPU_Kernel_PL','Discrete_Summation','Abstract_Completeness','HyperCTL','Bounded_Deducibility_Security','SIFUM_Type_Systems','Strong_Security','WHATandWHERE_Security','ComponentDependencies','Regular_Algebras','Noninterference_CSP','Roy_Floyd_Warshall','CAVA_Automata','CAVA_LTL_Modelchecker','Gabow_SCC','LTL_to_GBA','Promela','Boolean_Expression_Checkers','MSO_Regex_Equivalence','Pop_Refinement','Network_Security_Policy_Verification','Amortized_Complexity','pGCL','CISC-Kernel','Show','Splay_Tree','Skew_Heap','Special_Function_Bounds','VectorSpace','Gauss_Jordan','Priority_Queue_Braun','Jordan_Hoelder','Cayley_Hamilton','Sturm_Tarski','Imperative_Insertion_Sort','Certification_Monads','XML','RefinementReactive','Density_Compiler','Stream_Fusion_Code','Lifting_Definition_Option','AODV','UPF','UpDown_Scheme','Finite_Automata_HF','Echelon_Form','QR_Decomposition','Call_Arity','Deriving','Consensus_Refined','Trie','ConcurrentGC','ConcurrentIMP','Residuated_Lattices','Vickrey_Clarke_Groves','Probabilistic_System_Zoo','Formula_Derivatives','Dynamic_Tables','List_Interleaving','Multirelations','Noninterference_Generic_Unwinding','Noninterference_Ipurge_Unwinding','Derangements','Hermite','Akra_Bazzi','Landau_Symbols','Case_Labeling','Encodability_Process_Calculi','Rep_Fin_Groups','Noninterference_Inductive_Unwinding','Decreasing-Diagrams-II','Jordan_Normal_Form','LTL_to_DRA','Isabelle_Meta_Model','Parity_Game','Planarity_Certificates','TortoiseHare','Euler_Partition','Ergodic_Theory','Latin_Square','Card_Partitions','Algebraic_Numbers','Applicative_Lifting','Stern_Brocot','Descartes_Sign_Rule','Liouville_Numbers','Prime_Harmonic_Series','Triangle','Card_Number_Partitions','Matrix_Tensor','Knot_Theory','Polynomial_Factorization','Polynomial_Interpolation','Formal_SSA','List_Update','LTL','Cartan_FP','Timed_Automata','PropResPI','KAD','Noninterference_Sequential_Composition','CYK','ROBDD','No_FTL_observers','Groebner_Bases','Bell_Numbers_Spivey','SDS_Impossibility','Randomised_Social_Choice','MFMC_Countable','FLP','Incredible_Proof_Machine','Perron_Frobenius','Card_Equiv_Relations','Posix-Lexing','Tree_Decomposition','Word_Lib','Noninterference_Concurrent_Composition','Algebraic_VCs','Catalan_Numbers','Dependent_SIFUM_Type_Systems','Card_Multisets','Category3','Dependent_SIFUM_Refinement','IP_Addresses','Resolution_FOL','Rewriting_Z','Buildings','DFS_Framework','Pairing_Heap','Surprise_Paradox','Ptolemys_Theorem','Refine_Imperative_HOL','EdmondsKarp_Maxflow','InfPathElimination','Simple_Firewall','Routing','Stirling_Formula','Stone_Algebras','SuperCalc','Iptables_Semantics','Lambda_Free_RPOs','Allen_Calculus','Fisher_Yates','Lp','Chord_Segments','Berlekamp_Zassenhaus','SPARCv8','Source_Coding_Theorem','LOFT','Stable_Matching','Modal_Logics_for_NTS','Deep_Learning','Lambda_Free_KBOs','Nested_Multisets_Ordinals','Separata','Abs_Int_ITP2012','Complx','Paraconsistency','Proof_Strategy_Language','Twelvefold_Way','Concurrent_Ref_Alg','FOL_Harrison','Password_Authentication_Protocol','UPF_Firewall','E_Transcendental','Bertrands_Postulate','Minimal_SSA','Bernoulli','Key_Agreement_Strong_Adversaries','Stone_Relation_Algebras','Abstract_Soundness','Differential_Dynamic_Logic','Menger','Elliptic_Curves_Group_Law','Euler_MacLaurin','Comparison_Sort_Lower_Bound','Quick_Sort_Cost','Random_BSTs','Subresultants','Lazy_Case','Constructor_Funs','LocalLexing','Types_Tableaus_and_Goedels_God','MonoidalCategory','CryptHOL','Game_Based_Crypto','Monad_Normalisation','Monomorphic_Monad','Probabilistic_While','Floyd_Warshall','Dict_Construction','Security_Protocol_Refinement','Optics','Flow_Networks','Prpu_Maxflow','Buffons_Needle','PSemigroupsConvolution','Propositional_Proof_Systems','Stone_Kleene_Relation_Algebras','CRDT','Name_Carrying_Type_Inference','Minkowskis_Theorem','HOLCF-Prelude','Decl_Sem_Fun_PL','DynamicArchitectures','Stewart_Apollonius','LambdaMu','Orbit_Stabiliser','Root_Balanced_Tree','First_Welfare_Theorem','AnselmGod','PLM','Lowe_Ontological_Argument','Dirichlet_Series','Linear_Recurrences','Zeta_Function','Diophantine_Eqns_Lin_Hom','Count_Complex_Roots','Winding_Number_Eval','Buchi_Complementation','Transition_Systems_and_Automata','Kuratowski_Closure_Complement','Hybrid_Multi_Lane_Spatial_Logic','IMAP-CRDT','Stochastic_Matrices','Knuth_Morris_Pratt','BNF_Operations','Dirichlet_L','Mason_Stothers','Median_Of_Medians_Selection','Falling_Factorial_Sum','Taylor_Models','Green','Gromov_Hyperbolicity','Ordered_Resolution_Prover','LLL_Basis_Reduction','Error_Function','First_Order_Terms','LLL_Factorization','Treaps','Hoare_Time','Architectural_Design_Patterns','CakeML','Weight_Balanced_Trees','Fishburn_Impossibility','BNF_CC','VerifyThis2018','WebAssembly','Modular_Assembly_Kit_Security','OpSets','Monad_Memo_DP','AxiomaticCategoryTheory','Irrationality_J_Hancl','Probabilistic_Timed_Automata','Hidden_Markov_Models','Optimal_BST','Partial_Order_Reduction','Localization_Ring','Projective_Geometry','Pell','Neumann_Morgenstern_Utility','DiscretePricing','Minsky_Machines','Simplex','Budan_Fourier','Quaternions','Octonions','Aggregation_Algebras','Prime_Number_Theorem','Signature_Groebner','Symmetric_Polynomials','Pi_Transcendental','Factored_Transition_System_Bounding','Lambda_Free_EPO','Randomised_BSTs','Smooth_Manifolds','Epistemic_Logic','GewirthPGCProof','Generic_Deriving','Matroids','Auto2_HOL','Functional_Ordered_Resolution_Prover','Graph_Saturation','Order_Lattice_Props','Quantales','Transformer_Semantics','Constructive_Cryptography','Auto2_Imperative_HOL','Concurrent_Revisions','Core_DOM','Store_Buffer_Reduction','Higher_Order_Terms','IMP2','Farkas','List_Inversions','UTP','Universal_Turing_Machine','Probabilistic_Prime_Tests','Kruskal','Prime_Distribution_Elementary','Safe_OCL','QHLProver','Transcendence_Series_Hancl_Rucki','Binding_Syntax_Theory','LTL_Master_Theorem','HOL-CSP','Multi_Party_Computation','LambdaAuth','KD_Tree','Differential_Game_Logic','IMP2_Binary_Heap','Groebner_Macaulay','Nullstellensatz','Linear_Inequalities','Prim_Dijkstra_Simple','Priority_Search_Trees','Complete_Non_Orders','MFOTL_Monitor','CakeML_Codegen','FOL_Seq_Calc1','Szpilrajn','TESL_Language','Stellar_Quorums','IMO2019','C2KA_DistributedSystems','Linear_Programming','Laplace_Transform','Adaptive_State_Counting','Jacobson_Basic_Algebra','Fourier','Hybrid_Systems_VCs','Generic_Join','Clean','Sigma_Commit_Crypto','Aristotles_Assertoric_Syllogistic','VerifyThis2019','Isabelle_C','ZFC_in_HOL','Interval_Arithmetic_Word32','Generalized_Counting_Sort','Gauss_Sums','Complex_Geometry','Poincare_Disc','Poincare_Bendixson','Hybrid_Logic','Zeta_3_Irrational','Bicategory','Skip_Lists','Closest_Pair_Points','Approximation_Algorithms','Mersenne_Primes','Subset_Boolean_Algebras','Arith_Prog_Rel_Primes','VeriComp','Goodstein_Lambda','Hello_World','Relational-Incorrectness-Logic','Furstenberg_Topology','WOOT_Strong_Eventual_Consistency','Lucas_Theorem','Automated_Stateful_Protocol_Verification','Stateful_Protocol_Composition_and_Typing','MFODL_Monitor_Optimized','Saturation_Framework','Sliding_Window_Algorithm','ADS_Functor','Matrices_for_ODEs','Gaussian_Integers','Lambert_W','Power_Sum_Polynomials','Attack_Trees','Banach_Steinhaus','Forcing','LTL_Normal_Form','Recursion-Addition','Irrational_Series_Erdos_Straus','Knuth_Bendix_Order','Nash_Williams','Smith_Normal_Form','Safe_Distance','Relational_Paths','Chandy_Lamport','Ordinal_Partitions','Amicable_Numbers','BirdKMP','Saturation_Framework_Extensions','Relational_Disjoint_Set_Forests','Inductive_Inference','PAC_Checker','Extended_Finite_State_Machine_Inference','Extended_Finite_State_Machines','Goedel_HFSet_Semantic','Goedel_HFSet_Semanticless','Goedel_Incompleteness','Robinson_Arithmetic','Syntax_Independent_Logic','Core_SC_DOM','DOM_Components','SC_DOM_Components','Shadow_DOM','Shadow_SC_DOM','Finite-Map-Extras','Physical_Quantities','AI_Planning_Languages_Semantics','Verified_SAT_Based_AI_Planning','CSP_RefTK','Isabelle_Marries_Dirac','Relational_Method','Interpreter_Optimizations','Relational_Minimum_Spanning_Trees','Topological_Semantics','Delta_System_Lemma','JinjaDCI','Hood_Melville_Queue','Blue_Eyes','IsaGeoCoq','Laws_of_Large_Numbers','Formal_Puiseux_Series','BTree','Sunflowers','Mereology','Hermite_Lindemann','Projective_Measurements','Modular_arithmetic_LLL_and_HNF_algorithms','Constructive_Cryptography_CM','Padic_Ints','Grothendieck_Schemes','IFC_Tracking','Progress_Tracking','GaleStewart_Games','BenOr_Kozen_Reif','Lifting_the_Exponent','Metalogic_ProofChecker','Regression_Test_Selection','Combinatorics_Words','Combinatorics_Words_Graph_Lemma','Combinatorics_Words_Lyndon','IMP_Compiler','Public_Announcement_Logic','MiniSail','Van_der_Waerden','SpecCheck','Finitely_Generated_Abelian_Groups','Schutz_Spacetime','Relational_Forests','Design_Theory','BD_Security_Compositional','CoCon','CoSMeDis','CoSMed','Fresh_Identifiers','Three_Circles','Logging_Independent_Anonymity','Cubic_Quartic_Equations','Dominance_CHK','CZH_Elementary_Categories','CZH_Foundations','CZH_Universal_Constructions','Conditional_Simplification','Conditional_Transfer_Rule','Intro_Dest_Elim','Types_To_Sets_Extension','Weighted_Path_Order','Complex_Bounded_Operators','FOL_Axiomatic','Virtual_Substitution','Correctness_Algebras','X86_Semantics','Belief_Revision','Registers','Szemeredi_Regularity','Factor_Algebraic_Polynomial','PAL','Real_Power','SimplifiedOntologicalArgument','Hahn_Jordan_Decomposition','Foundation_of_geometry','Van_Emde_Boas_Trees','Simplicial_complexes_and_boolean_functions','Regular_Tree_Relations','MDP-Algorithms','MDP-Rewards','Roth_Arithmetic_Progressions','Gale_Shapley','Hyperdual','Knights_Tour','Irrationals_From_THEBOOK','Actuarial_Mathematics','Median_Method','Interpolation_Polynomials_HOL_Algebra','FOL_Seq_Calc2','Youngs_Inequality','FO_Theory_Rewriting','LP_Duality','Quasi_Borel_Spaces','Equivalence_Relation_Enumeration','VYDRA_MDL','Eval_FO','Wetzels_Problem','Universal_Hash_Families','ResiduatedTransitionSystem','Transitive_Models','Independence_CH','Cotangent_PFD_Formula','FOL_Seq_Calc3','Ackermanns_not_PR','Dedekind_Real','Frequency_Moments','Prefix_Free_Code_Combinators','Sophomores_Dream','Digit_Expansions','Multiset_Ordering_NPC','Fishers_Inequality','Clique_and_Monotone_Circuits','Package_logic','Pluennecke_Ruzsa_Inequality','Combinable_Wands','Rewrite_Properties_Reduction','DPRM_Theorem','Finite_Fields','IsaNet','Boolos_Curious_Inference','Real_Time_Deque','IMP_Compiler_Reuse','Weighted_Arithmetic_Geometric_Mean']
- const article_years_unique = ['2004','','','','','','','','','','','','','','2005','','','','','','','','2006','','','','','','','2007','','','','','','','','2008','','','','','','','','','','','','','','','2009','','','','','','','','','','','','2010','','','','','','','','','','','','','','','','','','','','','','2011','','','','','','','','','','','','','','','','','2012','','','','','','','','','','','','','','','','','','','','','','','','','2013','','','','','','','','','','','','','','','','','','','','','','','2014','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2015','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2016','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2017','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2018','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2019','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2020','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2021','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2022','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','']
- const loc_articles = [839,1507,1542,1096,1058,2419,44195,205,142,1984,209,1110,3792,506,1141,3766,17713,3119,6430,1145,447,2537,1275,1583,1838,12832,13047,2685,1228,3556,4238,9647,2847,970,1740,79761,4738,3396,2185,10664,31022,6726,30332,180,793,1047,14413,2080,254,2221,5959,3463,799,1540,684,6654,8,2627,27490,264,32530,5025,4380,208,9533,447,2380,3399,606,6305,2043,840,713,1024,5632,1427,4078,2230,6003,22620,1602,3370,1587,2451,2591,260,1617,16,2937,6557,7804,6381,992,125,10130,332,239,1831,999,1755,4420,434,4461,11861,2835,8583,1043,408,2940,2613,37935,3243,1480,2612,3141,2580,23005,27588,2266,4107,7701,1249,260,5309,73,9729,719,6674,1512,4355,1249,1908,6214,4977,10086,7261,538,3830,4591,202,853,1777,5475,10304,1524,150,5292,706,2248,10776,1463,1958,3067,11487,1860,1190,1219,2174,1144,14863,2212,1964,166,10685,6419,572,590,465,1698,1909,4134,1403,2138,2280,1959,2467,220,4432,9396,5430,3999,4460,406,5935,1829,12828,3214,9486,4560,926,659,63,1653,2338,9145,753,2113,875,1727,627,931,1201,1296,7880,1922,90,28055,2879,2796,1116,5259,4863,8842,1356,5997,527,6658,2606,1772,5327,1085,4112,952,1064,2362,1089,2446,477,2074,3763,1954,710,16080,8267,908,1063,21041,9679,8661,3142,9156,695,435,13995,478,898,10375,2724,1162,741,405,495,498,838,3622,4616,6264,4102,8166,12108,3178,518,17581,2876,2418,5496,885,2453,1162,17387,509,703,5047,10687,4287,3811,5337,329,656,1057,15202,3257,2582,553,8478,206,24795,8773,3324,2960,398,12822,9483,370,173,384,18990,2545,6119,3774,645,2415,4344,9356,20053,3963,3419,319,3209,169,19414,14667,541,2652,7058,7590,3898,3243,4508,855,2289,5029,1349,276,4339,1475,3482,7119,9662,601,1728,852,2194,12204,4212,590,13558,1695,4484,1644,694,835,737,3394,105,68,10492,1127,8499,11280,4135,378,4711,1200,2078,639,14059,2229,3930,4869,468,1531,5570,5683,1993,4205,478,4121,3146,3471,88,480,1261,1877,2193,250,10669,822,7466,3107,5302,2784,8203,8844,2324,6164,945,6514,992,489,810,8891,3434,338,854,493,4593,9457,15962,6327,10342,787,2288,3260,1820,8442,3278,12945,592,843,3383,3638,11570,13548,3734,6261,530,965,7711,1042,1221,5017,1390,2755,1622,2173,13358,805,10027,2667,541,1271,2668,5319,9772,2765,934,11918,2205,1743,7917,1224,449,685,1812,1141,3540,3578,2951,2218,1644,5182,4968,2767,17368,34365,3204,6019,1900,373,9969,16875,3018,3298,5306,4576,10508,986,15793,4437,9487,5543,3301,1264,2973,805,10235,2606,5262,3365,472,3603,3199,13289,951,787,4455,527,713,782,2335,2134,9936,2090,3736,5801,2350,4124,3809,176,1726,10972,6912,5069,5729,4561,14098,10292,6402,4470,1907,69492,2355,3937,3485,1699,3154,944,1033,597,370,691,764,2564,332,14516,21776,10943,3059,744,2353,1560,2537,1609,1239,1939,1338,12002,1034,1444,1902,2670,751,12970,3028,5074,9793,6301,1261,2908,2080,5094,12873,9018,4265,4731,426,11477,3546,1295,8100,16384,3523,7798,12695,15385,648,1761,1967,16434,2359,7700,3995,6542,4731,2826,3295,24547,745,365,26525,290,2582,5083,615,4039,3766,4959,17068,8442,15847,6577,4131,7218,1015,10328,384,9264,4094,4696,399,829,666,426,19737,1088,233,4433,8236,1962,4940,3003,11165,14638,5913,303,3758,817,1329,3157,36829,28187,16538,192,1061,176,17924,4239,16040,670,21773,13533,2621,1324,5952,976,2962,133,2203,471,2619,6070,20658,1882,9541,4344,4298,1699,1386,2946,3108,280,948,566,822,2594,807,9208,683,8741,502,7143,5937,765,951,18305,14876,15205,730,742,229,1411,4189,816,471,1312,1820,5180,2458,2174,650,2030,3338,8759,4623,7346,95,3711,1527,414]
-=======
- const all_articles = ['AVL-Trees','MiniML','Functional-Automata','BinarySearchTree','Lazy-Lists-II','Topology','Group-Ring-Module','Depth-First-Search','Compiling-Exceptions-Correctly','Completeness','Ramsey-Infinite','Verified-Prover','Integration','FileRefinement','Category','RSAPSS','Jinja','JiveDataStoreModel','DiskPaxos','GenClock','FFT','Ordinal','Cauchy','ClockSynchInst','FeatherweightJava','CoreC++','Flyspeck-Tame','Abstract-Hoare-Logics','HotelKeyCards','FOL-Fitting','POPLmark-deBruijn','Valuation','Fermat3_4','SumSquares','MuchAdoAboutTwo','JinjaThreads','Program-Conflict-Analysis','LinearQuantifierElim','NormByEval','BDD','Simpl','Recursion-Theory-I','SATSolverVerification','FunWithFunctions','ArrowImpossibilityGS','VolpanoSmith','Slicing','Huffman','FunWithTilings','SenSocialChoice','SIFPL','BytecodeLogicJmlTypes','Stream-Fusion','FinFun','CofGroups','SequentInvertibility','Ordinals_and_Cardinals','WorkerWrapper','HRB-Slicing','Perfect-Number-Thm','Collections','Tree-Automata','Presburger-Automata','DPT-SAT-Solver','Coinductive','List-Index','InformationFlowSlicing','InformationFlowSlicing_Inter','Free-Boolean-Algebra','Locally-Nameless-Sigma','Regular-Sets','Robbins-Conjecture','DataRefinementIBP','GraphMarkingIBP','Abstract-Rewriting','Matrix','Category2','Free-Groups','Statecharts','Polynomials','Lam-ml-Normalization','Binomial-Heaps','Binomial-Queues','Finger-Trees','Shivers-CFA','Marriage','Lower_Semicontinuous','RIPEMD-160-SPARK','LightweightJava','AutoFocus-Stream','List-Infinite','Nat-Interval-Logic','Transitive-Closure','General-Triangle','KBPs','Max-Card-Matching','Gauss-Jordan-Elim-Fun','Myhill-Nerode','LatticeProperties','MonoBoolTranAlgebra','PseudoHoops','Efficient-Mergesort','TLA','Markov_Models','Dijkstra_Shortest_Path','Refine_Monadic','Girth_Chromatic','Transitive-Closure-II','Abortable_Linearizable_Modules','Well_Quasi_Orders','Ordinary_Differential_Equations','Inductive_Confidentiality','Stuttering_Equivalence','Separation_Algebra','Circus','CCS','Pi_Calculus','Psi_Calculi','Tycon','PCF','Heard_Of','Impossible_Geometry','Datatype_Order_Generator','Possibilistic_Noninterference','Bondy','Tarskis_Geometry','Open_Induction','Separation_Logic_Imperative_HOL','Sqrt_Babylonian','Kleene_Algebra','Rank_Nullity_Theorem','Ribbon_Proofs','Launchbury','Nominal2','Containers','Graph_Theory','ShortestPath','Sort_Encodings','Koenigsberg_Friendship','Lehmer','Pratt_Certificate','IEEE_Floating_Point','Native_Word','Automatic_Refinement','Decreasing-Diagrams','GoedelGod','FocusStreamsCaseStudies','Coinductive_Languages','HereditarilyFinite','Incompleteness','Tail_Recursive_Functions','CryptoBasedCompositionalProperties','Sturm_Sequences','Featherweight_OCL','KAT_and_DRA','Relation_Algebra','Secondary_Sylow','Regex_Equivalence','Real_Impl','Affine_Arithmetic','Selection_Heap_Sort','Random_Graph_Subgraph_Threshold','Partial_Function_MR','AWN','Probabilistic_Noninterference','GPU_Kernel_PL','Discrete_Summation','Abstract_Completeness','HyperCTL','Bounded_Deducibility_Security','SIFUM_Type_Systems','Strong_Security','WHATandWHERE_Security','ComponentDependencies','Regular_Algebras','Noninterference_CSP','Roy_Floyd_Warshall','CAVA_Automata','CAVA_LTL_Modelchecker','Gabow_SCC','LTL_to_GBA','Promela','Boolean_Expression_Checkers','MSO_Regex_Equivalence','Pop_Refinement','Network_Security_Policy_Verification','Amortized_Complexity','pGCL','CISC-Kernel','Show','Splay_Tree','Skew_Heap','Special_Function_Bounds','VectorSpace','Gauss_Jordan','Priority_Queue_Braun','Jordan_Hoelder','Cayley_Hamilton','Sturm_Tarski','Imperative_Insertion_Sort','Certification_Monads','XML','RefinementReactive','Density_Compiler','Stream_Fusion_Code','Lifting_Definition_Option','AODV','UPF','UpDown_Scheme','Finite_Automata_HF','Echelon_Form','QR_Decomposition','Call_Arity','Deriving','Consensus_Refined','Trie','ConcurrentGC','ConcurrentIMP','Residuated_Lattices','Vickrey_Clarke_Groves','Probabilistic_System_Zoo','Formula_Derivatives','Dynamic_Tables','List_Interleaving','Multirelations','Noninterference_Generic_Unwinding','Noninterference_Ipurge_Unwinding','Derangements','Hermite','Akra_Bazzi','Landau_Symbols','Case_Labeling','Encodability_Process_Calculi','Rep_Fin_Groups','Noninterference_Inductive_Unwinding','Decreasing-Diagrams-II','Jordan_Normal_Form','LTL_to_DRA','Isabelle_Meta_Model','Parity_Game','Planarity_Certificates','TortoiseHare','Euler_Partition','Ergodic_Theory','Latin_Square','Card_Partitions','Algebraic_Numbers','Applicative_Lifting','Stern_Brocot','Descartes_Sign_Rule','Liouville_Numbers','Prime_Harmonic_Series','Triangle','Card_Number_Partitions','Matrix_Tensor','Knot_Theory','Polynomial_Factorization','Polynomial_Interpolation','Formal_SSA','List_Update','LTL','Cartan_FP','Timed_Automata','PropResPI','KAD','Noninterference_Sequential_Composition','CYK','ROBDD','No_FTL_observers','Groebner_Bases','Bell_Numbers_Spivey','SDS_Impossibility','Randomised_Social_Choice','MFMC_Countable','FLP','Incredible_Proof_Machine','Perron_Frobenius','Card_Equiv_Relations','Posix-Lexing','Tree_Decomposition','Word_Lib','Noninterference_Concurrent_Composition','Algebraic_VCs','Catalan_Numbers','Dependent_SIFUM_Type_Systems','Card_Multisets','Category3','Dependent_SIFUM_Refinement','IP_Addresses','Resolution_FOL','Rewriting_Z','Buildings','DFS_Framework','Pairing_Heap','Surprise_Paradox','Ptolemys_Theorem','Refine_Imperative_HOL','EdmondsKarp_Maxflow','InfPathElimination','Simple_Firewall','Routing','Stirling_Formula','Stone_Algebras','SuperCalc','Iptables_Semantics','Lambda_Free_RPOs','Allen_Calculus','Fisher_Yates','Lp','Chord_Segments','Berlekamp_Zassenhaus','SPARCv8','Source_Coding_Theorem','LOFT','Stable_Matching','Modal_Logics_for_NTS','Deep_Learning','Lambda_Free_KBOs','Nested_Multisets_Ordinals','Separata','Abs_Int_ITP2012','Complx','Paraconsistency','Proof_Strategy_Language','Twelvefold_Way','Concurrent_Ref_Alg','FOL_Harrison','Password_Authentication_Protocol','UPF_Firewall','E_Transcendental','Bertrands_Postulate','Minimal_SSA','Bernoulli','Key_Agreement_Strong_Adversaries','Stone_Relation_Algebras','Abstract_Soundness','Differential_Dynamic_Logic','Menger','Elliptic_Curves_Group_Law','Euler_MacLaurin','Comparison_Sort_Lower_Bound','Quick_Sort_Cost','Random_BSTs','Subresultants','Lazy_Case','Constructor_Funs','LocalLexing','Types_Tableaus_and_Goedels_God','MonoidalCategory','CryptHOL','Game_Based_Crypto','Monad_Normalisation','Monomorphic_Monad','Probabilistic_While','Floyd_Warshall','Dict_Construction','Security_Protocol_Refinement','Optics','Flow_Networks','Prpu_Maxflow','Buffons_Needle','PSemigroupsConvolution','Propositional_Proof_Systems','Stone_Kleene_Relation_Algebras','CRDT','Name_Carrying_Type_Inference','Minkowskis_Theorem','HOLCF-Prelude','Decl_Sem_Fun_PL','DynamicArchitectures','Stewart_Apollonius','LambdaMu','Orbit_Stabiliser','Root_Balanced_Tree','First_Welfare_Theorem','AnselmGod','PLM','Lowe_Ontological_Argument','Dirichlet_Series','Linear_Recurrences','Zeta_Function','Diophantine_Eqns_Lin_Hom','Count_Complex_Roots','Winding_Number_Eval','Buchi_Complementation','Transition_Systems_and_Automata','Kuratowski_Closure_Complement','Hybrid_Multi_Lane_Spatial_Logic','IMAP-CRDT','Stochastic_Matrices','Knuth_Morris_Pratt','BNF_Operations','Dirichlet_L','Mason_Stothers','Median_Of_Medians_Selection','Falling_Factorial_Sum','Taylor_Models','Green','Gromov_Hyperbolicity','Ordered_Resolution_Prover','LLL_Basis_Reduction','Error_Function','First_Order_Terms','LLL_Factorization','Treaps','Hoare_Time','Architectural_Design_Patterns','CakeML','Weight_Balanced_Trees','Fishburn_Impossibility','BNF_CC','VerifyThis2018','WebAssembly','Modular_Assembly_Kit_Security','OpSets','Monad_Memo_DP','AxiomaticCategoryTheory','Irrationality_J_Hancl','Probabilistic_Timed_Automata','Hidden_Markov_Models','Optimal_BST','Partial_Order_Reduction','Localization_Ring','Projective_Geometry','Pell','Neumann_Morgenstern_Utility','DiscretePricing','Minsky_Machines','Simplex','Budan_Fourier','Quaternions','Octonions','Aggregation_Algebras','Prime_Number_Theorem','Signature_Groebner','Symmetric_Polynomials','Pi_Transcendental','Factored_Transition_System_Bounding','Lambda_Free_EPO','Randomised_BSTs','Smooth_Manifolds','Epistemic_Logic','GewirthPGCProof','Generic_Deriving','Matroids','Auto2_HOL','Functional_Ordered_Resolution_Prover','Graph_Saturation','Order_Lattice_Props','Quantales','Transformer_Semantics','Constructive_Cryptography','Auto2_Imperative_HOL','Concurrent_Revisions','Core_DOM','Store_Buffer_Reduction','Higher_Order_Terms','IMP2','Farkas','List_Inversions','UTP','Universal_Turing_Machine','Probabilistic_Prime_Tests','Kruskal','Prime_Distribution_Elementary','Safe_OCL','QHLProver','Transcendence_Series_Hancl_Rucki','Binding_Syntax_Theory','LTL_Master_Theorem','HOL-CSP','Multi_Party_Computation','LambdaAuth','KD_Tree','Differential_Game_Logic','IMP2_Binary_Heap','Groebner_Macaulay','Nullstellensatz','Linear_Inequalities','Prim_Dijkstra_Simple','Priority_Search_Trees','Complete_Non_Orders','MFOTL_Monitor','CakeML_Codegen','FOL_Seq_Calc1','Szpilrajn','TESL_Language','Stellar_Quorums','IMO2019','C2KA_DistributedSystems','Linear_Programming','Laplace_Transform','Adaptive_State_Counting','Jacobson_Basic_Algebra','Fourier','Hybrid_Systems_VCs','Generic_Join','Clean','Sigma_Commit_Crypto','Aristotles_Assertoric_Syllogistic','VerifyThis2019','Isabelle_C','ZFC_in_HOL','Interval_Arithmetic_Word32','Generalized_Counting_Sort','Gauss_Sums','Complex_Geometry','Poincare_Disc','Poincare_Bendixson','Hybrid_Logic','Zeta_3_Irrational','Bicategory','Skip_Lists','Closest_Pair_Points','Approximation_Algorithms','Mersenne_Primes','Subset_Boolean_Algebras','Arith_Prog_Rel_Primes','VeriComp','Goodstein_Lambda','Hello_World','Relational-Incorrectness-Logic','Furstenberg_Topology','WOOT_Strong_Eventual_Consistency','Lucas_Theorem','Automated_Stateful_Protocol_Verification','Stateful_Protocol_Composition_and_Typing','MFODL_Monitor_Optimized','Saturation_Framework','Sliding_Window_Algorithm','ADS_Functor','Matrices_for_ODEs','Gaussian_Integers','Lambert_W','Power_Sum_Polynomials','Attack_Trees','Banach_Steinhaus','Forcing','LTL_Normal_Form','Recursion-Addition','Irrational_Series_Erdos_Straus','Knuth_Bendix_Order','Nash_Williams','Smith_Normal_Form','Safe_Distance','Relational_Paths','Chandy_Lamport','Ordinal_Partitions','Amicable_Numbers','BirdKMP','Saturation_Framework_Extensions','Relational_Disjoint_Set_Forests','Inductive_Inference','PAC_Checker','Extended_Finite_State_Machine_Inference','Extended_Finite_State_Machines','Goedel_HFSet_Semantic','Goedel_HFSet_Semanticless','Goedel_Incompleteness','Robinson_Arithmetic','Syntax_Independent_Logic','Core_SC_DOM','DOM_Components','SC_DOM_Components','Shadow_DOM','Shadow_SC_DOM','Finite-Map-Extras','Physical_Quantities','AI_Planning_Languages_Semantics','Verified_SAT_Based_AI_Planning','CSP_RefTK','Isabelle_Marries_Dirac','Relational_Method','Interpreter_Optimizations','Relational_Minimum_Spanning_Trees','Topological_Semantics','Delta_System_Lemma','JinjaDCI','Hood_Melville_Queue','Blue_Eyes','IsaGeoCoq','Laws_of_Large_Numbers','Formal_Puiseux_Series','BTree','Sunflowers','Mereology','Hermite_Lindemann','Projective_Measurements','Modular_arithmetic_LLL_and_HNF_algorithms','Constructive_Cryptography_CM','Padic_Ints','Grothendieck_Schemes','IFC_Tracking','Progress_Tracking','GaleStewart_Games','BenOr_Kozen_Reif','Lifting_the_Exponent','Metalogic_ProofChecker','Regression_Test_Selection','Combinatorics_Words','Combinatorics_Words_Graph_Lemma','Combinatorics_Words_Lyndon','IMP_Compiler','Public_Announcement_Logic','MiniSail','Van_der_Waerden','SpecCheck','Finitely_Generated_Abelian_Groups','Schutz_Spacetime','Relational_Forests','Design_Theory','BD_Security_Compositional','CoCon','CoSMeDis','CoSMed','Fresh_Identifiers','Three_Circles','Logging_Independent_Anonymity','Cubic_Quartic_Equations','Dominance_CHK','CZH_Elementary_Categories','CZH_Foundations','CZH_Universal_Constructions','Conditional_Simplification','Conditional_Transfer_Rule','Intro_Dest_Elim','Types_To_Sets_Extension','Weighted_Path_Order','Complex_Bounded_Operators','FOL_Axiomatic','Virtual_Substitution','Correctness_Algebras','X86_Semantics','Belief_Revision','Registers','Szemeredi_Regularity','Factor_Algebraic_Polynomial','PAL','Real_Power','SimplifiedOntologicalArgument','Hahn_Jordan_Decomposition','Foundation_of_geometry','Van_Emde_Boas_Trees','Simplicial_complexes_and_boolean_functions','Regular_Tree_Relations','MDP-Algorithms','MDP-Rewards','Roth_Arithmetic_Progressions','Gale_Shapley','Hyperdual','Knights_Tour','Irrationals_From_THEBOOK','Actuarial_Mathematics','Median_Method','Interpolation_Polynomials_HOL_Algebra','FOL_Seq_Calc2','Youngs_Inequality','FO_Theory_Rewriting','LP_Duality','Quasi_Borel_Spaces','Equivalence_Relation_Enumeration','VYDRA_MDL','Eval_FO','Wetzels_Problem','Universal_Hash_Families','ResiduatedTransitionSystem','Transitive_Models','Independence_CH','Cotangent_PFD_Formula','FOL_Seq_Calc3','Ackermanns_not_PR','Dedekind_Real','Frequency_Moments','Prefix_Free_Code_Combinators','Sophomores_Dream','Digit_Expansions','Multiset_Ordering_NPC','Fishers_Inequality','Clique_and_Monotone_Circuits','Package_logic','Pluennecke_Ruzsa_Inequality','Combinable_Wands','Rewrite_Properties_Reduction','DPRM_Theorem','Finite_Fields','IsaNet','Boolos_Curious_Inference','Real_Time_Deque','IMP_Compiler_Reuse','Weighted_Arithmetic_Geometric_Mean','Commuting_Hermitian','Solidity','Nano_JSON','FSM_Tests','Involutions2Squares']
- const article_years_unique = ['2004','','','','','','','','','','','','','','2005','','','','','','','','2006','','','','','','','2007','','','','','','','','2008','','','','','','','','','','','','','','','2009','','','','','','','','','','','','2010','','','','','','','','','','','','','','','','','','','','','','2011','','','','','','','','','','','','','','','','','2012','','','','','','','','','','','','','','','','','','','','','','','','','2013','','','','','','','','','','','','','','','','','','','','','','','2014','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2015','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2016','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2017','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2018','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2019','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2020','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2021','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2022','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','']
- const loc_articles = [839,1507,1542,1096,1058,2419,44195,205,142,1984,209,1110,3792,506,1141,3766,17713,3119,6430,1145,447,2537,1275,1583,1838,12832,13047,2685,1228,3556,4238,9647,2847,970,1740,79761,4738,3396,2185,10664,31022,6726,30332,180,793,1047,14413,2080,254,2221,5959,3463,799,1540,684,6654,8,2627,27490,264,32530,5025,4380,208,9533,447,2380,3399,606,6305,2043,840,713,1024,5632,1427,4078,2230,6003,22620,1602,3370,1587,2451,2591,260,1617,16,2937,6557,7804,6381,992,125,10130,332,239,1831,999,1755,4420,434,4461,11861,2835,8583,1043,408,2940,2613,37935,3243,1480,2612,3141,2580,23005,27588,2266,4107,7701,1249,260,5309,73,9729,719,6674,1512,4355,1249,1908,6214,4977,10086,7261,538,3830,4591,202,853,1777,5475,10304,1524,150,5292,706,2248,10776,1463,1958,3067,11487,1860,1190,1219,2174,1144,14863,2212,1964,166,10685,6419,572,590,465,1698,1909,4134,1403,2138,2280,1959,2467,220,4432,9396,5430,3999,4460,406,5935,1829,12828,3214,9486,4560,926,659,63,1653,2338,9145,753,2113,875,1727,627,931,1201,1296,7880,1922,90,28055,2879,2796,1116,5259,4863,8842,1356,5997,527,6658,2606,1772,5327,1085,4112,952,1064,2362,1089,2446,477,2074,3763,1954,710,16080,8267,908,1063,21041,9679,8661,3142,9156,695,435,13995,478,898,10375,2724,1162,741,405,495,498,838,3622,4616,6264,4102,8166,12108,3178,518,17581,2876,2418,5496,885,2453,1162,17387,509,703,5047,10687,4287,3811,5337,329,656,1057,15202,3257,2582,553,8478,206,24795,8773,3324,2960,398,12822,9483,370,173,384,18990,2545,6119,3774,645,2415,4344,9356,20053,3963,3419,319,3209,169,19414,14667,541,2652,7058,7590,3898,3243,4508,855,2289,5029,1349,276,4339,1475,3482,7119,9662,601,1728,852,2194,12204,4212,590,13558,1695,4484,1644,694,835,737,3394,105,68,10492,1127,8499,11280,4135,378,4711,1200,2078,639,14059,2229,3930,4869,468,1531,5570,5683,1993,4205,478,4121,3146,3471,88,480,1261,1877,2193,250,10669,822,7466,3107,5302,2784,8203,8844,2324,6164,945,6514,992,489,810,8891,3434,338,854,493,4593,9457,15962,6327,10342,787,2288,3260,1820,8442,3278,12945,592,843,3383,3638,11570,13548,3734,6261,530,965,7711,1042,1221,5017,1390,2755,1622,2173,13358,805,10027,2667,541,1271,2668,5319,9772,2765,934,11918,2205,1743,7917,1224,449,685,1812,1141,3540,3578,2951,2218,1644,5182,4968,2767,17368,34365,3204,6019,1900,373,9969,16875,3018,3298,5306,4576,10508,986,15793,4437,9487,5543,3301,1264,2973,805,10235,2606,5262,3365,472,3603,3199,13289,951,787,4455,527,713,782,2335,2134,9936,2090,3736,5801,2350,4124,3809,176,1726,10972,6912,5069,5729,4561,14098,10292,6402,4470,1907,69492,2355,3937,3485,1699,3154,944,1033,597,370,691,764,2564,332,14516,21776,10943,3059,744,2353,1560,2537,1609,1239,1939,1338,12002,1034,1444,1902,2670,751,12970,3028,5074,9793,6301,1261,2908,2080,5094,12873,9018,4265,4731,426,11477,3546,1295,8100,16384,3523,7798,12695,15385,648,1761,1967,16434,2359,7700,3995,6542,4731,2826,3295,24547,745,365,26525,290,2582,5083,615,4039,3766,4959,17068,8442,15847,6577,4131,7218,1015,10328,384,9264,4094,4696,399,829,666,426,19737,1088,233,4433,8236,1962,4940,3003,11165,14638,5913,303,3758,817,1329,3157,36829,28187,16538,192,1061,176,17924,4239,16040,670,21773,13533,2621,1324,5952,976,2962,133,2203,471,2619,6070,20658,1882,9541,4344,4298,1699,1386,2946,3108,280,948,566,822,2594,807,9208,683,8741,502,7143,5937,765,951,18305,14876,15205,730,742,229,1411,4189,816,471,1312,1820,5180,2458,2174,650,2030,3338,8759,4623,7346,95,3711,1527,414,5787,15325,1039,53757,351]
->>>>>>> merge rev
+ const no_articles = [14,22,29,37,52,64,86,103,128,151,208,253,326,396,455,511,577,650,699]
+ const no_loc = [60600,96800,131300,238700,353500,435700,516800,567900,737800,824900,1036500,1216900,1600400,1856200,2127400,2443600,2838500,3349900,3582600]
+ const no_authors = [14,11,6,6,10,6,24,11,17,16,37,20,63,31,26,38,30,43,16]
+ const no_authors_series = [14,25,31,37,47,53,77,88,105,121,158,178,241,272,298,336,366,409,425]
+ const all_articles = ['AVL-Trees','MiniML','Functional-Automata','BinarySearchTree','Lazy-Lists-II','Topology','Group-Ring-Module','Depth-First-Search','Compiling-Exceptions-Correctly','Completeness','Ramsey-Infinite','Verified-Prover','Integration','FileRefinement','Category','RSAPSS','Jinja','JiveDataStoreModel','DiskPaxos','GenClock','FFT','Ordinal','Cauchy','ClockSynchInst','FeatherweightJava','CoreC++','Flyspeck-Tame','Abstract-Hoare-Logics','HotelKeyCards','FOL-Fitting','POPLmark-deBruijn','Valuation','Fermat3_4','SumSquares','MuchAdoAboutTwo','JinjaThreads','Program-Conflict-Analysis','LinearQuantifierElim','NormByEval','BDD','Simpl','Recursion-Theory-I','SATSolverVerification','FunWithFunctions','ArrowImpossibilityGS','VolpanoSmith','Slicing','Huffman','FunWithTilings','SenSocialChoice','SIFPL','BytecodeLogicJmlTypes','Stream-Fusion','FinFun','CofGroups','SequentInvertibility','Ordinals_and_Cardinals','WorkerWrapper','HRB-Slicing','Perfect-Number-Thm','Collections','Tree-Automata','Presburger-Automata','DPT-SAT-Solver','Coinductive','List-Index','InformationFlowSlicing','InformationFlowSlicing_Inter','Free-Boolean-Algebra','Locally-Nameless-Sigma','Regular-Sets','Robbins-Conjecture','DataRefinementIBP','GraphMarkingIBP','Abstract-Rewriting','Matrix','Category2','Free-Groups','Statecharts','Polynomials','Lam-ml-Normalization','Binomial-Heaps','Binomial-Queues','Finger-Trees','Shivers-CFA','Marriage','Lower_Semicontinuous','RIPEMD-160-SPARK','LightweightJava','AutoFocus-Stream','List-Infinite','Nat-Interval-Logic','Transitive-Closure','General-Triangle','KBPs','Max-Card-Matching','Gauss-Jordan-Elim-Fun','Myhill-Nerode','LatticeProperties','MonoBoolTranAlgebra','PseudoHoops','Efficient-Mergesort','TLA','Markov_Models','Dijkstra_Shortest_Path','Refine_Monadic','Girth_Chromatic','Transitive-Closure-II','Abortable_Linearizable_Modules','Well_Quasi_Orders','Ordinary_Differential_Equations','Inductive_Confidentiality','Stuttering_Equivalence','Separation_Algebra','Circus','CCS','Pi_Calculus','Psi_Calculi','Tycon','PCF','Heard_Of','Impossible_Geometry','Datatype_Order_Generator','Possibilistic_Noninterference','Bondy','Tarskis_Geometry','Open_Induction','Separation_Logic_Imperative_HOL','Sqrt_Babylonian','Kleene_Algebra','Rank_Nullity_Theorem','Ribbon_Proofs','Launchbury','Nominal2','Containers','Graph_Theory','ShortestPath','Sort_Encodings','Koenigsberg_Friendship','Lehmer','Pratt_Certificate','IEEE_Floating_Point','Native_Word','Automatic_Refinement','Decreasing-Diagrams','GoedelGod','FocusStreamsCaseStudies','Coinductive_Languages','HereditarilyFinite','Incompleteness','Tail_Recursive_Functions','CryptoBasedCompositionalProperties','Sturm_Sequences','Featherweight_OCL','KAT_and_DRA','Relation_Algebra','Secondary_Sylow','Regex_Equivalence','Real_Impl','Affine_Arithmetic','Selection_Heap_Sort','Random_Graph_Subgraph_Threshold','Partial_Function_MR','AWN','Probabilistic_Noninterference','GPU_Kernel_PL','Discrete_Summation','Abstract_Completeness','HyperCTL','Bounded_Deducibility_Security','SIFUM_Type_Systems','Strong_Security','WHATandWHERE_Security','ComponentDependencies','Regular_Algebras','Noninterference_CSP','Roy_Floyd_Warshall','CAVA_Automata','CAVA_LTL_Modelchecker','Gabow_SCC','LTL_to_GBA','Promela','Boolean_Expression_Checkers','MSO_Regex_Equivalence','Pop_Refinement','Network_Security_Policy_Verification','Amortized_Complexity','pGCL','CISC-Kernel','Show','Splay_Tree','Skew_Heap','Special_Function_Bounds','VectorSpace','Gauss_Jordan','Priority_Queue_Braun','Jordan_Hoelder','Cayley_Hamilton','Sturm_Tarski','Imperative_Insertion_Sort','Certification_Monads','XML','RefinementReactive','Density_Compiler','Stream_Fusion_Code','Lifting_Definition_Option','AODV','UPF','UpDown_Scheme','Finite_Automata_HF','Echelon_Form','QR_Decomposition','Call_Arity','Deriving','Consensus_Refined','Trie','ConcurrentGC','ConcurrentIMP','Residuated_Lattices','Vickrey_Clarke_Groves','Probabilistic_System_Zoo','Formula_Derivatives','Dynamic_Tables','List_Interleaving','Multirelations','Noninterference_Generic_Unwinding','Noninterference_Ipurge_Unwinding','Derangements','Hermite','Akra_Bazzi','Landau_Symbols','Case_Labeling','Encodability_Process_Calculi','Rep_Fin_Groups','Noninterference_Inductive_Unwinding','Decreasing-Diagrams-II','Jordan_Normal_Form','LTL_to_DRA','Isabelle_Meta_Model','Parity_Game','Planarity_Certificates','TortoiseHare','Euler_Partition','Ergodic_Theory','Latin_Square','Card_Partitions','Algebraic_Numbers','Applicative_Lifting','Stern_Brocot','Descartes_Sign_Rule','Liouville_Numbers','Prime_Harmonic_Series','Triangle','Card_Number_Partitions','Matrix_Tensor','Knot_Theory','Polynomial_Factorization','Polynomial_Interpolation','Formal_SSA','List_Update','LTL','Cartan_FP','Timed_Automata','PropResPI','KAD','Noninterference_Sequential_Composition','CYK','ROBDD','No_FTL_observers','Groebner_Bases','Bell_Numbers_Spivey','SDS_Impossibility','Randomised_Social_Choice','MFMC_Countable','FLP','Incredible_Proof_Machine','Perron_Frobenius','Card_Equiv_Relations','Posix-Lexing','Tree_Decomposition','Word_Lib','Noninterference_Concurrent_Composition','Algebraic_VCs','Catalan_Numbers','Dependent_SIFUM_Type_Systems','Card_Multisets','Category3','Dependent_SIFUM_Refinement','IP_Addresses','Resolution_FOL','Rewriting_Z','Buildings','DFS_Framework','Pairing_Heap','Surprise_Paradox','Ptolemys_Theorem','Refine_Imperative_HOL','EdmondsKarp_Maxflow','InfPathElimination','Simple_Firewall','Routing','Stirling_Formula','Stone_Algebras','SuperCalc','Iptables_Semantics','Lambda_Free_RPOs','Allen_Calculus','Fisher_Yates','Lp','Chord_Segments','Berlekamp_Zassenhaus','SPARCv8','Source_Coding_Theorem','LOFT','Stable_Matching','Modal_Logics_for_NTS','Deep_Learning','Lambda_Free_KBOs','Nested_Multisets_Ordinals','Separata','Abs_Int_ITP2012','Complx','Paraconsistency','Proof_Strategy_Language','Twelvefold_Way','Concurrent_Ref_Alg','FOL_Harrison','Password_Authentication_Protocol','UPF_Firewall','E_Transcendental','Bertrands_Postulate','Minimal_SSA','Bernoulli','Key_Agreement_Strong_Adversaries','Stone_Relation_Algebras','Abstract_Soundness','Differential_Dynamic_Logic','Menger','Elliptic_Curves_Group_Law','Euler_MacLaurin','Comparison_Sort_Lower_Bound','Quick_Sort_Cost','Random_BSTs','Subresultants','Lazy_Case','Constructor_Funs','LocalLexing','Types_Tableaus_and_Goedels_God','MonoidalCategory','CryptHOL','Game_Based_Crypto','Monad_Normalisation','Monomorphic_Monad','Probabilistic_While','Floyd_Warshall','Dict_Construction','Security_Protocol_Refinement','Optics','Flow_Networks','Prpu_Maxflow','Buffons_Needle','PSemigroupsConvolution','Propositional_Proof_Systems','Stone_Kleene_Relation_Algebras','CRDT','Name_Carrying_Type_Inference','Minkowskis_Theorem','HOLCF-Prelude','Decl_Sem_Fun_PL','DynamicArchitectures','Stewart_Apollonius','LambdaMu','Orbit_Stabiliser','Root_Balanced_Tree','First_Welfare_Theorem','AnselmGod','PLM','Lowe_Ontological_Argument','Dirichlet_Series','Linear_Recurrences','Zeta_Function','Diophantine_Eqns_Lin_Hom','Count_Complex_Roots','Winding_Number_Eval','Buchi_Complementation','Transition_Systems_and_Automata','Kuratowski_Closure_Complement','Hybrid_Multi_Lane_Spatial_Logic','IMAP-CRDT','Stochastic_Matrices','Knuth_Morris_Pratt','BNF_Operations','Dirichlet_L','Mason_Stothers','Median_Of_Medians_Selection','Falling_Factorial_Sum','Taylor_Models','Green','Gromov_Hyperbolicity','Ordered_Resolution_Prover','LLL_Basis_Reduction','Error_Function','First_Order_Terms','LLL_Factorization','Treaps','Hoare_Time','Architectural_Design_Patterns','CakeML','Weight_Balanced_Trees','Fishburn_Impossibility','BNF_CC','VerifyThis2018','WebAssembly','Modular_Assembly_Kit_Security','OpSets','Monad_Memo_DP','AxiomaticCategoryTheory','Irrationality_J_Hancl','Probabilistic_Timed_Automata','Hidden_Markov_Models','Optimal_BST','Partial_Order_Reduction','Localization_Ring','Projective_Geometry','Pell','Neumann_Morgenstern_Utility','DiscretePricing','Minsky_Machines','Simplex','Budan_Fourier','Quaternions','Octonions','Aggregation_Algebras','Prime_Number_Theorem','Signature_Groebner','Symmetric_Polynomials','Pi_Transcendental','Factored_Transition_System_Bounding','Lambda_Free_EPO','Randomised_BSTs','Smooth_Manifolds','Epistemic_Logic','GewirthPGCProof','Generic_Deriving','Matroids','Auto2_HOL','Functional_Ordered_Resolution_Prover','Graph_Saturation','Order_Lattice_Props','Quantales','Transformer_Semantics','Constructive_Cryptography','Auto2_Imperative_HOL','Concurrent_Revisions','Core_DOM','Store_Buffer_Reduction','Higher_Order_Terms','IMP2','Farkas','List_Inversions','UTP','Universal_Turing_Machine','Probabilistic_Prime_Tests','Kruskal','Prime_Distribution_Elementary','Safe_OCL','QHLProver','Transcendence_Series_Hancl_Rucki','Binding_Syntax_Theory','LTL_Master_Theorem','HOL-CSP','Multi_Party_Computation','LambdaAuth','KD_Tree','Differential_Game_Logic','IMP2_Binary_Heap','Groebner_Macaulay','Nullstellensatz','Linear_Inequalities','Prim_Dijkstra_Simple','Priority_Search_Trees','Complete_Non_Orders','MFOTL_Monitor','CakeML_Codegen','FOL_Seq_Calc1','Szpilrajn','TESL_Language','Stellar_Quorums','IMO2019','C2KA_DistributedSystems','Linear_Programming','Laplace_Transform','Adaptive_State_Counting','Jacobson_Basic_Algebra','Fourier','Hybrid_Systems_VCs','Generic_Join','Clean','Sigma_Commit_Crypto','Aristotles_Assertoric_Syllogistic','VerifyThis2019','Isabelle_C','ZFC_in_HOL','Interval_Arithmetic_Word32','Generalized_Counting_Sort','Gauss_Sums','Complex_Geometry','Poincare_Disc','Poincare_Bendixson','Hybrid_Logic','Zeta_3_Irrational','Bicategory','Skip_Lists','Closest_Pair_Points','Approximation_Algorithms','Mersenne_Primes','Subset_Boolean_Algebras','Arith_Prog_Rel_Primes','VeriComp','Goodstein_Lambda','Hello_World','Relational-Incorrectness-Logic','Furstenberg_Topology','WOOT_Strong_Eventual_Consistency','Lucas_Theorem','Automated_Stateful_Protocol_Verification','Stateful_Protocol_Composition_and_Typing','MFODL_Monitor_Optimized','Saturation_Framework','Sliding_Window_Algorithm','ADS_Functor','Matrices_for_ODEs','Gaussian_Integers','Lambert_W','Power_Sum_Polynomials','Attack_Trees','Banach_Steinhaus','Forcing','LTL_Normal_Form','Recursion-Addition','Irrational_Series_Erdos_Straus','Knuth_Bendix_Order','Nash_Williams','Smith_Normal_Form','Safe_Distance','Relational_Paths','Chandy_Lamport','Ordinal_Partitions','Amicable_Numbers','BirdKMP','Saturation_Framework_Extensions','Relational_Disjoint_Set_Forests','Inductive_Inference','PAC_Checker','Extended_Finite_State_Machine_Inference','Extended_Finite_State_Machines','Goedel_HFSet_Semantic','Goedel_HFSet_Semanticless','Goedel_Incompleteness','Robinson_Arithmetic','Syntax_Independent_Logic','Core_SC_DOM','DOM_Components','SC_DOM_Components','Shadow_DOM','Shadow_SC_DOM','Finite-Map-Extras','Physical_Quantities','AI_Planning_Languages_Semantics','Verified_SAT_Based_AI_Planning','CSP_RefTK','Isabelle_Marries_Dirac','Relational_Method','Interpreter_Optimizations','Relational_Minimum_Spanning_Trees','Topological_Semantics','Delta_System_Lemma','JinjaDCI','Hood_Melville_Queue','Blue_Eyes','IsaGeoCoq','Laws_of_Large_Numbers','Formal_Puiseux_Series','BTree','Sunflowers','Mereology','Hermite_Lindemann','Projective_Measurements','Modular_arithmetic_LLL_and_HNF_algorithms','Constructive_Cryptography_CM','Padic_Ints','Grothendieck_Schemes','IFC_Tracking','Progress_Tracking','GaleStewart_Games','BenOr_Kozen_Reif','Lifting_the_Exponent','Metalogic_ProofChecker','Regression_Test_Selection','Combinatorics_Words','Combinatorics_Words_Graph_Lemma','Combinatorics_Words_Lyndon','IMP_Compiler','Public_Announcement_Logic','MiniSail','Van_der_Waerden','SpecCheck','Finitely_Generated_Abelian_Groups','Schutz_Spacetime','Relational_Forests','Design_Theory','BD_Security_Compositional','CoCon','CoSMeDis','CoSMed','Fresh_Identifiers','Three_Circles','Logging_Independent_Anonymity','Cubic_Quartic_Equations','Dominance_CHK','CZH_Elementary_Categories','CZH_Foundations','CZH_Universal_Constructions','Conditional_Simplification','Conditional_Transfer_Rule','Intro_Dest_Elim','Types_To_Sets_Extension','Weighted_Path_Order','Complex_Bounded_Operators','FOL_Axiomatic','Virtual_Substitution','Correctness_Algebras','X86_Semantics','Belief_Revision','Registers','Szemeredi_Regularity','Factor_Algebraic_Polynomial','PAL','Real_Power','SimplifiedOntologicalArgument','Hahn_Jordan_Decomposition','Foundation_of_geometry','Van_Emde_Boas_Trees','Simplicial_complexes_and_boolean_functions','Regular_Tree_Relations','MDP-Algorithms','MDP-Rewards','Roth_Arithmetic_Progressions','Gale_Shapley','Hyperdual','Knights_Tour','Irrationals_From_THEBOOK','Actuarial_Mathematics','Median_Method','Interpolation_Polynomials_HOL_Algebra','FOL_Seq_Calc2','Youngs_Inequality','FO_Theory_Rewriting','LP_Duality','Quasi_Borel_Spaces','Equivalence_Relation_Enumeration','VYDRA_MDL','Eval_FO','Wetzels_Problem','Universal_Hash_Families','ResiduatedTransitionSystem','Transitive_Models','Independence_CH','Cotangent_PFD_Formula','FOL_Seq_Calc3','Ackermanns_not_PR','Dedekind_Real','Frequency_Moments','Prefix_Free_Code_Combinators','Sophomores_Dream','Digit_Expansions','Multiset_Ordering_NPC','Fishers_Inequality','Clique_and_Monotone_Circuits','Package_logic','Pluennecke_Ruzsa_Inequality','Combinable_Wands','Rewrite_Properties_Reduction','DPRM_Theorem','Finite_Fields','IsaNet','Boolos_Curious_Inference','Real_Time_Deque','IMP_Compiler_Reuse','Weighted_Arithmetic_Geometric_Mean','Commuting_Hermitian','Solidity','Nano_JSON','FSM_Tests','Involutions2Squares','Number_Theoretic_Transform','Hales_Jewett','Khovanskii_Theorem','CRYSTALS-Kyber']
+ const article_years_unique = ['2004','','','','','','','','','','','','','','2005','','','','','','','','2006','','','','','','','2007','','','','','','','','2008','','','','','','','','','','','','','','','2009','','','','','','','','','','','','2010','','','','','','','','','','','','','','','','','','','','','','2011','','','','','','','','','','','','','','','','','2012','','','','','','','','','','','','','','','','','','','','','','','','','2013','','','','','','','','','','','','','','','','','','','','','','','2014','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2015','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2016','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2017','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2018','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2019','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2020','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2021','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','2022','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','']
+ const loc_articles = [839,1507,1542,1096,1058,2419,44195,205,142,1974,209,1110,3792,506,1141,3766,17615,3119,6430,1145,447,2537,1275,1583,1838,12832,13047,2685,1228,3556,4238,9647,2847,970,1740,79712,4738,3396,2185,10664,31022,6726,30332,180,793,1047,14413,2080,254,2221,5959,3463,799,1540,684,6654,8,2627,27490,264,32555,5025,4380,208,9533,447,2380,3399,606,6305,2060,840,713,1024,5632,1427,4078,2230,6003,22604,1602,3370,1587,2451,2591,260,1617,16,2937,6557,7804,6381,992,125,10130,332,239,1831,999,1756,4420,434,4461,11864,2835,8575,1045,408,2940,2613,37935,3243,1480,2612,3141,2580,23005,27588,2266,4107,7701,1249,260,5309,73,9729,719,6674,1512,4355,1249,1908,6214,4977,10086,7261,538,3830,4591,202,853,1784,5274,10304,1524,150,5292,706,2248,10737,1463,1958,3067,11487,1860,1190,1219,2174,1144,14863,2212,1957,166,10685,6419,572,590,465,1698,1909,4134,1403,2138,2280,1959,2467,220,4432,9396,5430,3999,4472,406,5935,1829,12828,3234,9486,4560,926,659,63,1653,2338,9085,753,2113,875,1836,627,931,1405,1296,7880,1922,90,28055,2879,2796,1116,5259,4863,8842,1356,5997,527,6658,2606,1772,5327,1092,4112,952,1064,2362,1089,2446,477,2074,3763,1954,710,16080,8267,908,1063,21228,9679,8661,3142,9156,695,435,13995,478,898,10416,2724,1162,741,405,495,498,838,3622,4616,6264,4102,8166,12091,3178,518,17581,2876,2418,5496,885,2453,1162,17387,509,703,5047,10687,4287,3811,5337,329,3985,1057,15083,3257,2582,553,8478,206,26795,8773,3324,2960,398,12811,9483,370,173,384,18990,2545,6119,3774,645,2415,4344,9370,20053,3963,3419,319,3174,169,19414,14667,541,2652,7059,7590,3898,3243,4507,855,2289,5027,1349,276,4339,1475,3482,7119,9662,601,1728,852,2194,12204,4212,590,13558,1695,4484,1644,694,835,737,3394,105,68,10492,1127,8501,11278,4135,378,4711,1200,2078,639,14059,2229,3930,4869,468,1531,5570,5683,1993,4205,478,4121,3146,3472,88,480,1261,1877,2193,250,10669,822,7466,3107,5302,2784,8208,8844,2324,6164,945,6514,992,489,810,8949,3434,338,854,493,4593,9457,15962,6402,10342,787,2288,3260,1820,8442,3278,12945,672,843,3402,3638,11570,13548,3734,6261,528,965,7711,1042,1221,5017,1390,2755,1622,2173,13357,805,10042,2667,541,1271,2668,5319,9770,2765,934,11918,2205,1743,7917,1209,449,685,1812,1227,3559,3578,2951,2218,1644,5182,4968,2767,17368,34354,3204,6019,1900,373,9969,30917,3018,3298,5306,4576,10509,986,15793,4437,9487,5543,3301,1264,2973,805,10229,2606,5735,3365,472,3604,3199,13289,951,787,4455,527,713,782,2335,2134,9936,2090,3736,5801,2350,4124,3809,176,1726,9701,7027,5069,5729,4561,14098,10292,6402,4470,1907,68336,2355,3937,3485,1699,3154,944,1033,597,370,691,764,2564,332,21109,23314,10943,3061,744,2353,1560,2537,1609,1239,1939,1338,12002,1034,1444,1902,2670,755,13319,3036,5074,9793,6287,1261,2908,2101,5113,12873,9018,4265,4731,426,11477,3546,1295,8100,16384,3523,7798,12695,15385,648,1761,2352,16434,2359,7700,3995,6542,4731,2826,3304,24539,745,365,26525,290,2582,15792,615,4039,3766,4959,17068,8442,15847,6578,4131,7218,1015,10328,384,9264,4094,13798,488,837,666,840,19737,1088,233,4433,7684,1962,4940,3003,11165,14638,5913,303,3758,817,1329,3157,40867,29106,22137,225,1053,176,17526,4239,17784,1306,21771,13533,2621,1324,5953,909,2961,133,2203,471,2619,6076,20665,1882,9541,4288,4298,1384,2007,2946,3108,269,948,566,757,2594,807,9208,624,8738,502,7222,5937,343,828,18280,18383,14341,730,731,220,1411,4182,816,401,1312,1820,5168,2337,2169,654,2031,3338,8759,4623,7346,95,3711,1527,414,5785,15325,1041,53757,351,1958,2144,1518,3586]
</script>
<h4>Growth in number of articles:</h4>
<script src="../js/Chart.js"></script>
<div class="chart">
<canvas id="num-articles-canvas"></canvas>
</div>
<script>
new Chart(document.getElementById("num-articles-canvas"), {
type: 'bar',
data: {
labels: years,
datasets: [{
label: 'size of the AFP in # of articles',
data: no_articles,
backgroundColor: "rgba(46, 45, 78, 1)"
}],
},
options: {
responsive: true,
maintainAspectRatio: false,
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
},
}
})
</script>
<h4>Growth in lines of code:</h4>
<div class="chart">
<canvas id="loc-years-canvas"></canvas>
</div>
<script>
new Chart(document.getElementById("loc-years-canvas"), {
type: 'bar',
data: {
labels: years,
datasets: [{
label: 'size of the AFP in lines of code',
data: no_loc,
backgroundColor: "rgba(101, 99, 136, 1)"
}],
},
options: {
responsive: true,
maintainAspectRatio: false,
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
},
}
})
</script>
<h4>Growth in number of authors:</h4>
<div class="chart">
<canvas id="author-years-canvas"></canvas>
</div>
<script>
new Chart(document.getElementById("author-years-canvas"), {
type: 'bar',
data: {
labels: years,
datasets: [{
label: 'new authors per year',
data: no_authors,
backgroundColor: "rgba(101, 99, 136, 1)"
},
{
label: 'number of authors contributing (cumulative)',
data: no_authors_series,
backgroundColor: "rgba(0, 15, 48, 1)"
}],
},
options: {
responsive: true,
maintainAspectRatio: false,
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
},
}
})
</script>
<h4>Size of articles:</h4>
<div class="chart">
<canvas id="loc-articles-canvas"></canvas>
</div>
<script>
new Chart(document.getElementById("loc-articles-canvas"), {
type: 'bar',
data: {
labels: article_years_unique,
datasets: [{
label: 'loc per article',
data: loc_articles,
backgroundColor: 'rgba(101, 99, 136, 1)'
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
scales: {
xAxes: [{
categoryPercentage: 1,
barPercentage: 0.9,
ticks: {
autoSkip: false
}
}],
yAxes: [{
ticks: {
beginAtZero: true
}
}]
},
tooltips: {
callbacks: {
title: tooltipItem => all_articles[tooltipItem[0].index]
}
}
}
})
</script>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/theories/algebraic_numbers/index.html b/web/theories/algebraic_numbers/index.html
--- a/web/theories/algebraic_numbers/index.html
+++ b/web/theories/algebraic_numbers/index.html
@@ -1,100 +1,102 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Algebraic_Numbers - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="Algebraic_Numbers" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/theories/algebraic_numbers/" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="theories" />
<meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Algebraic_Numbers"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css"><link rel="stylesheet" type="text/css" href="../../css/isabelle.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore theories'>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs'
class="logo">
</a>
<ul id="return">
<li><a href="../../entries/Algebraic_Numbers.html">Return to entry</a></li>
</ul>
<hr>
<ul id="theory-navbar" class="list-group"></ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>A</span>lgebraic_<span class='first'>N</span>umbers</h1>
<div>
</div>
</header><div><main id="theories">
<a id="Algebraic_Numbers_Prelim" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Algebraic_Numbers_Prelim.html"><h2>Algebraic_Numbers_Prelim</h2></a>
<a id="Bivariate_Polynomials" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Bivariate_Polynomials.html"><h2>Bivariate_Polynomials</h2></a>
<a id="Resultant" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Resultant.html"><h2>Resultant</h2></a>
<a id="Algebraic_Numbers" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Algebraic_Numbers.html"><h2>Algebraic_Numbers</h2></a>
<a id="Sturm_Rat" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Sturm_Rat.html"><h2>Sturm_Rat</h2></a>
<a id="Factors_of_Int_Poly" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Factors_of_Int_Poly.html"><h2>Factors_of_Int_Poly</h2></a>
<a id="Min_Int_Poly" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Min_Int_Poly.html"><h2>Min_Int_Poly</h2></a>
+ <a id="Algebraic_Numbers_Pre_Impl" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Algebraic_Numbers_Pre_Impl.html"><h2>Algebraic_Numbers_Pre_Impl</h2></a>
+ <a id="Cauchy_Root_Bound" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Cauchy_Root_Bound.html"><h2>Cauchy_Root_Bound</h2></a>
<a id="Real_Algebraic_Numbers" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Real_Algebraic_Numbers.html"><h2>Real_Algebraic_Numbers</h2></a>
<a id="Real_Roots" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Real_Roots.html"><h2>Real_Roots</h2></a>
<a id="Complex_Roots_Real_Poly" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Complex_Roots_Real_Poly.html"><h2>Complex_Roots_Real_Poly</h2></a>
<a id="Compare_Complex" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Compare_Complex.html"><h2>Compare_Complex</h2></a>
<a id="Interval_Arithmetic" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Interval_Arithmetic.html"><h2>Interval_Arithmetic</h2></a>
<a id="Complex_Algebraic_Numbers" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Complex_Algebraic_Numbers.html"><h2>Complex_Algebraic_Numbers</h2></a>
<a id="Show_Real_Alg" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Show_Real_Alg.html"><h2>Show_Real_Alg</h2></a>
<a id="Show_Real_Approx" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Show_Real_Approx.html"><h2>Show_Real_Approx</h2></a>
<a id="Show_Real_Precise" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Show_Real_Precise.html"><h2>Show_Real_Precise</h2></a>
<a id="Algebraic_Number_Tests" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Algebraic_Number_Tests.html"><h2>Algebraic_Number_Tests</h2></a>
<a id="Algebraic_Numbers_External_Code" href="https://www.isa-afp.org/browser_info/current/AFP/Algebraic_Numbers/Algebraic_Numbers_External_Code.html"><h2>Algebraic_Numbers_External_Code</h2></a></main>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/theories/btree/index.html b/web/theories/btree/index.html
--- a/web/theories/btree/index.html
+++ b/web/theories/btree/index.html
@@ -1,93 +1,110 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>BTree - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="BTree" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/theories/btree/" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="theories" />
<meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="BTree"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css"><link rel="stylesheet" type="text/css" href="../../css/isabelle.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore theories'>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs'
class="logo">
</a>
<ul id="return">
<li><a href="../../entries/BTree.html">Return to entry</a></li>
</ul>
<hr>
<ul id="theory-navbar" class="list-group"></ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>B</span><span class='first'>T</span>ree</h1>
<div>
</div>
</header><div><main id="theories">
<a id="BTree" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BTree.html"><h2>BTree</h2></a>
<a id="BTree_Height" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BTree_Height.html"><h2>BTree_Height</h2></a>
<a id="BTree_Set" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BTree_Set.html"><h2>BTree_Set</h2></a>
<a id="BTree_Split" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BTree_Split.html"><h2>BTree_Split</h2></a>
+ <a id="BPlusTree" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BPlusTree.html"><h2>BPlusTree</h2></a>
+ <a id="BPlusTree_Split" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BPlusTree_Split.html"><h2>BPlusTree_Split</h2></a>
+ <a id="BPlusTree_Set" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BPlusTree_Set.html"><h2>BPlusTree_Set</h2></a>
+ <a id="BPlusTree_Range" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BPlusTree_Range.html"><h2>BPlusTree_Range</h2></a>
+ <a id="BPlusTree_SplitCE" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BPlusTree_SplitCE.html"><h2>BPlusTree_SplitCE</h2></a>
<a id="Array_SBlit" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/Array_SBlit.html"><h2>Array_SBlit</h2></a>
<a id="Partially_Filled_Array" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/Partially_Filled_Array.html"><h2>Partially_Filled_Array</h2></a>
<a id="Basic_Assn" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/Basic_Assn.html"><h2>Basic_Assn</h2></a>
<a id="BTree_Imp" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BTree_Imp.html"><h2>BTree_Imp</h2></a>
<a id="BTree_ImpSet" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BTree_ImpSet.html"><h2>BTree_ImpSet</h2></a>
<a id="Imperative_Loops" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/Imperative_Loops.html"><h2>Imperative_Loops</h2></a>
- <a id="BTree_ImpSplit" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BTree_ImpSplit.html"><h2>BTree_ImpSplit</h2></a></main>
+ <a id="BTree_ImpSplit" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BTree_ImpSplit.html"><h2>BTree_ImpSplit</h2></a>
+ <a id="Flatten_Iter_Spec" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/Flatten_Iter_Spec.html"><h2>Flatten_Iter_Spec</h2></a>
+ <a id="Flatten_Iter" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/Flatten_Iter.html"><h2>Flatten_Iter</h2></a>
+ <a id="Inst_Ex_Assn" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/Inst_Ex_Assn.html"><h2>Inst_Ex_Assn</h2></a>
+ <a id="BPlusTree_Imp" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BPlusTree_Imp.html"><h2>BPlusTree_Imp</h2></a>
+ <a id="BPlusTree_ImpSplit" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BPlusTree_ImpSplit.html"><h2>BPlusTree_ImpSplit</h2></a>
+ <a id="BPlusTree_ImpSet" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BPlusTree_ImpSet.html"><h2>BPlusTree_ImpSet</h2></a>
+ <a id="Partially_Filled_Array_Iter" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/Partially_Filled_Array_Iter.html"><h2>Partially_Filled_Array_Iter</h2></a>
+ <a id="BPlusTree_Iter_OneWay" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BPlusTree_Iter_OneWay.html"><h2>BPlusTree_Iter_OneWay</h2></a>
+ <a id="Subst_Mod_Mult_AC" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/Subst_Mod_Mult_AC.html"><h2>Subst_Mod_Mult_AC</h2></a>
+ <a id="BPlusTree_Iter" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BPlusTree_Iter.html"><h2>BPlusTree_Iter</h2></a>
+ <a id="BPlusTree_ImpRange" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BPlusTree_ImpRange.html"><h2>BPlusTree_ImpRange</h2></a>
+ <a id="BPlusTree_ImpSplitCE" href="https://www.isa-afp.org/browser_info/current/AFP/BTree/BPlusTree_ImpSplitCE.html"><h2>BPlusTree_ImpSplitCE</h2></a></main>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/theories/category3/index.html b/web/theories/category3/index.html
--- a/web/theories/category3/index.html
+++ b/web/theories/category3/index.html
@@ -1,107 +1,107 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Category3 - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="Category3" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/theories/category3/" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="theories" />
<meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Category3"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css"><link rel="stylesheet" type="text/css" href="../../css/isabelle.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore theories'>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs'
class="logo">
</a>
<ul id="return">
<li><a href="../../entries/Category3.html">Return to entry</a></li>
</ul>
<hr>
<ul id="theory-navbar" class="list-group"></ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>ategory3</h1>
<div>
</div>
</header><div><main id="theories">
<a id="Category" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/Category.html"><h2>Category</h2></a>
<a id="DualCategory" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/DualCategory.html"><h2>DualCategory</h2></a>
<a id="ConcreteCategory" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/ConcreteCategory.html"><h2>ConcreteCategory</h2></a>
<a id="EpiMonoIso" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/EpiMonoIso.html"><h2>EpiMonoIso</h2></a>
<a id="InitialTerminal" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/InitialTerminal.html"><h2>InitialTerminal</h2></a>
<a id="Functor" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/Functor.html"><h2>Functor</h2></a>
<a id="Subcategory" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/Subcategory.html"><h2>Subcategory</h2></a>
<a id="SetCategory" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/SetCategory.html"><h2>SetCategory</h2></a>
<a id="SetCat" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/SetCat.html"><h2>SetCat</h2></a>
<a id="ProductCategory" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/ProductCategory.html"><h2>ProductCategory</h2></a>
<a id="NaturalTransformation" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/NaturalTransformation.html"><h2>NaturalTransformation</h2></a>
<a id="BinaryFunctor" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/BinaryFunctor.html"><h2>BinaryFunctor</h2></a>
<a id="FunctorCategory" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/FunctorCategory.html"><h2>FunctorCategory</h2></a>
<a id="Yoneda" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/Yoneda.html"><h2>Yoneda</h2></a>
<a id="Adjunction" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/Adjunction.html"><h2>Adjunction</h2></a>
<a id="EquivalenceOfCategories" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/EquivalenceOfCategories.html"><h2>EquivalenceOfCategories</h2></a>
<a id="FreeCategory" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/FreeCategory.html"><h2>FreeCategory</h2></a>
<a id="DiscreteCategory" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/DiscreteCategory.html"><h2>DiscreteCategory</h2></a>
<a id="Limit" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/Limit.html"><h2>Limit</h2></a>
+ <a id="CategoryWithPullbacks" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/CategoryWithPullbacks.html"><h2>CategoryWithPullbacks</h2></a>
<a id="CartesianCategory" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/CartesianCategory.html"><h2>CartesianCategory</h2></a>
- <a id="CategoryWithPullbacks" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/CategoryWithPullbacks.html"><h2>CategoryWithPullbacks</h2></a>
<a id="CategoryWithFiniteLimits" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/CategoryWithFiniteLimits.html"><h2>CategoryWithFiniteLimits</h2></a>
<a id="CartesianClosedCategory" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/CartesianClosedCategory.html"><h2>CartesianClosedCategory</h2></a>
<a id="HFSetCat" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/HFSetCat.html"><h2>HFSetCat</h2></a>
<a id="ZFC_SetCat" href="https://www.isa-afp.org/browser_info/current/AFP/Category3/ZFC_SetCat.html"><h2>ZFC_SetCat</h2></a></main>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/theories/combinatorics_words/index.html b/web/theories/combinatorics_words/index.html
--- a/web/theories/combinatorics_words/index.html
+++ b/web/theories/combinatorics_words/index.html
@@ -1,89 +1,93 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Combinatorics_Words - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="Combinatorics_Words" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/theories/combinatorics_words/" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="theories" />
<meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Combinatorics_Words"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css"><link rel="stylesheet" type="text/css" href="../../css/isabelle.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore theories'>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs'
class="logo">
</a>
<ul id="return">
<li><a href="../../entries/Combinatorics_Words.html">Return to entry</a></li>
</ul>
<hr>
<ul id="theory-navbar" class="list-group"></ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>ombinatorics_<span class='first'>W</span>ords</h1>
<div>
</div>
</header><div><main id="theories">
<a id="Arithmetical_Hints" href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words/Arithmetical_Hints.html"><h2>Arithmetical_Hints</h2></a>
<a id="Reverse_Symmetry" href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words/Reverse_Symmetry.html"><h2>Reverse_Symmetry</h2></a>
<a id="CoWBasic" href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words/CoWBasic.html"><h2>CoWBasic</h2></a>
+ <a id="Border_Array" href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words/Border_Array.html"><h2>Border_Array</h2></a>
<a id="Submonoids" href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words/Submonoids.html"><h2>Submonoids</h2></a>
+ <a id="Morphisms" href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words/Morphisms.html"><h2>Morphisms</h2></a>
<a id="Periodicity_Lemma" href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words/Periodicity_Lemma.html"><h2>Periodicity_Lemma</h2></a>
<a id="Lyndon_Schutzenberger" href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words/Lyndon_Schutzenberger.html"><h2>Lyndon_Schutzenberger</h2></a>
+ <a id="Binary_Code_Morphisms" href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words/Binary_Code_Morphisms.html"><h2>Binary_Code_Morphisms</h2></a>
+ <a id="Equations_Basic" href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words/Equations_Basic.html"><h2>Equations_Basic</h2></a>
<a id="CoWAll" href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words/CoWAll.html"><h2>CoWAll</h2></a></main>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/theories/combinatorics_words_graph_lemma/index.html b/web/theories/combinatorics_words_graph_lemma/index.html
--- a/web/theories/combinatorics_words_graph_lemma/index.html
+++ b/web/theories/combinatorics_words_graph_lemma/index.html
@@ -1,83 +1,84 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Combinatorics_Words_Graph_Lemma - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="Combinatorics_Words_Graph_Lemma" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/theories/combinatorics_words_graph_lemma/" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="theories" />
<meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Combinatorics_Words_Graph_Lemma"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css"><link rel="stylesheet" type="text/css" href="../../css/isabelle.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore theories'>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs'
class="logo">
</a>
<ul id="return">
<li><a href="../../entries/Combinatorics_Words_Graph_Lemma.html">Return to entry</a></li>
</ul>
<hr>
<ul id="theory-navbar" class="list-group"></ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>ombinatorics_<span class='first'>W</span>ords_<span class='first'>G</span>raph_<span class='first'>L</span>emma</h1>
<div>
</div>
</header><div><main id="theories">
+ <a id="Glued_Codes" href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words_Graph_Lemma/Glued_Codes.html"><h2>Glued_Codes</h2></a>
<a id="Graph_Lemma" href="https://www.isa-afp.org/browser_info/current/AFP/Combinatorics_Words_Graph_Lemma/Graph_Lemma.html"><h2>Graph_Lemma</h2></a></main>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/theories/complex_bounded_operators/index.html b/web/theories/complex_bounded_operators/index.html
--- a/web/theories/complex_bounded_operators/index.html
+++ b/web/theories/complex_bounded_operators/index.html
@@ -1,100 +1,100 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Complex_Bounded_Operators - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="Complex_Bounded_Operators" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/theories/complex_bounded_operators/" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="theories" />
<meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Complex_Bounded_Operators"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css"><link rel="stylesheet" type="text/css" href="../../css/isabelle.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore theories'>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs'
class="logo">
</a>
<ul id="return">
<li><a href="../../entries/Complex_Bounded_Operators.html">Return to entry</a></li>
</ul>
<hr>
<ul id="theory-navbar" class="list-group"></ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>omplex_<span class='first'>B</span>ounded_<span class='first'>O</span>perators</h1>
<div>
</div>
</header><div><main id="theories">
<a id="Extra_General" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/Extra_General.html"><h2>Extra_General</h2></a>
<a id="Extra_Vector_Spaces" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/Extra_Vector_Spaces.html"><h2>Extra_Vector_Spaces</h2></a>
<a id="Extra_Ordered_Fields" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/Extra_Ordered_Fields.html"><h2>Extra_Ordered_Fields</h2></a>
+ <a id="Extra_Operator_Norm" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/Extra_Operator_Norm.html"><h2>Extra_Operator_Norm</h2></a>
<a id="Complex_Vector_Spaces0" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/Complex_Vector_Spaces0.html"><h2>Complex_Vector_Spaces0</h2></a>
<a id="Complex_Vector_Spaces" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/Complex_Vector_Spaces.html"><h2>Complex_Vector_Spaces</h2></a>
<a id="Complex_Inner_Product0" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/Complex_Inner_Product0.html"><h2>Complex_Inner_Product0</h2></a>
<a id="Complex_Inner_Product" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/Complex_Inner_Product.html"><h2>Complex_Inner_Product</h2></a>
- <a id="Extra_Operator_Norm" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/Extra_Operator_Norm.html"><h2>Extra_Operator_Norm</h2></a>
<a id="One_Dimensional_Spaces" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/One_Dimensional_Spaces.html"><h2>One_Dimensional_Spaces</h2></a>
<a id="Complex_Euclidean_Space0" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/Complex_Euclidean_Space0.html"><h2>Complex_Euclidean_Space0</h2></a>
<a id="Complex_Bounded_Linear_Function0" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/Complex_Bounded_Linear_Function0.html"><h2>Complex_Bounded_Linear_Function0</h2></a>
<a id="Complex_Bounded_Linear_Function" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/Complex_Bounded_Linear_Function.html"><h2>Complex_Bounded_Linear_Function</h2></a>
<a id="Complex_L2" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/Complex_L2.html"><h2>Complex_L2</h2></a>
<a id="Extra_Jordan_Normal_Form" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/Extra_Jordan_Normal_Form.html"><h2>Extra_Jordan_Normal_Form</h2></a>
<a id="Cblinfun_Matrix" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/Cblinfun_Matrix.html"><h2>Cblinfun_Matrix</h2></a>
<a id="Cblinfun_Code" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/Cblinfun_Code.html"><h2>Cblinfun_Code</h2></a>
<a id="Extra_Pretty_Code_Examples" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/Extra_Pretty_Code_Examples.html"><h2>Extra_Pretty_Code_Examples</h2></a>
<a id="Cblinfun_Code_Examples" href="https://www.isa-afp.org/browser_info/current/AFP/Complex_Bounded_Operators/Cblinfun_Code_Examples.html"><h2>Cblinfun_Code_Examples</h2></a></main>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/theories/crystals-kyber/index.html b/web/theories/crystals-kyber/index.html
new file mode 100644
--- /dev/null
+++ b/web/theories/crystals-kyber/index.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1"><title>CRYSTALS-Kyber - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="CRYSTALS-Kyber" />
+<meta property="og:description" content="" />
+<meta property="og:type" content="article" />
+<meta property="og:url" content="/theories/crystals-kyber/" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="theories" />
+
+<meta property="og:site_name" content="Archive of Formal Proofs" />
+
+<meta name="twitter:card" content="summary_large_image"/>
+<meta name="twitter:image" content="/images/afp.png"/>
+
+<meta name="twitter:title" content="CRYSTALS-Kyber"/>
+<meta name="twitter:description" content=""/>
+
+
+ <link rel="stylesheet" type="text/css" href="../../css/front.min.css"><link rel="stylesheet" type="text/css" href="../../css/isabelle.css">
+
+
+ <link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
+ <script src="../../js/flexsearch.bundle.js"></script>
+ <script src="../../js/scroll-spy.js"></script>
+ <script src="../../js/theory.js"></script>
+ <script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
+</head>
+
+
+<body class='mathjax_ignore theories'>
+ <aside>
+ <div id="menu-toggle">
+ <input id="toggle" type="checkbox" />
+ <label for="toggle">
+ <span>menu</span>
+ <img src="../../images/menu.svg" alt="Menu" />
+ </label>
+
+ <a href="../../" class='logo-link'>
+ <img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
+ </a>
+
+ <nav id="menu">
+ <div>
+ <a href="../../" class='logo-link'>
+ <img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs'
+ class="logo">
+ </a>
+ <ul id="return">
+ <li><a href="../../entries/CRYSTALS-Kyber.html">Return to entry</a></li>
+ </ul>
+ <hr>
+ <ul id="theory-navbar" class="list-group"></ul>
+ </div>
+ </nav>
+</div>
+
+ </aside>
+
+ <div
+ class='content '><header>
+ <form autocomplete="off" action="../../search">
+ <div class='form-container'>
+ <input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
+ id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
+ <datalist id="autocomplete">
+ </datalist>
+ </div>
+ </form>
+ <h1 >
+ <span class='first'>C</span><span class='first'>R</span><span class='first'>Y</span><span class='first'>S</span><span class='first'>T</span><span class='first'>A</span><span class='first'>L</span><span class='first'>S</span>-<span class='first'>K</span>yber</h1>
+ <div>
+
+
+ </div>
+</header><div><main id="theories">
+ <a id="Kyber_spec" href="https://www.isa-afp.org/browser_info/current/AFP/CRYSTALS-Kyber/Kyber_spec.html"><h2>Kyber_spec</h2></a>
+ <a id="Mod_Plus_Minus" href="https://www.isa-afp.org/browser_info/current/AFP/CRYSTALS-Kyber/Mod_Plus_Minus.html"><h2>Mod_Plus_Minus</h2></a>
+ <a id="Abs_Qr" href="https://www.isa-afp.org/browser_info/current/AFP/CRYSTALS-Kyber/Abs_Qr.html"><h2>Abs_Qr</h2></a>
+ <a id="Compress" href="https://www.isa-afp.org/browser_info/current/AFP/CRYSTALS-Kyber/Compress.html"><h2>Compress</h2></a>
+ <a id="Crypto_Scheme" href="https://www.isa-afp.org/browser_info/current/AFP/CRYSTALS-Kyber/Crypto_Scheme.html"><h2>Crypto_Scheme</h2></a>
+ <a id="Kyber_Values" href="https://www.isa-afp.org/browser_info/current/AFP/CRYSTALS-Kyber/Kyber_Values.html"><h2>Kyber_Values</h2></a>
+ <a id="Mod_Ring_Numeral" href="https://www.isa-afp.org/browser_info/current/AFP/CRYSTALS-Kyber/Mod_Ring_Numeral.html"><h2>Mod_Ring_Numeral</h2></a>
+ <a id="NTT_Scheme" href="https://www.isa-afp.org/browser_info/current/AFP/CRYSTALS-Kyber/NTT_Scheme.html"><h2>NTT_Scheme</h2></a>
+ <a id="Crypto_Scheme_NTT" href="https://www.isa-afp.org/browser_info/current/AFP/CRYSTALS-Kyber/Crypto_Scheme_NTT.html"><h2>Crypto_Scheme_NTT</h2></a>
+ <a id="Powers3844" href="https://www.isa-afp.org/browser_info/current/AFP/CRYSTALS-Kyber/Powers3844.html"><h2>Powers3844</h2></a>
+ <a id="Kyber_NTT_Values" href="https://www.isa-afp.org/browser_info/current/AFP/CRYSTALS-Kyber/Kyber_NTT_Values.html"><h2>Kyber_NTT_Values</h2></a></main>
+ </div>
+ </div>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/web/theories/gauss_jordan/index.html b/web/theories/gauss_jordan/index.html
--- a/web/theories/gauss_jordan/index.html
+++ b/web/theories/gauss_jordan/index.html
@@ -1,110 +1,109 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Gauss_Jordan - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="Gauss_Jordan" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/theories/gauss_jordan/" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="theories" />
<meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Gauss_Jordan"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css"><link rel="stylesheet" type="text/css" href="../../css/isabelle.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore theories'>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs'
class="logo">
</a>
<ul id="return">
<li><a href="../../entries/Gauss_Jordan.html">Return to entry</a></li>
</ul>
<hr>
<ul id="theory-navbar" class="list-group"></ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>G</span>auss_<span class='first'>J</span>ordan</h1>
<div>
</div>
</header><div><main id="theories">
<a id="Rref" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Rref.html"><h2>Rref</h2></a>
<a id="Code_Set" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Code_Set.html"><h2>Code_Set</h2></a>
<a id="Code_Matrix" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Code_Matrix.html"><h2>Code_Matrix</h2></a>
<a id="Elementary_Operations" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Elementary_Operations.html"><h2>Elementary_Operations</h2></a>
<a id="Rank" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Rank.html"><h2>Rank</h2></a>
<a id="Gauss_Jordan" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Gauss_Jordan.html"><h2>Gauss_Jordan</h2></a>
<a id="Linear_Maps" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Linear_Maps.html"><h2>Linear_Maps</h2></a>
<a id="Gauss_Jordan_PA" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Gauss_Jordan_PA.html"><h2>Gauss_Jordan_PA</h2></a>
<a id="Determinants2" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Determinants2.html"><h2>Determinants2</h2></a>
<a id="Inverse" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Inverse.html"><h2>Inverse</h2></a>
<a id="Bases_Of_Fundamental_Subspaces" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Bases_Of_Fundamental_Subspaces.html"><h2>Bases_Of_Fundamental_Subspaces</h2></a>
<a id="System_Of_Equations" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/System_Of_Equations.html"><h2>System_Of_Equations</h2></a>
<a id="Code_Z2" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Code_Z2.html"><h2>Code_Z2</h2></a>
<a id="Examples_Gauss_Jordan_Abstract" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Examples_Gauss_Jordan_Abstract.html"><h2>Examples_Gauss_Jordan_Abstract</h2></a>
<a id="IArray_Addenda" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/IArray_Addenda.html"><h2>IArray_Addenda</h2></a>
<a id="Matrix_To_IArray" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Matrix_To_IArray.html"><h2>Matrix_To_IArray</h2></a>
<a id="Gauss_Jordan_IArrays" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Gauss_Jordan_IArrays.html"><h2>Gauss_Jordan_IArrays</h2></a>
<a id="Gauss_Jordan_PA_IArrays" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Gauss_Jordan_PA_IArrays.html"><h2>Gauss_Jordan_PA_IArrays</h2></a>
<a id="Bases_Of_Fundamental_Subspaces_IArrays" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Bases_Of_Fundamental_Subspaces_IArrays.html"><h2>Bases_Of_Fundamental_Subspaces_IArrays</h2></a>
<a id="System_Of_Equations_IArrays" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/System_Of_Equations_IArrays.html"><h2>System_Of_Equations_IArrays</h2></a>
<a id="Determinants_IArrays" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Determinants_IArrays.html"><h2>Determinants_IArrays</h2></a>
<a id="Inverse_IArrays" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Inverse_IArrays.html"><h2>Inverse_IArrays</h2></a>
<a id="Examples_Gauss_Jordan_IArrays" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Examples_Gauss_Jordan_IArrays.html"><h2>Examples_Gauss_Jordan_IArrays</h2></a>
<a id="Code_Generation_IArrays" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Code_Generation_IArrays.html"><h2>Code_Generation_IArrays</h2></a>
<a id="Code_Generation_IArrays_SML" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Code_Generation_IArrays_SML.html"><h2>Code_Generation_IArrays_SML</h2></a>
- <a id="Code_Real_Approx_By_Float_Haskell" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Code_Real_Approx_By_Float_Haskell.html"><h2>Code_Real_Approx_By_Float_Haskell</h2></a>
<a id="Code_Rational" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Code_Rational.html"><h2>Code_Rational</h2></a>
<a id="Code_Generation_IArrays_Haskell" href="https://www.isa-afp.org/browser_info/current/AFP/Gauss_Jordan/Code_Generation_IArrays_Haskell.html"><h2>Code_Generation_IArrays_Haskell</h2></a></main>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/theories/hales_jewett/index.html b/web/theories/hales_jewett/index.html
new file mode 100644
--- /dev/null
+++ b/web/theories/hales_jewett/index.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1"><title>Hales_Jewett - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="Hales_Jewett" />
+<meta property="og:description" content="" />
+<meta property="og:type" content="article" />
+<meta property="og:url" content="/theories/hales_jewett/" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="theories" />
+
+<meta property="og:site_name" content="Archive of Formal Proofs" />
+
+<meta name="twitter:card" content="summary_large_image"/>
+<meta name="twitter:image" content="/images/afp.png"/>
+
+<meta name="twitter:title" content="Hales_Jewett"/>
+<meta name="twitter:description" content=""/>
+
+
+ <link rel="stylesheet" type="text/css" href="../../css/front.min.css"><link rel="stylesheet" type="text/css" href="../../css/isabelle.css">
+
+
+ <link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
+ <script src="../../js/flexsearch.bundle.js"></script>
+ <script src="../../js/scroll-spy.js"></script>
+ <script src="../../js/theory.js"></script>
+ <script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
+</head>
+
+
+<body class='mathjax_ignore theories'>
+ <aside>
+ <div id="menu-toggle">
+ <input id="toggle" type="checkbox" />
+ <label for="toggle">
+ <span>menu</span>
+ <img src="../../images/menu.svg" alt="Menu" />
+ </label>
+
+ <a href="../../" class='logo-link'>
+ <img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
+ </a>
+
+ <nav id="menu">
+ <div>
+ <a href="../../" class='logo-link'>
+ <img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs'
+ class="logo">
+ </a>
+ <ul id="return">
+ <li><a href="../../entries/Hales_Jewett.html">Return to entry</a></li>
+ </ul>
+ <hr>
+ <ul id="theory-navbar" class="list-group"></ul>
+ </div>
+ </nav>
+</div>
+
+ </aside>
+
+ <div
+ class='content '><header>
+ <form autocomplete="off" action="../../search">
+ <div class='form-container'>
+ <input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
+ id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
+ <datalist id="autocomplete">
+ </datalist>
+ </div>
+ </form>
+ <h1 >
+ <span class='first'>H</span>ales_<span class='first'>J</span>ewett</h1>
+ <div>
+
+
+ </div>
+</header><div><main id="theories">
+ <a id="Hales_Jewett" href="https://www.isa-afp.org/browser_info/current/AFP/Hales_Jewett/Hales_Jewett.html"><h2>Hales_Jewett</h2></a></main>
+ </div>
+ </div>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/web/theories/independence_ch/index.html b/web/theories/independence_ch/index.html
--- a/web/theories/independence_ch/index.html
+++ b/web/theories/independence_ch/index.html
@@ -1,118 +1,118 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Independence_CH - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="Independence_CH" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/theories/independence_ch/" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="theories" />
<meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Independence_CH"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css"><link rel="stylesheet" type="text/css" href="../../css/isabelle.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore theories'>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs'
class="logo">
</a>
<ul id="return">
<li><a href="../../entries/Independence_CH.html">Return to entry</a></li>
</ul>
<hr>
<ul id="theory-navbar" class="list-group"></ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>I</span>ndependence_<span class='first'>C</span><span class='first'>H</span></h1>
<div>
</div>
</header><div><main id="theories">
<a id="Forcing_Notions" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Forcing_Notions.html"><h2>Forcing_Notions</h2></a>
<a id="Cohen_Posets_Relative" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Cohen_Posets_Relative.html"><h2>Cohen_Posets_Relative</h2></a>
<a id="Edrel" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Edrel.html"><h2>Edrel</h2></a>
<a id="FrecR" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/FrecR.html"><h2>FrecR</h2></a>
<a id="FrecR_Arities" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/FrecR_Arities.html"><h2>FrecR_Arities</h2></a>
<a id="Fm_Definitions" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Fm_Definitions.html"><h2>Fm_Definitions</h2></a>
+ <a id="Internal_ZFC_Axioms" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Internal_ZFC_Axioms.html"><h2>Internal_ZFC_Axioms</h2></a>
<a id="Interface" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Interface.html"><h2>Interface</h2></a>
+ <a id="Separation_Instances" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Separation_Instances.html"><h2>Separation_Instances</h2></a>
+ <a id="Replacement_Instances" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Replacement_Instances.html"><h2>Replacement_Instances</h2></a>
+ <a id="ZF_Trans_Interpretations" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/ZF_Trans_Interpretations.html"><h2>ZF_Trans_Interpretations</h2></a>
<a id="Forcing_Data" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Forcing_Data.html"><h2>Forcing_Data</h2></a>
<a id="Forces_Definition" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Forces_Definition.html"><h2>Forces_Definition</h2></a>
<a id="Names" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Names.html"><h2>Names</h2></a>
<a id="Forcing_Theorems" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Forcing_Theorems.html"><h2>Forcing_Theorems</h2></a>
<a id="Ordinals_In_MG" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Ordinals_In_MG.html"><h2>Ordinals_In_MG</h2></a>
<a id="Separation_Rename" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Separation_Rename.html"><h2>Separation_Rename</h2></a>
<a id="Separation_Axiom" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Separation_Axiom.html"><h2>Separation_Axiom</h2></a>
<a id="Pairing_Axiom" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Pairing_Axiom.html"><h2>Pairing_Axiom</h2></a>
<a id="Union_Axiom" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Union_Axiom.html"><h2>Union_Axiom</h2></a>
<a id="Powerset_Axiom" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Powerset_Axiom.html"><h2>Powerset_Axiom</h2></a>
<a id="Extensionality_Axiom" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Extensionality_Axiom.html"><h2>Extensionality_Axiom</h2></a>
<a id="Foundation_Axiom" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Foundation_Axiom.html"><h2>Foundation_Axiom</h2></a>
<a id="Replacement_Axiom" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Replacement_Axiom.html"><h2>Replacement_Axiom</h2></a>
<a id="Infinity_Axiom" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Infinity_Axiom.html"><h2>Infinity_Axiom</h2></a>
<a id="Choice_Axiom" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Choice_Axiom.html"><h2>Choice_Axiom</h2></a>
- <a id="Internal_ZFC_Axioms" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Internal_ZFC_Axioms.html"><h2>Internal_ZFC_Axioms</h2></a>
- <a id="Separation_Instances" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Separation_Instances.html"><h2>Separation_Instances</h2></a>
- <a id="Replacement_Instances" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Replacement_Instances.html"><h2>Replacement_Instances</h2></a>
<a id="Proper_Extension" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Proper_Extension.html"><h2>Proper_Extension</h2></a>
<a id="Succession_Poset" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Succession_Poset.html"><h2>Succession_Poset</h2></a>
- <a id="ZF_Trans_Interpretations" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/ZF_Trans_Interpretations.html"><h2>ZF_Trans_Interpretations</h2></a>
<a id="Forcing_Main" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Forcing_Main.html"><h2>Forcing_Main</h2></a>
<a id="Cardinal_Preservation" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Cardinal_Preservation.html"><h2>Cardinal_Preservation</h2></a>
<a id="Not_CH" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Not_CH.html"><h2>Not_CH</h2></a>
<a id="Kappa_Closed_Notions" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Kappa_Closed_Notions.html"><h2>Kappa_Closed_Notions</h2></a>
<a id="CH" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/CH.html"><h2>CH</h2></a>
<a id="Absolute_Versions" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Absolute_Versions.html"><h2>Absolute_Versions</h2></a>
<a id="Definitions_Main" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Definitions_Main.html"><h2>Definitions_Main</h2></a>
<a id="Demonstrations" href="https://www.isa-afp.org/browser_info/current/AFP/Independence_CH/Demonstrations.html"><h2>Demonstrations</h2></a></main>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/theories/index.xml b/web/theories/index.xml
--- a/web/theories/index.xml
+++ b/web/theories/index.xml
@@ -1,6472 +1,6508 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Theories on Archive of Formal Proofs</title>
<link>/theories/</link>
<description>Recent content in Theories on Archive of Formal Proofs</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-gb</language><atom:link href="/theories/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Abortable_Linearizable_Modules</title>
<link>/theories/abortable_linearizable_modules/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/abortable_linearizable_modules/</guid>
<description></description>
</item>
<item>
<title>Abs_Int_ITP2012</title>
<link>/theories/abs_int_itp2012/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/abs_int_itp2012/</guid>
<description></description>
</item>
<item>
<title>Abstract-Hoare-Logics</title>
<link>/theories/abstract-hoare-logics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/abstract-hoare-logics/</guid>
<description></description>
</item>
<item>
<title>Abstract-Rewriting</title>
<link>/theories/abstract-rewriting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/abstract-rewriting/</guid>
<description></description>
</item>
<item>
<title>Abstract_Completeness</title>
<link>/theories/abstract_completeness/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/abstract_completeness/</guid>
<description></description>
</item>
<item>
<title>Abstract_Soundness</title>
<link>/theories/abstract_soundness/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/abstract_soundness/</guid>
<description></description>
</item>
<item>
<title>Ackermanns_not_PR</title>
<link>/theories/ackermanns_not_pr/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ackermanns_not_pr/</guid>
<description></description>
</item>
<item>
<title>Actuarial_Mathematics</title>
<link>/theories/actuarial_mathematics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/actuarial_mathematics/</guid>
<description></description>
</item>
<item>
<title>Adaptive_State_Counting</title>
<link>/theories/adaptive_state_counting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/adaptive_state_counting/</guid>
<description></description>
</item>
<item>
<title>ADS_Functor</title>
<link>/theories/ads_functor/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ads_functor/</guid>
<description></description>
</item>
<item>
<title>Affine_Arithmetic</title>
<link>/theories/affine_arithmetic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/affine_arithmetic/</guid>
<description></description>
</item>
<item>
<title>Aggregation_Algebras</title>
<link>/theories/aggregation_algebras/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/aggregation_algebras/</guid>
<description></description>
</item>
<item>
<title>AI_Planning_Languages_Semantics</title>
<link>/theories/ai_planning_languages_semantics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ai_planning_languages_semantics/</guid>
<description></description>
</item>
<item>
<title>Akra_Bazzi</title>
<link>/theories/akra_bazzi/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/akra_bazzi/</guid>
<description></description>
</item>
<item>
<title>Algebraic_Numbers</title>
<link>/theories/algebraic_numbers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/algebraic_numbers/</guid>
<description></description>
</item>
<item>
<title>Algebraic_VCs</title>
<link>/theories/algebraic_vcs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/algebraic_vcs/</guid>
<description></description>
</item>
<item>
<title>Allen_Calculus</title>
<link>/theories/allen_calculus/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/allen_calculus/</guid>
<description></description>
</item>
<item>
<title>Amicable_Numbers</title>
<link>/theories/amicable_numbers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/amicable_numbers/</guid>
<description></description>
</item>
<item>
<title>Amortized_Complexity</title>
<link>/theories/amortized_complexity/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/amortized_complexity/</guid>
<description></description>
</item>
<item>
<title>AnselmGod</title>
<link>/theories/anselmgod/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/anselmgod/</guid>
<description></description>
</item>
<item>
<title>AODV</title>
<link>/theories/aodv/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/aodv/</guid>
<description></description>
</item>
<item>
<title>Applicative_Lifting</title>
<link>/theories/applicative_lifting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/applicative_lifting/</guid>
<description></description>
</item>
<item>
<title>Approximation_Algorithms</title>
<link>/theories/approximation_algorithms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/approximation_algorithms/</guid>
<description></description>
</item>
<item>
<title>Architectural_Design_Patterns</title>
<link>/theories/architectural_design_patterns/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/architectural_design_patterns/</guid>
<description></description>
</item>
<item>
<title>Aristotles_Assertoric_Syllogistic</title>
<link>/theories/aristotles_assertoric_syllogistic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/aristotles_assertoric_syllogistic/</guid>
<description></description>
</item>
<item>
<title>Arith_Prog_Rel_Primes</title>
<link>/theories/arith_prog_rel_primes/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/arith_prog_rel_primes/</guid>
<description></description>
</item>
<item>
<title>ArrowImpossibilityGS</title>
<link>/theories/arrowimpossibilitygs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/arrowimpossibilitygs/</guid>
<description></description>
</item>
<item>
<title>Attack_Trees</title>
<link>/theories/attack_trees/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/attack_trees/</guid>
<description></description>
</item>
<item>
<title>Auto2_HOL</title>
<link>/theories/auto2_hol/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/auto2_hol/</guid>
<description></description>
</item>
<item>
<title>Auto2_Imperative_HOL</title>
<link>/theories/auto2_imperative_hol/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/auto2_imperative_hol/</guid>
<description></description>
</item>
<item>
<title>AutoFocus-Stream</title>
<link>/theories/autofocus-stream/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/autofocus-stream/</guid>
<description></description>
</item>
<item>
<title>Automated_Stateful_Protocol_Verification</title>
<link>/theories/automated_stateful_protocol_verification/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/automated_stateful_protocol_verification/</guid>
<description></description>
</item>
<item>
<title>Automatic_Refinement</title>
<link>/theories/automatic_refinement/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/automatic_refinement/</guid>
<description></description>
</item>
<item>
<title>AVL-Trees</title>
<link>/theories/avl-trees/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/avl-trees/</guid>
<description></description>
</item>
<item>
<title>AWN</title>
<link>/theories/awn/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/awn/</guid>
<description></description>
</item>
<item>
<title>AxiomaticCategoryTheory</title>
<link>/theories/axiomaticcategorytheory/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/axiomaticcategorytheory/</guid>
<description></description>
</item>
<item>
<title>Banach_Steinhaus</title>
<link>/theories/banach_steinhaus/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/banach_steinhaus/</guid>
<description></description>
</item>
<item>
<title>BD_Security_Compositional</title>
<link>/theories/bd_security_compositional/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bd_security_compositional/</guid>
<description></description>
</item>
<item>
<title>BDD</title>
<link>/theories/bdd/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bdd/</guid>
<description></description>
</item>
<item>
<title>Belief_Revision</title>
<link>/theories/belief_revision/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/belief_revision/</guid>
<description></description>
</item>
<item>
<title>Bell_Numbers_Spivey</title>
<link>/theories/bell_numbers_spivey/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bell_numbers_spivey/</guid>
<description></description>
</item>
<item>
<title>BenOr_Kozen_Reif</title>
<link>/theories/benor_kozen_reif/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/benor_kozen_reif/</guid>
<description></description>
</item>
<item>
<title>Berlekamp_Zassenhaus</title>
<link>/theories/berlekamp_zassenhaus/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/berlekamp_zassenhaus/</guid>
<description></description>
</item>
<item>
<title>Bernoulli</title>
<link>/theories/bernoulli/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bernoulli/</guid>
<description></description>
</item>
<item>
<title>Bertrands_Postulate</title>
<link>/theories/bertrands_postulate/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bertrands_postulate/</guid>
<description></description>
</item>
<item>
<title>Bicategory</title>
<link>/theories/bicategory/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bicategory/</guid>
<description></description>
</item>
<item>
<title>BinarySearchTree</title>
<link>/theories/binarysearchtree/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/binarysearchtree/</guid>
<description></description>
</item>
<item>
<title>Binding_Syntax_Theory</title>
<link>/theories/binding_syntax_theory/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/binding_syntax_theory/</guid>
<description></description>
</item>
<item>
<title>Binomial-Heaps</title>
<link>/theories/binomial-heaps/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/binomial-heaps/</guid>
<description></description>
</item>
<item>
<title>Binomial-Queues</title>
<link>/theories/binomial-queues/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/binomial-queues/</guid>
<description></description>
</item>
<item>
<title>BirdKMP</title>
<link>/theories/birdkmp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/birdkmp/</guid>
<description></description>
</item>
<item>
<title>Blue_Eyes</title>
<link>/theories/blue_eyes/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/blue_eyes/</guid>
<description></description>
</item>
<item>
<title>BNF_CC</title>
<link>/theories/bnf_cc/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bnf_cc/</guid>
<description></description>
</item>
<item>
<title>BNF_Operations</title>
<link>/theories/bnf_operations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bnf_operations/</guid>
<description></description>
</item>
<item>
<title>Bondy</title>
<link>/theories/bondy/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bondy/</guid>
<description></description>
</item>
<item>
<title>Boolean_Expression_Checkers</title>
<link>/theories/boolean_expression_checkers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/boolean_expression_checkers/</guid>
<description></description>
</item>
<item>
<title>Boolos_Curious_Inference</title>
<link>/theories/boolos_curious_inference/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/boolos_curious_inference/</guid>
<description></description>
</item>
<item>
<title>Bounded_Deducibility_Security</title>
<link>/theories/bounded_deducibility_security/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bounded_deducibility_security/</guid>
<description></description>
</item>
<item>
<title>BTree</title>
<link>/theories/btree/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/btree/</guid>
<description></description>
</item>
<item>
<title>Buchi_Complementation</title>
<link>/theories/buchi_complementation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/buchi_complementation/</guid>
<description></description>
</item>
<item>
<title>Budan_Fourier</title>
<link>/theories/budan_fourier/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/budan_fourier/</guid>
<description></description>
</item>
<item>
<title>Buffons_Needle</title>
<link>/theories/buffons_needle/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/buffons_needle/</guid>
<description></description>
</item>
<item>
<title>Buildings</title>
<link>/theories/buildings/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/buildings/</guid>
<description></description>
</item>
<item>
<title>BytecodeLogicJmlTypes</title>
<link>/theories/bytecodelogicjmltypes/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/bytecodelogicjmltypes/</guid>
<description></description>
</item>
<item>
<title>C2KA_DistributedSystems</title>
<link>/theories/c2ka_distributedsystems/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/c2ka_distributedsystems/</guid>
<description></description>
</item>
<item>
<title>CakeML</title>
<link>/theories/cakeml/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cakeml/</guid>
<description></description>
</item>
<item>
<title>CakeML_Codegen</title>
<link>/theories/cakeml_codegen/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cakeml_codegen/</guid>
<description></description>
</item>
<item>
<title>Call_Arity</title>
<link>/theories/call_arity/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/call_arity/</guid>
<description></description>
</item>
<item>
<title>Card_Equiv_Relations</title>
<link>/theories/card_equiv_relations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/card_equiv_relations/</guid>
<description></description>
</item>
<item>
<title>Card_Multisets</title>
<link>/theories/card_multisets/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/card_multisets/</guid>
<description></description>
</item>
<item>
<title>Card_Number_Partitions</title>
<link>/theories/card_number_partitions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/card_number_partitions/</guid>
<description></description>
</item>
<item>
<title>Card_Partitions</title>
<link>/theories/card_partitions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/card_partitions/</guid>
<description></description>
</item>
<item>
<title>Cartan_FP</title>
<link>/theories/cartan_fp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cartan_fp/</guid>
<description></description>
</item>
<item>
<title>Case_Labeling</title>
<link>/theories/case_labeling/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/case_labeling/</guid>
<description></description>
</item>
<item>
<title>Catalan_Numbers</title>
<link>/theories/catalan_numbers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/catalan_numbers/</guid>
<description></description>
</item>
<item>
<title>Category</title>
<link>/theories/category/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/category/</guid>
<description></description>
</item>
<item>
<title>Category2</title>
<link>/theories/category2/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/category2/</guid>
<description></description>
</item>
<item>
<title>Category3</title>
<link>/theories/category3/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/category3/</guid>
<description></description>
</item>
<item>
<title>Cauchy</title>
<link>/theories/cauchy/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cauchy/</guid>
<description></description>
</item>
<item>
<title>CAVA_Automata</title>
<link>/theories/cava_automata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cava_automata/</guid>
<description></description>
</item>
<item>
<title>CAVA_Base</title>
<link>/theories/cava_base/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cava_base/</guid>
<description></description>
</item>
<item>
<title>CAVA_LTL_Modelchecker</title>
<link>/theories/cava_ltl_modelchecker/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cava_ltl_modelchecker/</guid>
<description></description>
</item>
<item>
<title>CAVA_Setup</title>
<link>/theories/cava_setup/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cava_setup/</guid>
<description></description>
</item>
<item>
<title>Cayley_Hamilton</title>
<link>/theories/cayley_hamilton/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cayley_hamilton/</guid>
<description></description>
</item>
<item>
<title>CCS</title>
<link>/theories/ccs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ccs/</guid>
<description></description>
</item>
<item>
<title>Certification_Monads</title>
<link>/theories/certification_monads/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/certification_monads/</guid>
<description></description>
</item>
<item>
<title>Chandy_Lamport</title>
<link>/theories/chandy_lamport/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/chandy_lamport/</guid>
<description></description>
</item>
<item>
<title>Chord_Segments</title>
<link>/theories/chord_segments/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/chord_segments/</guid>
<description></description>
</item>
<item>
<title>Circus</title>
<link>/theories/circus/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/circus/</guid>
<description></description>
</item>
<item>
<title>CISC-Kernel</title>
<link>/theories/cisc-kernel/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cisc-kernel/</guid>
<description></description>
</item>
<item>
<title>Clean</title>
<link>/theories/clean/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/clean/</guid>
<description></description>
</item>
<item>
<title>Clique_and_Monotone_Circuits</title>
<link>/theories/clique_and_monotone_circuits/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/clique_and_monotone_circuits/</guid>
<description></description>
</item>
<item>
<title>ClockSynchInst</title>
<link>/theories/clocksynchinst/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/clocksynchinst/</guid>
<description></description>
</item>
<item>
<title>Closest_Pair_Points</title>
<link>/theories/closest_pair_points/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/closest_pair_points/</guid>
<description></description>
</item>
<item>
<title>CoCon</title>
<link>/theories/cocon/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cocon/</guid>
<description></description>
</item>
<item>
<title>CofGroups</title>
<link>/theories/cofgroups/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cofgroups/</guid>
<description></description>
</item>
<item>
<title>Coinductive</title>
<link>/theories/coinductive/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/coinductive/</guid>
<description></description>
</item>
<item>
<title>Coinductive_Languages</title>
<link>/theories/coinductive_languages/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/coinductive_languages/</guid>
<description></description>
</item>
<item>
<title>Collections</title>
<link>/theories/collections/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/collections/</guid>
<description></description>
</item>
<item>
<title>Collections_Examples</title>
<link>/theories/collections_examples/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/collections_examples/</guid>
<description></description>
</item>
<item>
<title>Combinable_Wands</title>
<link>/theories/combinable_wands/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/combinable_wands/</guid>
<description></description>
</item>
<item>
<title>Combinatorics_Words</title>
<link>/theories/combinatorics_words/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/combinatorics_words/</guid>
<description></description>
</item>
<item>
<title>Combinatorics_Words_Graph_Lemma</title>
<link>/theories/combinatorics_words_graph_lemma/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/combinatorics_words_graph_lemma/</guid>
<description></description>
</item>
<item>
<title>Combinatorics_Words_Lyndon</title>
<link>/theories/combinatorics_words_lyndon/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/combinatorics_words_lyndon/</guid>
<description></description>
</item>
<item>
<title>Commuting_Hermitian</title>
<link>/theories/commuting_hermitian/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/commuting_hermitian/</guid>
<description></description>
</item>
<item>
<title>Comparison_Sort_Lower_Bound</title>
<link>/theories/comparison_sort_lower_bound/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/comparison_sort_lower_bound/</guid>
<description></description>
</item>
<item>
<title>Compiling-Exceptions-Correctly</title>
<link>/theories/compiling-exceptions-correctly/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/compiling-exceptions-correctly/</guid>
<description></description>
</item>
<item>
<title>Complete_Non_Orders</title>
<link>/theories/complete_non_orders/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/complete_non_orders/</guid>
<description></description>
</item>
<item>
<title>Completeness</title>
<link>/theories/completeness/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/completeness/</guid>
<description></description>
</item>
<item>
<title>Complex_Bounded_Operators</title>
<link>/theories/complex_bounded_operators/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/complex_bounded_operators/</guid>
<description></description>
</item>
<item>
<title>Complex_Geometry</title>
<link>/theories/complex_geometry/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/complex_geometry/</guid>
<description></description>
</item>
<item>
<title>Complx</title>
<link>/theories/complx/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/complx/</guid>
<description></description>
</item>
<item>
<title>ComponentDependencies</title>
<link>/theories/componentdependencies/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/componentdependencies/</guid>
<description></description>
</item>
<item>
<title>Concurrent_Ref_Alg</title>
<link>/theories/concurrent_ref_alg/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/concurrent_ref_alg/</guid>
<description></description>
</item>
<item>
<title>Concurrent_Revisions</title>
<link>/theories/concurrent_revisions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/concurrent_revisions/</guid>
<description></description>
</item>
<item>
<title>ConcurrentGC</title>
<link>/theories/concurrentgc/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/concurrentgc/</guid>
<description></description>
</item>
<item>
<title>ConcurrentIMP</title>
<link>/theories/concurrentimp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/concurrentimp/</guid>
<description></description>
</item>
<item>
<title>Conditional_Simplification</title>
<link>/theories/conditional_simplification/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/conditional_simplification/</guid>
<description></description>
</item>
<item>
<title>Conditional_Transfer_Rule</title>
<link>/theories/conditional_transfer_rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/conditional_transfer_rule/</guid>
<description></description>
</item>
<item>
<title>Consensus_Refined</title>
<link>/theories/consensus_refined/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/consensus_refined/</guid>
<description></description>
</item>
<item>
<title>Constructive_Cryptography</title>
<link>/theories/constructive_cryptography/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/constructive_cryptography/</guid>
<description></description>
</item>
<item>
<title>Constructive_Cryptography_CM</title>
<link>/theories/constructive_cryptography_cm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/constructive_cryptography_cm/</guid>
<description></description>
</item>
<item>
<title>Constructor_Funs</title>
<link>/theories/constructor_funs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/constructor_funs/</guid>
<description></description>
</item>
<item>
<title>Containers</title>
<link>/theories/containers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/containers/</guid>
<description></description>
</item>
<item>
<title>Containers-Benchmarks</title>
<link>/theories/containers-benchmarks/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/containers-benchmarks/</guid>
<description></description>
</item>
<item>
<title>Core_DOM</title>
<link>/theories/core_dom/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/core_dom/</guid>
<description></description>
</item>
<item>
<title>Core_SC_DOM</title>
<link>/theories/core_sc_dom/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/core_sc_dom/</guid>
<description></description>
</item>
<item>
<title>CoreC&#43;&#43;</title>
<link>/theories/corec&#43;&#43;/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/corec&#43;&#43;/</guid>
<description></description>
</item>
<item>
<title>Correctness_Algebras</title>
<link>/theories/correctness_algebras/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/correctness_algebras/</guid>
<description></description>
</item>
<item>
<title>CoSMed</title>
<link>/theories/cosmed/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cosmed/</guid>
<description></description>
</item>
<item>
<title>CoSMeDis</title>
<link>/theories/cosmedis/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cosmedis/</guid>
<description></description>
</item>
<item>
<title>Cotangent_PFD_Formula</title>
<link>/theories/cotangent_pfd_formula/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cotangent_pfd_formula/</guid>
<description></description>
</item>
<item>
<title>Count_Complex_Roots</title>
<link>/theories/count_complex_roots/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/count_complex_roots/</guid>
<description></description>
</item>
<item>
<title>CRDT</title>
<link>/theories/crdt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/crdt/</guid>
<description></description>
</item>
<item>
<title>CryptHOL</title>
<link>/theories/crypthol/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/crypthol/</guid>
<description></description>
</item>
<item>
<title>CryptoBasedCompositionalProperties</title>
<link>/theories/cryptobasedcompositionalproperties/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cryptobasedcompositionalproperties/</guid>
<description></description>
</item>
<item>
+ <title>CRYSTALS-Kyber</title>
+ <link>/theories/crystals-kyber/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/theories/crystals-kyber/</guid>
+ <description></description>
+ </item>
+
+ <item>
<title>CSP_RefTK</title>
<link>/theories/csp_reftk/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/csp_reftk/</guid>
<description></description>
</item>
<item>
<title>Cubic_Quartic_Equations</title>
<link>/theories/cubic_quartic_equations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cubic_quartic_equations/</guid>
<description></description>
</item>
<item>
<title>CYK</title>
<link>/theories/cyk/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/cyk/</guid>
<description></description>
</item>
<item>
<title>CZH_Elementary_Categories</title>
<link>/theories/czh_elementary_categories/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/czh_elementary_categories/</guid>
<description></description>
</item>
<item>
<title>CZH_Foundations</title>
<link>/theories/czh_foundations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/czh_foundations/</guid>
<description></description>
</item>
<item>
<title>CZH_Universal_Constructions</title>
<link>/theories/czh_universal_constructions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/czh_universal_constructions/</guid>
<description></description>
</item>
<item>
<title>DataRefinementIBP</title>
<link>/theories/datarefinementibp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/datarefinementibp/</guid>
<description></description>
</item>
<item>
<title>Datatype_Order_Generator</title>
<link>/theories/datatype_order_generator/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/datatype_order_generator/</guid>
<description></description>
</item>
<item>
<title>Decl_Sem_Fun_PL</title>
<link>/theories/decl_sem_fun_pl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/decl_sem_fun_pl/</guid>
<description></description>
</item>
<item>
<title>Decreasing-Diagrams</title>
<link>/theories/decreasing-diagrams/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/decreasing-diagrams/</guid>
<description></description>
</item>
<item>
<title>Decreasing-Diagrams-II</title>
<link>/theories/decreasing-diagrams-ii/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/decreasing-diagrams-ii/</guid>
<description></description>
</item>
<item>
<title>Dedekind_Real</title>
<link>/theories/dedekind_real/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dedekind_real/</guid>
<description></description>
</item>
<item>
<title>Deep_Learning</title>
<link>/theories/deep_learning/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/deep_learning/</guid>
<description></description>
</item>
<item>
<title>Delta_System_Lemma</title>
<link>/theories/delta_system_lemma/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/delta_system_lemma/</guid>
<description></description>
</item>
<item>
<title>Density_Compiler</title>
<link>/theories/density_compiler/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/density_compiler/</guid>
<description></description>
</item>
<item>
<title>Dependent_SIFUM_Refinement</title>
<link>/theories/dependent_sifum_refinement/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dependent_sifum_refinement/</guid>
<description></description>
</item>
<item>
<title>Dependent_SIFUM_Type_Systems</title>
<link>/theories/dependent_sifum_type_systems/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dependent_sifum_type_systems/</guid>
<description></description>
</item>
<item>
<title>Depth-First-Search</title>
<link>/theories/depth-first-search/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/depth-first-search/</guid>
<description></description>
</item>
<item>
<title>Derangements</title>
<link>/theories/derangements/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/derangements/</guid>
<description></description>
</item>
<item>
<title>Deriving</title>
<link>/theories/deriving/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/deriving/</guid>
<description></description>
</item>
<item>
<title>Descartes_Sign_Rule</title>
<link>/theories/descartes_sign_rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/descartes_sign_rule/</guid>
<description></description>
</item>
<item>
<title>Design_Theory</title>
<link>/theories/design_theory/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/design_theory/</guid>
<description></description>
</item>
<item>
<title>DFS_Framework</title>
<link>/theories/dfs_framework/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dfs_framework/</guid>
<description></description>
</item>
<item>
<title>Dict_Construction</title>
<link>/theories/dict_construction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dict_construction/</guid>
<description></description>
</item>
<item>
<title>Differential_Dynamic_Logic</title>
<link>/theories/differential_dynamic_logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/differential_dynamic_logic/</guid>
<description></description>
</item>
<item>
<title>Differential_Game_Logic</title>
<link>/theories/differential_game_logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/differential_game_logic/</guid>
<description></description>
</item>
<item>
<title>Digit_Expansions</title>
<link>/theories/digit_expansions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/digit_expansions/</guid>
<description></description>
</item>
<item>
<title>Dijkstra_Shortest_Path</title>
<link>/theories/dijkstra_shortest_path/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dijkstra_shortest_path/</guid>
<description></description>
</item>
<item>
<title>Diophantine_Eqns_Lin_Hom</title>
<link>/theories/diophantine_eqns_lin_hom/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/diophantine_eqns_lin_hom/</guid>
<description></description>
</item>
<item>
<title>Dirichlet_L</title>
<link>/theories/dirichlet_l/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dirichlet_l/</guid>
<description></description>
</item>
<item>
<title>Dirichlet_Series</title>
<link>/theories/dirichlet_series/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dirichlet_series/</guid>
<description></description>
</item>
<item>
<title>Discrete_Summation</title>
<link>/theories/discrete_summation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/discrete_summation/</guid>
<description></description>
</item>
<item>
<title>DiscretePricing</title>
<link>/theories/discretepricing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/discretepricing/</guid>
<description></description>
</item>
<item>
<title>DiskPaxos</title>
<link>/theories/diskpaxos/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/diskpaxos/</guid>
<description></description>
</item>
<item>
<title>DOM_Components</title>
<link>/theories/dom_components/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dom_components/</guid>
<description></description>
</item>
<item>
<title>Dominance_CHK</title>
<link>/theories/dominance_chk/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dominance_chk/</guid>
<description></description>
</item>
<item>
<title>DPRM_Theorem</title>
<link>/theories/dprm_theorem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dprm_theorem/</guid>
<description></description>
</item>
<item>
<title>DPT-SAT-Solver</title>
<link>/theories/dpt-sat-solver/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dpt-sat-solver/</guid>
<description></description>
</item>
<item>
<title>Dynamic_Tables</title>
<link>/theories/dynamic_tables/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dynamic_tables/</guid>
<description></description>
</item>
<item>
<title>DynamicArchitectures</title>
<link>/theories/dynamicarchitectures/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/dynamicarchitectures/</guid>
<description></description>
</item>
<item>
<title>E_Transcendental</title>
<link>/theories/e_transcendental/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/e_transcendental/</guid>
<description></description>
</item>
<item>
<title>Echelon_Form</title>
<link>/theories/echelon_form/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/echelon_form/</guid>
<description></description>
</item>
<item>
<title>EdmondsKarp_Maxflow</title>
<link>/theories/edmondskarp_maxflow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/edmondskarp_maxflow/</guid>
<description></description>
</item>
<item>
<title>Efficient-Mergesort</title>
<link>/theories/efficient-mergesort/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/efficient-mergesort/</guid>
<description></description>
</item>
<item>
<title>Elliptic_Curves_Group_Law</title>
<link>/theories/elliptic_curves_group_law/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/elliptic_curves_group_law/</guid>
<description></description>
</item>
<item>
<title>Encodability_Process_Calculi</title>
<link>/theories/encodability_process_calculi/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/encodability_process_calculi/</guid>
<description></description>
</item>
<item>
<title>Epistemic_Logic</title>
<link>/theories/epistemic_logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/epistemic_logic/</guid>
<description></description>
</item>
<item>
<title>Equivalence_Relation_Enumeration</title>
<link>/theories/equivalence_relation_enumeration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/equivalence_relation_enumeration/</guid>
<description></description>
</item>
<item>
<title>Ergodic_Theory</title>
<link>/theories/ergodic_theory/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ergodic_theory/</guid>
<description></description>
</item>
<item>
<title>Error_Function</title>
<link>/theories/error_function/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/error_function/</guid>
<description></description>
</item>
<item>
<title>Euler_MacLaurin</title>
<link>/theories/euler_maclaurin/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/euler_maclaurin/</guid>
<description></description>
</item>
<item>
<title>Euler_Partition</title>
<link>/theories/euler_partition/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/euler_partition/</guid>
<description></description>
</item>
<item>
<title>Eval_FO</title>
<link>/theories/eval_fo/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/eval_fo/</guid>
<description></description>
</item>
<item>
<title>Extended_Finite_State_Machine_Inference</title>
<link>/theories/extended_finite_state_machine_inference/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/extended_finite_state_machine_inference/</guid>
<description></description>
</item>
<item>
<title>Extended_Finite_State_Machines</title>
<link>/theories/extended_finite_state_machines/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/extended_finite_state_machines/</guid>
<description></description>
</item>
<item>
<title>Factor_Algebraic_Polynomial</title>
<link>/theories/factor_algebraic_polynomial/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/factor_algebraic_polynomial/</guid>
<description></description>
</item>
<item>
<title>Factored_Transition_System_Bounding</title>
<link>/theories/factored_transition_system_bounding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/factored_transition_system_bounding/</guid>
<description></description>
</item>
<item>
<title>Falling_Factorial_Sum</title>
<link>/theories/falling_factorial_sum/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/falling_factorial_sum/</guid>
<description></description>
</item>
<item>
<title>Farkas</title>
<link>/theories/farkas/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/farkas/</guid>
<description></description>
</item>
<item>
<title>Featherweight_OCL</title>
<link>/theories/featherweight_ocl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/featherweight_ocl/</guid>
<description></description>
</item>
<item>
<title>FeatherweightJava</title>
<link>/theories/featherweightjava/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/featherweightjava/</guid>
<description></description>
</item>
<item>
<title>Fermat3_4</title>
<link>/theories/fermat3_4/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fermat3_4/</guid>
<description></description>
</item>
<item>
<title>FFT</title>
<link>/theories/fft/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fft/</guid>
<description></description>
</item>
<item>
<title>FileRefinement</title>
<link>/theories/filerefinement/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/filerefinement/</guid>
<description></description>
</item>
<item>
<title>FinFun</title>
<link>/theories/finfun/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/finfun/</guid>
<description></description>
</item>
<item>
<title>Finger-Trees</title>
<link>/theories/finger-trees/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/finger-trees/</guid>
<description></description>
</item>
<item>
<title>Finite-Map-Extras</title>
<link>/theories/finite-map-extras/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/finite-map-extras/</guid>
<description></description>
</item>
<item>
<title>Finite_Automata_HF</title>
<link>/theories/finite_automata_hf/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/finite_automata_hf/</guid>
<description></description>
</item>
<item>
<title>Finite_Fields</title>
<link>/theories/finite_fields/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/finite_fields/</guid>
<description></description>
</item>
<item>
<title>Finitely_Generated_Abelian_Groups</title>
<link>/theories/finitely_generated_abelian_groups/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/finitely_generated_abelian_groups/</guid>
<description></description>
</item>
<item>
<title>First_Order_Terms</title>
<link>/theories/first_order_terms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/first_order_terms/</guid>
<description></description>
</item>
<item>
<title>First_Welfare_Theorem</title>
<link>/theories/first_welfare_theorem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/first_welfare_theorem/</guid>
<description></description>
</item>
<item>
<title>Fishburn_Impossibility</title>
<link>/theories/fishburn_impossibility/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fishburn_impossibility/</guid>
<description></description>
</item>
<item>
<title>Fisher_Yates</title>
<link>/theories/fisher_yates/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fisher_yates/</guid>
<description></description>
</item>
<item>
<title>Fishers_Inequality</title>
<link>/theories/fishers_inequality/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fishers_inequality/</guid>
<description></description>
</item>
<item>
<title>Flow_Networks</title>
<link>/theories/flow_networks/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/flow_networks/</guid>
<description></description>
</item>
<item>
<title>Floyd_Warshall</title>
<link>/theories/floyd_warshall/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/floyd_warshall/</guid>
<description></description>
</item>
<item>
<title>FLP</title>
<link>/theories/flp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/flp/</guid>
<description></description>
</item>
<item>
<title>Flyspeck-Tame</title>
<link>/theories/flyspeck-tame/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/flyspeck-tame/</guid>
<description></description>
</item>
<item>
<title>Flyspeck-Tame-Computation</title>
<link>/theories/flyspeck-tame-computation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/flyspeck-tame-computation/</guid>
<description></description>
</item>
<item>
<title>FO_Theory_Rewriting</title>
<link>/theories/fo_theory_rewriting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fo_theory_rewriting/</guid>
<description></description>
</item>
<item>
<title>FocusStreamsCaseStudies</title>
<link>/theories/focusstreamscasestudies/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/focusstreamscasestudies/</guid>
<description></description>
</item>
<item>
<title>FOL-Fitting</title>
<link>/theories/fol-fitting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fol-fitting/</guid>
<description></description>
</item>
<item>
<title>FOL_Axiomatic</title>
<link>/theories/fol_axiomatic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fol_axiomatic/</guid>
<description></description>
</item>
<item>
<title>FOL_Harrison</title>
<link>/theories/fol_harrison/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fol_harrison/</guid>
<description></description>
</item>
<item>
<title>FOL_Seq_Calc1</title>
<link>/theories/fol_seq_calc1/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fol_seq_calc1/</guid>
<description></description>
</item>
<item>
<title>FOL_Seq_Calc2</title>
<link>/theories/fol_seq_calc2/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fol_seq_calc2/</guid>
<description></description>
</item>
<item>
<title>FOL_Seq_Calc3</title>
<link>/theories/fol_seq_calc3/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fol_seq_calc3/</guid>
<description></description>
</item>
<item>
<title>Forcing</title>
<link>/theories/forcing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/forcing/</guid>
<description></description>
</item>
<item>
<title>Formal_Puiseux_Series</title>
<link>/theories/formal_puiseux_series/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/formal_puiseux_series/</guid>
<description></description>
</item>
<item>
<title>Formal_SSA</title>
<link>/theories/formal_ssa/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/formal_ssa/</guid>
<description></description>
</item>
<item>
<title>Formula_Derivatives</title>
<link>/theories/formula_derivatives/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/formula_derivatives/</guid>
<description></description>
</item>
<item>
<title>Formula_Derivatives-Examples</title>
<link>/theories/formula_derivatives-examples/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/formula_derivatives-examples/</guid>
<description></description>
</item>
<item>
<title>Foundation_of_geometry</title>
<link>/theories/foundation_of_geometry/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/foundation_of_geometry/</guid>
<description></description>
</item>
<item>
<title>Fourier</title>
<link>/theories/fourier/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fourier/</guid>
<description></description>
</item>
<item>
<title>Free-Boolean-Algebra</title>
<link>/theories/free-boolean-algebra/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/free-boolean-algebra/</guid>
<description></description>
</item>
<item>
<title>Free-Groups</title>
<link>/theories/free-groups/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/free-groups/</guid>
<description></description>
</item>
<item>
<title>Frequency_Moments</title>
<link>/theories/frequency_moments/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/frequency_moments/</guid>
<description></description>
</item>
<item>
<title>Fresh_Identifiers</title>
<link>/theories/fresh_identifiers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fresh_identifiers/</guid>
<description></description>
</item>
<item>
<title>FSM_Tests</title>
<link>/theories/fsm_tests/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/fsm_tests/</guid>
<description></description>
</item>
<item>
<title>Functional-Automata</title>
<link>/theories/functional-automata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/functional-automata/</guid>
<description></description>
</item>
<item>
<title>Functional_Ordered_Resolution_Prover</title>
<link>/theories/functional_ordered_resolution_prover/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/functional_ordered_resolution_prover/</guid>
<description></description>
</item>
<item>
<title>FunWithFunctions</title>
<link>/theories/funwithfunctions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/funwithfunctions/</guid>
<description></description>
</item>
<item>
<title>FunWithTilings</title>
<link>/theories/funwithtilings/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/funwithtilings/</guid>
<description></description>
</item>
<item>
<title>Furstenberg_Topology</title>
<link>/theories/furstenberg_topology/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/furstenberg_topology/</guid>
<description></description>
</item>
<item>
<title>Gabow_SCC</title>
<link>/theories/gabow_scc/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/gabow_scc/</guid>
<description></description>
</item>
<item>
<title>Gale_Shapley</title>
<link>/theories/gale_shapley/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/gale_shapley/</guid>
<description></description>
</item>
<item>
<title>GaleStewart_Games</title>
<link>/theories/galestewart_games/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/galestewart_games/</guid>
<description></description>
</item>
<item>
<title>Game_Based_Crypto</title>
<link>/theories/game_based_crypto/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/game_based_crypto/</guid>
<description></description>
</item>
<item>
<title>Gauss-Jordan-Elim-Fun</title>
<link>/theories/gauss-jordan-elim-fun/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/gauss-jordan-elim-fun/</guid>
<description></description>
</item>
<item>
<title>Gauss_Jordan</title>
<link>/theories/gauss_jordan/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/gauss_jordan/</guid>
<description></description>
</item>
<item>
<title>Gauss_Sums</title>
<link>/theories/gauss_sums/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/gauss_sums/</guid>
<description></description>
</item>
<item>
<title>Gaussian_Integers</title>
<link>/theories/gaussian_integers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/gaussian_integers/</guid>
<description></description>
</item>
<item>
<title>GenClock</title>
<link>/theories/genclock/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/genclock/</guid>
<description></description>
</item>
<item>
<title>General-Triangle</title>
<link>/theories/general-triangle/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/general-triangle/</guid>
<description></description>
</item>
<item>
<title>Generalized_Counting_Sort</title>
<link>/theories/generalized_counting_sort/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/generalized_counting_sort/</guid>
<description></description>
</item>
<item>
<title>Generic_Deriving</title>
<link>/theories/generic_deriving/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/generic_deriving/</guid>
<description></description>
</item>
<item>
<title>Generic_Join</title>
<link>/theories/generic_join/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/generic_join/</guid>
<description></description>
</item>
<item>
<title>GewirthPGCProof</title>
<link>/theories/gewirthpgcproof/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/gewirthpgcproof/</guid>
<description></description>
</item>
<item>
<title>Girth_Chromatic</title>
<link>/theories/girth_chromatic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/girth_chromatic/</guid>
<description></description>
</item>
<item>
<title>Goedel_HFSet_Semantic</title>
<link>/theories/goedel_hfset_semantic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/goedel_hfset_semantic/</guid>
<description></description>
</item>
<item>
<title>Goedel_HFSet_Semanticless</title>
<link>/theories/goedel_hfset_semanticless/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/goedel_hfset_semanticless/</guid>
<description></description>
</item>
<item>
<title>Goedel_Incompleteness</title>
<link>/theories/goedel_incompleteness/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/goedel_incompleteness/</guid>
<description></description>
</item>
<item>
<title>GoedelGod</title>
<link>/theories/goedelgod/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/goedelgod/</guid>
<description></description>
</item>
<item>
<title>Goodstein_Lambda</title>
<link>/theories/goodstein_lambda/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/goodstein_lambda/</guid>
<description></description>
</item>
<item>
<title>GPU_Kernel_PL</title>
<link>/theories/gpu_kernel_pl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/gpu_kernel_pl/</guid>
<description></description>
</item>
<item>
<title>Graph_Saturation</title>
<link>/theories/graph_saturation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/graph_saturation/</guid>
<description></description>
</item>
<item>
<title>Graph_Theory</title>
<link>/theories/graph_theory/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/graph_theory/</guid>
<description></description>
</item>
<item>
<title>GraphMarkingIBP</title>
<link>/theories/graphmarkingibp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/graphmarkingibp/</guid>
<description></description>
</item>
<item>
<title>Green</title>
<link>/theories/green/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/green/</guid>
<description></description>
</item>
<item>
<title>Groebner_Bases</title>
<link>/theories/groebner_bases/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/groebner_bases/</guid>
<description></description>
</item>
<item>
<title>Groebner_Macaulay</title>
<link>/theories/groebner_macaulay/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/groebner_macaulay/</guid>
<description></description>
</item>
<item>
<title>Gromov_Hyperbolicity</title>
<link>/theories/gromov_hyperbolicity/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/gromov_hyperbolicity/</guid>
<description></description>
</item>
<item>
<title>Grothendieck_Schemes</title>
<link>/theories/grothendieck_schemes/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/grothendieck_schemes/</guid>
<description></description>
</item>
<item>
<title>Group-Ring-Module</title>
<link>/theories/group-ring-module/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/group-ring-module/</guid>
<description></description>
</item>
<item>
<title>Hahn_Jordan_Decomposition</title>
<link>/theories/hahn_jordan_decomposition/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hahn_jordan_decomposition/</guid>
<description></description>
</item>
<item>
+ <title>Hales_Jewett</title>
+ <link>/theories/hales_jewett/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/theories/hales_jewett/</guid>
+ <description></description>
+ </item>
+
+ <item>
<title>Heard_Of</title>
<link>/theories/heard_of/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/heard_of/</guid>
<description></description>
</item>
<item>
<title>Hello_World</title>
<link>/theories/hello_world/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hello_world/</guid>
<description></description>
</item>
<item>
<title>HereditarilyFinite</title>
<link>/theories/hereditarilyfinite/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hereditarilyfinite/</guid>
<description></description>
</item>
<item>
<title>Hermite</title>
<link>/theories/hermite/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hermite/</guid>
<description></description>
</item>
<item>
<title>Hermite_Lindemann</title>
<link>/theories/hermite_lindemann/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hermite_lindemann/</guid>
<description></description>
</item>
<item>
<title>Hidden_Markov_Models</title>
<link>/theories/hidden_markov_models/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hidden_markov_models/</guid>
<description></description>
</item>
<item>
<title>Higher_Order_Terms</title>
<link>/theories/higher_order_terms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/higher_order_terms/</guid>
<description></description>
</item>
<item>
<title>Hoare_Time</title>
<link>/theories/hoare_time/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hoare_time/</guid>
<description></description>
</item>
<item>
<title>HOL-CSP</title>
<link>/theories/hol-csp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hol-csp/</guid>
<description></description>
</item>
<item>
<title>HOL-ODE-ARCH-COMP</title>
<link>/theories/hol-ode-arch-comp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hol-ode-arch-comp/</guid>
<description></description>
</item>
<item>
<title>HOL-ODE-Examples</title>
<link>/theories/hol-ode-examples/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hol-ode-examples/</guid>
<description></description>
</item>
<item>
<title>HOL-ODE-Numerics</title>
<link>/theories/hol-ode-numerics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hol-ode-numerics/</guid>
<description></description>
</item>
<item>
<title>HOLCF-Prelude</title>
<link>/theories/holcf-prelude/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/holcf-prelude/</guid>
<description></description>
</item>
<item>
<title>Hood_Melville_Queue</title>
<link>/theories/hood_melville_queue/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hood_melville_queue/</guid>
<description></description>
</item>
<item>
<title>HotelKeyCards</title>
<link>/theories/hotelkeycards/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hotelkeycards/</guid>
<description></description>
</item>
<item>
<title>HRB-Slicing</title>
<link>/theories/hrb-slicing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hrb-slicing/</guid>
<description></description>
</item>
<item>
<title>Huffman</title>
<link>/theories/huffman/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/huffman/</guid>
<description></description>
</item>
<item>
<title>Hybrid_Logic</title>
<link>/theories/hybrid_logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hybrid_logic/</guid>
<description></description>
</item>
<item>
<title>Hybrid_Multi_Lane_Spatial_Logic</title>
<link>/theories/hybrid_multi_lane_spatial_logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hybrid_multi_lane_spatial_logic/</guid>
<description></description>
</item>
<item>
<title>Hybrid_Systems_VCs</title>
<link>/theories/hybrid_systems_vcs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hybrid_systems_vcs/</guid>
<description></description>
</item>
<item>
<title>HyperCTL</title>
<link>/theories/hyperctl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hyperctl/</guid>
<description></description>
</item>
<item>
<title>Hyperdual</title>
<link>/theories/hyperdual/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/hyperdual/</guid>
<description></description>
</item>
<item>
<title>IEEE_Floating_Point</title>
<link>/theories/ieee_floating_point/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ieee_floating_point/</guid>
<description></description>
</item>
<item>
<title>IFC_Tracking</title>
<link>/theories/ifc_tracking/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ifc_tracking/</guid>
<description></description>
</item>
<item>
<title>IMAP-CRDT</title>
<link>/theories/imap-crdt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/imap-crdt/</guid>
<description></description>
</item>
<item>
<title>IMO2019</title>
<link>/theories/imo2019/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/imo2019/</guid>
<description></description>
</item>
<item>
<title>IMP2</title>
<link>/theories/imp2/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/imp2/</guid>
<description></description>
</item>
<item>
<title>IMP2_Binary_Heap</title>
<link>/theories/imp2_binary_heap/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/imp2_binary_heap/</guid>
<description></description>
</item>
<item>
<title>IMP_Compiler</title>
<link>/theories/imp_compiler/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/imp_compiler/</guid>
<description></description>
</item>
<item>
<title>IMP_Compiler_Reuse</title>
<link>/theories/imp_compiler_reuse/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/imp_compiler_reuse/</guid>
<description></description>
</item>
<item>
<title>Imperative_Insertion_Sort</title>
<link>/theories/imperative_insertion_sort/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/imperative_insertion_sort/</guid>
<description></description>
</item>
<item>
<title>Impossible_Geometry</title>
<link>/theories/impossible_geometry/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/impossible_geometry/</guid>
<description></description>
</item>
<item>
<title>Incompleteness</title>
<link>/theories/incompleteness/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/incompleteness/</guid>
<description></description>
</item>
<item>
<title>Incredible_Proof_Machine</title>
<link>/theories/incredible_proof_machine/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/incredible_proof_machine/</guid>
<description></description>
</item>
<item>
<title>Independence_CH</title>
<link>/theories/independence_ch/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/independence_ch/</guid>
<description></description>
</item>
<item>
<title>Inductive_Confidentiality</title>
<link>/theories/inductive_confidentiality/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/inductive_confidentiality/</guid>
<description></description>
</item>
<item>
<title>Inductive_Inference</title>
<link>/theories/inductive_inference/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/inductive_inference/</guid>
<description></description>
</item>
<item>
<title>InformationFlowSlicing</title>
<link>/theories/informationflowslicing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/informationflowslicing/</guid>
<description></description>
</item>
<item>
<title>InformationFlowSlicing_Inter</title>
<link>/theories/informationflowslicing_inter/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/informationflowslicing_inter/</guid>
<description></description>
</item>
<item>
<title>InfPathElimination</title>
<link>/theories/infpathelimination/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/infpathelimination/</guid>
<description></description>
</item>
<item>
<title>Integration</title>
<link>/theories/integration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/integration/</guid>
<description></description>
</item>
<item>
<title>Interpolation_Polynomials_HOL_Algebra</title>
<link>/theories/interpolation_polynomials_hol_algebra/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/interpolation_polynomials_hol_algebra/</guid>
<description></description>
</item>
<item>
<title>Interpreter_Optimizations</title>
<link>/theories/interpreter_optimizations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/interpreter_optimizations/</guid>
<description></description>
</item>
<item>
<title>Interval_Arithmetic_Word32</title>
<link>/theories/interval_arithmetic_word32/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/interval_arithmetic_word32/</guid>
<description></description>
</item>
<item>
<title>Intro_Dest_Elim</title>
<link>/theories/intro_dest_elim/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/intro_dest_elim/</guid>
<description></description>
</item>
<item>
<title>Involutions2Squares</title>
<link>/theories/involutions2squares/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/involutions2squares/</guid>
<description></description>
</item>
<item>
<title>IP_Addresses</title>
<link>/theories/ip_addresses/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ip_addresses/</guid>
<description></description>
</item>
<item>
<title>Iptables_Semantics</title>
<link>/theories/iptables_semantics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/iptables_semantics/</guid>
<description></description>
</item>
<item>
<title>Iptables_Semantics_Examples</title>
<link>/theories/iptables_semantics_examples/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/iptables_semantics_examples/</guid>
<description></description>
</item>
<item>
<title>Iptables_Semantics_Examples_Big</title>
<link>/theories/iptables_semantics_examples_big/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/iptables_semantics_examples_big/</guid>
<description></description>
</item>
<item>
<title>Irrational_Series_Erdos_Straus</title>
<link>/theories/irrational_series_erdos_straus/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/irrational_series_erdos_straus/</guid>
<description></description>
</item>
<item>
<title>Irrationality_J_Hancl</title>
<link>/theories/irrationality_j_hancl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/irrationality_j_hancl/</guid>
<description></description>
</item>
<item>
<title>Irrationals_From_THEBOOK</title>
<link>/theories/irrationals_from_thebook/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/irrationals_from_thebook/</guid>
<description></description>
</item>
<item>
<title>Isabelle_C</title>
<link>/theories/isabelle_c/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/isabelle_c/</guid>
<description></description>
</item>
<item>
<title>Isabelle_Marries_Dirac</title>
<link>/theories/isabelle_marries_dirac/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/isabelle_marries_dirac/</guid>
<description></description>
</item>
<item>
<title>Isabelle_Meta_Model</title>
<link>/theories/isabelle_meta_model/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/isabelle_meta_model/</guid>
<description></description>
</item>
<item>
<title>IsaGeoCoq</title>
<link>/theories/isageocoq/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/isageocoq/</guid>
<description></description>
</item>
<item>
<title>IsaNet</title>
<link>/theories/isanet/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/isanet/</guid>
<description></description>
</item>
<item>
<title>Jacobson_Basic_Algebra</title>
<link>/theories/jacobson_basic_algebra/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/jacobson_basic_algebra/</guid>
<description></description>
</item>
<item>
<title>Jinja</title>
<link>/theories/jinja/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/jinja/</guid>
<description></description>
</item>
<item>
<title>JinjaDCI</title>
<link>/theories/jinjadci/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/jinjadci/</guid>
<description></description>
</item>
<item>
<title>JinjaThreads</title>
<link>/theories/jinjathreads/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/jinjathreads/</guid>
<description></description>
</item>
<item>
<title>JiveDataStoreModel</title>
<link>/theories/jivedatastoremodel/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/jivedatastoremodel/</guid>
<description></description>
</item>
<item>
<title>Jordan_Hoelder</title>
<link>/theories/jordan_hoelder/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/jordan_hoelder/</guid>
<description></description>
</item>
<item>
<title>Jordan_Normal_Form</title>
<link>/theories/jordan_normal_form/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/jordan_normal_form/</guid>
<description></description>
</item>
<item>
<title>KAD</title>
<link>/theories/kad/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/kad/</guid>
<description></description>
</item>
<item>
<title>KAT_and_DRA</title>
<link>/theories/kat_and_dra/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/kat_and_dra/</guid>
<description></description>
</item>
<item>
<title>KBPs</title>
<link>/theories/kbps/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/kbps/</guid>
<description></description>
</item>
<item>
<title>KD_Tree</title>
<link>/theories/kd_tree/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/kd_tree/</guid>
<description></description>
</item>
<item>
<title>Key_Agreement_Strong_Adversaries</title>
<link>/theories/key_agreement_strong_adversaries/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/key_agreement_strong_adversaries/</guid>
<description></description>
</item>
<item>
+ <title>Khovanskii_Theorem</title>
+ <link>/theories/khovanskii_theorem/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/theories/khovanskii_theorem/</guid>
+ <description></description>
+ </item>
+
+ <item>
<title>Kleene_Algebra</title>
<link>/theories/kleene_algebra/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/kleene_algebra/</guid>
<description></description>
</item>
<item>
<title>Knights_Tour</title>
<link>/theories/knights_tour/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/knights_tour/</guid>
<description></description>
</item>
<item>
<title>Knot_Theory</title>
<link>/theories/knot_theory/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/knot_theory/</guid>
<description></description>
</item>
<item>
<title>Knuth_Bendix_Order</title>
<link>/theories/knuth_bendix_order/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/knuth_bendix_order/</guid>
<description></description>
</item>
<item>
<title>Knuth_Morris_Pratt</title>
<link>/theories/knuth_morris_pratt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/knuth_morris_pratt/</guid>
<description></description>
</item>
<item>
<title>Koenigsberg_Friendship</title>
<link>/theories/koenigsberg_friendship/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/koenigsberg_friendship/</guid>
<description></description>
</item>
<item>
<title>Kruskal</title>
<link>/theories/kruskal/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/kruskal/</guid>
<description></description>
</item>
<item>
<title>Kuratowski_Closure_Complement</title>
<link>/theories/kuratowski_closure_complement/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/kuratowski_closure_complement/</guid>
<description></description>
</item>
<item>
<title>Lam-ml-Normalization</title>
<link>/theories/lam-ml-normalization/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lam-ml-normalization/</guid>
<description></description>
</item>
<item>
<title>Lambda_Free_EPO</title>
<link>/theories/lambda_free_epo/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lambda_free_epo/</guid>
<description></description>
</item>
<item>
<title>Lambda_Free_KBOs</title>
<link>/theories/lambda_free_kbos/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lambda_free_kbos/</guid>
<description></description>
</item>
<item>
<title>Lambda_Free_RPOs</title>
<link>/theories/lambda_free_rpos/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lambda_free_rpos/</guid>
<description></description>
</item>
<item>
<title>LambdaAuth</title>
<link>/theories/lambdaauth/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lambdaauth/</guid>
<description></description>
</item>
<item>
<title>LambdaMu</title>
<link>/theories/lambdamu/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lambdamu/</guid>
<description></description>
</item>
<item>
<title>Lambert_W</title>
<link>/theories/lambert_w/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lambert_w/</guid>
<description></description>
</item>
<item>
<title>Landau_Symbols</title>
<link>/theories/landau_symbols/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/landau_symbols/</guid>
<description></description>
</item>
<item>
<title>Laplace_Transform</title>
<link>/theories/laplace_transform/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/laplace_transform/</guid>
<description></description>
</item>
<item>
<title>Latin_Square</title>
<link>/theories/latin_square/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/latin_square/</guid>
<description></description>
</item>
<item>
<title>LatticeProperties</title>
<link>/theories/latticeproperties/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/latticeproperties/</guid>
<description></description>
</item>
<item>
<title>Launchbury</title>
<link>/theories/launchbury/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/launchbury/</guid>
<description></description>
</item>
<item>
<title>Laws_of_Large_Numbers</title>
<link>/theories/laws_of_large_numbers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/laws_of_large_numbers/</guid>
<description></description>
</item>
<item>
<title>Lazy-Lists-II</title>
<link>/theories/lazy-lists-ii/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lazy-lists-ii/</guid>
<description></description>
</item>
<item>
<title>Lazy_Case</title>
<link>/theories/lazy_case/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lazy_case/</guid>
<description></description>
</item>
<item>
<title>Lehmer</title>
<link>/theories/lehmer/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lehmer/</guid>
<description></description>
</item>
<item>
<title>LEM</title>
<link>/theories/lem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lem/</guid>
<description></description>
</item>
<item>
<title>Lifting_Definition_Option</title>
<link>/theories/lifting_definition_option/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lifting_definition_option/</guid>
<description></description>
</item>
<item>
<title>Lifting_the_Exponent</title>
<link>/theories/lifting_the_exponent/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lifting_the_exponent/</guid>
<description></description>
</item>
<item>
<title>LightweightJava</title>
<link>/theories/lightweightjava/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lightweightjava/</guid>
<description></description>
</item>
<item>
<title>Linear_Inequalities</title>
<link>/theories/linear_inequalities/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/linear_inequalities/</guid>
<description></description>
</item>
<item>
<title>Linear_Programming</title>
<link>/theories/linear_programming/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/linear_programming/</guid>
<description></description>
</item>
<item>
<title>Linear_Recurrences</title>
<link>/theories/linear_recurrences/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/linear_recurrences/</guid>
<description></description>
</item>
<item>
<title>Linear_Recurrences_Solver</title>
<link>/theories/linear_recurrences_solver/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/linear_recurrences_solver/</guid>
<description></description>
</item>
<item>
<title>LinearQuantifierElim</title>
<link>/theories/linearquantifierelim/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/linearquantifierelim/</guid>
<description></description>
</item>
<item>
<title>Liouville_Numbers</title>
<link>/theories/liouville_numbers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/liouville_numbers/</guid>
<description></description>
</item>
<item>
<title>List-Index</title>
<link>/theories/list-index/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/list-index/</guid>
<description></description>
</item>
<item>
<title>List-Infinite</title>
<link>/theories/list-infinite/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/list-infinite/</guid>
<description></description>
</item>
<item>
<title>List_Interleaving</title>
<link>/theories/list_interleaving/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/list_interleaving/</guid>
<description></description>
</item>
<item>
<title>List_Inversions</title>
<link>/theories/list_inversions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/list_inversions/</guid>
<description></description>
</item>
<item>
<title>List_Update</title>
<link>/theories/list_update/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/list_update/</guid>
<description></description>
</item>
<item>
<title>LLL_Basis_Reduction</title>
<link>/theories/lll_basis_reduction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lll_basis_reduction/</guid>
<description></description>
</item>
<item>
<title>LLL_Factorization</title>
<link>/theories/lll_factorization/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lll_factorization/</guid>
<description></description>
</item>
<item>
<title>Localization_Ring</title>
<link>/theories/localization_ring/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/localization_ring/</guid>
<description></description>
</item>
<item>
<title>LocalLexing</title>
<link>/theories/locallexing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/locallexing/</guid>
<description></description>
</item>
<item>
<title>Locally-Nameless-Sigma</title>
<link>/theories/locally-nameless-sigma/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/locally-nameless-sigma/</guid>
<description></description>
</item>
<item>
<title>LOFT</title>
<link>/theories/loft/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/loft/</guid>
<description></description>
</item>
<item>
<title>Logging_Independent_Anonymity</title>
<link>/theories/logging_independent_anonymity/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/logging_independent_anonymity/</guid>
<description></description>
</item>
<item>
<title>Lorenz_Approximation</title>
<link>/theories/lorenz_approximation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lorenz_approximation/</guid>
<description></description>
</item>
<item>
<title>Lorenz_C0</title>
<link>/theories/lorenz_c0/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lorenz_c0/</guid>
<description></description>
</item>
<item>
<title>Lorenz_C1</title>
<link>/theories/lorenz_c1/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lorenz_c1/</guid>
<description></description>
</item>
<item>
<title>Lowe_Ontological_Argument</title>
<link>/theories/lowe_ontological_argument/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lowe_ontological_argument/</guid>
<description></description>
</item>
<item>
<title>Lower_Semicontinuous</title>
<link>/theories/lower_semicontinuous/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lower_semicontinuous/</guid>
<description></description>
</item>
<item>
<title>Lp</title>
<link>/theories/lp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lp/</guid>
<description></description>
</item>
<item>
<title>LP_Duality</title>
<link>/theories/lp_duality/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lp_duality/</guid>
<description></description>
</item>
<item>
<title>LTL</title>
<link>/theories/ltl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ltl/</guid>
<description></description>
</item>
<item>
<title>LTL_Master_Theorem</title>
<link>/theories/ltl_master_theorem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ltl_master_theorem/</guid>
<description></description>
</item>
<item>
<title>LTL_Normal_Form</title>
<link>/theories/ltl_normal_form/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ltl_normal_form/</guid>
<description></description>
</item>
<item>
<title>LTL_to_DRA</title>
<link>/theories/ltl_to_dra/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ltl_to_dra/</guid>
<description></description>
</item>
<item>
<title>LTL_to_GBA</title>
<link>/theories/ltl_to_gba/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ltl_to_gba/</guid>
<description></description>
</item>
<item>
<title>Lucas_Theorem</title>
<link>/theories/lucas_theorem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/lucas_theorem/</guid>
<description></description>
</item>
<item>
<title>Markov_Models</title>
<link>/theories/markov_models/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/markov_models/</guid>
<description></description>
</item>
<item>
<title>Marriage</title>
<link>/theories/marriage/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/marriage/</guid>
<description></description>
</item>
<item>
<title>Mason_Stothers</title>
<link>/theories/mason_stothers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/mason_stothers/</guid>
<description></description>
</item>
<item>
<title>Matrices_for_ODEs</title>
<link>/theories/matrices_for_odes/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/matrices_for_odes/</guid>
<description></description>
</item>
<item>
<title>Matrix</title>
<link>/theories/matrix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/matrix/</guid>
<description></description>
</item>
<item>
<title>Matrix_Tensor</title>
<link>/theories/matrix_tensor/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/matrix_tensor/</guid>
<description></description>
</item>
<item>
<title>Matroids</title>
<link>/theories/matroids/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/matroids/</guid>
<description></description>
</item>
<item>
<title>Max-Card-Matching</title>
<link>/theories/max-card-matching/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/max-card-matching/</guid>
<description></description>
</item>
<item>
<title>MDP-Algorithms</title>
<link>/theories/mdp-algorithms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/mdp-algorithms/</guid>
<description></description>
</item>
<item>
<title>MDP-Rewards</title>
<link>/theories/mdp-rewards/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/mdp-rewards/</guid>
<description></description>
</item>
<item>
<title>Median_Method</title>
<link>/theories/median_method/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/median_method/</guid>
<description></description>
</item>
<item>
<title>Median_Of_Medians_Selection</title>
<link>/theories/median_of_medians_selection/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/median_of_medians_selection/</guid>
<description></description>
</item>
<item>
<title>Menger</title>
<link>/theories/menger/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/menger/</guid>
<description></description>
</item>
<item>
<title>Mereology</title>
<link>/theories/mereology/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/mereology/</guid>
<description></description>
</item>
<item>
<title>Mersenne_Primes</title>
<link>/theories/mersenne_primes/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/mersenne_primes/</guid>
<description></description>
</item>
<item>
<title>Metalogic_ProofChecker</title>
<link>/theories/metalogic_proofchecker/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/metalogic_proofchecker/</guid>
<description></description>
</item>
<item>
<title>MFMC_Countable</title>
<link>/theories/mfmc_countable/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/mfmc_countable/</guid>
<description></description>
</item>
<item>
<title>MFODL_Monitor_Optimized</title>
<link>/theories/mfodl_monitor_optimized/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/mfodl_monitor_optimized/</guid>
<description></description>
</item>
<item>
<title>MFOTL_Monitor</title>
<link>/theories/mfotl_monitor/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/mfotl_monitor/</guid>
<description></description>
</item>
<item>
<title>Minimal_SSA</title>
<link>/theories/minimal_ssa/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/minimal_ssa/</guid>
<description></description>
</item>
<item>
<title>MiniML</title>
<link>/theories/miniml/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/miniml/</guid>
<description></description>
</item>
<item>
<title>MiniSail</title>
<link>/theories/minisail/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/minisail/</guid>
<description></description>
</item>
<item>
<title>Minkowskis_Theorem</title>
<link>/theories/minkowskis_theorem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/minkowskis_theorem/</guid>
<description></description>
</item>
<item>
<title>Minsky_Machines</title>
<link>/theories/minsky_machines/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/minsky_machines/</guid>
<description></description>
</item>
<item>
<title>Modal_Logics_for_NTS</title>
<link>/theories/modal_logics_for_nts/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/modal_logics_for_nts/</guid>
<description></description>
</item>
<item>
<title>Modular_arithmetic_LLL_and_HNF_algorithms</title>
<link>/theories/modular_arithmetic_lll_and_hnf_algorithms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/modular_arithmetic_lll_and_hnf_algorithms/</guid>
<description></description>
</item>
<item>
<title>Modular_Assembly_Kit_Security</title>
<link>/theories/modular_assembly_kit_security/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/modular_assembly_kit_security/</guid>
<description></description>
</item>
<item>
<title>Monad_Memo_DP</title>
<link>/theories/monad_memo_dp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/monad_memo_dp/</guid>
<description></description>
</item>
<item>
<title>Monad_Normalisation</title>
<link>/theories/monad_normalisation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/monad_normalisation/</guid>
<description></description>
</item>
<item>
<title>MonoBoolTranAlgebra</title>
<link>/theories/monobooltranalgebra/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/monobooltranalgebra/</guid>
<description></description>
</item>
<item>
<title>MonoidalCategory</title>
<link>/theories/monoidalcategory/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/monoidalcategory/</guid>
<description></description>
</item>
<item>
<title>Monomorphic_Monad</title>
<link>/theories/monomorphic_monad/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/monomorphic_monad/</guid>
<description></description>
</item>
<item>
<title>MSO_Regex_Equivalence</title>
<link>/theories/mso_regex_equivalence/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/mso_regex_equivalence/</guid>
<description></description>
</item>
<item>
<title>MuchAdoAboutTwo</title>
<link>/theories/muchadoabouttwo/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/muchadoabouttwo/</guid>
<description></description>
</item>
<item>
<title>Multi_Party_Computation</title>
<link>/theories/multi_party_computation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/multi_party_computation/</guid>
<description></description>
</item>
<item>
<title>Multirelations</title>
<link>/theories/multirelations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/multirelations/</guid>
<description></description>
</item>
<item>
<title>Multiset_Ordering_NPC</title>
<link>/theories/multiset_ordering_npc/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/multiset_ordering_npc/</guid>
<description></description>
</item>
<item>
<title>Myhill-Nerode</title>
<link>/theories/myhill-nerode/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/myhill-nerode/</guid>
<description></description>
</item>
<item>
<title>Name_Carrying_Type_Inference</title>
<link>/theories/name_carrying_type_inference/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/name_carrying_type_inference/</guid>
<description></description>
</item>
<item>
<title>Nano_JSON</title>
<link>/theories/nano_json/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/nano_json/</guid>
<description></description>
</item>
<item>
<title>Nash_Williams</title>
<link>/theories/nash_williams/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/nash_williams/</guid>
<description></description>
</item>
<item>
<title>Nat-Interval-Logic</title>
<link>/theories/nat-interval-logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/nat-interval-logic/</guid>
<description></description>
</item>
<item>
<title>Native_Word</title>
<link>/theories/native_word/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/native_word/</guid>
<description></description>
</item>
<item>
<title>Nested_Multisets_Ordinals</title>
<link>/theories/nested_multisets_ordinals/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/nested_multisets_ordinals/</guid>
<description></description>
</item>
<item>
<title>Network_Security_Policy_Verification</title>
<link>/theories/network_security_policy_verification/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/network_security_policy_verification/</guid>
<description></description>
</item>
<item>
<title>Neumann_Morgenstern_Utility</title>
<link>/theories/neumann_morgenstern_utility/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/neumann_morgenstern_utility/</guid>
<description></description>
</item>
<item>
<title>No_FTL_observers</title>
<link>/theories/no_ftl_observers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/no_ftl_observers/</guid>
<description></description>
</item>
<item>
<title>Nominal2</title>
<link>/theories/nominal2/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/nominal2/</guid>
<description></description>
</item>
<item>
<title>Noninterference_Concurrent_Composition</title>
<link>/theories/noninterference_concurrent_composition/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/noninterference_concurrent_composition/</guid>
<description></description>
</item>
<item>
<title>Noninterference_CSP</title>
<link>/theories/noninterference_csp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/noninterference_csp/</guid>
<description></description>
</item>
<item>
<title>Noninterference_Generic_Unwinding</title>
<link>/theories/noninterference_generic_unwinding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/noninterference_generic_unwinding/</guid>
<description></description>
</item>
<item>
<title>Noninterference_Inductive_Unwinding</title>
<link>/theories/noninterference_inductive_unwinding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/noninterference_inductive_unwinding/</guid>
<description></description>
</item>
<item>
<title>Noninterference_Ipurge_Unwinding</title>
<link>/theories/noninterference_ipurge_unwinding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/noninterference_ipurge_unwinding/</guid>
<description></description>
</item>
<item>
<title>Noninterference_Sequential_Composition</title>
<link>/theories/noninterference_sequential_composition/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/noninterference_sequential_composition/</guid>
<description></description>
</item>
<item>
<title>NormByEval</title>
<link>/theories/normbyeval/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/normbyeval/</guid>
<description></description>
</item>
<item>
<title>Nullstellensatz</title>
<link>/theories/nullstellensatz/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/nullstellensatz/</guid>
<description></description>
</item>
<item>
+ <title>Number_Theoretic_Transform</title>
+ <link>/theories/number_theoretic_transform/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/theories/number_theoretic_transform/</guid>
+ <description></description>
+ </item>
+
+ <item>
<title>Octonions</title>
<link>/theories/octonions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/octonions/</guid>
<description></description>
</item>
<item>
<title>Old_Datatype_Show</title>
<link>/theories/old_datatype_show/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/old_datatype_show/</guid>
<description></description>
</item>
<item>
<title>Open_Induction</title>
<link>/theories/open_induction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/open_induction/</guid>
<description></description>
</item>
<item>
<title>OpSets</title>
<link>/theories/opsets/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/opsets/</guid>
<description></description>
</item>
<item>
<title>Optics</title>
<link>/theories/optics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/optics/</guid>
<description></description>
</item>
<item>
<title>Optimal_BST</title>
<link>/theories/optimal_bst/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/optimal_bst/</guid>
<description></description>
</item>
<item>
<title>Orbit_Stabiliser</title>
<link>/theories/orbit_stabiliser/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/orbit_stabiliser/</guid>
<description></description>
</item>
<item>
<title>Order_Lattice_Props</title>
<link>/theories/order_lattice_props/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/order_lattice_props/</guid>
<description></description>
</item>
<item>
<title>Ordered_Resolution_Prover</title>
<link>/theories/ordered_resolution_prover/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ordered_resolution_prover/</guid>
<description></description>
</item>
<item>
<title>Ordinal</title>
<link>/theories/ordinal/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ordinal/</guid>
<description></description>
</item>
<item>
<title>Ordinal_Partitions</title>
<link>/theories/ordinal_partitions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ordinal_partitions/</guid>
<description></description>
</item>
<item>
<title>Ordinals_and_Cardinals</title>
<link>/theories/ordinals_and_cardinals/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ordinals_and_cardinals/</guid>
<description></description>
</item>
<item>
<title>Ordinary_Differential_Equations</title>
<link>/theories/ordinary_differential_equations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ordinary_differential_equations/</guid>
<description></description>
</item>
<item>
<title>PAC_Checker</title>
<link>/theories/pac_checker/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pac_checker/</guid>
<description></description>
</item>
<item>
<title>Package_logic</title>
<link>/theories/package_logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/package_logic/</guid>
<description></description>
</item>
<item>
<title>Padic_Ints</title>
<link>/theories/padic_ints/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/padic_ints/</guid>
<description></description>
</item>
<item>
<title>Pairing_Heap</title>
<link>/theories/pairing_heap/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pairing_heap/</guid>
<description></description>
</item>
<item>
<title>PAL</title>
<link>/theories/pal/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pal/</guid>
<description></description>
</item>
<item>
<title>Paraconsistency</title>
<link>/theories/paraconsistency/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/paraconsistency/</guid>
<description></description>
</item>
<item>
<title>Parity_Game</title>
<link>/theories/parity_game/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/parity_game/</guid>
<description></description>
</item>
<item>
<title>Partial_Function_MR</title>
<link>/theories/partial_function_mr/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/partial_function_mr/</guid>
<description></description>
</item>
<item>
<title>Partial_Order_Reduction</title>
<link>/theories/partial_order_reduction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/partial_order_reduction/</guid>
<description></description>
</item>
<item>
<title>Password_Authentication_Protocol</title>
<link>/theories/password_authentication_protocol/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/password_authentication_protocol/</guid>
<description></description>
</item>
<item>
<title>PCF</title>
<link>/theories/pcf/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pcf/</guid>
<description></description>
</item>
<item>
<title>Pell</title>
<link>/theories/pell/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pell/</guid>
<description></description>
</item>
<item>
<title>Perfect-Number-Thm</title>
<link>/theories/perfect-number-thm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/perfect-number-thm/</guid>
<description></description>
</item>
<item>
<title>Perron_Frobenius</title>
<link>/theories/perron_frobenius/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/perron_frobenius/</guid>
<description></description>
</item>
<item>
<title>pGCL</title>
<link>/theories/pgcl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pgcl/</guid>
<description></description>
</item>
<item>
<title>Physical_Quantities</title>
<link>/theories/physical_quantities/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/physical_quantities/</guid>
<description></description>
</item>
<item>
<title>Pi_Calculus</title>
<link>/theories/pi_calculus/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pi_calculus/</guid>
<description></description>
</item>
<item>
<title>Pi_Transcendental</title>
<link>/theories/pi_transcendental/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pi_transcendental/</guid>
<description></description>
</item>
<item>
<title>Planarity_Certificates</title>
<link>/theories/planarity_certificates/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/planarity_certificates/</guid>
<description></description>
</item>
<item>
<title>PLM</title>
<link>/theories/plm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/plm/</guid>
<description></description>
</item>
<item>
<title>Pluennecke_Ruzsa_Inequality</title>
<link>/theories/pluennecke_ruzsa_inequality/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pluennecke_ruzsa_inequality/</guid>
<description></description>
</item>
<item>
<title>Poincare_Bendixson</title>
<link>/theories/poincare_bendixson/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/poincare_bendixson/</guid>
<description></description>
</item>
<item>
<title>Poincare_Disc</title>
<link>/theories/poincare_disc/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/poincare_disc/</guid>
<description></description>
</item>
<item>
<title>Polynomial_Factorization</title>
<link>/theories/polynomial_factorization/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/polynomial_factorization/</guid>
<description></description>
</item>
<item>
<title>Polynomial_Interpolation</title>
<link>/theories/polynomial_interpolation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/polynomial_interpolation/</guid>
<description></description>
</item>
<item>
<title>Polynomials</title>
<link>/theories/polynomials/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/polynomials/</guid>
<description></description>
</item>
<item>
<title>Pop_Refinement</title>
<link>/theories/pop_refinement/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pop_refinement/</guid>
<description></description>
</item>
<item>
<title>POPLmark-deBruijn</title>
<link>/theories/poplmark-debruijn/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/poplmark-debruijn/</guid>
<description></description>
</item>
<item>
<title>Posix-Lexing</title>
<link>/theories/posix-lexing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/posix-lexing/</guid>
<description></description>
</item>
<item>
<title>Possibilistic_Noninterference</title>
<link>/theories/possibilistic_noninterference/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/possibilistic_noninterference/</guid>
<description></description>
</item>
<item>
<title>Power_Sum_Polynomials</title>
<link>/theories/power_sum_polynomials/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/power_sum_polynomials/</guid>
<description></description>
</item>
<item>
<title>Pratt_Certificate</title>
<link>/theories/pratt_certificate/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pratt_certificate/</guid>
<description></description>
</item>
<item>
<title>Prefix_Free_Code_Combinators</title>
<link>/theories/prefix_free_code_combinators/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/prefix_free_code_combinators/</guid>
<description></description>
</item>
<item>
<title>Presburger-Automata</title>
<link>/theories/presburger-automata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/presburger-automata/</guid>
<description></description>
</item>
<item>
<title>Prim_Dijkstra_Simple</title>
<link>/theories/prim_dijkstra_simple/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/prim_dijkstra_simple/</guid>
<description></description>
</item>
<item>
<title>Prime_Distribution_Elementary</title>
<link>/theories/prime_distribution_elementary/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/prime_distribution_elementary/</guid>
<description></description>
</item>
<item>
<title>Prime_Harmonic_Series</title>
<link>/theories/prime_harmonic_series/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/prime_harmonic_series/</guid>
<description></description>
</item>
<item>
<title>Prime_Number_Theorem</title>
<link>/theories/prime_number_theorem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/prime_number_theorem/</guid>
<description></description>
</item>
<item>
<title>Priority_Queue_Braun</title>
<link>/theories/priority_queue_braun/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/priority_queue_braun/</guid>
<description></description>
</item>
<item>
<title>Priority_Search_Trees</title>
<link>/theories/priority_search_trees/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/priority_search_trees/</guid>
<description></description>
</item>
<item>
<title>Probabilistic_Noninterference</title>
<link>/theories/probabilistic_noninterference/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/probabilistic_noninterference/</guid>
<description></description>
</item>
<item>
<title>Probabilistic_Prime_Tests</title>
<link>/theories/probabilistic_prime_tests/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/probabilistic_prime_tests/</guid>
<description></description>
</item>
<item>
<title>Probabilistic_System_Zoo</title>
<link>/theories/probabilistic_system_zoo/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/probabilistic_system_zoo/</guid>
<description></description>
</item>
<item>
<title>Probabilistic_Timed_Automata</title>
<link>/theories/probabilistic_timed_automata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/probabilistic_timed_automata/</guid>
<description></description>
</item>
<item>
<title>Probabilistic_While</title>
<link>/theories/probabilistic_while/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/probabilistic_while/</guid>
<description></description>
</item>
<item>
<title>Program-Conflict-Analysis</title>
<link>/theories/program-conflict-analysis/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/program-conflict-analysis/</guid>
<description></description>
</item>
<item>
<title>Progress_Tracking</title>
<link>/theories/progress_tracking/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/progress_tracking/</guid>
<description></description>
</item>
<item>
<title>Projective_Geometry</title>
<link>/theories/projective_geometry/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/projective_geometry/</guid>
<description></description>
</item>
<item>
<title>Projective_Measurements</title>
<link>/theories/projective_measurements/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/projective_measurements/</guid>
<description></description>
</item>
<item>
<title>Promela</title>
<link>/theories/promela/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/promela/</guid>
<description></description>
</item>
<item>
<title>Proof_Strategy_Language</title>
<link>/theories/proof_strategy_language/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/proof_strategy_language/</guid>
<description></description>
</item>
<item>
<title>Propositional_Proof_Systems</title>
<link>/theories/propositional_proof_systems/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/propositional_proof_systems/</guid>
<description></description>
</item>
<item>
<title>PropResPI</title>
<link>/theories/proprespi/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/proprespi/</guid>
<description></description>
</item>
<item>
<title>Prpu_Maxflow</title>
<link>/theories/prpu_maxflow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/prpu_maxflow/</guid>
<description></description>
</item>
<item>
<title>PSemigroupsConvolution</title>
<link>/theories/psemigroupsconvolution/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/psemigroupsconvolution/</guid>
<description></description>
</item>
<item>
<title>PseudoHoops</title>
<link>/theories/pseudohoops/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/pseudohoops/</guid>
<description></description>
</item>
<item>
<title>Psi_Calculi</title>
<link>/theories/psi_calculi/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/psi_calculi/</guid>
<description></description>
</item>
<item>
<title>Ptolemys_Theorem</title>
<link>/theories/ptolemys_theorem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ptolemys_theorem/</guid>
<description></description>
</item>
<item>
<title>Public_Announcement_Logic</title>
<link>/theories/public_announcement_logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/public_announcement_logic/</guid>
<description></description>
</item>
<item>
<title>QHLProver</title>
<link>/theories/qhlprover/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/qhlprover/</guid>
<description></description>
</item>
<item>
<title>QR_Decomposition</title>
<link>/theories/qr_decomposition/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/qr_decomposition/</guid>
<description></description>
</item>
<item>
<title>Quantales</title>
<link>/theories/quantales/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/quantales/</guid>
<description></description>
</item>
<item>
<title>Quasi_Borel_Spaces</title>
<link>/theories/quasi_borel_spaces/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/quasi_borel_spaces/</guid>
<description></description>
</item>
<item>
<title>Quaternions</title>
<link>/theories/quaternions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/quaternions/</guid>
<description></description>
</item>
<item>
<title>Quick_Sort_Cost</title>
<link>/theories/quick_sort_cost/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/quick_sort_cost/</guid>
<description></description>
</item>
<item>
<title>Ramsey-Infinite</title>
<link>/theories/ramsey-infinite/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ramsey-infinite/</guid>
<description></description>
</item>
<item>
<title>Random_BSTs</title>
<link>/theories/random_bsts/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/random_bsts/</guid>
<description></description>
</item>
<item>
<title>Random_Graph_Subgraph_Threshold</title>
<link>/theories/random_graph_subgraph_threshold/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/random_graph_subgraph_threshold/</guid>
<description></description>
</item>
<item>
<title>Randomised_BSTs</title>
<link>/theories/randomised_bsts/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/randomised_bsts/</guid>
<description></description>
</item>
<item>
<title>Randomised_Social_Choice</title>
<link>/theories/randomised_social_choice/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/randomised_social_choice/</guid>
<description></description>
</item>
<item>
<title>Rank_Nullity_Theorem</title>
<link>/theories/rank_nullity_theorem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/rank_nullity_theorem/</guid>
<description></description>
</item>
<item>
<title>Real_Impl</title>
<link>/theories/real_impl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/real_impl/</guid>
<description></description>
</item>
<item>
<title>Real_Power</title>
<link>/theories/real_power/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/real_power/</guid>
<description></description>
</item>
<item>
<title>Real_Time_Deque</title>
<link>/theories/real_time_deque/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/real_time_deque/</guid>
<description></description>
</item>
<item>
<title>Recursion-Addition</title>
<link>/theories/recursion-addition/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/recursion-addition/</guid>
<description></description>
</item>
<item>
<title>Recursion-Theory-I</title>
<link>/theories/recursion-theory-i/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/recursion-theory-i/</guid>
<description></description>
</item>
<item>
<title>Refine_Imperative_HOL</title>
<link>/theories/refine_imperative_hol/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/refine_imperative_hol/</guid>
<description></description>
</item>
<item>
<title>Refine_Monadic</title>
<link>/theories/refine_monadic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/refine_monadic/</guid>
<description></description>
</item>
<item>
<title>RefinementReactive</title>
<link>/theories/refinementreactive/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/refinementreactive/</guid>
<description></description>
</item>
<item>
<title>Regex_Equivalence</title>
<link>/theories/regex_equivalence/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/regex_equivalence/</guid>
<description></description>
</item>
<item>
<title>Registers</title>
<link>/theories/registers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/registers/</guid>
<description></description>
</item>
<item>
<title>Regression_Test_Selection</title>
<link>/theories/regression_test_selection/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/regression_test_selection/</guid>
<description></description>
</item>
<item>
<title>Regular-Sets</title>
<link>/theories/regular-sets/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/regular-sets/</guid>
<description></description>
</item>
<item>
<title>Regular_Algebras</title>
<link>/theories/regular_algebras/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/regular_algebras/</guid>
<description></description>
</item>
<item>
<title>Regular_Tree_Relations</title>
<link>/theories/regular_tree_relations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/regular_tree_relations/</guid>
<description></description>
</item>
<item>
<title>Relation_Algebra</title>
<link>/theories/relation_algebra/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/relation_algebra/</guid>
<description></description>
</item>
<item>
<title>Relational-Incorrectness-Logic</title>
<link>/theories/relational-incorrectness-logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/relational-incorrectness-logic/</guid>
<description></description>
</item>
<item>
<title>Relational_Disjoint_Set_Forests</title>
<link>/theories/relational_disjoint_set_forests/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/relational_disjoint_set_forests/</guid>
<description></description>
</item>
<item>
<title>Relational_Forests</title>
<link>/theories/relational_forests/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/relational_forests/</guid>
<description></description>
</item>
<item>
<title>Relational_Method</title>
<link>/theories/relational_method/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/relational_method/</guid>
<description></description>
</item>
<item>
<title>Relational_Minimum_Spanning_Trees</title>
<link>/theories/relational_minimum_spanning_trees/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/relational_minimum_spanning_trees/</guid>
<description></description>
</item>
<item>
<title>Relational_Paths</title>
<link>/theories/relational_paths/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/relational_paths/</guid>
<description></description>
</item>
<item>
<title>Rep_Fin_Groups</title>
<link>/theories/rep_fin_groups/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/rep_fin_groups/</guid>
<description></description>
</item>
<item>
<title>Residuated_Lattices</title>
<link>/theories/residuated_lattices/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/residuated_lattices/</guid>
<description></description>
</item>
<item>
<title>ResiduatedTransitionSystem</title>
<link>/theories/residuatedtransitionsystem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/residuatedtransitionsystem/</guid>
<description></description>
</item>
<item>
<title>Resolution_FOL</title>
<link>/theories/resolution_fol/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/resolution_fol/</guid>
<description></description>
</item>
<item>
<title>Rewrite_Properties_Reduction</title>
<link>/theories/rewrite_properties_reduction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/rewrite_properties_reduction/</guid>
<description></description>
</item>
<item>
<title>Rewriting_Z</title>
<link>/theories/rewriting_z/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/rewriting_z/</guid>
<description></description>
</item>
<item>
<title>Ribbon_Proofs</title>
<link>/theories/ribbon_proofs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ribbon_proofs/</guid>
<description></description>
</item>
<item>
<title>RIPEMD-160-SPARK</title>
<link>/theories/ripemd-160-spark/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/ripemd-160-spark/</guid>
<description></description>
</item>
<item>
<title>Robbins-Conjecture</title>
<link>/theories/robbins-conjecture/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/robbins-conjecture/</guid>
<description></description>
</item>
<item>
<title>ROBDD</title>
<link>/theories/robdd/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/robdd/</guid>
<description></description>
</item>
<item>
<title>Robinson_Arithmetic</title>
<link>/theories/robinson_arithmetic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/robinson_arithmetic/</guid>
<description></description>
</item>
<item>
<title>Root_Balanced_Tree</title>
<link>/theories/root_balanced_tree/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/root_balanced_tree/</guid>
<description></description>
</item>
<item>
<title>Roth_Arithmetic_Progressions</title>
<link>/theories/roth_arithmetic_progressions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/roth_arithmetic_progressions/</guid>
<description></description>
</item>
<item>
<title>Routing</title>
<link>/theories/routing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/routing/</guid>
<description></description>
</item>
<item>
<title>Roy_Floyd_Warshall</title>
<link>/theories/roy_floyd_warshall/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/roy_floyd_warshall/</guid>
<description></description>
</item>
<item>
<title>RSAPSS</title>
<link>/theories/rsapss/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/rsapss/</guid>
<description></description>
</item>
<item>
<title>Safe_Distance</title>
<link>/theories/safe_distance/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/safe_distance/</guid>
<description></description>
</item>
<item>
<title>Safe_OCL</title>
<link>/theories/safe_ocl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/safe_ocl/</guid>
<description></description>
</item>
<item>
<title>SATSolverVerification</title>
<link>/theories/satsolververification/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/satsolververification/</guid>
<description></description>
</item>
<item>
<title>Saturation_Framework</title>
<link>/theories/saturation_framework/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/saturation_framework/</guid>
<description></description>
</item>
<item>
<title>Saturation_Framework_Extensions</title>
<link>/theories/saturation_framework_extensions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/saturation_framework_extensions/</guid>
<description></description>
</item>
<item>
<title>SC_DOM_Components</title>
<link>/theories/sc_dom_components/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sc_dom_components/</guid>
<description></description>
</item>
<item>
<title>Schutz_Spacetime</title>
<link>/theories/schutz_spacetime/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/schutz_spacetime/</guid>
<description></description>
</item>
<item>
<title>SDS_Impossibility</title>
<link>/theories/sds_impossibility/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sds_impossibility/</guid>
<description></description>
</item>
<item>
<title>Secondary_Sylow</title>
<link>/theories/secondary_sylow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/secondary_sylow/</guid>
<description></description>
</item>
<item>
<title>Security_Protocol_Refinement</title>
<link>/theories/security_protocol_refinement/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/security_protocol_refinement/</guid>
<description></description>
</item>
<item>
<title>Selection_Heap_Sort</title>
<link>/theories/selection_heap_sort/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/selection_heap_sort/</guid>
<description></description>
</item>
<item>
<title>SenSocialChoice</title>
<link>/theories/sensocialchoice/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sensocialchoice/</guid>
<description></description>
</item>
<item>
<title>Separata</title>
<link>/theories/separata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/separata/</guid>
<description></description>
</item>
<item>
<title>Separation_Algebra</title>
<link>/theories/separation_algebra/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/separation_algebra/</guid>
<description></description>
</item>
<item>
<title>Separation_Logic_Imperative_HOL</title>
<link>/theories/separation_logic_imperative_hol/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/separation_logic_imperative_hol/</guid>
<description></description>
</item>
<item>
<title>Sepref_Basic</title>
<link>/theories/sepref_basic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sepref_basic/</guid>
<description></description>
</item>
<item>
<title>Sepref_IICF</title>
<link>/theories/sepref_iicf/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sepref_iicf/</guid>
<description></description>
</item>
<item>
<title>Sepref_Prereq</title>
<link>/theories/sepref_prereq/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sepref_prereq/</guid>
<description></description>
</item>
<item>
<title>SequentInvertibility</title>
<link>/theories/sequentinvertibility/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sequentinvertibility/</guid>
<description></description>
</item>
<item>
<title>Shadow_DOM</title>
<link>/theories/shadow_dom/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/shadow_dom/</guid>
<description></description>
</item>
<item>
<title>Shadow_SC_DOM</title>
<link>/theories/shadow_sc_dom/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/shadow_sc_dom/</guid>
<description></description>
</item>
<item>
<title>Shivers-CFA</title>
<link>/theories/shivers-cfa/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/shivers-cfa/</guid>
<description></description>
</item>
<item>
<title>ShortestPath</title>
<link>/theories/shortestpath/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/shortestpath/</guid>
<description></description>
</item>
<item>
<title>Show</title>
<link>/theories/show/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/show/</guid>
<description></description>
</item>
<item>
<title>SIFPL</title>
<link>/theories/sifpl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sifpl/</guid>
<description></description>
</item>
<item>
<title>SIFUM_Type_Systems</title>
<link>/theories/sifum_type_systems/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sifum_type_systems/</guid>
<description></description>
</item>
<item>
<title>Sigma_Commit_Crypto</title>
<link>/theories/sigma_commit_crypto/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sigma_commit_crypto/</guid>
<description></description>
</item>
<item>
<title>Signature_Groebner</title>
<link>/theories/signature_groebner/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/signature_groebner/</guid>
<description></description>
</item>
<item>
<title>Simpl</title>
<link>/theories/simpl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/simpl/</guid>
<description></description>
</item>
<item>
<title>Simple_Firewall</title>
<link>/theories/simple_firewall/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/simple_firewall/</guid>
<description></description>
</item>
<item>
<title>Simplex</title>
<link>/theories/simplex/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/simplex/</guid>
<description></description>
</item>
<item>
<title>Simplicial_complexes_and_boolean_functions</title>
<link>/theories/simplicial_complexes_and_boolean_functions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/simplicial_complexes_and_boolean_functions/</guid>
<description></description>
</item>
<item>
<title>SimplifiedOntologicalArgument</title>
<link>/theories/simplifiedontologicalargument/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/simplifiedontologicalargument/</guid>
<description></description>
</item>
<item>
<title>Skew_Heap</title>
<link>/theories/skew_heap/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/skew_heap/</guid>
<description></description>
</item>
<item>
<title>Skip_Lists</title>
<link>/theories/skip_lists/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/skip_lists/</guid>
<description></description>
</item>
<item>
<title>Slicing</title>
<link>/theories/slicing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/slicing/</guid>
<description></description>
</item>
<item>
<title>Sliding_Window_Algorithm</title>
<link>/theories/sliding_window_algorithm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sliding_window_algorithm/</guid>
<description></description>
</item>
<item>
<title>SM</title>
<link>/theories/sm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sm/</guid>
<description></description>
</item>
<item>
<title>SM_Base</title>
<link>/theories/sm_base/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sm_base/</guid>
<description></description>
</item>
<item>
<title>Smith_Normal_Form</title>
<link>/theories/smith_normal_form/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/smith_normal_form/</guid>
<description></description>
</item>
<item>
<title>Smooth_Manifolds</title>
<link>/theories/smooth_manifolds/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/smooth_manifolds/</guid>
<description></description>
</item>
<item>
<title>Solidity</title>
<link>/theories/solidity/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/solidity/</guid>
<description></description>
</item>
<item>
<title>Sophomores_Dream</title>
<link>/theories/sophomores_dream/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sophomores_dream/</guid>
<description></description>
</item>
<item>
<title>Sort_Encodings</title>
<link>/theories/sort_encodings/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sort_encodings/</guid>
<description></description>
</item>
<item>
<title>Source_Coding_Theorem</title>
<link>/theories/source_coding_theorem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/source_coding_theorem/</guid>
<description></description>
</item>
<item>
<title>SPARCv8</title>
<link>/theories/sparcv8/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sparcv8/</guid>
<description></description>
</item>
<item>
<title>SpecCheck</title>
<link>/theories/speccheck/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/speccheck/</guid>
<description></description>
</item>
<item>
<title>Special_Function_Bounds</title>
<link>/theories/special_function_bounds/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/special_function_bounds/</guid>
<description></description>
</item>
<item>
<title>Splay_Tree</title>
<link>/theories/splay_tree/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/splay_tree/</guid>
<description></description>
</item>
<item>
<title>Sqrt_Babylonian</title>
<link>/theories/sqrt_babylonian/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sqrt_babylonian/</guid>
<description></description>
</item>
<item>
<title>Stable_Matching</title>
<link>/theories/stable_matching/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stable_matching/</guid>
<description></description>
</item>
<item>
<title>Statecharts</title>
<link>/theories/statecharts/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/statecharts/</guid>
<description></description>
</item>
<item>
<title>Stateful_Protocol_Composition_and_Typing</title>
<link>/theories/stateful_protocol_composition_and_typing/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stateful_protocol_composition_and_typing/</guid>
<description></description>
</item>
<item>
<title>Stellar_Quorums</title>
<link>/theories/stellar_quorums/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stellar_quorums/</guid>
<description></description>
</item>
<item>
<title>Stern_Brocot</title>
<link>/theories/stern_brocot/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stern_brocot/</guid>
<description></description>
</item>
<item>
<title>Stewart_Apollonius</title>
<link>/theories/stewart_apollonius/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stewart_apollonius/</guid>
<description></description>
</item>
<item>
<title>Stirling_Formula</title>
<link>/theories/stirling_formula/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stirling_formula/</guid>
<description></description>
</item>
<item>
<title>Stochastic_Matrices</title>
<link>/theories/stochastic_matrices/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stochastic_matrices/</guid>
<description></description>
</item>
<item>
<title>Stone_Algebras</title>
<link>/theories/stone_algebras/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stone_algebras/</guid>
<description></description>
</item>
<item>
<title>Stone_Kleene_Relation_Algebras</title>
<link>/theories/stone_kleene_relation_algebras/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stone_kleene_relation_algebras/</guid>
<description></description>
</item>
<item>
<title>Stone_Relation_Algebras</title>
<link>/theories/stone_relation_algebras/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stone_relation_algebras/</guid>
<description></description>
</item>
<item>
<title>Store_Buffer_Reduction</title>
<link>/theories/store_buffer_reduction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/store_buffer_reduction/</guid>
<description></description>
</item>
<item>
<title>Stream-Fusion</title>
<link>/theories/stream-fusion/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stream-fusion/</guid>
<description></description>
</item>
<item>
<title>Stream_Fusion_Code</title>
<link>/theories/stream_fusion_code/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stream_fusion_code/</guid>
<description></description>
</item>
<item>
<title>Strong_Security</title>
<link>/theories/strong_security/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/strong_security/</guid>
<description></description>
</item>
<item>
<title>Sturm_Sequences</title>
<link>/theories/sturm_sequences/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sturm_sequences/</guid>
<description></description>
</item>
<item>
<title>Sturm_Tarski</title>
<link>/theories/sturm_tarski/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sturm_tarski/</guid>
<description></description>
</item>
<item>
<title>Stuttering_Equivalence</title>
<link>/theories/stuttering_equivalence/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/stuttering_equivalence/</guid>
<description></description>
</item>
<item>
<title>Subresultants</title>
<link>/theories/subresultants/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/subresultants/</guid>
<description></description>
</item>
<item>
<title>Subset_Boolean_Algebras</title>
<link>/theories/subset_boolean_algebras/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/subset_boolean_algebras/</guid>
<description></description>
</item>
<item>
<title>SumSquares</title>
<link>/theories/sumsquares/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sumsquares/</guid>
<description></description>
</item>
<item>
<title>Sunflowers</title>
<link>/theories/sunflowers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/sunflowers/</guid>
<description></description>
</item>
<item>
<title>SuperCalc</title>
<link>/theories/supercalc/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/supercalc/</guid>
<description></description>
</item>
<item>
<title>Surprise_Paradox</title>
<link>/theories/surprise_paradox/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/surprise_paradox/</guid>
<description></description>
</item>
<item>
<title>Symmetric_Polynomials</title>
<link>/theories/symmetric_polynomials/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/symmetric_polynomials/</guid>
<description></description>
</item>
<item>
<title>Syntax_Independent_Logic</title>
<link>/theories/syntax_independent_logic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/syntax_independent_logic/</guid>
<description></description>
</item>
<item>
<title>Szemeredi_Regularity</title>
<link>/theories/szemeredi_regularity/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/szemeredi_regularity/</guid>
<description></description>
</item>
<item>
<title>Szpilrajn</title>
<link>/theories/szpilrajn/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/szpilrajn/</guid>
<description></description>
</item>
<item>
<title>Tail_Recursive_Functions</title>
<link>/theories/tail_recursive_functions/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/tail_recursive_functions/</guid>
<description></description>
</item>
<item>
<title>Tarskis_Geometry</title>
<link>/theories/tarskis_geometry/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/tarskis_geometry/</guid>
<description></description>
</item>
<item>
<title>Taylor_Models</title>
<link>/theories/taylor_models/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/taylor_models/</guid>
<description></description>
</item>
<item>
<title>TESL_Language</title>
<link>/theories/tesl_language/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/tesl_language/</guid>
<description></description>
</item>
<item>
<title>Three_Circles</title>
<link>/theories/three_circles/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/three_circles/</guid>
<description></description>
</item>
<item>
<title>Timed_Automata</title>
<link>/theories/timed_automata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/timed_automata/</guid>
<description></description>
</item>
<item>
<title>TLA</title>
<link>/theories/tla/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/tla/</guid>
<description></description>
</item>
<item>
<title>Topological_Semantics</title>
<link>/theories/topological_semantics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/topological_semantics/</guid>
<description></description>
</item>
<item>
<title>Topology</title>
<link>/theories/topology/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/topology/</guid>
<description></description>
</item>
<item>
<title>TortoiseHare</title>
<link>/theories/tortoisehare/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/tortoisehare/</guid>
<description></description>
</item>
<item>
<title>Transcendence_Series_Hancl_Rucki</title>
<link>/theories/transcendence_series_hancl_rucki/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/transcendence_series_hancl_rucki/</guid>
<description></description>
</item>
<item>
<title>Transformer_Semantics</title>
<link>/theories/transformer_semantics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/transformer_semantics/</guid>
<description></description>
</item>
<item>
<title>Transition_Systems_and_Automata</title>
<link>/theories/transition_systems_and_automata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/transition_systems_and_automata/</guid>
<description></description>
</item>
<item>
<title>Transitive-Closure</title>
<link>/theories/transitive-closure/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/transitive-closure/</guid>
<description></description>
</item>
<item>
<title>Transitive-Closure-II</title>
<link>/theories/transitive-closure-ii/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/transitive-closure-ii/</guid>
<description></description>
</item>
<item>
<title>Transitive_Models</title>
<link>/theories/transitive_models/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/transitive_models/</guid>
<description></description>
</item>
<item>
<title>Treaps</title>
<link>/theories/treaps/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/treaps/</guid>
<description></description>
</item>
<item>
<title>Tree-Automata</title>
<link>/theories/tree-automata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/tree-automata/</guid>
<description></description>
</item>
<item>
<title>Tree_Decomposition</title>
<link>/theories/tree_decomposition/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/tree_decomposition/</guid>
<description></description>
</item>
<item>
<title>Triangle</title>
<link>/theories/triangle/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/triangle/</guid>
<description></description>
</item>
<item>
<title>Trie</title>
<link>/theories/trie/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/trie/</guid>
<description></description>
</item>
<item>
<title>Twelvefold_Way</title>
<link>/theories/twelvefold_way/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/twelvefold_way/</guid>
<description></description>
</item>
<item>
<title>Tycon</title>
<link>/theories/tycon/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/tycon/</guid>
<description></description>
</item>
<item>
<title>Types_Tableaus_and_Goedels_God</title>
<link>/theories/types_tableaus_and_goedels_god/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/types_tableaus_and_goedels_god/</guid>
<description></description>
</item>
<item>
<title>Types_To_Sets_Extension</title>
<link>/theories/types_to_sets_extension/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/types_to_sets_extension/</guid>
<description></description>
</item>
<item>
<title>Universal_Hash_Families</title>
<link>/theories/universal_hash_families/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/universal_hash_families/</guid>
<description></description>
</item>
<item>
<title>Universal_Turing_Machine</title>
<link>/theories/universal_turing_machine/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/universal_turing_machine/</guid>
<description></description>
</item>
<item>
<title>UpDown_Scheme</title>
<link>/theories/updown_scheme/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/updown_scheme/</guid>
<description></description>
</item>
<item>
<title>UPF</title>
<link>/theories/upf/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/upf/</guid>
<description></description>
</item>
<item>
<title>UPF_Firewall</title>
<link>/theories/upf_firewall/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/upf_firewall/</guid>
<description></description>
</item>
<item>
<title>UTP</title>
<link>/theories/utp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/utp/</guid>
<description></description>
</item>
<item>
<title>UTP-Toolkit</title>
<link>/theories/utp-toolkit/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/utp-toolkit/</guid>
<description></description>
</item>
<item>
<title>Valuation</title>
<link>/theories/valuation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/valuation/</guid>
<description></description>
</item>
<item>
<title>Van_der_Waerden</title>
<link>/theories/van_der_waerden/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/van_der_waerden/</guid>
<description></description>
</item>
<item>
<title>Van_Emde_Boas_Trees</title>
<link>/theories/van_emde_boas_trees/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/van_emde_boas_trees/</guid>
<description></description>
</item>
<item>
<title>VectorSpace</title>
<link>/theories/vectorspace/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/vectorspace/</guid>
<description></description>
</item>
<item>
<title>VeriComp</title>
<link>/theories/vericomp/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/vericomp/</guid>
<description></description>
</item>
<item>
<title>Verified-Prover</title>
<link>/theories/verified-prover/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/verified-prover/</guid>
<description></description>
</item>
<item>
<title>Verified_SAT_Based_AI_Planning</title>
<link>/theories/verified_sat_based_ai_planning/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/verified_sat_based_ai_planning/</guid>
<description></description>
</item>
<item>
<title>VerifyThis2018</title>
<link>/theories/verifythis2018/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/verifythis2018/</guid>
<description></description>
</item>
<item>
<title>VerifyThis2019</title>
<link>/theories/verifythis2019/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/verifythis2019/</guid>
<description></description>
</item>
<item>
<title>Vickrey_Clarke_Groves</title>
<link>/theories/vickrey_clarke_groves/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/vickrey_clarke_groves/</guid>
<description></description>
</item>
<item>
<title>Virtual_Substitution</title>
<link>/theories/virtual_substitution/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/virtual_substitution/</guid>
<description></description>
</item>
<item>
<title>VolpanoSmith</title>
<link>/theories/volpanosmith/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/volpanosmith/</guid>
<description></description>
</item>
<item>
<title>VYDRA_MDL</title>
<link>/theories/vydra_mdl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/vydra_mdl/</guid>
<description></description>
</item>
<item>
<title>WebAssembly</title>
<link>/theories/webassembly/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/webassembly/</guid>
<description></description>
</item>
<item>
<title>Weight_Balanced_Trees</title>
<link>/theories/weight_balanced_trees/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/weight_balanced_trees/</guid>
<description></description>
</item>
<item>
<title>Weighted_Arithmetic_Geometric_Mean</title>
<link>/theories/weighted_arithmetic_geometric_mean/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/weighted_arithmetic_geometric_mean/</guid>
<description></description>
</item>
<item>
<title>Weighted_Path_Order</title>
<link>/theories/weighted_path_order/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/weighted_path_order/</guid>
<description></description>
</item>
<item>
<title>Well_Quasi_Orders</title>
<link>/theories/well_quasi_orders/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/well_quasi_orders/</guid>
<description></description>
</item>
<item>
<title>Wetzels_Problem</title>
<link>/theories/wetzels_problem/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/wetzels_problem/</guid>
<description></description>
</item>
<item>
<title>WHATandWHERE_Security</title>
<link>/theories/whatandwhere_security/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/whatandwhere_security/</guid>
<description></description>
</item>
<item>
<title>Winding_Number_Eval</title>
<link>/theories/winding_number_eval/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/winding_number_eval/</guid>
<description></description>
</item>
<item>
<title>WOOT_Strong_Eventual_Consistency</title>
<link>/theories/woot_strong_eventual_consistency/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/woot_strong_eventual_consistency/</guid>
<description></description>
</item>
<item>
<title>Word_Lib</title>
<link>/theories/word_lib/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/word_lib/</guid>
<description></description>
</item>
<item>
<title>WorkerWrapper</title>
<link>/theories/workerwrapper/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/workerwrapper/</guid>
<description></description>
</item>
<item>
<title>X86_Semantics</title>
<link>/theories/x86_semantics/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/x86_semantics/</guid>
<description></description>
</item>
<item>
<title>XML</title>
<link>/theories/xml/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/xml/</guid>
<description></description>
</item>
<item>
<title>Youngs_Inequality</title>
<link>/theories/youngs_inequality/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/youngs_inequality/</guid>
<description></description>
</item>
<item>
<title>Zeta_3_Irrational</title>
<link>/theories/zeta_3_irrational/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/zeta_3_irrational/</guid>
<description></description>
</item>
<item>
<title>Zeta_Function</title>
<link>/theories/zeta_function/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/zeta_function/</guid>
<description></description>
</item>
<item>
<title>ZFC_in_HOL</title>
<link>/theories/zfc_in_hol/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/theories/zfc_in_hol/</guid>
<description></description>
</item>
</channel>
</rss>
diff --git a/web/theories/khovanskii_theorem/index.html b/web/theories/khovanskii_theorem/index.html
new file mode 100644
--- /dev/null
+++ b/web/theories/khovanskii_theorem/index.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1"><title>Khovanskii_Theorem - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="Khovanskii_Theorem" />
+<meta property="og:description" content="" />
+<meta property="og:type" content="article" />
+<meta property="og:url" content="/theories/khovanskii_theorem/" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="theories" />
+
+<meta property="og:site_name" content="Archive of Formal Proofs" />
+
+<meta name="twitter:card" content="summary_large_image"/>
+<meta name="twitter:image" content="/images/afp.png"/>
+
+<meta name="twitter:title" content="Khovanskii_Theorem"/>
+<meta name="twitter:description" content=""/>
+
+
+ <link rel="stylesheet" type="text/css" href="../../css/front.min.css"><link rel="stylesheet" type="text/css" href="../../css/isabelle.css">
+
+
+ <link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
+ <script src="../../js/flexsearch.bundle.js"></script>
+ <script src="../../js/scroll-spy.js"></script>
+ <script src="../../js/theory.js"></script>
+ <script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
+</head>
+
+
+<body class='mathjax_ignore theories'>
+ <aside>
+ <div id="menu-toggle">
+ <input id="toggle" type="checkbox" />
+ <label for="toggle">
+ <span>menu</span>
+ <img src="../../images/menu.svg" alt="Menu" />
+ </label>
+
+ <a href="../../" class='logo-link'>
+ <img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
+ </a>
+
+ <nav id="menu">
+ <div>
+ <a href="../../" class='logo-link'>
+ <img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs'
+ class="logo">
+ </a>
+ <ul id="return">
+ <li><a href="../../entries/Khovanskii_Theorem.html">Return to entry</a></li>
+ </ul>
+ <hr>
+ <ul id="theory-navbar" class="list-group"></ul>
+ </div>
+ </nav>
+</div>
+
+ </aside>
+
+ <div
+ class='content '><header>
+ <form autocomplete="off" action="../../search">
+ <div class='form-container'>
+ <input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
+ id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
+ <datalist id="autocomplete">
+ </datalist>
+ </div>
+ </form>
+ <h1 >
+ <span class='first'>K</span>hovanskii_<span class='first'>T</span>heorem</h1>
+ <div>
+
+
+ </div>
+</header><div><main id="theories">
+ <a id="FiniteProduct" href="https://www.isa-afp.org/browser_info/current/AFP/Khovanskii_Theorem/FiniteProduct.html"><h2>FiniteProduct</h2></a>
+ <a id="For_2022" href="https://www.isa-afp.org/browser_info/current/AFP/Khovanskii_Theorem/For_2022.html"><h2>For_2022</h2></a>
+ <a id="Khovanskii" href="https://www.isa-afp.org/browser_info/current/AFP/Khovanskii_Theorem/Khovanskii.html"><h2>Khovanskii</h2></a></main>
+ </div>
+ </div>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/web/theories/mdp-algorithms/index.html b/web/theories/mdp-algorithms/index.html
--- a/web/theories/mdp-algorithms/index.html
+++ b/web/theories/mdp-algorithms/index.html
@@ -1,95 +1,94 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>MDP-Algorithms - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="MDP-Algorithms" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/theories/mdp-algorithms/" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="theories" />
<meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="MDP-Algorithms"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css"><link rel="stylesheet" type="text/css" href="../../css/isabelle.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore theories'>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs'
class="logo">
</a>
<ul id="return">
<li><a href="../../entries/MDP-Algorithms.html">Return to entry</a></li>
</ul>
<hr>
<ul id="theory-navbar" class="list-group"></ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>M</span><span class='first'>D</span><span class='first'>P</span>-<span class='first'>A</span>lgorithms</h1>
<div>
</div>
</header><div><main id="theories">
<a id="Value_Iteration" href="https://www.isa-afp.org/browser_info/current/AFP/MDP-Algorithms/Value_Iteration.html"><h2>Value_Iteration</h2></a>
<a id="Policy_Iteration" href="https://www.isa-afp.org/browser_info/current/AFP/MDP-Algorithms/Policy_Iteration.html"><h2>Policy_Iteration</h2></a>
<a id="Modified_Policy_Iteration" href="https://www.isa-afp.org/browser_info/current/AFP/MDP-Algorithms/Modified_Policy_Iteration.html"><h2>Modified_Policy_Iteration</h2></a>
<a id="Matrix_Util" href="https://www.isa-afp.org/browser_info/current/AFP/MDP-Algorithms/Matrix_Util.html"><h2>Matrix_Util</h2></a>
<a id="Blinfun_Matrix" href="https://www.isa-afp.org/browser_info/current/AFP/MDP-Algorithms/Blinfun_Matrix.html"><h2>Blinfun_Matrix</h2></a>
<a id="Splitting_Methods" href="https://www.isa-afp.org/browser_info/current/AFP/MDP-Algorithms/Splitting_Methods.html"><h2>Splitting_Methods</h2></a>
<a id="Algorithms" href="https://www.isa-afp.org/browser_info/current/AFP/MDP-Algorithms/Algorithms.html"><h2>Algorithms</h2></a>
<a id="Code_DP" href="https://www.isa-afp.org/browser_info/current/AFP/MDP-Algorithms/Code_DP.html"><h2>Code_DP</h2></a>
<a id="Code_Mod" href="https://www.isa-afp.org/browser_info/current/AFP/MDP-Algorithms/Code_Mod.html"><h2>Code_Mod</h2></a>
- <a id="Code_Real_Approx_By_Float_Fix" href="https://www.isa-afp.org/browser_info/current/AFP/MDP-Algorithms/Code_Real_Approx_By_Float_Fix.html"><h2>Code_Real_Approx_By_Float_Fix</h2></a>
<a id="Code_Inventory" href="https://www.isa-afp.org/browser_info/current/AFP/MDP-Algorithms/Code_Inventory.html"><h2>Code_Inventory</h2></a>
<a id="Code_Gridworld" href="https://www.isa-afp.org/browser_info/current/AFP/MDP-Algorithms/Code_Gridworld.html"><h2>Code_Gridworld</h2></a>
<a id="Examples" href="https://www.isa-afp.org/browser_info/current/AFP/MDP-Algorithms/Examples.html"><h2>Examples</h2></a></main>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/theories/number_theoretic_transform/index.html b/web/theories/number_theoretic_transform/index.html
new file mode 100644
--- /dev/null
+++ b/web/theories/number_theoretic_transform/index.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1"><title>Number_Theoretic_Transform - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="Number_Theoretic_Transform" />
+<meta property="og:description" content="" />
+<meta property="og:type" content="article" />
+<meta property="og:url" content="/theories/number_theoretic_transform/" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="theories" />
+
+<meta property="og:site_name" content="Archive of Formal Proofs" />
+
+<meta name="twitter:card" content="summary_large_image"/>
+<meta name="twitter:image" content="/images/afp.png"/>
+
+<meta name="twitter:title" content="Number_Theoretic_Transform"/>
+<meta name="twitter:description" content=""/>
+
+
+ <link rel="stylesheet" type="text/css" href="../../css/front.min.css"><link rel="stylesheet" type="text/css" href="../../css/isabelle.css">
+
+
+ <link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
+ <script src="../../js/flexsearch.bundle.js"></script>
+ <script src="../../js/scroll-spy.js"></script>
+ <script src="../../js/theory.js"></script>
+ <script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
+</head>
+
+
+<body class='mathjax_ignore theories'>
+ <aside>
+ <div id="menu-toggle">
+ <input id="toggle" type="checkbox" />
+ <label for="toggle">
+ <span>menu</span>
+ <img src="../../images/menu.svg" alt="Menu" />
+ </label>
+
+ <a href="../../" class='logo-link'>
+ <img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
+ </a>
+
+ <nav id="menu">
+ <div>
+ <a href="../../" class='logo-link'>
+ <img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs'
+ class="logo">
+ </a>
+ <ul id="return">
+ <li><a href="../../entries/Number_Theoretic_Transform.html">Return to entry</a></li>
+ </ul>
+ <hr>
+ <ul id="theory-navbar" class="list-group"></ul>
+ </div>
+ </nav>
+</div>
+
+ </aside>
+
+ <div
+ class='content '><header>
+ <form autocomplete="off" action="../../search">
+ <div class='form-container'>
+ <input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
+ id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
+ <datalist id="autocomplete">
+ </datalist>
+ </div>
+ </form>
+ <h1 >
+ <span class='first'>N</span>umber_<span class='first'>T</span>heoretic_<span class='first'>T</span>ransform</h1>
+ <div>
+
+
+ </div>
+</header><div><main id="theories">
+ <a id="Preliminary_Lemmas" href="https://www.isa-afp.org/browser_info/current/AFP/Number_Theoretic_Transform/Preliminary_Lemmas.html"><h2>Preliminary_Lemmas</h2></a>
+ <a id="NTT" href="https://www.isa-afp.org/browser_info/current/AFP/Number_Theoretic_Transform/NTT.html"><h2>NTT</h2></a>
+ <a id="Butterfly" href="https://www.isa-afp.org/browser_info/current/AFP/Number_Theoretic_Transform/Butterfly.html"><h2>Butterfly</h2></a></main>
+ </div>
+ </div>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/web/theories/transitive_models/index.html b/web/theories/transitive_models/index.html
--- a/web/theories/transitive_models/index.html
+++ b/web/theories/transitive_models/index.html
@@ -1,111 +1,117 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Transitive_Models - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="Transitive_Models" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/theories/transitive_models/" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="theories" />
<meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Transitive_Models"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css"><link rel="stylesheet" type="text/css" href="../../css/isabelle.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore theories'>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs'
class="logo">
</a>
<ul id="return">
<li><a href="../../entries/Transitive_Models.html">Return to entry</a></li>
</ul>
<hr>
<ul id="theory-navbar" class="list-group"></ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>T</span>ransitive_<span class='first'>M</span>odels</h1>
<div>
</div>
</header><div><main id="theories">
+ <a id="Utils" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Utils.html"><h2>Utils</h2></a>
<a id="Nat_Miscellanea" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Nat_Miscellanea.html"><h2>Nat_Miscellanea</h2></a>
<a id="ZF_Miscellanea" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/ZF_Miscellanea.html"><h2>ZF_Miscellanea</h2></a>
<a id="Renaming" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Renaming.html"><h2>Renaming</h2></a>
- <a id="Utils" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Utils.html"><h2>Utils</h2></a>
<a id="Renaming_Auto" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Renaming_Auto.html"><h2>Renaming_Auto</h2></a>
<a id="M_Basic_No_Repl" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/M_Basic_No_Repl.html"><h2>M_Basic_No_Repl</h2></a>
+ <a id="Eclose_Absolute" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Eclose_Absolute.html"><h2>Eclose_Absolute</h2></a>
<a id="Recursion_Thms" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Recursion_Thms.html"><h2>Recursion_Thms</h2></a>
+ <a id="Datatype_absolute" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Datatype_absolute.html"><h2>Datatype_absolute</h2></a>
+ <a id="Internalize" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Internalize.html"><h2>Internalize</h2></a>
+ <a id="Rec_Separation" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Rec_Separation.html"><h2>Rec_Separation</h2></a>
+ <a id="Satisfies_absolute" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Satisfies_absolute.html"><h2>Satisfies_absolute</h2></a>
+ <a id="DPow_absolute" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/DPow_absolute.html"><h2>DPow_absolute</h2></a>
<a id="Synthetic_Definition" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Synthetic_Definition.html"><h2>Synthetic_Definition</h2></a>
<a id="Internalizations" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Internalizations.html"><h2>Internalizations</h2></a>
<a id="Least" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Least.html"><h2>Least</h2></a>
<a id="Higher_Order_Constructs" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Higher_Order_Constructs.html"><h2>Higher_Order_Constructs</h2></a>
<a id="Relativization" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Relativization.html"><h2>Relativization</h2></a>
<a id="Discipline_Base" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Discipline_Base.html"><h2>Discipline_Base</h2></a>
<a id="Arities" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Arities.html"><h2>Arities</h2></a>
<a id="Discipline_Function" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Discipline_Function.html"><h2>Discipline_Function</h2></a>
<a id="Lambda_Replacement" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Lambda_Replacement.html"><h2>Lambda_Replacement</h2></a>
<a id="Discipline_Cardinal" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Discipline_Cardinal.html"><h2>Discipline_Cardinal</h2></a>
<a id="Univ_Relative" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Univ_Relative.html"><h2>Univ_Relative</h2></a>
<a id="Cardinal_Relative" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Cardinal_Relative.html"><h2>Cardinal_Relative</h2></a>
<a id="CardinalArith_Relative" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/CardinalArith_Relative.html"><h2>CardinalArith_Relative</h2></a>
<a id="Aleph_Relative" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Aleph_Relative.html"><h2>Aleph_Relative</h2></a>
<a id="Cardinal_AC_Relative" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Cardinal_AC_Relative.html"><h2>Cardinal_AC_Relative</h2></a>
<a id="FiniteFun_Relative" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/FiniteFun_Relative.html"><h2>FiniteFun_Relative</h2></a>
<a id="ZF_Library_Relative" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/ZF_Library_Relative.html"><h2>ZF_Library_Relative</h2></a>
<a id="Replacement_Lepoll" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Replacement_Lepoll.html"><h2>Replacement_Lepoll</h2></a>
<a id="Cardinal_Library_Relative" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Cardinal_Library_Relative.html"><h2>Cardinal_Library_Relative</h2></a>
<a id="Delta_System_Relative" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Delta_System_Relative.html"><h2>Delta_System_Relative</h2></a>
<a id="Pointed_DC_Relative" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Pointed_DC_Relative.html"><h2>Pointed_DC_Relative</h2></a>
<a id="Partial_Functions_Relative" href="https://www.isa-afp.org/browser_info/current/AFP/Transitive_Models/Partial_Functions_Relative.html"><h2>Partial_Functions_Relative</h2></a></main>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/theories/universal_turing_machine/index.html b/web/theories/universal_turing_machine/index.html
--- a/web/theories/universal_turing_machine/index.html
+++ b/web/theories/universal_turing_machine/index.html
@@ -1,94 +1,117 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Universal_Turing_Machine - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="Universal_Turing_Machine" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/theories/universal_turing_machine/" /><meta property="og:image" content="/images/afp.png"/><meta property="article:section" content="theories" />
<meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Universal_Turing_Machine"/>
<meta name="twitter:description" content=""/>
<link rel="stylesheet" type="text/css" href="../../css/front.min.css"><link rel="stylesheet" type="text/css" href="../../css/isabelle.css">
<link rel="icon" href="../../images/favicon.ico" type="image/icon"><script src="../../js/obfuscate.js"></script>
<script src="../../js/flexsearch.bundle.js"></script>
<script src="../../js/scroll-spy.js"></script>
<script src="../../js/theory.js"></script>
<script src="../../js/util.js"></script><script src="../../js/header-search.js"></script><script src="../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore theories'>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../images/menu.svg" alt="Menu" />
</label>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<nav id="menu">
<div>
<a href="../../" class='logo-link'>
<img src="../../images/afp.png" alt='Logo of the Archive of Formal Proofs'
class="logo">
</a>
<ul id="return">
<li><a href="../../entries/Universal_Turing_Machine.html">Return to entry</a></li>
</ul>
<hr>
<ul id="theory-navbar" class="list-group"></ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>U</span>niversal_<span class='first'>T</span>uring_<span class='first'>M</span>achine</h1>
<div>
</div>
</header><div><main id="theories">
<a id="Turing" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Turing.html"><h2>Turing</h2></a>
+ <a id="Turing_aux" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Turing_aux.html"><h2>Turing_aux</h2></a>
+ <a id="BlanksDoNotMatter" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/BlanksDoNotMatter.html"><h2>BlanksDoNotMatter</h2></a>
+ <a id="ComposableTMs" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/ComposableTMs.html"><h2>ComposableTMs</h2></a>
+ <a id="ComposedTMs" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/ComposedTMs.html"><h2>ComposedTMs</h2></a>
+ <a id="Numerals" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Numerals.html"><h2>Numerals</h2></a>
+ <a id="Numerals_Ex" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Numerals_Ex.html"><h2>Numerals_Ex</h2></a>
<a id="Turing_Hoare" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Turing_Hoare.html"><h2>Turing_Hoare</h2></a>
- <a id="Uncomputable" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Uncomputable.html"><h2>Uncomputable</h2></a>
+ <a id="SemiIdTM" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/SemiIdTM.html"><h2>SemiIdTM</h2></a>
+ <a id="Turing_HaltingConditions" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Turing_HaltingConditions.html"><h2>Turing_HaltingConditions</h2></a>
+ <a id="OneStrokeTM" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/OneStrokeTM.html"><h2>OneStrokeTM</h2></a>
+ <a id="WeakCopyTM" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/WeakCopyTM.html"><h2>WeakCopyTM</h2></a>
+ <a id="StrongCopyTM" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/StrongCopyTM.html"><h2>StrongCopyTM</h2></a>
+ <a id="TuringDecidable" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/TuringDecidable.html"><h2>TuringDecidable</h2></a>
+ <a id="TuringReducible" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/TuringReducible.html"><h2>TuringReducible</h2></a>
+ <a id="SimpleGoedelEncoding" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/SimpleGoedelEncoding.html"><h2>SimpleGoedelEncoding</h2></a>
+ <a id="HaltingProblems_K_H" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/HaltingProblems_K_H.html"><h2>HaltingProblems_K_H</h2></a>
+ <a id="HaltingProblems_K_aux" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/HaltingProblems_K_aux.html"><h2>HaltingProblems_K_aux</h2></a>
+ <a id="TuringComputable" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/TuringComputable.html"><h2>TuringComputable</h2></a>
+ <a id="DitherTM" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/DitherTM.html"><h2>DitherTM</h2></a>
+ <a id="CopyTM" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/CopyTM.html"><h2>CopyTM</h2></a>
+ <a id="TuringUnComputable_H2" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/TuringUnComputable_H2.html"><h2>TuringUnComputable_H2</h2></a>
+ <a id="TuringUnComputable_H2_original" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/TuringUnComputable_H2_original.html"><h2>TuringUnComputable_H2_original</h2></a>
<a id="Abacus_Mopup" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Abacus_Mopup.html"><h2>Abacus_Mopup</h2></a>
<a id="Abacus" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Abacus.html"><h2>Abacus</h2></a>
- <a id="Abacus_Defs" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Abacus_Defs.html"><h2>Abacus_Defs</h2></a>
- <a id="Rec_Def" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Rec_Def.html"><h2>Rec_Def</h2></a>
+ <a id="Abacus_alt_Compile" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Abacus_alt_Compile.html"><h2>Abacus_alt_Compile</h2></a>
<a id="Abacus_Hoare" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Abacus_Hoare.html"><h2>Abacus_Hoare</h2></a>
+ <a id="Rec_Def" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Rec_Def.html"><h2>Rec_Def</h2></a>
+ <a id="Rec_Ex" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Rec_Ex.html"><h2>Rec_Ex</h2></a>
<a id="Recursive" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Recursive.html"><h2>Recursive</h2></a>
- <a id="Recs" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Recs.html"><h2>Recs</h2></a>
+ <a id="Recs_alt_Def" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Recs_alt_Def.html"><h2>Recs_alt_Def</h2></a>
+ <a id="Recs_alt_Ex" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/Recs_alt_Ex.html"><h2>Recs_alt_Ex</h2></a>
<a id="UF" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/UF.html"><h2>UF</h2></a>
- <a id="UTM" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/UTM.html"><h2>UTM</h2></a></main>
+ <a id="UTM" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/UTM.html"><h2>UTM</h2></a>
+ <a id="GeneratedCode" href="https://www.isa-afp.org/browser_info/current/AFP/Universal_Turing_Machine/GeneratedCode.html"><h2>GeneratedCode</h2></a></main>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/topics/computer-science/algorithms/index.html b/web/topics/computer-science/algorithms/index.html
--- a/web/topics/computer-science/algorithms/index.html
+++ b/web/topics/computer-science/algorithms/index.html
@@ -1,777 +1,784 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Computer science/Algorithms - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../../topics/computer-science/algorithms/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="Computer science/Algorithms" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/topics/computer-science/algorithms/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Computer science/Algorithms"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../../css/front.min.css">
<link rel="icon" href="../../../images/favicon.ico" type="image/icon"><script src="../../../js/obfuscate.js"></script>
<script src="../../../js/flexsearch.bundle.js"></script>
<script src="../../../js/scroll-spy.js"></script>
<script src="../../../js/theory.js"></script>
<script src="../../../js/util.js"></script><script src="../../../js/header-search.js"></script><script src="../../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../../images/menu.svg" alt="Menu" />
</label>
<a href="../../../" class='logo-link'>
<img src="../../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../../search"><img src="../../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../../" class='logo-link'>
<img src="../../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../../"><li >Home</li></a>
<a href="../../../topics/"><li >Topics</li></a>
<a href="../../../download/"><li >Download</li></a>
<a href="../../../help/"><li >Help</li></a>
<a href="../../../submission/"><li >Submission</li></a>
<a href="../../../statistics/"><li >Statistics</li></a>
<a href="../../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>omputer <span class='first'>S</span>cience/<span class='first'>A</span>lgorithms</h1>
<div>
</div>
</header><div><h2>Subject Classification</h2><h3>AMS</h3>
<a href="https://mathscinet.ams.org/mathscinet/msc/msc2020.html?t=68Wxx">Computer science / Algorithms in computer science</a><h3>ACM</h3>
<a href="https://dl.acm.org/topic/ccs2012/10003752.10003809">Theory of computation~Design and analysis of algorithms</a><h2 class="head">2022</h2><article class="entry">
<div class="item-text">
+ <h5><a class="title" href="../../../entries/Number_Theoretic_Transform.html">Number Theoretic Transform</a></h5> <br>by <a href="../../../authors/ammer">Thomas Ammer</a> and <a href="../../../authors/kreuzer">Katharina Kreuzer</a></div>
+ <span class="date">
+ Aug 18
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
<h5><a class="title" href="../../../entries/FSM_Tests.html">Verified Complete Test Strategies for Finite State Machines</a></h5> <br>by <a href="../../../authors/sachtleben">Robert Sachtleben</a></div>
<span class="date">
Aug 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Frequency_Moments.html">Formalization of Randomized Approximation Algorithms for Frequency Moments</a></h5> <br>by <a href="../../../authors/karayel">Emin Karayel</a></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Prefix_Free_Code_Combinators.html">A Combinator Library for Prefix-Free Codes</a></h5> <br>by <a href="../../../authors/karayel">Emin Karayel</a></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Universal_Hash_Families.html">Universal Hash Families</a></h5> <br>by <a href="../../../authors/karayel">Emin Karayel</a></div>
<span class="date">
Feb 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/VYDRA_MDL.html">Multi-Head Monitoring of Metric Dynamic Logic</a></h5> <br>by <a href="../../../authors/raszyk">Martin Raszyk</a></div>
<span class="date">
Feb 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Equivalence_Relation_Enumeration.html">Enumeration of Equivalence Relations</a></h5> <br>by <a href="../../../authors/karayel">Emin Karayel</a></div>
<span class="date">
Feb 04
</span>
</article>
<h2 class="head">2021</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Gale_Shapley.html">Gale-Shapley Algorithm</a></h5> <br>by <a href="../../../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Dec 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/MDP-Algorithms.html">Verified Algorithms for Solving Markov Decision Processes</a></h5> <br>by <a href="../../../authors/schaeffeler">Maximilian Schäffeler</a> and <a href="../../../authors/abdulaziz">Mohammad Abdulaziz</a></div>
<span class="date">
Dec 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Registers.html">Quantum and Classical Registers</a></h5> <br>by <a href="../../../authors/unruh">Dominique Unruh</a></div>
<span class="date">
Oct 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Virtual_Substitution.html">Verified Quadratic Virtual Substitution for Real Arithmetic</a></h5> <br>by <a href="../../../authors/scharager">Matias Scharager</a>, <a href="../../../authors/cordwell">Katherine Cordwell</a>, <a href="../../../authors/mitsch">Stefan Mitsch</a> and <a href="../../../authors/platzer">André Platzer</a></div>
<span class="date">
Oct 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Regression_Test_Selection.html">Regression Test Selection</a></h5> <br>by <a href="../../../authors/mansky">Susannah Mansky</a></div>
<span class="date">
Apr 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/BenOr_Kozen_Reif.html">The BKR Decision Procedure for Univariate Real Arithmetic</a></h5> <br>by <a href="../../../authors/cordwell">Katherine Cordwell</a>, <a href="../../../authors/tan">Yong Kiam Tan</a> and <a href="../../../authors/platzer">André Platzer</a></div>
<span class="date">
Apr 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Progress_Tracking.html">Formalization of Timely Dataflow&#39;s Progress Tracking Protocol</a></h5> <br>by <a href="../../../authors/brun">Matthias Brun</a>, <a href="../../../authors/decova">Sára Decova</a>, <a href="../../../authors/lattuada">Andrea Lattuada</a> and <a href="../../../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Apr 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Modular_arithmetic_LLL_and_HNF_algorithms.html">Two algorithms based on modular arithmetic: lattice basis reduction and Hermite normal form computation</a></h5> <br>by <a href="../../../authors/bottesch">Ralph Bottesch</a>, <a href="../../../authors/divason">Jose Divasón</a> and <a href="../../../authors/thiemann">René Thiemann</a></div>
<span class="date">
Mar 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Projective_Measurements.html">Quantum projective measurements and the CHSH inequality</a></h5> <br>by <a href="../../../authors/echenim">Mnacho Echenim</a></div>
<span class="date">
Mar 03
</span>
</article>
<h2 class="head">2020</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Relational_Minimum_Spanning_Trees.html">Relational Minimum Spanning Tree Algorithms</a></h5> <br>by <a href="../../../authors/guttmann">Walter Guttmann</a> and <a href="../../../authors/brien">Nicolas Robinson-O&rsquo;Brien</a></div>
<span class="date">
Dec 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Isabelle_Marries_Dirac.html">Isabelle Marries Dirac: a Library for Quantum Computation and Quantum Information</a></h5> <br>by <a href="../../../authors/bordg">Anthony Bordg</a>, <a href="../../../authors/lachnitt">Hanna Lachnitt</a> and <a href="../../../authors/he">Yijun He</a></div>
<span class="date">
Nov 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/PAC_Checker.html">Practical Algebraic Calculus Checker</a></h5> <br>by <a href="../../../authors/fleury">Mathias Fleury</a> and <a href="../../../authors/kaufmann">Daniela Kaufmann</a></div>
<span class="date">
Aug 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Chandy_Lamport.html">A Formal Proof of The Chandy--Lamport Distributed Snapshot Algorithm</a></h5> <br>by <a href="../../../authors/fiedler">Ben Fiedler</a> and <a href="../../../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Jul 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Safe_Distance.html">A Formally Verified Checker of the Safe Distance Traffic Rules for Autonomous Vehicles</a></h5> <br>by <a href="../../../authors/rizaldi">Albert Rizaldi</a> and <a href="../../../authors/immler">Fabian Immler</a></div>
<span class="date">
Jun 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Smith_Normal_Form.html">A verified algorithm for computing the Smith normal form of a matrix</a></h5> <br>by <a href="../../../authors/divason">Jose Divasón</a></div>
<span class="date">
May 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Sliding_Window_Algorithm.html">Formalization of an Algorithm for Greedily Computing Associative Aggregations on Sliding Windows</a></h5> <br>by <a href="../../../authors/heimes">Lukas Heimes</a>, <a href="../../../authors/traytel">Dmitriy Traytel</a> and <a href="../../../authors/schneider">Joshua Schneider</a></div>
<span class="date">
Apr 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/MFODL_Monitor_Optimized.html">Formalization of an Optimized Monitoring Algorithm for Metric First-Order Dynamic Logic with Aggregations</a></h5> <br>by <a href="../../../authors/dardinier">Thibault Dardinier</a>, <a href="../../../authors/heimes">Lukas Heimes</a>, <a href="../../../authors/raszyk">Martin Raszyk</a>, <a href="../../../authors/schneider">Joshua Schneider</a> and <a href="../../../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Apr 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/WOOT_Strong_Eventual_Consistency.html">Strong Eventual Consistency of the Collaborative Editing Framework WOOT</a></h5> <br>by <a href="../../../authors/karayel">Emin Karayel</a> and <a href="../../../authors/gonzalez">Edgar Gonzàlez</a></div>
<span class="date">
Mar 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Approximation_Algorithms.html">Verified Approximation Algorithms</a></h5> <br>by <a href="../../../authors/essmann">Robin Eßmann</a>, <a href="../../../authors/nipkow">Tobias Nipkow</a>, <a href="../../../authors/robillard">Simon Robillard</a> and <a href="../../../authors/sulejmani">Ujkan Sulejmani</a></div>
<span class="date">
Jan 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Closest_Pair_Points.html">Closest Pair of Points Algorithms</a></h5> <br>by <a href="../../../authors/rau">Martin Rau</a> and <a href="../../../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jan 13
</span>
</article>
<h2 class="head">2019</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Generalized_Counting_Sort.html">An Efficient Generalization of Counting Sort for Large, possibly Infinite Key Ranges</a></h5> <br>by <a href="../../../authors/noce">Pasquale Noce</a></div>
<span class="date">
Dec 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/VerifyThis2019.html">VerifyThis 2019 -- Polished Isabelle Solutions</a></h5> <br>by <a href="../../../authors/lammich">Peter Lammich</a> and <a href="../../../authors/wimmer">Simon Wimmer</a></div>
<span class="date">
Oct 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Generic_Join.html">Formalization of Multiway-Join Algorithms</a></h5> <br>by <a href="../../../authors/dardinier">Thibault Dardinier</a></div>
<span class="date">
Sep 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Adaptive_State_Counting.html">Formalisation of an Adaptive State Counting Algorithm</a></h5> <br>by <a href="../../../authors/sachtleben">Robert Sachtleben</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Stellar_Quorums.html">Stellar Quorum Systems</a></h5> <br>by <a href="../../../authors/losa">Giuliano Losa</a></div>
<span class="date">
Aug 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/MFOTL_Monitor.html">Formalization of a Monitoring Algorithm for Metric First-Order Temporal Logic</a></h5> <br>by <a href="../../../authors/schneider">Joshua Schneider</a> and <a href="../../../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Jul 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Prim_Dijkstra_Simple.html">Purely Functional, Simple, and Efficient Implementation of Prim and Dijkstra</a></h5> <br>by <a href="../../../authors/lammich">Peter Lammich</a> and <a href="../../../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/IMP2_Binary_Heap.html">Binary Heaps for IMP2</a></h5> <br>by <a href="../../../authors/griebel">Simon Griebel</a></div>
<span class="date">
Jun 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Kruskal.html">Kruskal&#39;s Algorithm for Minimum Spanning Forest</a></h5> <br>by <a href="../../../authors/haslbeckm">Maximilian P. L. Haslbeck</a>, <a href="../../../authors/lammich">Peter Lammich</a> and <a href="../../../authors/biendarra">Julian Biendarra</a></div>
<span class="date">
Feb 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/List_Inversions.html">The Inversions of a List</a></h5> <br>by <a href="../../../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Feb 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/IMP2.html">IMP2 – Simple Program Verification in Isabelle/HOL</a></h5> <br>by <a href="../../../authors/lammich">Peter Lammich</a> and <a href="../../../authors/wimmer">Simon Wimmer</a></div>
<span class="date">
Jan 15
</span>
</article>
<h2 class="head">2018</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Auto2_Imperative_HOL.html">Verifying Imperative Programs using Auto2</a></h5> <br>by <a href="../../../authors/zhan">Bohua Zhan</a></div>
<span class="date">
Dec 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Signature_Groebner.html">Signature-Based Gröbner Basis Algorithms</a></h5> <br>by <a href="../../../authors/maletzky">Alexander Maletzky</a></div>
<span class="date">
Sep 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Simplex.html">An Incremental Simplex Algorithm with Unsatisfiable Core Generation</a></h5> <br>by <a href="../../../authors/maricf">Filip Marić</a>, <a href="../../../authors/spasic">Mirko Spasić</a> and <a href="../../../authors/thiemann">René Thiemann</a></div>
<span class="date">
Aug 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Optimal_BST.html">Optimal Binary Search Trees</a></h5> <br>by <a href="../../../authors/nipkow">Tobias Nipkow</a> and <a href="../../../authors/somogyi">Dániel Somogyi</a></div>
<span class="date">
May 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Hidden_Markov_Models.html">Hidden Markov Models</a></h5> <br>by <a href="../../../authors/wimmer">Simon Wimmer</a></div>
<span class="date">
May 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Monad_Memo_DP.html">Monadification, Memoization and Dynamic Programming</a></h5> <br>by <a href="../../../authors/wimmer">Simon Wimmer</a>, <a href="../../../authors/hu">Shuwei Hu</a> and <a href="../../../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
May 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/OpSets.html">OpSets: Sequential Specifications for Replicated Datatypes</a></h5> <br>by <a href="../../../authors/kleppmann">Martin Kleppmann</a>, <a href="../../../authors/gomes">Victor B. F. Gomes</a>, <a href="../../../authors/mulligan">Dominic P. Mulligan</a> and <a href="../../../authors/beresford">Alastair R. Beresford</a></div>
<span class="date">
May 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/VerifyThis2018.html">VerifyThis 2018 - Polished Isabelle Solutions</a></h5> <br>by <a href="../../../authors/lammich">Peter Lammich</a> and <a href="../../../authors/wimmer">Simon Wimmer</a></div>
<span class="date">
Apr 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/First_Order_Terms.html">First-Order Terms</a></h5> <br>by <a href="../../../authors/sternagel">Christian Sternagel</a> and <a href="../../../authors/thiemann">René Thiemann</a></div>
<span class="date">
Feb 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/LLL_Basis_Reduction.html">A verified LLL algorithm</a></h5> <br>by <a href="../../../authors/bottesch">Ralph Bottesch</a>, <a href="../../../authors/divason">Jose Divasón</a>, <a href="../../../authors/haslbeck">Max W. Haslbeck</a>, <a href="../../../authors/joosten">Sebastiaan J. C. Joosten</a>, <a href="../../../authors/thiemann">René Thiemann</a> and <a href="../../../authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Feb 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Taylor_Models.html">Taylor Models</a></h5> <br>by <a href="../../../authors/traut">Christoph Traut</a> and <a href="../../../authors/immler">Fabian Immler</a></div>
<span class="date">
Jan 08
</span>
</article>
<h2 class="head">2017</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Median_Of_Medians_Selection.html">The Median-of-Medians Selection Algorithm</a></h5> <br>by <a href="../../../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Dec 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Knuth_Morris_Pratt.html">The string search algorithm by Knuth, Morris and Pratt</a></h5> <br>by <a href="../../../authors/hellauer">Fabian Hellauer</a> and <a href="../../../authors/lammich">Peter Lammich</a></div>
<span class="date">
Dec 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/IMAP-CRDT.html">The IMAP CmRDT</a></h5> <br>by <a href="../../../authors/jungnickel">Tim Jungnickel</a>, <a href="../../../authors/oldenburg">Lennart Oldenburg</a> and <a href="../../../authors/loibl">Matthias Loibl</a></div>
<span class="date">
Nov 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Diophantine_Eqns_Lin_Hom.html">Homogeneous Linear Diophantine Equations</a></h5> <br>by <a href="../../../authors/messner">Florian Messner</a>, <a href="../../../authors/parsert">Julian Parsert</a>, <a href="../../../authors/schoepf">Jonas Schöpf</a> and <a href="../../../authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Oct 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/CRDT.html">A framework for establishing Strong Eventual Consistency for Conflict-free Replicated Datatypes</a></h5> <br>by <a href="../../../authors/gomes">Victor B. F. Gomes</a>, <a href="../../../authors/kleppmann">Martin Kleppmann</a>, <a href="../../../authors/mulligan">Dominic P. Mulligan</a> and <a href="../../../authors/beresford">Alastair R. Beresford</a></div>
<span class="date">
Jul 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Prpu_Maxflow.html">Formalizing Push-Relabel Algorithms</a></h5> <br>by <a href="../../../authors/lammich">Peter Lammich</a> and <a href="../../../authors/sefidgar">S. Reza Sefidgar</a></div>
<span class="date">
Jun 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Floyd_Warshall.html">The Floyd-Warshall Algorithm for Shortest Paths</a></h5> <br>by <a href="../../../authors/wimmer">Simon Wimmer</a> and <a href="../../../authors/lammich">Peter Lammich</a></div>
<span class="date">
May 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Probabilistic_While.html">Probabilistic while loop</a></h5> <br>by <a href="../../../authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Quick_Sort_Cost.html">The number of comparisons in QuickSort</a></h5> <br>by <a href="../../../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Mar 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Comparison_Sort_Lower_Bound.html">Lower bound on comparison-based sorting algorithms</a></h5> <br>by <a href="../../../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Mar 15
</span>
</article>
<h2 class="head">2016</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Fisher_Yates.html">Fisher–Yates shuffle</a></h5> <br>by <a href="../../../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Sep 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/EdmondsKarp_Maxflow.html">Formalizing the Edmonds-Karp Algorithm</a></h5> <br>by <a href="../../../authors/lammich">Peter Lammich</a> and <a href="../../../authors/sefidgar">S. Reza Sefidgar</a></div>
<span class="date">
Aug 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/DFS_Framework.html">A Framework for Verifying Depth-First Search Algorithms</a></h5> <br>by <a href="../../../authors/lammich">Peter Lammich</a> and <a href="../../../authors/neumann">René Neumann</a></div>
<span class="date">
Jul 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Groebner_Bases.html">Gröbner Bases Theory</a></h5> <br>by <a href="../../../authors/immler">Fabian Immler</a> and <a href="../../../authors/maletzky">Alexander Maletzky</a></div>
<span class="date">
May 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/ROBDD.html">Algorithms for Reduced Ordered Binary Decision Diagrams</a></h5> <br>by <a href="../../../authors/michaelis">Julius Michaelis</a>, <a href="../../../authors/haslbeck">Max W. Haslbeck</a>, <a href="../../../authors/lammich">Peter Lammich</a> and <a href="../../../authors/hupel">Lars Hupel</a></div>
<span class="date">
Apr 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/CYK.html">A formalisation of the Cocke-Younger-Kasami algorithm</a></h5> <br>by <a href="../../../authors/bortin">Maksym Bortin</a></div>
<span class="date">
Apr 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/List_Update.html">Analysis of List Update Algorithms</a></h5> <br>by <a href="../../../authors/haslbeckm">Maximilian P. L. Haslbeck</a> and <a href="../../../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Feb 17
</span>
</article>
<h2 class="head">2015</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/TortoiseHare.html">The Tortoise and Hare Algorithm</a></h5> <br>by <a href="../../../authors/gammie">Peter Gammie</a></div>
<span class="date">
Nov 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Hermite.html">Hermite Normal Form</a></h5> <br>by <a href="../../../authors/divason">Jose Divasón</a> and <a href="../../../authors/aransay">Jesús Aransay</a></div>
<span class="date">
Jul 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/ConcurrentGC.html">Relaxing Safely: Verified On-the-Fly Garbage Collection for x86-TSO</a></h5> <br>by <a href="../../../authors/gammie">Peter Gammie</a>, <a href="../../../authors/hosking">Tony Hosking</a> and <a href="../../../authors/engelhardt">Kai Engelhardt</a></div>
<span class="date">
Apr 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Consensus_Refined.html">Consensus Refined</a></h5> <br>by <a href="../../../authors/maric">Ognjen Marić</a> and <a href="../../../authors/sprenger">Christoph Sprenger</a></div>
<span class="date">
Mar 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/QR_Decomposition.html">QR Decomposition</a></h5> <br>by <a href="../../../authors/divason">Jose Divasón</a> and <a href="../../../authors/aransay">Jesús Aransay</a></div>
<span class="date">
Feb 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Echelon_Form.html">Echelon Form</a></h5> <br>by <a href="../../../authors/divason">Jose Divasón</a> and <a href="../../../authors/aransay">Jesús Aransay</a></div>
<span class="date">
Feb 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/UpDown_Scheme.html">Verification of the UpDown Scheme</a></h5> <br>by <a href="../../../authors/hoelzl">Johannes Hölzl</a></div>
<span class="date">
Jan 28
</span>
</article>
<h2 class="head">2014</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Imperative_Insertion_Sort.html">Imperative Insertion Sort</a></h5> <br>by <a href="../../../authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Sep 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Gauss_Jordan.html">Gauss-Jordan Algorithm and Its Applications</a></h5> <br>by <a href="../../../authors/divason">Jose Divasón</a> and <a href="../../../authors/aransay">Jesús Aransay</a></div>
<span class="date">
Sep 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Boolean_Expression_Checkers.html">Boolean Expression Checkers</a></h5> <br>by <a href="../../../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Gabow_SCC.html">Verified Efficient Implementation of Gabow&#39;s Strongly Connected Components Algorithm</a></h5> <br>by <a href="../../../authors/lammich">Peter Lammich</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Roy_Floyd_Warshall.html">Transitive closure according to Roy-Floyd-Warshall</a></h5> <br>by <a href="../../../authors/wenzel">Makarius Wenzel</a></div>
<span class="date">
May 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Selection_Heap_Sort.html">Verification of Selection and Heap Sort Using Locales</a></h5> <br>by <a href="../../../authors/petrovic">Danijela Petrovic</a></div>
<span class="date">
Feb 11
</span>
</article>
<h2 class="head">2012</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Heard_Of.html">Verifying Fault-Tolerant Distributed Algorithms in the Heard-Of Model</a></h5> <br>by <a href="../../../authors/debrat">Henri Debrat</a> and <a href="../../../authors/merz">Stephan Merz</a></div>
<span class="date">
Jul 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Abortable_Linearizable_Modules.html">Abortable Linearizable Modules</a></h5> <br>by <a href="../../../authors/guerraoui">Rachid Guerraoui</a>, <a href="../../../authors/kuncak">Viktor Kuncak</a> and <a href="../../../authors/losa">Giuliano Losa</a></div>
<span class="date">
Mar 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Transitive-Closure-II.html">Executable Transitive Closures</a></h5> <br>by <a href="../../../authors/thiemann">René Thiemann</a></div>
<span class="date">
Feb 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Dijkstra_Shortest_Path.html">Dijkstra&#39;s Shortest Path Algorithm</a></h5> <br>by <a href="../../../authors/nordhoff">Benedikt Nordhoff</a> and <a href="../../../authors/lammich">Peter Lammich</a></div>
<span class="date">
Jan 30
</span>
</article>
<h2 class="head">2011</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Efficient-Mergesort.html">Efficient Mergesort</a></h5> <br>by <a href="../../../authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Nov 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Gauss-Jordan-Elim-Fun.html">Gauss-Jordan Elimination for Matrices Represented as Functions</a></h5> <br>by <a href="../../../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Aug 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Transitive-Closure.html">Executable Transitive Closures of Finite Relations</a></h5> <br>by <a href="../../../authors/sternagel">Christian Sternagel</a> and <a href="../../../authors/thiemann">René Thiemann</a></div>
<span class="date">
Mar 14
</span>
</article>
<h2 class="head">2010</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Polynomials.html">Executable Multivariate Polynomials</a></h5> <br>by <a href="../../../authors/sternagel">Christian Sternagel</a>, <a href="../../../authors/thiemann">René Thiemann</a>, <a href="../../../authors/maletzky">Alexander Maletzky</a>, <a href="../../../authors/immler">Fabian Immler</a>, <a href="../../../authors/haftmann">Florian Haftmann</a>, <a href="../../../authors/lochbihler">Andreas Lochbihler</a> and <a href="../../../authors/bentkamp">Alexander Bentkamp</a></div>
<span class="date">
Aug 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/GraphMarkingIBP.html">Verification of the Deutsch-Schorr-Waite Graph Marking Algorithm using Data Refinement</a></h5> <br>by <a href="../../../authors/preoteasa">Viorel Preoteasa</a> and <a href="../../../authors/back">Ralph-Johan Back</a></div>
<span class="date">
May 28
</span>
</article>
<h2 class="head">2008</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/SATSolverVerification.html">Formal Verification of Modern SAT Solvers</a></h5> <br>by <a href="../../../authors/maricf">Filip Marić</a></div>
<span class="date">
Jul 23
</span>
</article>
<h2 class="head">2007</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/MuchAdoAboutTwo.html">Much Ado About Two</a></h5> <br>by <a href="../../../authors/boehme">Sascha Böhme</a></div>
<span class="date">
Nov 06
</span>
</article>
<h2 class="head">2006</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/ClockSynchInst.html">Instances of Schneider&#39;s generalized protocol of clock synchronization</a></h5> <br>by <a href="../../../authors/barsotti">Damián Barsotti</a></div>
<span class="date">
Mar 15
</span>
</article>
<h2 class="head">2005</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/FFT.html">Fast Fourier Transform</a></h5> <br>by <a href="../../../authors/ballarin">Clemens Ballarin</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/GenClock.html">Formalization of a Generalized Protocol for Clock Synchronization</a></h5> <br>by <a href="../../../authors/tiu">Alwen Tiu</a></div>
<span class="date">
Jun 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/DiskPaxos.html">Proving the Correctness of Disk Paxos</a></h5> <br>by <a href="../../../authors/jaskelioff">Mauro Jaskelioff</a> and <a href="../../../authors/merz">Stephan Merz</a></div>
<span class="date">
Jun 22
</span>
</article>
<h2 class="head">2004</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Depth-First-Search.html">Depth First Search</a></h5> <br>by <a href="../../../authors/nishihara">Toshiaki Nishihara</a> and <a href="../../../authors/minamide">Yasuhiko Minamide</a></div>
<span class="date">
Jun 24
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/topics/computer-science/algorithms/index.xml b/web/topics/computer-science/algorithms/index.xml
--- a/web/topics/computer-science/algorithms/index.xml
+++ b/web/topics/computer-science/algorithms/index.xml
@@ -1,856 +1,865 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Computer science/Algorithms on Archive of Formal Proofs</title>
<link>/topics/computer-science/algorithms/</link>
<description>Recent content in Computer science/Algorithms on Archive of Formal Proofs</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-gb</language><atom:link href="/topics/computer-science/algorithms/index.xml" rel="self" type="application/rss+xml" />
<item>
+ <title>Number Theoretic Transform</title>
+ <link>/entries/Number_Theoretic_Transform.html</link>
+ <pubDate>Thu, 18 Aug 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Number_Theoretic_Transform.html</guid>
+ <description></description>
+ </item>
+
+ <item>
<title>Verified Complete Test Strategies for Finite State Machines</title>
<link>/entries/FSM_Tests.html</link>
<pubDate>Tue, 09 Aug 2022 00:00:00 +0000</pubDate>
<guid>/entries/FSM_Tests.html</guid>
<description></description>
</item>
<item>
<title>A Combinator Library for Prefix-Free Codes</title>
<link>/entries/Prefix_Free_Code_Combinators.html</link>
<pubDate>Fri, 08 Apr 2022 00:00:00 +0000</pubDate>
<guid>/entries/Prefix_Free_Code_Combinators.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Randomized Approximation Algorithms for Frequency Moments</title>
<link>/entries/Frequency_Moments.html</link>
<pubDate>Fri, 08 Apr 2022 00:00:00 +0000</pubDate>
<guid>/entries/Frequency_Moments.html</guid>
<description></description>
</item>
<item>
<title>Universal Hash Families</title>
<link>/entries/Universal_Hash_Families.html</link>
<pubDate>Sun, 20 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/Universal_Hash_Families.html</guid>
<description></description>
</item>
<item>
<title>Multi-Head Monitoring of Metric Dynamic Logic</title>
<link>/entries/VYDRA_MDL.html</link>
<pubDate>Sun, 13 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/VYDRA_MDL.html</guid>
<description></description>
</item>
<item>
<title>Enumeration of Equivalence Relations</title>
<link>/entries/Equivalence_Relation_Enumeration.html</link>
<pubDate>Fri, 04 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/Equivalence_Relation_Enumeration.html</guid>
<description></description>
</item>
<item>
<title>Gale-Shapley Algorithm</title>
<link>/entries/Gale_Shapley.html</link>
<pubDate>Wed, 29 Dec 2021 00:00:00 +0000</pubDate>
<guid>/entries/Gale_Shapley.html</guid>
<description></description>
</item>
<item>
<title>Verified Algorithms for Solving Markov Decision Processes</title>
<link>/entries/MDP-Algorithms.html</link>
<pubDate>Thu, 16 Dec 2021 00:00:00 +0000</pubDate>
<guid>/entries/MDP-Algorithms.html</guid>
<description></description>
</item>
<item>
<title>Quantum and Classical Registers</title>
<link>/entries/Registers.html</link>
<pubDate>Thu, 28 Oct 2021 00:00:00 +0000</pubDate>
<guid>/entries/Registers.html</guid>
<description></description>
</item>
<item>
<title>Verified Quadratic Virtual Substitution for Real Arithmetic</title>
<link>/entries/Virtual_Substitution.html</link>
<pubDate>Sat, 02 Oct 2021 00:00:00 +0000</pubDate>
<guid>/entries/Virtual_Substitution.html</guid>
<description></description>
</item>
<item>
<title>Regression Test Selection</title>
<link>/entries/Regression_Test_Selection.html</link>
<pubDate>Fri, 30 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/Regression_Test_Selection.html</guid>
<description></description>
</item>
<item>
<title>The BKR Decision Procedure for Univariate Real Arithmetic</title>
<link>/entries/BenOr_Kozen_Reif.html</link>
<pubDate>Sat, 24 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/BenOr_Kozen_Reif.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Timely Dataflow&#39;s Progress Tracking Protocol</title>
<link>/entries/Progress_Tracking.html</link>
<pubDate>Tue, 13 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/Progress_Tracking.html</guid>
<description></description>
</item>
<item>
<title>Two algorithms based on modular arithmetic: lattice basis reduction and Hermite normal form computation</title>
<link>/entries/Modular_arithmetic_LLL_and_HNF_algorithms.html</link>
<pubDate>Fri, 12 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Modular_arithmetic_LLL_and_HNF_algorithms.html</guid>
<description></description>
</item>
<item>
<title>Quantum projective measurements and the CHSH inequality</title>
<link>/entries/Projective_Measurements.html</link>
<pubDate>Wed, 03 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Projective_Measurements.html</guid>
<description></description>
</item>
<item>
<title>Relational Minimum Spanning Tree Algorithms</title>
<link>/entries/Relational_Minimum_Spanning_Trees.html</link>
<pubDate>Tue, 08 Dec 2020 00:00:00 +0000</pubDate>
<guid>/entries/Relational_Minimum_Spanning_Trees.html</guid>
<description></description>
</item>
<item>
<title>Isabelle Marries Dirac: a Library for Quantum Computation and Quantum Information</title>
<link>/entries/Isabelle_Marries_Dirac.html</link>
<pubDate>Sun, 22 Nov 2020 00:00:00 +0000</pubDate>
<guid>/entries/Isabelle_Marries_Dirac.html</guid>
<description></description>
</item>
<item>
<title>Practical Algebraic Calculus Checker</title>
<link>/entries/PAC_Checker.html</link>
<pubDate>Mon, 31 Aug 2020 00:00:00 +0000</pubDate>
<guid>/entries/PAC_Checker.html</guid>
<description></description>
</item>
<item>
<title>A Formal Proof of The Chandy--Lamport Distributed Snapshot Algorithm</title>
<link>/entries/Chandy_Lamport.html</link>
<pubDate>Tue, 21 Jul 2020 00:00:00 +0000</pubDate>
<guid>/entries/Chandy_Lamport.html</guid>
<description></description>
</item>
<item>
<title>A Formally Verified Checker of the Safe Distance Traffic Rules for Autonomous Vehicles</title>
<link>/entries/Safe_Distance.html</link>
<pubDate>Mon, 01 Jun 2020 00:00:00 +0000</pubDate>
<guid>/entries/Safe_Distance.html</guid>
<description></description>
</item>
<item>
<title>A verified algorithm for computing the Smith normal form of a matrix</title>
<link>/entries/Smith_Normal_Form.html</link>
<pubDate>Sat, 23 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Smith_Normal_Form.html</guid>
<description></description>
</item>
<item>
<title>Formalization of an Algorithm for Greedily Computing Associative Aggregations on Sliding Windows</title>
<link>/entries/Sliding_Window_Algorithm.html</link>
<pubDate>Fri, 10 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Sliding_Window_Algorithm.html</guid>
<description></description>
</item>
<item>
<title>Formalization of an Optimized Monitoring Algorithm for Metric First-Order Dynamic Logic with Aggregations</title>
<link>/entries/MFODL_Monitor_Optimized.html</link>
<pubDate>Thu, 09 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/MFODL_Monitor_Optimized.html</guid>
<description></description>
</item>
<item>
<title>Strong Eventual Consistency of the Collaborative Editing Framework WOOT</title>
<link>/entries/WOOT_Strong_Eventual_Consistency.html</link>
<pubDate>Wed, 25 Mar 2020 00:00:00 +0000</pubDate>
<guid>/entries/WOOT_Strong_Eventual_Consistency.html</guid>
<description></description>
</item>
<item>
<title>Verified Approximation Algorithms</title>
<link>/entries/Approximation_Algorithms.html</link>
<pubDate>Thu, 16 Jan 2020 00:00:00 +0000</pubDate>
<guid>/entries/Approximation_Algorithms.html</guid>
<description></description>
</item>
<item>
<title>Closest Pair of Points Algorithms</title>
<link>/entries/Closest_Pair_Points.html</link>
<pubDate>Mon, 13 Jan 2020 00:00:00 +0000</pubDate>
<guid>/entries/Closest_Pair_Points.html</guid>
<description></description>
</item>
<item>
<title>An Efficient Generalization of Counting Sort for Large, possibly Infinite Key Ranges</title>
<link>/entries/Generalized_Counting_Sort.html</link>
<pubDate>Wed, 04 Dec 2019 00:00:00 +0000</pubDate>
<guid>/entries/Generalized_Counting_Sort.html</guid>
<description></description>
</item>
<item>
<title>VerifyThis 2019 -- Polished Isabelle Solutions</title>
<link>/entries/VerifyThis2019.html</link>
<pubDate>Wed, 16 Oct 2019 00:00:00 +0000</pubDate>
<guid>/entries/VerifyThis2019.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Multiway-Join Algorithms</title>
<link>/entries/Generic_Join.html</link>
<pubDate>Mon, 16 Sep 2019 00:00:00 +0000</pubDate>
<guid>/entries/Generic_Join.html</guid>
<description></description>
</item>
<item>
<title>Formalisation of an Adaptive State Counting Algorithm</title>
<link>/entries/Adaptive_State_Counting.html</link>
<pubDate>Fri, 16 Aug 2019 00:00:00 +0000</pubDate>
<guid>/entries/Adaptive_State_Counting.html</guid>
<description></description>
</item>
<item>
<title>Stellar Quorum Systems</title>
<link>/entries/Stellar_Quorums.html</link>
<pubDate>Thu, 01 Aug 2019 00:00:00 +0000</pubDate>
<guid>/entries/Stellar_Quorums.html</guid>
<description></description>
</item>
<item>
<title>Formalization of a Monitoring Algorithm for Metric First-Order Temporal Logic</title>
<link>/entries/MFOTL_Monitor.html</link>
<pubDate>Thu, 04 Jul 2019 00:00:00 +0000</pubDate>
<guid>/entries/MFOTL_Monitor.html</guid>
<description></description>
</item>
<item>
<title>Purely Functional, Simple, and Efficient Implementation of Prim and Dijkstra</title>
<link>/entries/Prim_Dijkstra_Simple.html</link>
<pubDate>Tue, 25 Jun 2019 00:00:00 +0000</pubDate>
<guid>/entries/Prim_Dijkstra_Simple.html</guid>
<description></description>
</item>
<item>
<title>Binary Heaps for IMP2</title>
<link>/entries/IMP2_Binary_Heap.html</link>
<pubDate>Thu, 13 Jun 2019 00:00:00 +0000</pubDate>
<guid>/entries/IMP2_Binary_Heap.html</guid>
<description></description>
</item>
<item>
<title>Kruskal&#39;s Algorithm for Minimum Spanning Forest</title>
<link>/entries/Kruskal.html</link>
<pubDate>Thu, 14 Feb 2019 00:00:00 +0000</pubDate>
<guid>/entries/Kruskal.html</guid>
<description></description>
</item>
<item>
<title>The Inversions of a List</title>
<link>/entries/List_Inversions.html</link>
<pubDate>Fri, 01 Feb 2019 00:00:00 +0000</pubDate>
<guid>/entries/List_Inversions.html</guid>
<description></description>
</item>
<item>
<title>IMP2 – Simple Program Verification in Isabelle/HOL</title>
<link>/entries/IMP2.html</link>
<pubDate>Tue, 15 Jan 2019 00:00:00 +0000</pubDate>
<guid>/entries/IMP2.html</guid>
<description></description>
</item>
<item>
<title>Verifying Imperative Programs using Auto2</title>
<link>/entries/Auto2_Imperative_HOL.html</link>
<pubDate>Fri, 21 Dec 2018 00:00:00 +0000</pubDate>
<guid>/entries/Auto2_Imperative_HOL.html</guid>
<description></description>
</item>
<item>
<title>Signature-Based Gröbner Basis Algorithms</title>
<link>/entries/Signature_Groebner.html</link>
<pubDate>Thu, 20 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Signature_Groebner.html</guid>
<description></description>
</item>
<item>
<title>An Incremental Simplex Algorithm with Unsatisfiable Core Generation</title>
<link>/entries/Simplex.html</link>
<pubDate>Fri, 24 Aug 2018 00:00:00 +0000</pubDate>
<guid>/entries/Simplex.html</guid>
<description></description>
</item>
<item>
<title>Optimal Binary Search Trees</title>
<link>/entries/Optimal_BST.html</link>
<pubDate>Sun, 27 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/Optimal_BST.html</guid>
<description></description>
</item>
<item>
<title>Hidden Markov Models</title>
<link>/entries/Hidden_Markov_Models.html</link>
<pubDate>Fri, 25 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/Hidden_Markov_Models.html</guid>
<description></description>
</item>
<item>
<title>Monadification, Memoization and Dynamic Programming</title>
<link>/entries/Monad_Memo_DP.html</link>
<pubDate>Tue, 22 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/Monad_Memo_DP.html</guid>
<description></description>
</item>
<item>
<title>OpSets: Sequential Specifications for Replicated Datatypes</title>
<link>/entries/OpSets.html</link>
<pubDate>Thu, 10 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/OpSets.html</guid>
<description></description>
</item>
<item>
<title>VerifyThis 2018 - Polished Isabelle Solutions</title>
<link>/entries/VerifyThis2018.html</link>
<pubDate>Fri, 27 Apr 2018 00:00:00 +0000</pubDate>
<guid>/entries/VerifyThis2018.html</guid>
<description></description>
</item>
<item>
<title>First-Order Terms</title>
<link>/entries/First_Order_Terms.html</link>
<pubDate>Tue, 06 Feb 2018 00:00:00 +0000</pubDate>
<guid>/entries/First_Order_Terms.html</guid>
<description></description>
</item>
<item>
<title>A verified LLL algorithm</title>
<link>/entries/LLL_Basis_Reduction.html</link>
<pubDate>Fri, 02 Feb 2018 00:00:00 +0000</pubDate>
<guid>/entries/LLL_Basis_Reduction.html</guid>
<description></description>
</item>
<item>
<title>Taylor Models</title>
<link>/entries/Taylor_Models.html</link>
<pubDate>Mon, 08 Jan 2018 00:00:00 +0000</pubDate>
<guid>/entries/Taylor_Models.html</guid>
<description></description>
</item>
<item>
<title>The Median-of-Medians Selection Algorithm</title>
<link>/entries/Median_Of_Medians_Selection.html</link>
<pubDate>Thu, 21 Dec 2017 00:00:00 +0000</pubDate>
<guid>/entries/Median_Of_Medians_Selection.html</guid>
<description></description>
</item>
<item>
<title>The string search algorithm by Knuth, Morris and Pratt</title>
<link>/entries/Knuth_Morris_Pratt.html</link>
<pubDate>Mon, 18 Dec 2017 00:00:00 +0000</pubDate>
<guid>/entries/Knuth_Morris_Pratt.html</guid>
<description></description>
</item>
<item>
<title>The IMAP CmRDT</title>
<link>/entries/IMAP-CRDT.html</link>
<pubDate>Thu, 09 Nov 2017 00:00:00 +0000</pubDate>
<guid>/entries/IMAP-CRDT.html</guid>
<description></description>
</item>
<item>
<title>Homogeneous Linear Diophantine Equations</title>
<link>/entries/Diophantine_Eqns_Lin_Hom.html</link>
<pubDate>Sat, 14 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Diophantine_Eqns_Lin_Hom.html</guid>
<description></description>
</item>
<item>
<title>A framework for establishing Strong Eventual Consistency for Conflict-free Replicated Datatypes</title>
<link>/entries/CRDT.html</link>
<pubDate>Fri, 07 Jul 2017 00:00:00 +0000</pubDate>
<guid>/entries/CRDT.html</guid>
<description></description>
</item>
<item>
<title>Formalizing Push-Relabel Algorithms</title>
<link>/entries/Prpu_Maxflow.html</link>
<pubDate>Thu, 01 Jun 2017 00:00:00 +0000</pubDate>
<guid>/entries/Prpu_Maxflow.html</guid>
<description></description>
</item>
<item>
<title>The Floyd-Warshall Algorithm for Shortest Paths</title>
<link>/entries/Floyd_Warshall.html</link>
<pubDate>Mon, 08 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Floyd_Warshall.html</guid>
<description></description>
</item>
<item>
<title>Probabilistic while loop</title>
<link>/entries/Probabilistic_While.html</link>
<pubDate>Fri, 05 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Probabilistic_While.html</guid>
<description></description>
</item>
<item>
<title>Lower bound on comparison-based sorting algorithms</title>
<link>/entries/Comparison_Sort_Lower_Bound.html</link>
<pubDate>Wed, 15 Mar 2017 00:00:00 +0000</pubDate>
<guid>/entries/Comparison_Sort_Lower_Bound.html</guid>
<description></description>
</item>
<item>
<title>The number of comparisons in QuickSort</title>
<link>/entries/Quick_Sort_Cost.html</link>
<pubDate>Wed, 15 Mar 2017 00:00:00 +0000</pubDate>
<guid>/entries/Quick_Sort_Cost.html</guid>
<description></description>
</item>
<item>
<title>Fisher–Yates shuffle</title>
<link>/entries/Fisher_Yates.html</link>
<pubDate>Fri, 30 Sep 2016 00:00:00 +0000</pubDate>
<guid>/entries/Fisher_Yates.html</guid>
<description></description>
</item>
<item>
<title>Formalizing the Edmonds-Karp Algorithm</title>
<link>/entries/EdmondsKarp_Maxflow.html</link>
<pubDate>Fri, 12 Aug 2016 00:00:00 +0000</pubDate>
<guid>/entries/EdmondsKarp_Maxflow.html</guid>
<description></description>
</item>
<item>
<title>A Framework for Verifying Depth-First Search Algorithms</title>
<link>/entries/DFS_Framework.html</link>
<pubDate>Tue, 05 Jul 2016 00:00:00 +0000</pubDate>
<guid>/entries/DFS_Framework.html</guid>
<description></description>
</item>
<item>
<title>Gröbner Bases Theory</title>
<link>/entries/Groebner_Bases.html</link>
<pubDate>Mon, 02 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Groebner_Bases.html</guid>
<description></description>
</item>
<item>
<title>A formalisation of the Cocke-Younger-Kasami algorithm</title>
<link>/entries/CYK.html</link>
<pubDate>Wed, 27 Apr 2016 00:00:00 +0000</pubDate>
<guid>/entries/CYK.html</guid>
<description></description>
</item>
<item>
<title>Algorithms for Reduced Ordered Binary Decision Diagrams</title>
<link>/entries/ROBDD.html</link>
<pubDate>Wed, 27 Apr 2016 00:00:00 +0000</pubDate>
<guid>/entries/ROBDD.html</guid>
<description></description>
</item>
<item>
<title>Analysis of List Update Algorithms</title>
<link>/entries/List_Update.html</link>
<pubDate>Wed, 17 Feb 2016 00:00:00 +0000</pubDate>
<guid>/entries/List_Update.html</guid>
<description></description>
</item>
<item>
<title>The Tortoise and Hare Algorithm</title>
<link>/entries/TortoiseHare.html</link>
<pubDate>Wed, 18 Nov 2015 00:00:00 +0000</pubDate>
<guid>/entries/TortoiseHare.html</guid>
<description></description>
</item>
<item>
<title>Hermite Normal Form</title>
<link>/entries/Hermite.html</link>
<pubDate>Tue, 07 Jul 2015 00:00:00 +0000</pubDate>
<guid>/entries/Hermite.html</guid>
<description></description>
</item>
<item>
<title>Relaxing Safely: Verified On-the-Fly Garbage Collection for x86-TSO</title>
<link>/entries/ConcurrentGC.html</link>
<pubDate>Mon, 13 Apr 2015 00:00:00 +0000</pubDate>
<guid>/entries/ConcurrentGC.html</guid>
<description></description>
</item>
<item>
<title>Consensus Refined</title>
<link>/entries/Consensus_Refined.html</link>
<pubDate>Wed, 18 Mar 2015 00:00:00 +0000</pubDate>
<guid>/entries/Consensus_Refined.html</guid>
<description></description>
</item>
<item>
<title>Echelon Form</title>
<link>/entries/Echelon_Form.html</link>
<pubDate>Thu, 12 Feb 2015 00:00:00 +0000</pubDate>
<guid>/entries/Echelon_Form.html</guid>
<description></description>
</item>
<item>
<title>QR Decomposition</title>
<link>/entries/QR_Decomposition.html</link>
<pubDate>Thu, 12 Feb 2015 00:00:00 +0000</pubDate>
<guid>/entries/QR_Decomposition.html</guid>
<description></description>
</item>
<item>
<title>Verification of the UpDown Scheme</title>
<link>/entries/UpDown_Scheme.html</link>
<pubDate>Wed, 28 Jan 2015 00:00:00 +0000</pubDate>
<guid>/entries/UpDown_Scheme.html</guid>
<description></description>
</item>
<item>
<title>Imperative Insertion Sort</title>
<link>/entries/Imperative_Insertion_Sort.html</link>
<pubDate>Thu, 25 Sep 2014 00:00:00 +0000</pubDate>
<guid>/entries/Imperative_Insertion_Sort.html</guid>
<description></description>
</item>
<item>
<title>Gauss-Jordan Algorithm and Its Applications</title>
<link>/entries/Gauss_Jordan.html</link>
<pubDate>Wed, 03 Sep 2014 00:00:00 +0000</pubDate>
<guid>/entries/Gauss_Jordan.html</guid>
<description></description>
</item>
<item>
<title>Boolean Expression Checkers</title>
<link>/entries/Boolean_Expression_Checkers.html</link>
<pubDate>Sun, 08 Jun 2014 00:00:00 +0000</pubDate>
<guid>/entries/Boolean_Expression_Checkers.html</guid>
<description></description>
</item>
<item>
<title>Verified Efficient Implementation of Gabow&#39;s Strongly Connected Components Algorithm</title>
<link>/entries/Gabow_SCC.html</link>
<pubDate>Wed, 28 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/Gabow_SCC.html</guid>
<description></description>
</item>
<item>
<title>Transitive closure according to Roy-Floyd-Warshall</title>
<link>/entries/Roy_Floyd_Warshall.html</link>
<pubDate>Fri, 23 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/Roy_Floyd_Warshall.html</guid>
<description></description>
</item>
<item>
<title>Verification of Selection and Heap Sort Using Locales</title>
<link>/entries/Selection_Heap_Sort.html</link>
<pubDate>Tue, 11 Feb 2014 00:00:00 +0000</pubDate>
<guid>/entries/Selection_Heap_Sort.html</guid>
<description></description>
</item>
<item>
<title>Verifying Fault-Tolerant Distributed Algorithms in the Heard-Of Model</title>
<link>/entries/Heard_Of.html</link>
<pubDate>Fri, 27 Jul 2012 00:00:00 +0000</pubDate>
<guid>/entries/Heard_Of.html</guid>
<description></description>
</item>
<item>
<title>Abortable Linearizable Modules</title>
<link>/entries/Abortable_Linearizable_Modules.html</link>
<pubDate>Thu, 01 Mar 2012 00:00:00 +0000</pubDate>
<guid>/entries/Abortable_Linearizable_Modules.html</guid>
<description></description>
</item>
<item>
<title>Executable Transitive Closures</title>
<link>/entries/Transitive-Closure-II.html</link>
<pubDate>Wed, 29 Feb 2012 00:00:00 +0000</pubDate>
<guid>/entries/Transitive-Closure-II.html</guid>
<description></description>
</item>
<item>
<title>Dijkstra&#39;s Shortest Path Algorithm</title>
<link>/entries/Dijkstra_Shortest_Path.html</link>
<pubDate>Mon, 30 Jan 2012 00:00:00 +0000</pubDate>
<guid>/entries/Dijkstra_Shortest_Path.html</guid>
<description></description>
</item>
<item>
<title>Efficient Mergesort</title>
<link>/entries/Efficient-Mergesort.html</link>
<pubDate>Wed, 09 Nov 2011 00:00:00 +0000</pubDate>
<guid>/entries/Efficient-Mergesort.html</guid>
<description></description>
</item>
<item>
<title>Gauss-Jordan Elimination for Matrices Represented as Functions</title>
<link>/entries/Gauss-Jordan-Elim-Fun.html</link>
<pubDate>Fri, 19 Aug 2011 00:00:00 +0000</pubDate>
<guid>/entries/Gauss-Jordan-Elim-Fun.html</guid>
<description></description>
</item>
<item>
<title>Executable Transitive Closures of Finite Relations</title>
<link>/entries/Transitive-Closure.html</link>
<pubDate>Mon, 14 Mar 2011 00:00:00 +0000</pubDate>
<guid>/entries/Transitive-Closure.html</guid>
<description></description>
</item>
<item>
<title>Executable Multivariate Polynomials</title>
<link>/entries/Polynomials.html</link>
<pubDate>Tue, 10 Aug 2010 00:00:00 +0000</pubDate>
<guid>/entries/Polynomials.html</guid>
<description></description>
</item>
<item>
<title>Verification of the Deutsch-Schorr-Waite Graph Marking Algorithm using Data Refinement</title>
<link>/entries/GraphMarkingIBP.html</link>
<pubDate>Fri, 28 May 2010 00:00:00 +0000</pubDate>
<guid>/entries/GraphMarkingIBP.html</guid>
<description></description>
</item>
<item>
<title>Formal Verification of Modern SAT Solvers</title>
<link>/entries/SATSolverVerification.html</link>
<pubDate>Wed, 23 Jul 2008 00:00:00 +0000</pubDate>
<guid>/entries/SATSolverVerification.html</guid>
<description></description>
</item>
<item>
<title>Much Ado About Two</title>
<link>/entries/MuchAdoAboutTwo.html</link>
<pubDate>Tue, 06 Nov 2007 00:00:00 +0000</pubDate>
<guid>/entries/MuchAdoAboutTwo.html</guid>
<description></description>
</item>
<item>
<title>Instances of Schneider&#39;s generalized protocol of clock synchronization</title>
<link>/entries/ClockSynchInst.html</link>
<pubDate>Wed, 15 Mar 2006 00:00:00 +0000</pubDate>
<guid>/entries/ClockSynchInst.html</guid>
<description></description>
</item>
<item>
<title>Fast Fourier Transform</title>
<link>/entries/FFT.html</link>
<pubDate>Wed, 12 Oct 2005 00:00:00 +0000</pubDate>
<guid>/entries/FFT.html</guid>
<description></description>
</item>
<item>
<title>Formalization of a Generalized Protocol for Clock Synchronization</title>
<link>/entries/GenClock.html</link>
<pubDate>Fri, 24 Jun 2005 00:00:00 +0000</pubDate>
<guid>/entries/GenClock.html</guid>
<description></description>
</item>
<item>
<title>Proving the Correctness of Disk Paxos</title>
<link>/entries/DiskPaxos.html</link>
<pubDate>Wed, 22 Jun 2005 00:00:00 +0000</pubDate>
<guid>/entries/DiskPaxos.html</guid>
<description></description>
</item>
<item>
<title>Depth First Search</title>
<link>/entries/Depth-First-Search.html</link>
<pubDate>Thu, 24 Jun 2004 00:00:00 +0000</pubDate>
<guid>/entries/Depth-First-Search.html</guid>
<description></description>
</item>
</channel>
</rss>
diff --git a/web/topics/computer-science/algorithms/mathematical/index.html b/web/topics/computer-science/algorithms/mathematical/index.html
--- a/web/topics/computer-science/algorithms/mathematical/index.html
+++ b/web/topics/computer-science/algorithms/mathematical/index.html
@@ -1,238 +1,245 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Computer science/Algorithms/Mathematical - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../../../topics/computer-science/algorithms/mathematical/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="Computer science/Algorithms/Mathematical" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/topics/computer-science/algorithms/mathematical/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Computer science/Algorithms/Mathematical"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../../../css/front.min.css">
<link rel="icon" href="../../../../images/favicon.ico" type="image/icon"><script src="../../../../js/obfuscate.js"></script>
<script src="../../../../js/flexsearch.bundle.js"></script>
<script src="../../../../js/scroll-spy.js"></script>
<script src="../../../../js/theory.js"></script>
<script src="../../../../js/util.js"></script><script src="../../../../js/header-search.js"></script><script src="../../../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../../../images/menu.svg" alt="Menu" />
</label>
<a href="../../../../" class='logo-link'>
<img src="../../../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../../../search"><img src="../../../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../../../" class='logo-link'>
<img src="../../../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../../../"><li >Home</li></a>
<a href="../../../../topics/"><li >Topics</li></a>
<a href="../../../../download/"><li >Download</li></a>
<a href="../../../../help/"><li >Help</li></a>
<a href="../../../../submission/"><li >Submission</li></a>
<a href="../../../../statistics/"><li >Statistics</li></a>
<a href="../../../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>omputer <span class='first'>S</span>cience/<span class='first'>A</span>lgorithms/<span class='first'>M</span>athematical</h1>
<div>
</div>
</header><div><h2 class="head">2022</h2><article class="entry">
<div class="item-text">
+ <h5><a class="title" href="../../../../entries/Number_Theoretic_Transform.html">Number Theoretic Transform</a></h5> <br>by <a href="../../../../authors/ammer">Thomas Ammer</a> and <a href="../../../../authors/kreuzer">Katharina Kreuzer</a></div>
+ <span class="date">
+ Aug 18
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
<h5><a class="title" href="../../../../entries/Equivalence_Relation_Enumeration.html">Enumeration of Equivalence Relations</a></h5> <br>by <a href="../../../../authors/karayel">Emin Karayel</a></div>
<span class="date">
Feb 04
</span>
</article>
<h2 class="head">2021</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../../entries/Virtual_Substitution.html">Verified Quadratic Virtual Substitution for Real Arithmetic</a></h5> <br>by <a href="../../../../authors/scharager">Matias Scharager</a>, <a href="../../../../authors/cordwell">Katherine Cordwell</a>, <a href="../../../../authors/mitsch">Stefan Mitsch</a> and <a href="../../../../authors/platzer">André Platzer</a></div>
<span class="date">
Oct 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../../entries/BenOr_Kozen_Reif.html">The BKR Decision Procedure for Univariate Real Arithmetic</a></h5> <br>by <a href="../../../../authors/cordwell">Katherine Cordwell</a>, <a href="../../../../authors/tan">Yong Kiam Tan</a> and <a href="../../../../authors/platzer">André Platzer</a></div>
<span class="date">
Apr 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../../entries/Modular_arithmetic_LLL_and_HNF_algorithms.html">Two algorithms based on modular arithmetic: lattice basis reduction and Hermite normal form computation</a></h5> <br>by <a href="../../../../authors/bottesch">Ralph Bottesch</a>, <a href="../../../../authors/divason">Jose Divasón</a> and <a href="../../../../authors/thiemann">René Thiemann</a></div>
<span class="date">
Mar 12
</span>
</article>
<h2 class="head">2020</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../../entries/Safe_Distance.html">A Formally Verified Checker of the Safe Distance Traffic Rules for Autonomous Vehicles</a></h5> <br>by <a href="../../../../authors/rizaldi">Albert Rizaldi</a> and <a href="../../../../authors/immler">Fabian Immler</a></div>
<span class="date">
Jun 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../../entries/Smith_Normal_Form.html">A verified algorithm for computing the Smith normal form of a matrix</a></h5> <br>by <a href="../../../../authors/divason">Jose Divasón</a></div>
<span class="date">
May 23
</span>
</article>
<h2 class="head">2018</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../../entries/Signature_Groebner.html">Signature-Based Gröbner Basis Algorithms</a></h5> <br>by <a href="../../../../authors/maletzky">Alexander Maletzky</a></div>
<span class="date">
Sep 20
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../../entries/LLL_Basis_Reduction.html">A verified LLL algorithm</a></h5> <br>by <a href="../../../../authors/bottesch">Ralph Bottesch</a>, <a href="../../../../authors/divason">Jose Divasón</a>, <a href="../../../../authors/haslbeck">Max W. Haslbeck</a>, <a href="../../../../authors/joosten">Sebastiaan J. C. Joosten</a>, <a href="../../../../authors/thiemann">René Thiemann</a> and <a href="../../../../authors/yamada">Akihisa Yamada</a></div>
<span class="date">
Feb 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../../entries/Taylor_Models.html">Taylor Models</a></h5> <br>by <a href="../../../../authors/traut">Christoph Traut</a> and <a href="../../../../authors/immler">Fabian Immler</a></div>
<span class="date">
Jan 08
</span>
</article>
<h2 class="head">2017</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../../entries/Diophantine_Eqns_Lin_Hom.html">Homogeneous Linear Diophantine Equations</a></h5> <br>by <a href="../../../../authors/messner">Florian Messner</a>, <a href="../../../../authors/parsert">Julian Parsert</a>, <a href="../../../../authors/schoepf">Jonas Schöpf</a> and <a href="../../../../authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Oct 14
</span>
</article>
<h2 class="head">2016</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../../entries/Groebner_Bases.html">Gröbner Bases Theory</a></h5> <br>by <a href="../../../../authors/immler">Fabian Immler</a> and <a href="../../../../authors/maletzky">Alexander Maletzky</a></div>
<span class="date">
May 02
</span>
</article>
<h2 class="head">2015</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../../entries/Hermite.html">Hermite Normal Form</a></h5> <br>by <a href="../../../../authors/divason">Jose Divasón</a> and <a href="../../../../authors/aransay">Jesús Aransay</a></div>
<span class="date">
Jul 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../../entries/QR_Decomposition.html">QR Decomposition</a></h5> <br>by <a href="../../../../authors/divason">Jose Divasón</a> and <a href="../../../../authors/aransay">Jesús Aransay</a></div>
<span class="date">
Feb 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../../entries/Echelon_Form.html">Echelon Form</a></h5> <br>by <a href="../../../../authors/divason">Jose Divasón</a> and <a href="../../../../authors/aransay">Jesús Aransay</a></div>
<span class="date">
Feb 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../../entries/UpDown_Scheme.html">Verification of the UpDown Scheme</a></h5> <br>by <a href="../../../../authors/hoelzl">Johannes Hölzl</a></div>
<span class="date">
Jan 28
</span>
</article>
<h2 class="head">2014</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../../entries/Gauss_Jordan.html">Gauss-Jordan Algorithm and Its Applications</a></h5> <br>by <a href="../../../../authors/divason">Jose Divasón</a> and <a href="../../../../authors/aransay">Jesús Aransay</a></div>
<span class="date">
Sep 03
</span>
</article>
<h2 class="head">2011</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../../entries/Gauss-Jordan-Elim-Fun.html">Gauss-Jordan Elimination for Matrices Represented as Functions</a></h5> <br>by <a href="../../../../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Aug 19
</span>
</article>
<h2 class="head">2010</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../../entries/Polynomials.html">Executable Multivariate Polynomials</a></h5> <br>by <a href="../../../../authors/sternagel">Christian Sternagel</a>, <a href="../../../../authors/thiemann">René Thiemann</a>, <a href="../../../../authors/maletzky">Alexander Maletzky</a>, <a href="../../../../authors/immler">Fabian Immler</a>, <a href="../../../../authors/haftmann">Florian Haftmann</a>, <a href="../../../../authors/lochbihler">Andreas Lochbihler</a> and <a href="../../../../authors/bentkamp">Alexander Bentkamp</a></div>
<span class="date">
Aug 10
</span>
</article>
<h2 class="head">2005</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../../entries/FFT.html">Fast Fourier Transform</a></h5> <br>by <a href="../../../../authors/ballarin">Clemens Ballarin</a></div>
<span class="date">
Oct 12
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/topics/computer-science/algorithms/mathematical/index.xml b/web/topics/computer-science/algorithms/mathematical/index.xml
--- a/web/topics/computer-science/algorithms/mathematical/index.xml
+++ b/web/topics/computer-science/algorithms/mathematical/index.xml
@@ -1,181 +1,190 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Computer science/Algorithms/Mathematical on Archive of Formal Proofs</title>
<link>/topics/computer-science/algorithms/mathematical/</link>
<description>Recent content in Computer science/Algorithms/Mathematical on Archive of Formal Proofs</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-gb</language><atom:link href="/topics/computer-science/algorithms/mathematical/index.xml" rel="self" type="application/rss+xml" />
<item>
+ <title>Number Theoretic Transform</title>
+ <link>/entries/Number_Theoretic_Transform.html</link>
+ <pubDate>Thu, 18 Aug 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Number_Theoretic_Transform.html</guid>
+ <description></description>
+ </item>
+
+ <item>
<title>Enumeration of Equivalence Relations</title>
<link>/entries/Equivalence_Relation_Enumeration.html</link>
<pubDate>Fri, 04 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/Equivalence_Relation_Enumeration.html</guid>
<description></description>
</item>
<item>
<title>Verified Quadratic Virtual Substitution for Real Arithmetic</title>
<link>/entries/Virtual_Substitution.html</link>
<pubDate>Sat, 02 Oct 2021 00:00:00 +0000</pubDate>
<guid>/entries/Virtual_Substitution.html</guid>
<description></description>
</item>
<item>
<title>The BKR Decision Procedure for Univariate Real Arithmetic</title>
<link>/entries/BenOr_Kozen_Reif.html</link>
<pubDate>Sat, 24 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/BenOr_Kozen_Reif.html</guid>
<description></description>
</item>
<item>
<title>Two algorithms based on modular arithmetic: lattice basis reduction and Hermite normal form computation</title>
<link>/entries/Modular_arithmetic_LLL_and_HNF_algorithms.html</link>
<pubDate>Fri, 12 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Modular_arithmetic_LLL_and_HNF_algorithms.html</guid>
<description></description>
</item>
<item>
<title>A Formally Verified Checker of the Safe Distance Traffic Rules for Autonomous Vehicles</title>
<link>/entries/Safe_Distance.html</link>
<pubDate>Mon, 01 Jun 2020 00:00:00 +0000</pubDate>
<guid>/entries/Safe_Distance.html</guid>
<description></description>
</item>
<item>
<title>A verified algorithm for computing the Smith normal form of a matrix</title>
<link>/entries/Smith_Normal_Form.html</link>
<pubDate>Sat, 23 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Smith_Normal_Form.html</guid>
<description></description>
</item>
<item>
<title>Signature-Based Gröbner Basis Algorithms</title>
<link>/entries/Signature_Groebner.html</link>
<pubDate>Thu, 20 Sep 2018 00:00:00 +0000</pubDate>
<guid>/entries/Signature_Groebner.html</guid>
<description></description>
</item>
<item>
<title>A verified LLL algorithm</title>
<link>/entries/LLL_Basis_Reduction.html</link>
<pubDate>Fri, 02 Feb 2018 00:00:00 +0000</pubDate>
<guid>/entries/LLL_Basis_Reduction.html</guid>
<description></description>
</item>
<item>
<title>Taylor Models</title>
<link>/entries/Taylor_Models.html</link>
<pubDate>Mon, 08 Jan 2018 00:00:00 +0000</pubDate>
<guid>/entries/Taylor_Models.html</guid>
<description></description>
</item>
<item>
<title>Homogeneous Linear Diophantine Equations</title>
<link>/entries/Diophantine_Eqns_Lin_Hom.html</link>
<pubDate>Sat, 14 Oct 2017 00:00:00 +0000</pubDate>
<guid>/entries/Diophantine_Eqns_Lin_Hom.html</guid>
<description></description>
</item>
<item>
<title>Gröbner Bases Theory</title>
<link>/entries/Groebner_Bases.html</link>
<pubDate>Mon, 02 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Groebner_Bases.html</guid>
<description></description>
</item>
<item>
<title>Hermite Normal Form</title>
<link>/entries/Hermite.html</link>
<pubDate>Tue, 07 Jul 2015 00:00:00 +0000</pubDate>
<guid>/entries/Hermite.html</guid>
<description></description>
</item>
<item>
<title>Echelon Form</title>
<link>/entries/Echelon_Form.html</link>
<pubDate>Thu, 12 Feb 2015 00:00:00 +0000</pubDate>
<guid>/entries/Echelon_Form.html</guid>
<description></description>
</item>
<item>
<title>QR Decomposition</title>
<link>/entries/QR_Decomposition.html</link>
<pubDate>Thu, 12 Feb 2015 00:00:00 +0000</pubDate>
<guid>/entries/QR_Decomposition.html</guid>
<description></description>
</item>
<item>
<title>Verification of the UpDown Scheme</title>
<link>/entries/UpDown_Scheme.html</link>
<pubDate>Wed, 28 Jan 2015 00:00:00 +0000</pubDate>
<guid>/entries/UpDown_Scheme.html</guid>
<description></description>
</item>
<item>
<title>Gauss-Jordan Algorithm and Its Applications</title>
<link>/entries/Gauss_Jordan.html</link>
<pubDate>Wed, 03 Sep 2014 00:00:00 +0000</pubDate>
<guid>/entries/Gauss_Jordan.html</guid>
<description></description>
</item>
<item>
<title>Gauss-Jordan Elimination for Matrices Represented as Functions</title>
<link>/entries/Gauss-Jordan-Elim-Fun.html</link>
<pubDate>Fri, 19 Aug 2011 00:00:00 +0000</pubDate>
<guid>/entries/Gauss-Jordan-Elim-Fun.html</guid>
<description></description>
</item>
<item>
<title>Executable Multivariate Polynomials</title>
<link>/entries/Polynomials.html</link>
<pubDate>Tue, 10 Aug 2010 00:00:00 +0000</pubDate>
<guid>/entries/Polynomials.html</guid>
<description></description>
</item>
<item>
<title>Fast Fourier Transform</title>
<link>/entries/FFT.html</link>
<pubDate>Wed, 12 Oct 2005 00:00:00 +0000</pubDate>
<guid>/entries/FFT.html</guid>
<description></description>
</item>
</channel>
</rss>
diff --git a/web/topics/computer-science/automata-and-formal-languages/index.html b/web/topics/computer-science/automata-and-formal-languages/index.html
--- a/web/topics/computer-science/automata-and-formal-languages/index.html
+++ b/web/topics/computer-science/automata-and-formal-languages/index.html
@@ -1,465 +1,465 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Computer science/Automata and formal languages - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../../topics/computer-science/automata-and-formal-languages/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="Computer science/Automata and formal languages" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/topics/computer-science/automata-and-formal-languages/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Computer science/Automata and formal languages"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../../css/front.min.css">
<link rel="icon" href="../../../images/favicon.ico" type="image/icon"><script src="../../../js/obfuscate.js"></script>
<script src="../../../js/flexsearch.bundle.js"></script>
<script src="../../../js/scroll-spy.js"></script>
<script src="../../../js/theory.js"></script>
<script src="../../../js/util.js"></script><script src="../../../js/header-search.js"></script><script src="../../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../../images/menu.svg" alt="Menu" />
</label>
<a href="../../../" class='logo-link'>
<img src="../../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../../search"><img src="../../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../../" class='logo-link'>
<img src="../../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../../"><li >Home</li></a>
<a href="../../../topics/"><li >Topics</li></a>
<a href="../../../download/"><li >Download</li></a>
<a href="../../../help/"><li >Help</li></a>
<a href="../../../submission/"><li >Submission</li></a>
<a href="../../../statistics/"><li >Statistics</li></a>
<a href="../../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>omputer <span class='first'>S</span>cience/<span class='first'>A</span>utomata and <span class='first'>F</span>ormal <span class='first'>L</span>anguages</h1>
<div>
</div>
</header><div><h2>Subject Classification</h2><h3>AMS</h3>
<a href="https://mathscinet.ams.org/mathscinet/msc/msc2020.html?t=68Q45">Computer scienece / Theory of computing / Formal languages and automata</a><h3>ACM</h3>
<a href="https://dl.acm.org/topic/ccs2012/10003752.10003766">Theory of computation~Formal languages and automata theory</a><h2 class="head">2022</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/FSM_Tests.html">Verified Complete Test Strategies for Finite State Machines</a></h5> <br>by <a href="../../../authors/sachtleben">Robert Sachtleben</a></div>
<span class="date">
Aug 09
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/ResiduatedTransitionSystem.html">Residuated Transition Systems</a></h5> <br>by <a href="../../../authors/stark">Eugene W. Stark</a></div>
<span class="date">
Feb 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/FO_Theory_Rewriting.html">First-Order Theory of Rewriting</a></h5> <br>by <a href="../../../authors/lochmann">Alexander Lochmann</a> and <a href="../../../authors/felgenhauer">Bertram Felgenhauer</a></div>
<span class="date">
Feb 02
</span>
</article>
<h2 class="head">2021</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Regular_Tree_Relations.html">Regular Tree Relations</a></h5> <br>by <a href="../../../authors/lochmann">Alexander Lochmann</a>, <a href="../../../authors/felgenhauer">Bertram Felgenhauer</a>, <a href="../../../authors/sternagel">Christian Sternagel</a>, <a href="../../../authors/thiemann">René Thiemann</a> and <a href="../../../authors/sternagelt">Thomas Sternagel</a></div>
<span class="date">
Dec 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Combinatorics_Words_Lyndon.html">Lyndon words</a></h5> <br>by <a href="../../../authors/holub">Štěpán Holub</a> and <a href="../../../authors/starosta">Štěpán Starosta</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Combinatorics_Words_Graph_Lemma.html">Graph Lemma</a></h5> <br>by <a href="../../../authors/holub">Štěpán Holub</a> and <a href="../../../authors/starosta">Štěpán Starosta</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Combinatorics_Words.html">Combinatorics on Words Basics</a></h5> <br>by <a href="../../../authors/holub">Štěpán Holub</a>, <a href="../../../authors/raska">Martin Raška</a> and <a href="../../../authors/starosta">Štěpán Starosta</a></div>
<span class="date">
May 24
</span>
</article>
<h2 class="head">2020</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Extended_Finite_State_Machine_Inference.html">Inference of Extended Finite State Machines</a></h5> <br>by <a href="../../../authors/foster">Michael Foster</a>, <a href="../../../authors/brucker">Achim D. Brucker</a>, <a href="../../../authors/taylor">Ramsay G. Taylor</a> and <a href="../../../authors/derrick">John Derrick</a></div>
<span class="date">
Sep 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Extended_Finite_State_Machines.html">A Formal Model of Extended Finite State Machines</a></h5> <br>by <a href="../../../authors/foster">Michael Foster</a>, <a href="../../../authors/brucker">Achim D. Brucker</a>, <a href="../../../authors/taylor">Ramsay G. Taylor</a> and <a href="../../../authors/derrick">John Derrick</a></div>
<span class="date">
Sep 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/LTL_Normal_Form.html">An Efficient Normalisation Procedure for Linear Temporal Logic: Isabelle/HOL Formalisation</a></h5> <br>by <a href="../../../authors/sickert">Salomon Sickert</a></div>
<span class="date">
May 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/MFODL_Monitor_Optimized.html">Formalization of an Optimized Monitoring Algorithm for Metric First-Order Dynamic Logic with Aggregations</a></h5> <br>by <a href="../../../authors/dardinier">Thibault Dardinier</a>, <a href="../../../authors/heimes">Lukas Heimes</a>, <a href="../../../authors/raszyk">Martin Raszyk</a>, <a href="../../../authors/schneider">Joshua Schneider</a> and <a href="../../../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Apr 09
</span>
</article>
<h2 class="head">2019</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Adaptive_State_Counting.html">Formalisation of an Adaptive State Counting Algorithm</a></h5> <br>by <a href="../../../authors/sachtleben">Robert Sachtleben</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/C2KA_DistributedSystems.html">Communicating Concurrent Kleene Algebra for Distributed Systems Specification</a></h5> <br>by <a href="../../../authors/buyse">Maxime Buyse</a> and <a href="../../../authors/jaskolka">Jason Jaskolka</a></div>
<span class="date">
Aug 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/MFOTL_Monitor.html">Formalization of a Monitoring Algorithm for Metric First-Order Temporal Logic</a></h5> <br>by <a href="../../../authors/schneider">Joshua Schneider</a> and <a href="../../../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Jul 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/LTL_Master_Theorem.html">A Compositional and Unified Translation of LTL into ω-Automata</a></h5> <br>by <a href="../../../authors/seidl">Benedikt Seidl</a> and <a href="../../../authors/sickert">Salomon Sickert</a></div>
<span class="date">
Apr 16
</span>
</article>
<article class="entry">
<div class="item-text">
- <h5><a class="title" href="../../../entries/Universal_Turing_Machine.html">Universal Turing Machine</a></h5> <br>by <a href="../../../authors/xu">Jian Xu</a>, <a href="../../../authors/zhangx">Xingyuan Zhang</a>, <a href="../../../authors/urban">Christian Urban</a> and <a href="../../../authors/joosten">Sebastiaan J. C. Joosten</a></div>
+ <h5><a class="title" href="../../../entries/Universal_Turing_Machine.html">Universal Turing Machine</a></h5> <br>by <a href="../../../authors/xu">Jian Xu</a>, <a href="../../../authors/zhangx">Xingyuan Zhang</a>, <a href="../../../authors/urban">Christian Urban</a>, <a href="../../../authors/joosten">Sebastiaan J. C. Joosten</a> and <a href="../../../authors/regensburger">Franz Regensburger</a></div>
<span class="date">
Feb 08
</span>
</article>
<h2 class="head">2018</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Factored_Transition_System_Bounding.html">Upper Bounding Diameters of State Spaces of Factored Transition Systems</a></h5> <br>by <a href="../../../authors/kurz">Friedrich Kurz</a> and <a href="../../../authors/abdulaziz">Mohammad Abdulaziz</a></div>
<span class="date">
Oct 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Partial_Order_Reduction.html">Partial Order Reduction</a></h5> <br>by <a href="../../../authors/brunner">Julian Brunner</a></div>
<span class="date">
Jun 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Probabilistic_Timed_Automata.html">Probabilistic Timed Automata</a></h5> <br>by <a href="../../../authors/wimmer">Simon Wimmer</a> and <a href="../../../authors/hoelzl">Johannes Hölzl</a></div>
<span class="date">
May 24
</span>
</article>
<h2 class="head">2017</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Stochastic_Matrices.html">Stochastic Matrices and the Perron-Frobenius Theorem</a></h5> <br>by <a href="../../../authors/thiemann">René Thiemann</a></div>
<span class="date">
Nov 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Transition_Systems_and_Automata.html">Transition Systems and Automata</a></h5> <br>by <a href="../../../authors/brunner">Julian Brunner</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Buchi_Complementation.html">Büchi Complementation</a></h5> <br>by <a href="../../../authors/brunner">Julian Brunner</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/LocalLexing.html">Local Lexing</a></h5> <br>by <a href="../../../authors/obua">Steven Obua</a></div>
<span class="date">
Apr 28
</span>
</article>
<h2 class="head">2016</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Posix-Lexing.html">POSIX Lexing with Derivatives of Regular Expressions</a></h5> <br>by <a href="../../../authors/ausaf">Fahad Ausaf</a>, <a href="../../../authors/dyckhoff">Roy Dyckhoff</a> and <a href="../../../authors/urban">Christian Urban</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/CYK.html">A formalisation of the Cocke-Younger-Kasami algorithm</a></h5> <br>by <a href="../../../authors/bortin">Maksym Bortin</a></div>
<span class="date">
Apr 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/KAD.html">Kleene Algebras with Domain</a></h5> <br>by <a href="../../../authors/gomes">Victor B. F. Gomes</a>, <a href="../../../authors/guttmann">Walter Guttmann</a>, <a href="../../../authors/hoefner">Peter Höfner</a>, <a href="../../../authors/struth">Georg Struth</a> and <a href="../../../authors/weber">Tjark Weber</a></div>
<span class="date">
Apr 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Timed_Automata.html">Timed Automata</a></h5> <br>by <a href="../../../authors/wimmer">Simon Wimmer</a></div>
<span class="date">
Mar 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/LTL.html">Linear Temporal Logic</a></h5> <br>by <a href="../../../authors/sickert">Salomon Sickert</a></div>
<span class="date">
Mar 01
</span>
</article>
<h2 class="head">2015</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/LTL_to_DRA.html">Converting Linear Temporal Logic to Deterministic (Generalized) Rabin Automata</a></h5> <br>by <a href="../../../authors/sickert">Salomon Sickert</a></div>
<span class="date">
Sep 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Formula_Derivatives.html">Derivatives of Logical Formulas</a></h5> <br>by <a href="../../../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Probabilistic_System_Zoo.html">A Zoo of Probabilistic Systems</a></h5> <br>by <a href="../../../authors/hoelzl">Johannes Hölzl</a>, <a href="../../../authors/lochbihler">Andreas Lochbihler</a> and <a href="../../../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
May 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Finite_Automata_HF.html">Finite Automata in Hereditarily Finite Set Theory</a></h5> <br>by <a href="../../../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Feb 05
</span>
</article>
<h2 class="head">2014</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/MSO_Regex_Equivalence.html">Decision Procedures for MSO on Words Based on Derivatives of Regular Expressions</a></h5> <br>by <a href="../../../authors/traytel">Dmitriy Traytel</a> and <a href="../../../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jun 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/CAVA_Automata.html">The CAVA Automata Library</a></h5> <br>by <a href="../../../authors/lammich">Peter Lammich</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/LTL_to_GBA.html">Converting Linear-Time Temporal Logic to Generalized Büchi Automata</a></h5> <br>by <a href="../../../authors/schimpf">Alexander Schimpf</a> and <a href="../../../authors/lammich">Peter Lammich</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/CAVA_LTL_Modelchecker.html">A Fully Verified Executable LTL Model Checker</a></h5> <br>by <a href="../../../authors/esparza">Javier Esparza</a>, <a href="../../../authors/lammich">Peter Lammich</a>, <a href="../../../authors/neumann">René Neumann</a>, <a href="../../../authors/nipkow">Tobias Nipkow</a>, <a href="../../../authors/schimpf">Alexander Schimpf</a> and <a href="../../../authors/smaus">Jan-Georg Smaus</a></div>
<span class="date">
May 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Regular_Algebras.html">Regular Algebras</a></h5> <br>by <a href="../../../authors/fosters">Simon Foster</a> and <a href="../../../authors/struth">Georg Struth</a></div>
<span class="date">
May 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Regex_Equivalence.html">Unified Decision Procedures for Regular Expression Equivalence</a></h5> <br>by <a href="../../../authors/nipkow">Tobias Nipkow</a> and <a href="../../../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Jan 30
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/KAT_and_DRA.html">Kleene Algebra with Tests and Demonic Refinement Algebras</a></h5> <br>by <a href="../../../authors/armstrong">Alasdair Armstrong</a>, <a href="../../../authors/gomes">Victor B. F. Gomes</a> and <a href="../../../authors/struth">Georg Struth</a></div>
<span class="date">
Jan 23
</span>
</article>
<h2 class="head">2013</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Coinductive_Languages.html">A Codatatype of Formal Languages</a></h5> <br>by <a href="../../../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
Nov 15
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Kleene_Algebra.html">Kleene Algebra</a></h5> <br>by <a href="../../../authors/armstrong">Alasdair Armstrong</a>, <a href="../../../authors/struth">Georg Struth</a> and <a href="../../../authors/weber">Tjark Weber</a></div>
<span class="date">
Jan 15
</span>
</article>
<h2 class="head">2012</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Stuttering_Equivalence.html">Stuttering Equivalence</a></h5> <br>by <a href="../../../authors/merz">Stephan Merz</a></div>
<span class="date">
May 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Markov_Models.html">Markov Models</a></h5> <br>by <a href="../../../authors/hoelzl">Johannes Hölzl</a> and <a href="../../../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Jan 03
</span>
</article>
<h2 class="head">2011</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Myhill-Nerode.html">The Myhill-Nerode Theorem Based on Regular Expressions</a></h5> <br>by <a href="../../../authors/wu">Chunhan Wu</a>, <a href="../../../authors/zhangx">Xingyuan Zhang</a> and <a href="../../../authors/urban">Christian Urban</a></div>
<span class="date">
Aug 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/KBPs.html">Knowledge-based programs</a></h5> <br>by <a href="../../../authors/gammie">Peter Gammie</a></div>
<span class="date">
May 17
</span>
</article>
<h2 class="head">2010</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Statecharts.html">Formalizing Statecharts using Hierarchical Automata</a></h5> <br>by <a href="../../../authors/helke">Steffen Helke</a> and <a href="../../../authors/kammueller">Florian Kammüller</a></div>
<span class="date">
Aug 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Regular-Sets.html">Regular Sets and Expressions</a></h5> <br>by <a href="../../../authors/krauss">Alexander Krauss</a> and <a href="../../../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
May 12
</span>
</article>
<h2 class="head">2009</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Presburger-Automata.html">Formalizing the Logic-Automaton Connection</a></h5> <br>by <a href="../../../authors/berghofer">Stefan Berghofer</a> and <a href="../../../authors/reiter">Markus Reiter</a></div>
<span class="date">
Dec 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Tree-Automata.html">Tree Automata</a></h5> <br>by <a href="../../../authors/lammich">Peter Lammich</a></div>
<span class="date">
Nov 25
</span>
</article>
<h2 class="head">2004</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Functional-Automata.html">Functional Automata</a></h5> <br>by <a href="../../../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Mar 30
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/topics/computer-science/security/index.html b/web/topics/computer-science/security/index.html
--- a/web/topics/computer-science/security/index.html
+++ b/web/topics/computer-science/security/index.html
@@ -1,477 +1,484 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Computer science/Security - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../../topics/computer-science/security/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="Computer science/Security" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/topics/computer-science/security/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Computer science/Security"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../../css/front.min.css">
<link rel="icon" href="../../../images/favicon.ico" type="image/icon"><script src="../../../js/obfuscate.js"></script>
<script src="../../../js/flexsearch.bundle.js"></script>
<script src="../../../js/scroll-spy.js"></script>
<script src="../../../js/theory.js"></script>
<script src="../../../js/util.js"></script><script src="../../../js/header-search.js"></script><script src="../../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../../images/menu.svg" alt="Menu" />
</label>
<a href="../../../" class='logo-link'>
<img src="../../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../../search"><img src="../../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../../" class='logo-link'>
<img src="../../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../../"><li >Home</li></a>
<a href="../../../topics/"><li >Topics</li></a>
<a href="../../../download/"><li >Download</li></a>
<a href="../../../help/"><li >Help</li></a>
<a href="../../../submission/"><li >Submission</li></a>
<a href="../../../statistics/"><li >Statistics</li></a>
<a href="../../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>C</span>omputer <span class='first'>S</span>cience/<span class='first'>S</span>ecurity</h1>
<div>
</div>
</header><div><h2>Subject Classification</h2><h3>AMS</h3>
<a href="https://mathscinet.ams.org/mathscinet/msc/msc2020.html?t=68M25">Computer science / Computer system organization / Computer security</a><h3>ACM</h3>
<a href="https://dl.acm.org/topic/ccs2012/10002978">Security and privacy</a><h2 class="head">2022</h2><article class="entry">
<div class="item-text">
+ <h5><a class="title" href="../../../entries/CRYSTALS-Kyber.html">CRYSTALS-Kyber</a></h5> <br>by <a href="../../../authors/kreuzer">Katharina Kreuzer</a></div>
+ <span class="date">
+ Sep 08
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
<h5><a class="title" href="../../../entries/IsaNet.html">IsaNet: Formalization of a Verification Framework for Secure Data Plane Protocols</a></h5> <br>by <a href="../../../authors/klenze">Tobias Klenze</a> and <a href="../../../authors/sprenger">Christoph Sprenger</a></div>
<span class="date">
Jun 08
</span>
</article>
<h2 class="head">2021</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Logging_Independent_Anonymity.html">Logging-independent Message Anonymity in the Relational Method</a></h5> <br>by <a href="../../../authors/noce">Pasquale Noce</a></div>
<span class="date">
Aug 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/CoSMeDis.html">CoSMeDis: A confidentiality-verified distributed social media platform</a></h5> <br>by <a href="../../../authors/bauereiss">Thomas Bauereiss</a> and <a href="../../../authors/popescu">Andrei Popescu</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/CoSMed.html">CoSMed: A confidentiality-verified social media platform</a></h5> <br>by <a href="../../../authors/bauereiss">Thomas Bauereiss</a> and <a href="../../../authors/popescu">Andrei Popescu</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/BD_Security_Compositional.html">Compositional BD Security</a></h5> <br>by <a href="../../../authors/bauereiss">Thomas Bauereiss</a> and <a href="../../../authors/popescu">Andrei Popescu</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/CoCon.html">CoCon: A Confidentiality-Verified Conference Management System</a></h5> <br>by <a href="../../../authors/popescu">Andrei Popescu</a>, <a href="../../../authors/lammich">Peter Lammich</a> and <a href="../../../authors/bauereiss">Thomas Bauereiss</a></div>
<span class="date">
Aug 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/IFC_Tracking.html">Information Flow Control via Dependency Tracking</a></h5> <br>by <a href="../../../authors/nordhoff">Benedikt Nordhoff</a></div>
<span class="date">
Apr 01
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Constructive_Cryptography_CM.html">Constructive Cryptography in HOL: the Communication Modeling Aspect</a></h5> <br>by <a href="../../../authors/lochbihler">Andreas Lochbihler</a> and <a href="../../../authors/sefidgar">S. Reza Sefidgar</a></div>
<span class="date">
Mar 17
</span>
</article>
<h2 class="head">2020</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Relational_Method.html">The Relational Method with Message Anonymity for the Verification of Cryptographic Protocols</a></h5> <br>by <a href="../../../authors/noce">Pasquale Noce</a></div>
<span class="date">
Dec 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Attack_Trees.html">Attack Trees in Isabelle for GDPR compliance of IoT healthcare systems</a></h5> <br>by <a href="../../../authors/kammueller">Florian Kammüller</a></div>
<span class="date">
Apr 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Stateful_Protocol_Composition_and_Typing.html">Stateful Protocol Composition and Typing</a></h5> <br>by <a href="../../../authors/hess">Andreas V. Hess</a>, <a href="../../../authors/moedersheim">Sebastian Mödersheim</a> and <a href="../../../authors/brucker">Achim D. Brucker</a></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Automated_Stateful_Protocol_Verification.html">Automated Stateful Protocol Verification</a></h5> <br>by <a href="../../../authors/hess">Andreas V. Hess</a>, <a href="../../../authors/moedersheim">Sebastian Mödersheim</a>, <a href="../../../authors/brucker">Achim D. Brucker</a> and <a href="../../../authors/schlichtkrull">Anders Schlichtkrull</a></div>
<span class="date">
Apr 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Relational-Incorrectness-Logic.html">An Under-Approximate Relational Logic</a></h5> <br>by <a href="../../../authors/murray">Toby Murray</a></div>
<span class="date">
Mar 12
</span>
</article>
<h2 class="head">2019</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Sigma_Commit_Crypto.html">Sigma Protocols and Commitment Schemes</a></h5> <br>by <a href="../../../authors/butler">David Butler</a> and <a href="../../../authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
Oct 07
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/LambdaAuth.html">Formalization of Generic Authenticated Data Structures</a></h5> <br>by <a href="../../../authors/brun">Matthias Brun</a> and <a href="../../../authors/traytel">Dmitriy Traytel</a></div>
<span class="date">
May 14
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Multi_Party_Computation.html">Multi-Party Computation</a></h5> <br>by <a href="../../../authors/aspinall">David Aspinall</a> and <a href="../../../authors/butler">David Butler</a></div>
<span class="date">
May 09
</span>
</article>
<h2 class="head">2018</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Constructive_Cryptography.html">Constructive Cryptography in HOL</a></h5> <br>by <a href="../../../authors/lochbihler">Andreas Lochbihler</a> and <a href="../../../authors/sefidgar">S. Reza Sefidgar</a></div>
<span class="date">
Dec 17
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Modular_Assembly_Kit_Security.html">An Isabelle/HOL Formalization of the Modular Assembly Kit for Security Properties</a></h5> <br>by <a href="../../../authors/bracevac">Oliver Bračevac</a>, <a href="../../../authors/gay">Richard Gay</a>, <a href="../../../authors/grewe">Sylvia Grewe</a>, <a href="../../../authors/mantel">Heiko Mantel</a>, <a href="../../../authors/sudbrock">Henning Sudbrock</a> and <a href="../../../authors/tasch">Markus Tasch</a></div>
<span class="date">
May 07
</span>
</article>
<h2 class="head">2017</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Security_Protocol_Refinement.html">Developing Security Protocols by Refinement</a></h5> <br>by <a href="../../../authors/sprenger">Christoph Sprenger</a> and <a href="../../../authors/somaini">Ivano Somaini</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Game_Based_Crypto.html">Game-based cryptography in HOL</a></h5> <br>by <a href="../../../authors/lochbihler">Andreas Lochbihler</a>, <a href="../../../authors/sefidgar">S. Reza Sefidgar</a> and <a href="../../../authors/bhatt">Bhargav Bhatt</a></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/CryptHOL.html">CryptHOL</a></h5> <br>by <a href="../../../authors/lochbihler">Andreas Lochbihler</a></div>
<span class="date">
May 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Elliptic_Curves_Group_Law.html">The Group Law for Elliptic Curves</a></h5> <br>by <a href="../../../authors/berghofer">Stefan Berghofer</a></div>
<span class="date">
Feb 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Key_Agreement_Strong_Adversaries.html">Refining Authenticated Key Agreement with Strong Adversaries</a></h5> <br>by <a href="../../../authors/lallemand">Joseph Lallemand</a> and <a href="../../../authors/sprenger">Christoph Sprenger</a></div>
<span class="date">
Jan 31
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/UPF_Firewall.html">Formal Network Models and Their Application to Firewall Policies</a></h5> <br>by <a href="../../../authors/brucker">Achim D. Brucker</a>, <a href="../../../authors/bruegger">Lukas Brügger</a> and <a href="../../../authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Jan 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Password_Authentication_Protocol.html">Verification of a Diffie-Hellman Password-based Authentication Protocol by Extending the Inductive Method</a></h5> <br>by <a href="../../../authors/noce">Pasquale Noce</a></div>
<span class="date">
Jan 03
</span>
</article>
<h2 class="head">2016</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/SPARCv8.html">A formal model for the SPARCv8 ISA and a proof of non-interference for the LEON3 processor</a></h5> <br>by <a href="../../../authors/hou">Zhe Hou</a>, <a href="../../../authors/sanan">David Sanan</a>, <a href="../../../authors/tiu">Alwen Tiu</a> and <a href="../../../authors/liuy">Yang Liu</a></div>
<span class="date">
Oct 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Dependent_SIFUM_Refinement.html">Compositional Security-Preserving Refinement for Concurrent Imperative Programs</a></h5> <br>by <a href="../../../authors/murray">Toby Murray</a>, <a href="../../../authors/sison">Robert Sison</a>, <a href="../../../authors/pierzchalski">Edward Pierzchalski</a> and <a href="../../../authors/rizkallah">Christine Rizkallah</a></div>
<span class="date">
Jun 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Dependent_SIFUM_Type_Systems.html">A Dependent Security Type System for Concurrent Imperative Programs</a></h5> <br>by <a href="../../../authors/murray">Toby Murray</a>, <a href="../../../authors/sison">Robert Sison</a>, <a href="../../../authors/pierzchalski">Edward Pierzchalski</a> and <a href="../../../authors/rizkallah">Christine Rizkallah</a></div>
<span class="date">
Jun 25
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Noninterference_Concurrent_Composition.html">Conservation of CSP Noninterference Security under Concurrent Composition</a></h5> <br>by <a href="../../../authors/noce">Pasquale Noce</a></div>
<span class="date">
Jun 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Noninterference_Sequential_Composition.html">Conservation of CSP Noninterference Security under Sequential Composition</a></h5> <br>by <a href="../../../authors/noce">Pasquale Noce</a></div>
<span class="date">
Apr 26
</span>
</article>
<h2 class="head">2015</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Noninterference_Inductive_Unwinding.html">The Inductive Unwinding Theorem for CSP Noninterference Security</a></h5> <br>by <a href="../../../authors/noce">Pasquale Noce</a></div>
<span class="date">
Aug 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Noninterference_Ipurge_Unwinding.html">The Ipurge Unwinding Theorem for CSP Noninterference Security</a></h5> <br>by <a href="../../../authors/noce">Pasquale Noce</a></div>
<span class="date">
Jun 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Noninterference_Generic_Unwinding.html">The Generic Unwinding Theorem for CSP Noninterference Security</a></h5> <br>by <a href="../../../authors/noce">Pasquale Noce</a></div>
<span class="date">
Jun 11
</span>
</article>
<h2 class="head">2014</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/UPF.html">The Unified Policy Framework (UPF)</a></h5> <br>by <a href="../../../authors/brucker">Achim D. Brucker</a>, <a href="../../../authors/bruegger">Lukas Brügger</a> and <a href="../../../authors/wolff">Burkhart Wolff</a></div>
<span class="date">
Nov 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/CISC-Kernel.html">Formal Specification of a Generic Separation Kernel</a></h5> <br>by <a href="../../../authors/verbeek">Freek Verbeek</a>, <a href="../../../authors/tverdyshev">Sergey Tverdyshev</a>, <a href="../../../authors/havle">Oto Havle</a>, <a href="../../../authors/blasum">Holger Blasum</a>, <a href="../../../authors/langenstein">Bruno Langenstein</a>, <a href="../../../authors/stephan">Werner Stephan</a>, <a href="../../../authors/nemouchi">Yakoub Nemouchi</a>, <a href="../../../authors/feliachi">Abderrahmane Feliachi</a>, <a href="../../../authors/wolff">Burkhart Wolff</a> and <a href="../../../authors/schmaltz">Julien Schmaltz</a></div>
<span class="date">
Jul 18
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Network_Security_Policy_Verification.html">Network Security Policy Verification</a></h5> <br>by <a href="../../../authors/diekmann">Cornelius Diekmann</a></div>
<span class="date">
Jul 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Noninterference_CSP.html">Noninterference Security in Communicating Sequential Processes</a></h5> <br>by <a href="../../../authors/noce">Pasquale Noce</a></div>
<span class="date">
May 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Strong_Security.html">A Formalization of Strong Security</a></h5> <br>by <a href="../../../authors/grewe">Sylvia Grewe</a>, <a href="../../../authors/lux">Alexander Lux</a>, <a href="../../../authors/mantel">Heiko Mantel</a> and <a href="../../../authors/sauer">Jens Sauer</a></div>
<span class="date">
Apr 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/WHATandWHERE_Security.html">A Formalization of Declassification with WHAT-and-WHERE-Security</a></h5> <br>by <a href="../../../authors/grewe">Sylvia Grewe</a>, <a href="../../../authors/lux">Alexander Lux</a>, <a href="../../../authors/mantel">Heiko Mantel</a> and <a href="../../../authors/sauer">Jens Sauer</a></div>
<span class="date">
Apr 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/SIFUM_Type_Systems.html">A Formalization of Assumptions and Guarantees for Compositional Noninterference</a></h5> <br>by <a href="../../../authors/grewe">Sylvia Grewe</a>, <a href="../../../authors/mantel">Heiko Mantel</a> and <a href="../../../authors/schoepe">Daniel Schoepe</a></div>
<span class="date">
Apr 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Bounded_Deducibility_Security.html">Bounded-Deducibility Security</a></h5> <br>by <a href="../../../authors/popescu">Andrei Popescu</a>, <a href="../../../authors/lammich">Peter Lammich</a> and <a href="../../../authors/bauereiss">Thomas Bauereiss</a></div>
<span class="date">
Apr 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/HyperCTL.html">A shallow embedding of HyperCTL*</a></h5> <br>by <a href="../../../authors/rabe">Markus N. Rabe</a>, <a href="../../../authors/lammich">Peter Lammich</a> and <a href="../../../authors/popescu">Andrei Popescu</a></div>
<span class="date">
Apr 16
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Probabilistic_Noninterference.html">Probabilistic Noninterference</a></h5> <br>by <a href="../../../authors/popescu">Andrei Popescu</a> and <a href="../../../authors/hoelzl">Johannes Hölzl</a></div>
<span class="date">
Mar 11
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/CryptoBasedCompositionalProperties.html">Compositional Properties of Crypto-Based Components</a></h5> <br>by <a href="../../../authors/spichkova">Maria Spichkova</a></div>
<span class="date">
Jan 11
</span>
</article>
<h2 class="head">2012</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Possibilistic_Noninterference.html">Possibilistic Noninterference</a></h5> <br>by <a href="../../../authors/popescu">Andrei Popescu</a> and <a href="../../../authors/hoelzl">Johannes Hölzl</a></div>
<span class="date">
Sep 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Inductive_Confidentiality.html">Inductive Study of Confidentiality</a></h5> <br>by <a href="../../../authors/bella">Giampaolo Bella</a></div>
<span class="date">
May 02
</span>
</article>
<h2 class="head">2010</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/InformationFlowSlicing_Inter.html">Inter-Procedural Information Flow Noninterference via Slicing</a></h5> <br>by <a href="../../../authors/wasserrab">Daniel Wasserrab</a></div>
<span class="date">
Mar 23
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/InformationFlowSlicing.html">Information Flow Noninterference via Slicing</a></h5> <br>by <a href="../../../authors/wasserrab">Daniel Wasserrab</a></div>
<span class="date">
Mar 23
</span>
</article>
<h2 class="head">2008</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/SIFPL.html">Secure information flow and program logics</a></h5> <br>by <a href="../../../authors/beringer">Lennart Beringer</a> and <a href="../../../authors/hofmann">Martin Hofmann</a></div>
<span class="date">
Nov 10
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/VolpanoSmith.html">A Correctness Proof for the Volpano/Smith Security Typing System</a></h5> <br>by <a href="../../../authors/snelting">Gregor Snelting</a> and <a href="../../../authors/wasserrab">Daniel Wasserrab</a></div>
<span class="date">
Sep 02
</span>
</article>
<h2 class="head">2006</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/HotelKeyCards.html">Hotel Key Card System</a></h5> <br>by <a href="../../../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Sep 09
</span>
</article>
<h2 class="head">2005</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/RSAPSS.html">SHA1, RSA, PSS and more</a></h5> <br>by <a href="../../../authors/lindenberg">Christina Lindenberg</a> and <a href="../../../authors/wirt">Kai Wirt</a></div>
<span class="date">
May 02
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/topics/computer-science/security/index.xml b/web/topics/computer-science/security/index.xml
--- a/web/topics/computer-science/security/index.xml
+++ b/web/topics/computer-science/security/index.xml
@@ -1,478 +1,487 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Computer science/Security on Archive of Formal Proofs</title>
<link>/topics/computer-science/security/</link>
<description>Recent content in Computer science/Security on Archive of Formal Proofs</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-gb</language><atom:link href="/topics/computer-science/security/index.xml" rel="self" type="application/rss+xml" />
<item>
+ <title>CRYSTALS-Kyber</title>
+ <link>/entries/CRYSTALS-Kyber.html</link>
+ <pubDate>Thu, 08 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/CRYSTALS-Kyber.html</guid>
+ <description></description>
+ </item>
+
+ <item>
<title>IsaNet: Formalization of a Verification Framework for Secure Data Plane Protocols</title>
<link>/entries/IsaNet.html</link>
<pubDate>Wed, 08 Jun 2022 00:00:00 +0000</pubDate>
<guid>/entries/IsaNet.html</guid>
<description></description>
</item>
<item>
<title>Logging-independent Message Anonymity in the Relational Method</title>
<link>/entries/Logging_Independent_Anonymity.html</link>
<pubDate>Thu, 26 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/Logging_Independent_Anonymity.html</guid>
<description></description>
</item>
<item>
<title>CoCon: A Confidentiality-Verified Conference Management System</title>
<link>/entries/CoCon.html</link>
<pubDate>Mon, 16 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/CoCon.html</guid>
<description></description>
</item>
<item>
<title>Compositional BD Security</title>
<link>/entries/BD_Security_Compositional.html</link>
<pubDate>Mon, 16 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/BD_Security_Compositional.html</guid>
<description></description>
</item>
<item>
<title>CoSMed: A confidentiality-verified social media platform</title>
<link>/entries/CoSMed.html</link>
<pubDate>Mon, 16 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/CoSMed.html</guid>
<description></description>
</item>
<item>
<title>CoSMeDis: A confidentiality-verified distributed social media platform</title>
<link>/entries/CoSMeDis.html</link>
<pubDate>Mon, 16 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/CoSMeDis.html</guid>
<description></description>
</item>
<item>
<title>Information Flow Control via Dependency Tracking</title>
<link>/entries/IFC_Tracking.html</link>
<pubDate>Thu, 01 Apr 2021 00:00:00 +0000</pubDate>
<guid>/entries/IFC_Tracking.html</guid>
<description></description>
</item>
<item>
<title>Constructive Cryptography in HOL: the Communication Modeling Aspect</title>
<link>/entries/Constructive_Cryptography_CM.html</link>
<pubDate>Wed, 17 Mar 2021 00:00:00 +0000</pubDate>
<guid>/entries/Constructive_Cryptography_CM.html</guid>
<description></description>
</item>
<item>
<title>The Relational Method with Message Anonymity for the Verification of Cryptographic Protocols</title>
<link>/entries/Relational_Method.html</link>
<pubDate>Sat, 05 Dec 2020 00:00:00 +0000</pubDate>
<guid>/entries/Relational_Method.html</guid>
<description></description>
</item>
<item>
<title>Attack Trees in Isabelle for GDPR compliance of IoT healthcare systems</title>
<link>/entries/Attack_Trees.html</link>
<pubDate>Mon, 27 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Attack_Trees.html</guid>
<description></description>
</item>
<item>
<title>Automated Stateful Protocol Verification</title>
<link>/entries/Automated_Stateful_Protocol_Verification.html</link>
<pubDate>Wed, 08 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Automated_Stateful_Protocol_Verification.html</guid>
<description></description>
</item>
<item>
<title>Stateful Protocol Composition and Typing</title>
<link>/entries/Stateful_Protocol_Composition_and_Typing.html</link>
<pubDate>Wed, 08 Apr 2020 00:00:00 +0000</pubDate>
<guid>/entries/Stateful_Protocol_Composition_and_Typing.html</guid>
<description></description>
</item>
<item>
<title>An Under-Approximate Relational Logic</title>
<link>/entries/Relational-Incorrectness-Logic.html</link>
<pubDate>Thu, 12 Mar 2020 00:00:00 +0000</pubDate>
<guid>/entries/Relational-Incorrectness-Logic.html</guid>
<description></description>
</item>
<item>
<title>Sigma Protocols and Commitment Schemes</title>
<link>/entries/Sigma_Commit_Crypto.html</link>
<pubDate>Mon, 07 Oct 2019 00:00:00 +0000</pubDate>
<guid>/entries/Sigma_Commit_Crypto.html</guid>
<description></description>
</item>
<item>
<title>Formalization of Generic Authenticated Data Structures</title>
<link>/entries/LambdaAuth.html</link>
<pubDate>Tue, 14 May 2019 00:00:00 +0000</pubDate>
<guid>/entries/LambdaAuth.html</guid>
<description></description>
</item>
<item>
<title>Multi-Party Computation</title>
<link>/entries/Multi_Party_Computation.html</link>
<pubDate>Thu, 09 May 2019 00:00:00 +0000</pubDate>
<guid>/entries/Multi_Party_Computation.html</guid>
<description></description>
</item>
<item>
<title>Constructive Cryptography in HOL</title>
<link>/entries/Constructive_Cryptography.html</link>
<pubDate>Mon, 17 Dec 2018 00:00:00 +0000</pubDate>
<guid>/entries/Constructive_Cryptography.html</guid>
<description></description>
</item>
<item>
<title>An Isabelle/HOL Formalization of the Modular Assembly Kit for Security Properties</title>
<link>/entries/Modular_Assembly_Kit_Security.html</link>
<pubDate>Mon, 07 May 2018 00:00:00 +0000</pubDate>
<guid>/entries/Modular_Assembly_Kit_Security.html</guid>
<description></description>
</item>
<item>
<title>Developing Security Protocols by Refinement</title>
<link>/entries/Security_Protocol_Refinement.html</link>
<pubDate>Wed, 24 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Security_Protocol_Refinement.html</guid>
<description></description>
</item>
<item>
<title>CryptHOL</title>
<link>/entries/CryptHOL.html</link>
<pubDate>Fri, 05 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/CryptHOL.html</guid>
<description></description>
</item>
<item>
<title>Game-based cryptography in HOL</title>
<link>/entries/Game_Based_Crypto.html</link>
<pubDate>Fri, 05 May 2017 00:00:00 +0000</pubDate>
<guid>/entries/Game_Based_Crypto.html</guid>
<description></description>
</item>
<item>
<title>The Group Law for Elliptic Curves</title>
<link>/entries/Elliptic_Curves_Group_Law.html</link>
<pubDate>Tue, 28 Feb 2017 00:00:00 +0000</pubDate>
<guid>/entries/Elliptic_Curves_Group_Law.html</guid>
<description></description>
</item>
<item>
<title>Refining Authenticated Key Agreement with Strong Adversaries</title>
<link>/entries/Key_Agreement_Strong_Adversaries.html</link>
<pubDate>Tue, 31 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/Key_Agreement_Strong_Adversaries.html</guid>
<description></description>
</item>
<item>
<title>Formal Network Models and Their Application to Firewall Policies</title>
<link>/entries/UPF_Firewall.html</link>
<pubDate>Sun, 08 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/UPF_Firewall.html</guid>
<description></description>
</item>
<item>
<title>Verification of a Diffie-Hellman Password-based Authentication Protocol by Extending the Inductive Method</title>
<link>/entries/Password_Authentication_Protocol.html</link>
<pubDate>Tue, 03 Jan 2017 00:00:00 +0000</pubDate>
<guid>/entries/Password_Authentication_Protocol.html</guid>
<description></description>
</item>
<item>
<title>A formal model for the SPARCv8 ISA and a proof of non-interference for the LEON3 processor</title>
<link>/entries/SPARCv8.html</link>
<pubDate>Wed, 19 Oct 2016 00:00:00 +0000</pubDate>
<guid>/entries/SPARCv8.html</guid>
<description></description>
</item>
<item>
<title>Compositional Security-Preserving Refinement for Concurrent Imperative Programs</title>
<link>/entries/Dependent_SIFUM_Refinement.html</link>
<pubDate>Tue, 28 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Dependent_SIFUM_Refinement.html</guid>
<description></description>
</item>
<item>
<title>A Dependent Security Type System for Concurrent Imperative Programs</title>
<link>/entries/Dependent_SIFUM_Type_Systems.html</link>
<pubDate>Sat, 25 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Dependent_SIFUM_Type_Systems.html</guid>
<description></description>
</item>
<item>
<title>Conservation of CSP Noninterference Security under Concurrent Composition</title>
<link>/entries/Noninterference_Concurrent_Composition.html</link>
<pubDate>Mon, 13 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Noninterference_Concurrent_Composition.html</guid>
<description></description>
</item>
<item>
<title>Conservation of CSP Noninterference Security under Sequential Composition</title>
<link>/entries/Noninterference_Sequential_Composition.html</link>
<pubDate>Tue, 26 Apr 2016 00:00:00 +0000</pubDate>
<guid>/entries/Noninterference_Sequential_Composition.html</guid>
<description></description>
</item>
<item>
<title>The Inductive Unwinding Theorem for CSP Noninterference Security</title>
<link>/entries/Noninterference_Inductive_Unwinding.html</link>
<pubDate>Tue, 18 Aug 2015 00:00:00 +0000</pubDate>
<guid>/entries/Noninterference_Inductive_Unwinding.html</guid>
<description></description>
</item>
<item>
<title>The Generic Unwinding Theorem for CSP Noninterference Security</title>
<link>/entries/Noninterference_Generic_Unwinding.html</link>
<pubDate>Thu, 11 Jun 2015 00:00:00 +0000</pubDate>
<guid>/entries/Noninterference_Generic_Unwinding.html</guid>
<description></description>
</item>
<item>
<title>The Ipurge Unwinding Theorem for CSP Noninterference Security</title>
<link>/entries/Noninterference_Ipurge_Unwinding.html</link>
<pubDate>Thu, 11 Jun 2015 00:00:00 +0000</pubDate>
<guid>/entries/Noninterference_Ipurge_Unwinding.html</guid>
<description></description>
</item>
<item>
<title>The Unified Policy Framework (UPF)</title>
<link>/entries/UPF.html</link>
<pubDate>Fri, 28 Nov 2014 00:00:00 +0000</pubDate>
<guid>/entries/UPF.html</guid>
<description></description>
</item>
<item>
<title>Formal Specification of a Generic Separation Kernel</title>
<link>/entries/CISC-Kernel.html</link>
<pubDate>Fri, 18 Jul 2014 00:00:00 +0000</pubDate>
<guid>/entries/CISC-Kernel.html</guid>
<description></description>
</item>
<item>
<title>Network Security Policy Verification</title>
<link>/entries/Network_Security_Policy_Verification.html</link>
<pubDate>Fri, 04 Jul 2014 00:00:00 +0000</pubDate>
<guid>/entries/Network_Security_Policy_Verification.html</guid>
<description></description>
</item>
<item>
<title>Noninterference Security in Communicating Sequential Processes</title>
<link>/entries/Noninterference_CSP.html</link>
<pubDate>Fri, 23 May 2014 00:00:00 +0000</pubDate>
<guid>/entries/Noninterference_CSP.html</guid>
<description></description>
</item>
<item>
<title>A Formalization of Assumptions and Guarantees for Compositional Noninterference</title>
<link>/entries/SIFUM_Type_Systems.html</link>
<pubDate>Wed, 23 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/SIFUM_Type_Systems.html</guid>
<description></description>
</item>
<item>
<title>A Formalization of Declassification with WHAT-and-WHERE-Security</title>
<link>/entries/WHATandWHERE_Security.html</link>
<pubDate>Wed, 23 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/WHATandWHERE_Security.html</guid>
<description></description>
</item>
<item>
<title>A Formalization of Strong Security</title>
<link>/entries/Strong_Security.html</link>
<pubDate>Wed, 23 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/Strong_Security.html</guid>
<description></description>
</item>
<item>
<title>Bounded-Deducibility Security</title>
<link>/entries/Bounded_Deducibility_Security.html</link>
<pubDate>Tue, 22 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/Bounded_Deducibility_Security.html</guid>
<description></description>
</item>
<item>
<title>A shallow embedding of HyperCTL*</title>
<link>/entries/HyperCTL.html</link>
<pubDate>Wed, 16 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/HyperCTL.html</guid>
<description></description>
</item>
<item>
<title>Probabilistic Noninterference</title>
<link>/entries/Probabilistic_Noninterference.html</link>
<pubDate>Tue, 11 Mar 2014 00:00:00 +0000</pubDate>
<guid>/entries/Probabilistic_Noninterference.html</guid>
<description></description>
</item>
<item>
<title>Compositional Properties of Crypto-Based Components</title>
<link>/entries/CryptoBasedCompositionalProperties.html</link>
<pubDate>Sat, 11 Jan 2014 00:00:00 +0000</pubDate>
<guid>/entries/CryptoBasedCompositionalProperties.html</guid>
<description></description>
</item>
<item>
<title>Possibilistic Noninterference</title>
<link>/entries/Possibilistic_Noninterference.html</link>
<pubDate>Mon, 10 Sep 2012 00:00:00 +0000</pubDate>
<guid>/entries/Possibilistic_Noninterference.html</guid>
<description></description>
</item>
<item>
<title>Inductive Study of Confidentiality</title>
<link>/entries/Inductive_Confidentiality.html</link>
<pubDate>Wed, 02 May 2012 00:00:00 +0000</pubDate>
<guid>/entries/Inductive_Confidentiality.html</guid>
<description></description>
</item>
<item>
<title>Information Flow Noninterference via Slicing</title>
<link>/entries/InformationFlowSlicing.html</link>
<pubDate>Tue, 23 Mar 2010 00:00:00 +0000</pubDate>
<guid>/entries/InformationFlowSlicing.html</guid>
<description></description>
</item>
<item>
<title>Inter-Procedural Information Flow Noninterference via Slicing</title>
<link>/entries/InformationFlowSlicing_Inter.html</link>
<pubDate>Tue, 23 Mar 2010 00:00:00 +0000</pubDate>
<guid>/entries/InformationFlowSlicing_Inter.html</guid>
<description></description>
</item>
<item>
<title>Secure information flow and program logics</title>
<link>/entries/SIFPL.html</link>
<pubDate>Mon, 10 Nov 2008 00:00:00 +0000</pubDate>
<guid>/entries/SIFPL.html</guid>
<description></description>
</item>
<item>
<title>A Correctness Proof for the Volpano/Smith Security Typing System</title>
<link>/entries/VolpanoSmith.html</link>
<pubDate>Tue, 02 Sep 2008 00:00:00 +0000</pubDate>
<guid>/entries/VolpanoSmith.html</guid>
<description></description>
</item>
<item>
<title>Hotel Key Card System</title>
<link>/entries/HotelKeyCards.html</link>
<pubDate>Sat, 09 Sep 2006 00:00:00 +0000</pubDate>
<guid>/entries/HotelKeyCards.html</guid>
<description></description>
</item>
<item>
<title>SHA1, RSA, PSS and more</title>
<link>/entries/RSAPSS.html</link>
<pubDate>Mon, 02 May 2005 00:00:00 +0000</pubDate>
<guid>/entries/RSAPSS.html</guid>
<description></description>
</item>
</channel>
</rss>
diff --git a/web/topics/index.html b/web/topics/index.html
--- a/web/topics/index.html
+++ b/web/topics/index.html
@@ -1,120 +1,120 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><meta property="og:title" content="Topics" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/topics/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Topics"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../css/front.min.css">
<link rel="icon" href="../images/favicon.ico" type="image/icon"><script src="../js/obfuscate.js"></script>
<script src="../js/flexsearch.bundle.js"></script>
<script src="../js/scroll-spy.js"></script>
<script src="../js/theory.js"></script>
<script src="../js/util.js"></script><script src="../js/header-search.js"></script><script src="../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../images/menu.svg" alt="Menu" />
</label>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../search"><img src="../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../" class='logo-link'>
<img src="../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../"><li >Home</li></a>
<a href="../topics/"><li >Topics</li></a>
<a href="../download/"><li >Download</li></a>
<a href="../help/"><li >Help</li></a>
<a href="../submission/"><li >Submission</li></a>
<a href="../statistics/"><li >Statistics</li></a>
<a href="../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>T</span>opics</h1>
<div>
</div>
</header><div>
<h2>Computer science</h2>
<ul><li><h3><a href="../topics/computer-science/algorithms">Algorithms (39)</a></h3></li>
- <ul><li><a href="../topics/computer-science/algorithms/approximation">Approximation (2)</a></li><li><a href="../topics/computer-science/algorithms/concurrent">Concurrent (1)</a></li><li><a href="../topics/computer-science/algorithms/distributed">Distributed (13)</a></li><li><a href="../topics/computer-science/algorithms/geometry">Geometry (1)</a></li><li><a href="../topics/computer-science/algorithms/graph">Graph (14)</a></li><li><a href="../topics/computer-science/algorithms/mathematical">Mathematical (19)</a></li><li><a href="../topics/computer-science/algorithms/online">Online (1)</a></li><li><a href="../topics/computer-science/algorithms/optimization">Optimization (1)</a></li><li><a href="../topics/computer-science/algorithms/quantum-computing">Quantum computing (3)</a></li></ul><li><h3><a href="../topics/computer-science/artificial-intelligence">Artificial intelligence (2)</a></h3></li>
+ <ul><li><a href="../topics/computer-science/algorithms/approximation">Approximation (2)</a></li><li><a href="../topics/computer-science/algorithms/concurrent">Concurrent (1)</a></li><li><a href="../topics/computer-science/algorithms/distributed">Distributed (13)</a></li><li><a href="../topics/computer-science/algorithms/geometry">Geometry (1)</a></li><li><a href="../topics/computer-science/algorithms/graph">Graph (14)</a></li><li><a href="../topics/computer-science/algorithms/mathematical">Mathematical (20)</a></li><li><a href="../topics/computer-science/algorithms/online">Online (1)</a></li><li><a href="../topics/computer-science/algorithms/optimization">Optimization (1)</a></li><li><a href="../topics/computer-science/algorithms/quantum-computing">Quantum computing (3)</a></li></ul><li><h3><a href="../topics/computer-science/artificial-intelligence">Artificial intelligence (2)</a></h3></li>
<ul></ul><li><h3><a href="../topics/computer-science/automata-and-formal-languages">Automata and formal languages (50)</a></h3></li>
<ul></ul><li><h3><a href="../topics/computer-science/concurrency">Concurrency (6)</a></h3></li>
<ul><li><a href="../topics/computer-science/concurrency/process-calculi">Process calculi (13)</a></li></ul><li><h3><a href="../topics/computer-science/data-structures">Data structures (65)</a></h3></li>
<ul></ul><li><h3><a href="../topics/computer-science/functional-programming">Functional programming (24)</a></h3></li>
<ul></ul><li><h3><a href="../topics/computer-science/hardware">Hardware (2)</a></h3></li>
<ul></ul><li><h3><a href="../topics/computer-science/machine-learning">Machine learning (2)</a></h3></li>
<ul></ul><li><h3><a href="../topics/computer-science/networks">Networks (7)</a></h3></li>
<ul></ul><li><h3><a href="../topics/computer-science/programming-languages">Programming languages (3)</a></h3></li>
- <ul><li><a href="../topics/computer-science/programming-languages/compiling">Compiling (9)</a></li><li><a href="../topics/computer-science/programming-languages/lambda-calculi">Lambda calculi (9)</a></li><li><a href="../topics/computer-science/programming-languages/language-definitions">Language definitions (18)</a></li><li><a href="../topics/computer-science/programming-languages/logics">Logics (29)</a></li><li><a href="../topics/computer-science/programming-languages/misc">Misc (4)</a></li><li><a href="../topics/computer-science/programming-languages/static-analysis">Static analysis (9)</a></li><li><a href="../topics/computer-science/programming-languages/type-systems">Type systems (10)</a></li></ul><li><h3><a href="../topics/computer-science/security">Security (45)</a></h3></li>
+ <ul><li><a href="../topics/computer-science/programming-languages/compiling">Compiling (9)</a></li><li><a href="../topics/computer-science/programming-languages/lambda-calculi">Lambda calculi (9)</a></li><li><a href="../topics/computer-science/programming-languages/language-definitions">Language definitions (18)</a></li><li><a href="../topics/computer-science/programming-languages/logics">Logics (29)</a></li><li><a href="../topics/computer-science/programming-languages/misc">Misc (4)</a></li><li><a href="../topics/computer-science/programming-languages/static-analysis">Static analysis (9)</a></li><li><a href="../topics/computer-science/programming-languages/type-systems">Type systems (10)</a></li></ul><li><h3><a href="../topics/computer-science/security">Security (46)</a></h3></li>
<ul><li><a href="../topics/computer-science/security/cryptography">Cryptography (7)</a></li></ul><li><h3><a href="../topics/computer-science/semantics-and-reasoning">Semantics and reasoning (14)</a></h3></li>
<ul></ul><li><h3><a href="../topics/computer-science/system-description-languages">System description languages (7)</a></h3></li>
<ul></ul></ul><h2>Logic</h2>
<ul><li><h3><a href="../topics/logic/computability">Computability (6)</a></h3></li>
<ul></ul><li><h3><a href="../topics/logic/general-logic">General logic (2)</a></h3></li>
<ul><li><a href="../topics/logic/general-logic/classical-first-order-logic">Classical first-order logic (5)</a></li><li><a href="../topics/logic/general-logic/classical-propositional-logic">Classical propositional logic (1)</a></li><li><a href="../topics/logic/general-logic/decidability-of-theories">Decidability of theories (4)</a></li><li><a href="../topics/logic/general-logic/logics-of-knowledge-and-belief">Logics of knowledge and belief (5)</a></li><li><a href="../topics/logic/general-logic/mechanization-of-proofs">Mechanization of proofs (13)</a></li><li><a href="../topics/logic/general-logic/modal-logic">Modal logic (6)</a></li><li><a href="../topics/logic/general-logic/paraconsistent-logics">Paraconsistent logics (1)</a></li><li><a href="../topics/logic/general-logic/temporal-logic">Temporal logic (6)</a></li></ul><li><h3><a href="../topics/logic/philosophical-aspects">Philosophical aspects (10)</a></h3></li>
<ul></ul><li><h3><a href="../topics/logic/proof-theory">Proof theory (19)</a></h3></li>
<ul></ul><li><h3><a href="../topics/logic/rewriting">Rewriting (18)</a></h3></li>
<ul></ul><li><h3><a href="../topics/logic/set-theory">Set theory (12)</a></h3></li>
<ul></ul></ul><h2>Mathematics</h2>
<ul><li><h3><a href="../topics/mathematics/algebra">Algebra (77)</a></h3></li>
<ul></ul><li><h3><a href="../topics/mathematics/analysis">Analysis (52)</a></h3></li>
<ul></ul><li><h3><a href="../topics/mathematics/category-theory">Category theory (9)</a></h3></li>
- <ul></ul><li><h3><a href="../topics/mathematics/combinatorics">Combinatorics (30)</a></h3></li>
+ <ul></ul><li><h3><a href="../topics/mathematics/combinatorics">Combinatorics (32)</a></h3></li>
<ul></ul><li><h3><a href="../topics/mathematics/games-and-economics">Games and economics (14)</a></h3></li>
<ul></ul><li><h3><a href="../topics/mathematics/geometry">Geometry (21)</a></h3></li>
<ul></ul><li><h3><a href="../topics/mathematics/graph-theory">Graph theory (22)</a></h3></li>
<ul></ul><li><h3><a href="../topics/mathematics/measure-and-integration">Measure and integration (1)</a></h3></li>
<ul></ul><li><h3><a href="../topics/mathematics/misc">Misc (3)</a></h3></li>
<ul></ul><li><h3><a href="../topics/mathematics/number-theory">Number theory (39)</a></h3></li>
<ul></ul><li><h3><a href="../topics/mathematics/order">Order (6)</a></h3></li>
<ul></ul><li><h3><a href="../topics/mathematics/physics">Physics (4)</a></h3></li>
<ul><li><a href="../topics/mathematics/physics/quantum-information">Quantum information (2)</a></li></ul><li><h3><a href="../topics/mathematics/probability-theory">Probability theory (19)</a></h3></li>
<ul></ul><li><h3><a href="../topics/mathematics/topology">Topology (5)</a></h3></li>
<ul></ul></ul><h2><a href="../topics/tools">Tools (21)</a></h2>
<ul></ul>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/topics/logic/computability/index.html b/web/topics/logic/computability/index.html
--- a/web/topics/logic/computability/index.html
+++ b/web/topics/logic/computability/index.html
@@ -1,137 +1,137 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Logic/Computability - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../../topics/logic/computability/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="Logic/Computability" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/topics/logic/computability/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Logic/Computability"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../../css/front.min.css">
<link rel="icon" href="../../../images/favicon.ico" type="image/icon"><script src="../../../js/obfuscate.js"></script>
<script src="../../../js/flexsearch.bundle.js"></script>
<script src="../../../js/scroll-spy.js"></script>
<script src="../../../js/theory.js"></script>
<script src="../../../js/util.js"></script><script src="../../../js/header-search.js"></script><script src="../../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../../images/menu.svg" alt="Menu" />
</label>
<a href="../../../" class='logo-link'>
<img src="../../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../../search"><img src="../../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../../" class='logo-link'>
<img src="../../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../../"><li >Home</li></a>
<a href="../../../topics/"><li >Topics</li></a>
<a href="../../../download/"><li >Download</li></a>
<a href="../../../help/"><li >Help</li></a>
<a href="../../../submission/"><li >Submission</li></a>
<a href="../../../statistics/"><li >Statistics</li></a>
<a href="../../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>L</span>ogic/<span class='first'>C</span>omputability</h1>
<div>
</div>
</header><div><h2>Subject Classification</h2><h3>AMS</h3>
<a href="https://mathscinet.ams.org/mathscinet/msc/msc2020.html?t=03Dxx">Mathematical logic and foundations / Computability and recursion theory</a><h3>ACM</h3>
<a href="https://dl.acm.org/topic/ccs2012/10003752.10003753.10003754">Theory of computation~Computability</a><h2 class="head">2022</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/DPRM_Theorem.html">Diophantine Equations and the DPRM Theorem</a></h5> <br>by <a href="../../../authors/bayer">Jonas Bayer</a>, <a href="../../../authors/david">Marco David</a>, <a href="../../../authors/stock">Benedikt Stock</a>, <a href="../../../authors/pal">Abhik Pal</a>, <a href="../../../authors/matiyasevich">Yuri Matiyasevich</a> and <a href="../../../authors/schleicher">Dierk Schleicher</a></div>
<span class="date">
Jun 06
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Ackermanns_not_PR.html">Ackermann&#39;s Function Is Not Primitive Recursive</a></h5> <br>by <a href="../../../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Mar 23
</span>
</article>
<h2 class="head">2020</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Inductive_Inference.html">Some classical results in inductive inference of recursive functions</a></h5> <br>by <a href="../../../authors/balbach">Frank J. Balbach</a></div>
<span class="date">
Aug 31
</span>
</article>
<h2 class="head">2019</h2><article class="entry">
<div class="item-text">
- <h5><a class="title" href="../../../entries/Universal_Turing_Machine.html">Universal Turing Machine</a></h5> <br>by <a href="../../../authors/xu">Jian Xu</a>, <a href="../../../authors/zhangx">Xingyuan Zhang</a>, <a href="../../../authors/urban">Christian Urban</a> and <a href="../../../authors/joosten">Sebastiaan J. C. Joosten</a></div>
+ <h5><a class="title" href="../../../entries/Universal_Turing_Machine.html">Universal Turing Machine</a></h5> <br>by <a href="../../../authors/xu">Jian Xu</a>, <a href="../../../authors/zhangx">Xingyuan Zhang</a>, <a href="../../../authors/urban">Christian Urban</a>, <a href="../../../authors/joosten">Sebastiaan J. C. Joosten</a> and <a href="../../../authors/regensburger">Franz Regensburger</a></div>
<span class="date">
Feb 08
</span>
</article>
<h2 class="head">2018</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Minsky_Machines.html">Minsky Machines</a></h5> <br>by <a href="../../../authors/felgenhauer">Bertram Felgenhauer</a></div>
<span class="date">
Aug 14
</span>
</article>
<h2 class="head">2008</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Recursion-Theory-I.html">Recursion Theory I</a></h5> <br>by <a href="../../../authors/nedzelsky">Michael Nedzelsky</a></div>
<span class="date">
Apr 05
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/topics/mathematics/combinatorics/index.html b/web/topics/mathematics/combinatorics/index.html
--- a/web/topics/mathematics/combinatorics/index.html
+++ b/web/topics/mathematics/combinatorics/index.html
@@ -1,317 +1,331 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>Mathematics/Combinatorics - Archive of Formal Proofs</title><meta name="description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."><link rel="alternate" type="application/rss+xml" href="../../../topics/mathematics/combinatorics/index.xml" title="Archive of Formal Proofs" /><meta property="og:title" content="Mathematics/Combinatorics" />
<meta property="og:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle." />
<meta property="og:type" content="website" />
<meta property="og:url" content="/topics/mathematics/combinatorics/" /><meta property="og:image" content="/images/afp.png"/><meta property="og:site_name" content="Archive of Formal Proofs" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="/images/afp.png"/>
<meta name="twitter:title" content="Mathematics/Combinatorics"/>
<meta name="twitter:description" content="A collection of proof libraries, examples, and larger scientific developments, mechanically checked in the theorem prover Isabelle."/>
<link rel="stylesheet" type="text/css" href="../../../css/front.min.css">
<link rel="icon" href="../../../images/favicon.ico" type="image/icon"><script src="../../../js/obfuscate.js"></script>
<script src="../../../js/flexsearch.bundle.js"></script>
<script src="../../../js/scroll-spy.js"></script>
<script src="../../../js/theory.js"></script>
<script src="../../../js/util.js"></script><script src="../../../js/header-search.js"></script><script src="../../../js/search-autocomplete.js"></script>
</head>
<body class='mathjax_ignore '>
<aside>
<div id="menu-toggle">
<input id="toggle" type="checkbox" />
<label for="toggle">
<span>menu</span>
<img src="../../../images/menu.svg" alt="Menu" />
</label>
<a href="../../../" class='logo-link'>
<img src="../../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<a href="../../../search"><img src="../../../images/search.svg" alt="Search" /></a>
<nav id="menu">
<div>
<a href="../../../" class='logo-link'>
<img src="../../../images/afp.png" alt='Logo of the Archive of Formal Proofs' class="logo">
</a>
<ul>
<a href="../../../"><li >Home</li></a>
<a href="../../../topics/"><li >Topics</li></a>
<a href="../../../download/"><li >Download</li></a>
<a href="../../../help/"><li >Help</li></a>
<a href="../../../submission/"><li >Submission</li></a>
<a href="../../../statistics/"><li >Statistics</li></a>
<a href="../../../about/"><li >About</li></a>
</ul>
</div>
</nav>
</div>
</aside>
<div
class='content '><header>
<form autocomplete="off" action="../../../search">
<div class='form-container'>
<input id="search-input" type="search" size="31" maxlength="255" value="" aria-label="Search the AFP" list="autocomplete"><button
id="search-button" type="button"><img src="../../../images/search.svg" alt="Search" /></button>
<datalist id="autocomplete">
</datalist>
</div>
</form>
<h1 >
<span class='first'>M</span>athematics/<span class='first'>C</span>ombinatorics</h1>
<div>
</div>
</header><div><h2>Subject Classification</h2><h3>AMS</h3>
<a href="https://mathscinet.ams.org/mathscinet/msc/msc2020.html?t=05-XX">Combinatorics</a><h3>ACM</h3>
<a href="https://dl.acm.org/topic/ccs2012/10002950.10003624.10003625">Mathematics of computing~Combinatorics</a><h2 class="head">2022</h2><article class="entry">
<div class="item-text">
+ <h5><a class="title" href="../../../entries/Hales_Jewett.html">The Hales–Jewett Theorem</a></h5> <br>by <a href="../../../authors/sulejmani">Ujkan Sulejmani</a>, <a href="../../../authors/eberl">Manuel Eberl</a> and <a href="../../../authors/kreuzer">Katharina Kreuzer</a></div>
+ <span class="date">
+ Sep 02
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
+ <h5><a class="title" href="../../../entries/Khovanskii_Theorem.html">Khovanskii&#39;s Theorem</a></h5> <br>by <a href="../../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="../../../authors/paulson">Lawrence C. Paulson</a></div>
+ <span class="date">
+ Sep 02
+ </span>
+</article>
+<article class="entry">
+ <div class="item-text">
<h5><a class="title" href="../../../entries/Pluennecke_Ruzsa_Inequality.html">The Plünnecke-Ruzsa Inequality</a></h5> <br>by <a href="../../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="../../../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
May 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Clique_and_Monotone_Circuits.html">Clique is not solvable by monotone circuits of polynomial size</a></h5> <br>by <a href="../../../authors/thiemann">René Thiemann</a></div>
<span class="date">
May 08
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Fishers_Inequality.html">Fisher&#39;s Inequality: Linear Algebraic Proof Techniques for Combinatorics</a></h5> <br>by <a href="../../../authors/edmonds">Chelsea Edmonds</a> and <a href="../../../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Apr 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Equivalence_Relation_Enumeration.html">Enumeration of Equivalence Relations</a></h5> <br>by <a href="../../../authors/karayel">Emin Karayel</a></div>
<span class="date">
Feb 04
</span>
</article>
<h2 class="head">2021</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Roth_Arithmetic_Progressions.html">Roth&#39;s Theorem on Arithmetic Progressions</a></h5> <br>by <a href="../../../authors/edmonds">Chelsea Edmonds</a>, <a href="../../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="../../../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Dec 28
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Szemeredi_Regularity.html">Szemerédi&#39;s Regularity Lemma</a></h5> <br>by <a href="../../../authors/edmonds">Chelsea Edmonds</a>, <a href="../../../authors/argyraki">Angeliki Koutsoukou-Argyraki</a> and <a href="../../../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Nov 05
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Design_Theory.html">Combinatorial Design Theory</a></h5> <br>by <a href="../../../authors/edmonds">Chelsea Edmonds</a> and <a href="../../../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Aug 13
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Van_der_Waerden.html">Van der Waerden&#39;s Theorem</a></h5> <br>by <a href="../../../authors/kreuzer">Katharina Kreuzer</a> and <a href="../../../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jun 22
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Sunflowers.html">The Sunflower Lemma of Erdős and Rado</a></h5> <br>by <a href="../../../authors/thiemann">René Thiemann</a></div>
<span class="date">
Feb 25
</span>
</article>
<h2 class="head">2020</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Delta_System_Lemma.html">Cofinality and the Delta System Lemma</a></h5> <br>by <a href="../../../authors/terraf">Pedro Sánchez Terraf</a></div>
<span class="date">
Dec 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Ordinal_Partitions.html">Ordinal Partitions</a></h5> <br>by <a href="../../../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
Aug 03
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Nash_Williams.html">The Nash-Williams Partition Theorem</a></h5> <br>by <a href="../../../authors/paulson">Lawrence C. Paulson</a></div>
<span class="date">
May 16
</span>
</article>
<h2 class="head">2018</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Matroids.html">Matroids</a></h5> <br>by <a href="../../../authors/keinholz">Jonas Keinholz</a></div>
<span class="date">
Nov 16
</span>
</article>
<h2 class="head">2017</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Falling_Factorial_Sum.html">The Falling Factorial of a Sum</a></h5> <br>by <a href="../../../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Dec 22
</span>
</article>
<h2 class="head">2016</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Twelvefold_Way.html">The Twelvefold Way</a></h5> <br>by <a href="../../../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Dec 29
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Card_Multisets.html">Cardinality of Multisets</a></h5> <br>by <a href="../../../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Jun 26
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Catalan_Numbers.html">Catalan Numbers</a></h5> <br>by <a href="../../../authors/eberl">Manuel Eberl</a></div>
<span class="date">
Jun 21
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Card_Equiv_Relations.html">Cardinality of Equivalence Relations</a></h5> <br>by <a href="../../../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
May 24
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Bell_Numbers_Spivey.html">Spivey&#39;s Generalized Recurrence for Bell Numbers</a></h5> <br>by <a href="../../../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
May 04
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Card_Number_Partitions.html">Cardinality of Number Partitions</a></h5> <br>by <a href="../../../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Jan 14
</span>
</article>
<h2 class="head">2015</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Card_Partitions.html">Cardinality of Set Partitions</a></h5> <br>by <a href="../../../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Dec 12
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Latin_Square.html">Latin Square</a></h5> <br>by <a href="../../../authors/bentkamp">Alexander Bentkamp</a></div>
<span class="date">
Dec 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Euler_Partition.html">Euler&#39;s Partition Theorem</a></h5> <br>by <a href="../../../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Nov 19
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Derangements.html">Derangements Formula</a></h5> <br>by <a href="../../../authors/bulwahn">Lukas Bulwahn</a></div>
<span class="date">
Jun 27
</span>
</article>
<h2 class="head">2014</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Discrete_Summation.html">Discrete Summation</a></h5> <br>by <a href="../../../authors/haftmann">Florian Haftmann</a></div>
<span class="date">
Apr 13
</span>
</article>
<h2 class="head">2012</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Open_Induction.html">Open Induction</a></h5> <br>by <a href="../../../authors/ogawa">Mizuhito Ogawa</a> and <a href="../../../authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Nov 02
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Bondy.html">Bondy&#39;s Theorem</a></h5> <br>by <a href="../../../authors/avigad">Jeremy Avigad</a> and <a href="../../../authors/hetzl">Stefan Hetzl</a></div>
<span class="date">
Oct 27
</span>
</article>
<article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Well_Quasi_Orders.html">Well-Quasi-Orders</a></h5> <br>by <a href="../../../authors/sternagel">Christian Sternagel</a></div>
<span class="date">
Apr 13
</span>
</article>
<h2 class="head">2010</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Marriage.html">Hall&#39;s Marriage Theorem</a></h5> <br>by <a href="../../../authors/jiangd">Dongchen Jiang</a> and <a href="../../../authors/nipkow">Tobias Nipkow</a></div>
<span class="date">
Dec 17
</span>
</article>
<h2 class="head">2004</h2><article class="entry">
<div class="item-text">
<h5><a class="title" href="../../../entries/Ramsey-Infinite.html">Ramsey&#39;s theorem, infinitary version</a></h5> <br>by <a href="../../../authors/ridge">Tom Ridge</a></div>
<span class="date">
Sep 20
</span>
</article>
</div>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/web/topics/mathematics/combinatorics/index.xml b/web/topics/mathematics/combinatorics/index.xml
--- a/web/topics/mathematics/combinatorics/index.xml
+++ b/web/topics/mathematics/combinatorics/index.xml
@@ -1,280 +1,298 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Mathematics/Combinatorics on Archive of Formal Proofs</title>
<link>/topics/mathematics/combinatorics/</link>
<description>Recent content in Mathematics/Combinatorics on Archive of Formal Proofs</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-gb</language><atom:link href="/topics/mathematics/combinatorics/index.xml" rel="self" type="application/rss+xml" />
<item>
+ <title>Khovanskii&amp;#x27;s Theorem</title>
+ <link>/entries/Khovanskii_Theorem.html</link>
+ <pubDate>Fri, 02 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Khovanskii_Theorem.html</guid>
+ <description></description>
+ </item>
+
+ <item>
+ <title>The Hales–Jewett Theorem</title>
+ <link>/entries/Hales_Jewett.html</link>
+ <pubDate>Fri, 02 Sep 2022 00:00:00 +0000</pubDate>
+
+ <guid>/entries/Hales_Jewett.html</guid>
+ <description></description>
+ </item>
+
+ <item>
<title>The Plünnecke-Ruzsa Inequality</title>
<link>/entries/Pluennecke_Ruzsa_Inequality.html</link>
<pubDate>Thu, 26 May 2022 00:00:00 +0000</pubDate>
<guid>/entries/Pluennecke_Ruzsa_Inequality.html</guid>
<description></description>
</item>
<item>
<title>Clique is not solvable by monotone circuits of polynomial size</title>
<link>/entries/Clique_and_Monotone_Circuits.html</link>
<pubDate>Sun, 08 May 2022 00:00:00 +0000</pubDate>
<guid>/entries/Clique_and_Monotone_Circuits.html</guid>
<description></description>
</item>
<item>
<title>Fisher&#39;s Inequality: Linear Algebraic Proof Techniques for Combinatorics</title>
<link>/entries/Fishers_Inequality.html</link>
<pubDate>Thu, 21 Apr 2022 00:00:00 +0000</pubDate>
<guid>/entries/Fishers_Inequality.html</guid>
<description></description>
</item>
<item>
<title>Enumeration of Equivalence Relations</title>
<link>/entries/Equivalence_Relation_Enumeration.html</link>
<pubDate>Fri, 04 Feb 2022 00:00:00 +0000</pubDate>
<guid>/entries/Equivalence_Relation_Enumeration.html</guid>
<description></description>
</item>
<item>
<title>Roth&#39;s Theorem on Arithmetic Progressions</title>
<link>/entries/Roth_Arithmetic_Progressions.html</link>
<pubDate>Tue, 28 Dec 2021 00:00:00 +0000</pubDate>
<guid>/entries/Roth_Arithmetic_Progressions.html</guid>
<description></description>
</item>
<item>
<title>Szemerédi&#39;s Regularity Lemma</title>
<link>/entries/Szemeredi_Regularity.html</link>
<pubDate>Fri, 05 Nov 2021 00:00:00 +0000</pubDate>
<guid>/entries/Szemeredi_Regularity.html</guid>
<description></description>
</item>
<item>
<title>Combinatorial Design Theory</title>
<link>/entries/Design_Theory.html</link>
<pubDate>Fri, 13 Aug 2021 00:00:00 +0000</pubDate>
<guid>/entries/Design_Theory.html</guid>
<description></description>
</item>
<item>
<title>Van der Waerden&#39;s Theorem</title>
<link>/entries/Van_der_Waerden.html</link>
<pubDate>Tue, 22 Jun 2021 00:00:00 +0000</pubDate>
<guid>/entries/Van_der_Waerden.html</guid>
<description></description>
</item>
<item>
<title>The Sunflower Lemma of Erdős and Rado</title>
<link>/entries/Sunflowers.html</link>
<pubDate>Thu, 25 Feb 2021 00:00:00 +0000</pubDate>
<guid>/entries/Sunflowers.html</guid>
<description></description>
</item>
<item>
<title>Cofinality and the Delta System Lemma</title>
<link>/entries/Delta_System_Lemma.html</link>
<pubDate>Sun, 27 Dec 2020 00:00:00 +0000</pubDate>
<guid>/entries/Delta_System_Lemma.html</guid>
<description></description>
</item>
<item>
<title>Ordinal Partitions</title>
<link>/entries/Ordinal_Partitions.html</link>
<pubDate>Mon, 03 Aug 2020 00:00:00 +0000</pubDate>
<guid>/entries/Ordinal_Partitions.html</guid>
<description></description>
</item>
<item>
<title>The Nash-Williams Partition Theorem</title>
<link>/entries/Nash_Williams.html</link>
<pubDate>Sat, 16 May 2020 00:00:00 +0000</pubDate>
<guid>/entries/Nash_Williams.html</guid>
<description></description>
</item>
<item>
<title>Matroids</title>
<link>/entries/Matroids.html</link>
<pubDate>Fri, 16 Nov 2018 00:00:00 +0000</pubDate>
<guid>/entries/Matroids.html</guid>
<description></description>
</item>
<item>
<title>The Falling Factorial of a Sum</title>
<link>/entries/Falling_Factorial_Sum.html</link>
<pubDate>Fri, 22 Dec 2017 00:00:00 +0000</pubDate>
<guid>/entries/Falling_Factorial_Sum.html</guid>
<description></description>
</item>
<item>
<title>The Twelvefold Way</title>
<link>/entries/Twelvefold_Way.html</link>
<pubDate>Thu, 29 Dec 2016 00:00:00 +0000</pubDate>
<guid>/entries/Twelvefold_Way.html</guid>
<description></description>
</item>
<item>
<title>Cardinality of Multisets</title>
<link>/entries/Card_Multisets.html</link>
<pubDate>Sun, 26 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Card_Multisets.html</guid>
<description></description>
</item>
<item>
<title>Catalan Numbers</title>
<link>/entries/Catalan_Numbers.html</link>
<pubDate>Tue, 21 Jun 2016 00:00:00 +0000</pubDate>
<guid>/entries/Catalan_Numbers.html</guid>
<description></description>
</item>
<item>
<title>Cardinality of Equivalence Relations</title>
<link>/entries/Card_Equiv_Relations.html</link>
<pubDate>Tue, 24 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Card_Equiv_Relations.html</guid>
<description></description>
</item>
<item>
<title>Spivey&#39;s Generalized Recurrence for Bell Numbers</title>
<link>/entries/Bell_Numbers_Spivey.html</link>
<pubDate>Wed, 04 May 2016 00:00:00 +0000</pubDate>
<guid>/entries/Bell_Numbers_Spivey.html</guid>
<description></description>
</item>
<item>
<title>Cardinality of Number Partitions</title>
<link>/entries/Card_Number_Partitions.html</link>
<pubDate>Thu, 14 Jan 2016 00:00:00 +0000</pubDate>
<guid>/entries/Card_Number_Partitions.html</guid>
<description></description>
</item>
<item>
<title>Cardinality of Set Partitions</title>
<link>/entries/Card_Partitions.html</link>
<pubDate>Sat, 12 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Card_Partitions.html</guid>
<description></description>
</item>
<item>
<title>Latin Square</title>
<link>/entries/Latin_Square.html</link>
<pubDate>Wed, 02 Dec 2015 00:00:00 +0000</pubDate>
<guid>/entries/Latin_Square.html</guid>
<description></description>
</item>
<item>
<title>Euler&#39;s Partition Theorem</title>
<link>/entries/Euler_Partition.html</link>
<pubDate>Thu, 19 Nov 2015 00:00:00 +0000</pubDate>
<guid>/entries/Euler_Partition.html</guid>
<description></description>
</item>
<item>
<title>Derangements Formula</title>
<link>/entries/Derangements.html</link>
<pubDate>Sat, 27 Jun 2015 00:00:00 +0000</pubDate>
<guid>/entries/Derangements.html</guid>
<description></description>
</item>
<item>
<title>Discrete Summation</title>
<link>/entries/Discrete_Summation.html</link>
<pubDate>Sun, 13 Apr 2014 00:00:00 +0000</pubDate>
<guid>/entries/Discrete_Summation.html</guid>
<description></description>
</item>
<item>
<title>Open Induction</title>
<link>/entries/Open_Induction.html</link>
<pubDate>Fri, 02 Nov 2012 00:00:00 +0000</pubDate>
<guid>/entries/Open_Induction.html</guid>
<description></description>
</item>
<item>
<title>Bondy&#39;s Theorem</title>
<link>/entries/Bondy.html</link>
<pubDate>Sat, 27 Oct 2012 00:00:00 +0000</pubDate>
<guid>/entries/Bondy.html</guid>
<description></description>
</item>
<item>
<title>Well-Quasi-Orders</title>
<link>/entries/Well_Quasi_Orders.html</link>
<pubDate>Fri, 13 Apr 2012 00:00:00 +0000</pubDate>
<guid>/entries/Well_Quasi_Orders.html</guid>
<description></description>
</item>
<item>
<title>Hall&#39;s Marriage Theorem</title>
<link>/entries/Marriage.html</link>
<pubDate>Fri, 17 Dec 2010 00:00:00 +0000</pubDate>
<guid>/entries/Marriage.html</guid>
<description></description>
</item>
<item>
<title>Ramsey&#39;s theorem, infinitary version</title>
<link>/entries/Ramsey-Infinite.html</link>
<pubDate>Mon, 20 Sep 2004 00:00:00 +0000</pubDate>
<guid>/entries/Ramsey-Infinite.html</guid>
<description></description>
</item>
</channel>
</rss>

File Metadata

Mime Type
application/octet-stream
Expires
Tue, May 21, 10:51 PM (2 d)
Storage Engine
chunks
Storage Format
Chunks
Storage Handle
8IQpNPDPtf17
Default Alt Text
(5 MB)

Event Timeline