Isabelle (proof assistant)

Isabelle
Original author(s)Lawrence Paulson
Developer(s)University of Cambridge and Technical University of Munich et al.
Initial release1986[1]
Stable release
Isabelle2024 / May 2024; 5 months ago (2024-05)
Written inStandard ML and Scala
Operating systemLinux, Windows, macOS
TypeMathematics
LicenseBSD license
Websiteisabelle.in.tum.de

The Isabelle[a] automated theorem prover is a higher-order logic (HOL) theorem prover, written in Standard ML and Scala. As an LCF-style theorem prover, it is based on a small logical core (kernel) to increase the trustworthiness of proofs without requiring — yet supporting — explicit proof objects.

Isabelle is available inside a flexible system framework allowing for logically safe extensions, which comprise both theories as well as implementations for code-generation, documentation, and specific support for a variety of formal methods. It can be seen as an IDE for formal methods. In recent years, a substantial number of theories and system extensions have been collected in the Isabelle Archive of Formal Proofs (Isabelle AFP)[2]

Isabelle was named by Lawrence Paulson after Gérard Huet's daughter.[3]

The Isabelle theorem prover is free software, released under the revised BSD license.

Features

Isabelle is generic: it provides a meta-logic (a weak type theory), which is used to encode object logics like first-order logic (FOL), higher-order logic (HOL) or Zermelo–Fraenkel set theory (ZFC). The most widely used object logic is Isabelle/HOL, although significant set theory developments were completed in Isabelle/ZF. Isabelle's main proof method is a higher-order version of resolution, based on higher-order unification.

Though interactive, Isabelle features efficient automatic reasoning tools, such as a term rewriting engine and a tableaux prover, various decision procedures, and, through the Sledgehammer proof-automation interface, external satisfiability modulo theories (SMT) solvers (including CVC4) and resolution-based automated theorem provers (ATPs), including E, SPASS, and Vampire (the Metis[b] proof method reconstructs resolution proofs generated by these ATPs).[4] It also features two model finders (counterexample generators): Nitpick[5] and Nunchaku.[6]

Isabelle features locales which are modules that structure large proofs. A locale fixes types, constants, and assumptions within a specified scope[5] so that they do not have to be repeated for every lemma.

Isar ("intelligible semi-automated reasoning") is Isabelle's formal proof language. It is inspired by the Mizar system.[5]

Example proof

Isabelle allows proofs to be written in two different styles, the procedural and the declarative. Procedural proofs specify a series of tactics (theorem proving functions/procedures) to apply. While reflecting the procedure that a human mathematician might apply to proving a result, they are typically hard to read as they do not describe the outcome of these steps. Declarative proofs (supported by Isabelle's proof language, Isar), on the other hand, specify the actual mathematical operations to be performed, and are therefore more easily read and checked by humans.

The procedural style has been deprecated in recent versions of Isabelle.[citation needed]

For example, a declarative proof by contradiction in Isar that the square root of two is not rational can be written as follows.

theorem sqrt2_not_rational:
  "sqrt 2 ∉ ℚ"
proof
  let ?x = "sqrt 2"
  assume "?x ∈ ℚ"
  then obtain m n :: nat where
    sqrt_rat: "¦?x¦ = m / n" and lowest_terms: "coprime m n"
    by (rule Rats_abs_nat_div_natE)
  hence "m^2 = ?x^2 * n^2" by (auto simp add: power2_eq_square)
  hence eq: "m^2 = 2 * n^2" using of_nat_eq_iff power2_eq_square by fastforce
  hence "2 dvd m^2" by simp
  hence "2 dvd m" by simp
  have "2 dvd n" proof -
    from ‹2 dvd m› obtain k where "m = 2 * k" ..
    with eq have "2 * n^2 = 2^2 * k^2" by simp
    hence "2 dvd n^2" by simp
    thus "2 dvd n" by simp
  qed
  with ‹2 dvd m› have "2 dvd gcd m n" by (rule gcd_greatest)
  with lowest_terms have "2 dvd 1" by simp
  thus False using odd_one by blast
qed

Applications

Isabelle has been used to aid formal methods for the specification, development and verification of software and hardware systems.

Isabelle has been used to formalize numerous theorems from mathematics and computer science, like Gödel's completeness theorem, Gödel's theorem about the consistency of the axiom of choice, the prime number theorem, correctness of security protocols, and properties of programming language semantics. Many of the formal proofs are, as mentioned, maintained in the Archive of Formal Proofs, which contains (as of 2019) at least 500 articles with over 2 million lines of proof in total.[7]

  • In 2009, the L4.verified project at NICTA produced the first formal proof of functional correctness of a general-purpose operating system kernel:[8] the seL4 (secure embedded L4) microkernel. The proof is constructed and checked in Isabelle/HOL and comprises over 200,000 lines of proof script to verify 7,500 lines of C. The verification covers code, design, and implementation, and the main theorem states that the C code correctly implements the formal specification of the kernel. The proof uncovered 144 bugs in an early version of the C code of the seL4 kernel, and about 150 issues in each of design and specification.

Larry Paulson keeps a list of research projects that use Isabelle.[10]

Alternatives

Several languages and systems provide similar functionality:

Notes

References

  1. ^ Paulson, L. C. (1986). "Natural deduction as higher-order resolution". The Journal of Logic Programming. 3 (3): 237–258. arXiv:cs/9301104. doi:10.1016/0743-1066(86)90015-4. S2CID 27085090.
  2. ^ Eberl, Manuel; Klein, Gerwin; Nipkow, Tobias; Paulson, Larry; Thiemann, René. "Archive of Formal Proofs". Retrieved 1 May 2021.
  3. ^ Gordon, Mike (1994-11-16). "1.2 History". Isabelle and HOL. Cambridge AR Research (The Automated Reasoning Group). Archived from the original on 2017-03-05. Retrieved 2016-04-28.
  4. ^ Jasmin Christian Blanchette, Lukas Bulwahn, Tobias Nipkow, "Automatic Proof and Disproof in Isabelle/HOL", in: Cesare Tinelli, Viorica Sofronie-Stokkermans (eds.), International Symposium on Frontiers of Combining Systems – FroCoS 2011, Springer, 2011.
  5. ^ a b c Jasmin Christian Blanchette, Mathias Fleury, Peter Lammich & Christoph Weidenbach, "A Verified SAT Solver Framework with Learn, Forget, Restart, and Incrementality", Journal of Automated Reasoning 61:333–365 (2018).
  6. ^ Andrew Reynolds, Jasmin Christian Blanchette, Simon Cruanes, Cesare Tinelli, "Model Finding for Recursive Functions in SMT", in: Nicola Olivetti, Ashish Tiwari (eds.), 8th International Joint Conference on Automated Reasoning, Springer, 2016.
  7. ^ Eberl, Manuel; Klein, Gerwin; Nipkow, Tobias; Paulson, Larry; Thiemann, René. "Archive of Formal Proofs". Retrieved 22 October 2019.
  8. ^ Klein, Gerwin; Elphinstone, Kevin; Heiser, Gernot; Andronick, June; Cock, David; Derrin, Philip; Elkaduwe, Dhammika; Engelhardt, Kai; Kolanski, Rafal; Norrish, Michael; Sewell, Thomas; Tuch, Harvey; Winwood, Simon (October 2009). "seL4: Formal verification of an OS kernel" (PDF). 22nd ACM Symposium on Operating System Principles. Big Sky, Montana, US. pp. 207–200.
  9. ^ Strniša, Rok; Parkinson, Matthew (2011-02-07). "Lightweight Java". Archive of Formal Proofs (Feb 2011 ed.). ISSN 2150-914X. Retrieved 2019-11-25.
  10. ^ "Projects - Isabelle Community Wiki".

Further reading

Read other articles:

2016年美國總統選舉 ← 2012 2016年11月8日 2020 → 538個選舉人團席位獲勝需270票民意調查投票率55.7%[1][2] ▲ 0.8 %   获提名人 唐納·川普 希拉莉·克林頓 政党 共和黨 民主党 家鄉州 紐約州 紐約州 竞选搭档 迈克·彭斯 蒂姆·凱恩 选举人票 304[3][4][註 1] 227[5] 胜出州/省 30 + 緬-2 20 + DC 民選得票 62,984,828[6] 65,853,514[6] 得…

Battaglia navale di Marsigliaparte della guerra civile romana (49-45 a.C.)Battaglia e assedio di Marsiglia.Data27 giugno del 49 a.C. LuogoMassilia, Gallia Esitovittoria dei cesariani SchieramentiOptimatesMassiliaPopulares ComandantiLucio Domizio EnobarboDecimo Giunio Bruto Albino Effettiviflotta di Massilia (17 navi)flotta cesariana (12 navi) Perdite3 affondate6 catturate? Voci di guerre presenti su Wikipedia Manuale V · D · MGuerra civile romana(49-45 a.C.)(49 a.C.) Corfin…

此条目序言章节没有充分总结全文内容要点。 (2019年3月21日)请考虑扩充序言,清晰概述条目所有重點。请在条目的讨论页讨论此问题。 哈萨克斯坦總統哈薩克總統旗現任Қасым-Жомарт Кемелұлы Тоқаев卡瑟姆若马尔特·托卡耶夫自2019年3月20日在任任期7年首任努尔苏丹·纳扎尔巴耶夫设立1990年4月24日(哈薩克蘇維埃社會主義共和國總統) 哈萨克斯坦 哈萨克斯坦政府與…

Curug SilaweAir terjun Silawe di musim hujanLokasiDesa Kajoran, Kecamatan Kajoran, Kabupaten Magelang, Provinsi Jawa Tengah, IndonesiaTipePlungeTinggi total60 meter (197 ft)Anak sungaiSungai Tangsi Curug Silawe merupakan salah satu air terjun setinggi sekira 60 meter yang berada di Kabupaten Magelang, Provinsi Jawa Tengah. Terletak di Dusun Kopeng, Desa Sutopati, Kecamatan Kajoran. Air terjun Silawe terletak di lereng tenggara Gunung Sumbing pada ketinggian sekitar 1000 meter di atas permuk…

CalabriaRegione Calabria RegiónBanderaEscudo Coordenadas 39°00′N 16°30′E / 39, 16.5Capital CatanzaroIdioma oficial Italiano y siciliano • Otros idiomas albanés, grecocalabrés, griego y occitanoEntidad Región • País  Italia • Zona Italia meridional, Mezzogiorno • Municipios 409Presidente (interino) Roberto Occhiuto (Forza Italia-CDX)Subdivisiones CatanzaroCosenzaCrotonaRegio de CalabriaVibo ValentiaSuperficie   • Total 15…

University football team Carnegie Mellon Tartans footballFirst season1906Head coachRyan Larsen 2nd season, 21–2–0 (.913)StadiumGesling Stadium(capacity: 3,900)Year built1990Field surfaceFieldTurfLocationPittsburgh, PennsylvaniaNCAA divisionDivision IIIConferencePresidents' Athletic ConferencePast conferencesUniversity Athletic Association (1990–2017)Presidents' Athletic Conference (1968–1989)RivalriesCase Western Reserve Spartans (rivalry)ColorsCrimson and gray[1] …

Canadian radio broadcasting company Not to be confused with Golden West Broadcasters, former owner of Los Angeles television station KTLA. Golden West Broadcasting Ltd.Company typePrivateIndustryMediaFoundedAltona, Manitoba (1957)HeadquartersAltona, ManitobaArea servedWestern CanadaKey peopleElmer Hildebrand (CEO & President)Brett Adnum (COO)ProductsMedia, BroadcastingOwnerElmer HildebrandWebsitegoldenwest.ca Golden West Broadcasting Ltd.[1] is a Canadian radio and digital media comp…

سعيد عبد اللطيف فودة معلومات شخصية الميلاد 1967 مالأردن (الكرامة) الإقامة الأردن المذهب الفقهي شافعي العقيدة مسلم أشعري الحياة العملية الحقبة 1967 م – إلى الآن المهنة باحث في الأديان،  وكاتب  الاهتمامات عقيدة، التحقيق والبحث في علم الكلام تعديل مصدري - تعديل   سعيد عبد ا…

Polish cyclist Lech PiaseckiPersonal informationFull nameLech PiaseckiBorn (1961-11-13) 13 November 1961 (age 62)Poznań, PolandTeam informationCurrent teamRetiredDisciplineRoad/TrackRoleRiderProfessional teams1986–1988Del Tongo1989Malvor-Sidi1990Diana-Colnago1991Colnago-Lampre Major winsGrand Tours Giro d'Italia 5 individual stages (1986, 1988, 1989) Medal record Representing  Poland Men's road bicycle racing World Championships 1985 Giavara del Montello Amateur's Road…

Wahjoe Sardono (Dono)Kasino Hadiwibowo (Kasino)Indrodjojo Kusumonegoro (Indro) Warkop adalah sebuah grup lawak yang beranggotakan Wahjoe Sardono, Kasino Hadiwibowo, Indrodjojo Kusumonegoro, Nanu Moeljono dan Rudy Badil. Dono, Kasino, Nanu dan Rudy adalah mahasiswa Universitas Indonesia sedangkan Indro adalah mahasiswa Universitas Pancasila. Mereka pertama kali meraih kesuksesan lewat acara Obrolan Santai di Warung Kopi yang disiarkan oleh Radio Prambors. Dalam acara tersebut, Dono berperan sebag…

Series of personal electronic devices This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Philips GoGear – news · newspapers · books · scholar · JSTOR (May 2022) (Learn how and when to remove this message) Philips GoGear Ariaz (4 GB portable media player) Close-up view of the Philips GoGear SA1110 Philips GoGear is…

West Germanic language For peoples and persons from Africa, see Africans. For white Afrikaans speakers, see Afrikaners. AfrikaansPronunciation[afriˈkɑːns]Native to South Africa Namibia Botswana Zambia Zimbabwe Native speakers7.2 million (2016)10.3 million L2 speakers in South Africa (2011)[1]Language familyIndo-European GermanicWest GermanicWeser–Rhine GermanicLow FranconianDutchCentral DutchHollandicAfrikaansEarly formsFrankish Dutch Writing systemLatin script (Af…

Fan-shaped deposit of sediment Alluvial fan in the French Pyrenees An alluvial fan is an accumulation of sediments that fans outwards from a concentrated source of sediments, such as a narrow canyon emerging from an escarpment. They are characteristic of mountainous terrain in arid to semiarid climates, but are also found in more humid environments subject to intense rainfall and in areas of modern glaciation. They range in area from less than 1 square kilometer (0.4 sq mi) to almost 2…

1936 anti-fascist confrontation in London For the 1911 gunfight known as the Battle of Stepney, see Siege of Sidney Street. Battle of Cable StreetFlyer distributed by the London branch of the Communist Party of Great BritainDate4 October 1936LocationCable Street, Whitechapel, London, United Kingdom51°30′39″N 0°03′08″W / 51.5109°N 0.0521°W / 51.5109; -0.0521Caused byOpposition to a fascist march through East LondonMethodsProtestParties British Union of Fascists…

Public university in Norman, Oklahoma, US University of OklahomaFormer nameNorman Territorial University (1890–1907)MottoLatin: Civi et ReipublicaeMotto in EnglishFor the benefit of the Citizen and the State[1]TypePublic research universityEstablishedDecember 19, 1890; 133 years ago (December 19, 1890)Parent institutionOklahoma State System of Higher Education - Regents of the University of OklahomaAccreditationHLCAcademic affiliationsORAUURASpace-grantEndowment$1.67 …

American composer (1910–1981) This article is about the composer. For other uses, see Samuel Barber (disambiguation). Samuel BarberBorn(1910-03-09)March 9, 1910DiedJanuary 23, 1981(1981-01-23) (aged 70)OccupationsComposerconductorWorksList of compositionsPartnerGian Carlo MenottiAwardsPulitzer PrizeSignature Samuel Osmond Barber II (March 9, 1910 – January 23, 1981) was an American composer, pianist, conductor, baritone, and music educator, and one of the most celebrated composers of th…

  Lihat Bahasa Nias di: ISO  • Ethnologue  • Wikipedia bahasa Inggris Bahasa NiasBPS: 0025 5 Li Niha Halaman depan Wikipedia bahasa Nias Dituturkan diIndonesiaWilayahNias dan Kepulauan Batu, Sumatera UtaraEtnisNiasPenutur770,000[1] (2000) Rumpun bahasa Austronesia Melayu-Polinesia Sumatra Barat Laut–Kepulauan PenghalangKepulauan Penghalang Nias–Sigulai Bahasa Nias Untuk kontributor: Sedang dilakukan otomatisasi klasifikasi bahasa secara berkala. Sila…

Swiss rower Max SchmidMax Schmid at the 1920 European ChampionshipsPersonal informationDiedJanuary 1964SportSportRowing Medal record Representing  Switzerland European Rowing Championships 1920 Mâcon Single sculls 1925 Prague Double sculls Max W. Schmid (died January 1964) was a Swiss rower who won the single scull event at the 1920 European Championships. He competed at the 1920 Summer Olympics but failed to reach the final.[1] In 1925 he won a European silver medal in the double …

Aaron Arrowsmith BiografiKelahiran14 Juli 1750 Winston (en) Kematian28 April 1823 (72 tahun)London KegiatanSpesialisasiKartografi Pekerjaankartografer, publisher (en) Murid dariJohn Cary (en) Aaron Arrowsmith (14 Juli 1750 – 23 April 1823)[1] adalah seorang ahli kartografi, pemahat, penerbit, dan anggota dari keluarga ahli geografi Arrowsmith. Sekitar umur dua puluh tahun ia berpindah dari Winston, County Durham menuju ke Lapangan Soho dan dipekerjakan John Cary (pema…

County of England This article is about the county in England. For other uses, see Berkshire (disambiguation). Berks. redirects here. For other uses, see Berks (disambiguation). For the singular, see Berk (disambiguation). This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Berkshire – news · newspapers · books · scholar…