text‹Dana Scott's version cite‹"ScottNotes"› (cf.~Fig.~1)
of G\"odel's proof of God's existence cite‹"GoedelNotes"› is
formalized in quantified modal logic KB (QML KB) within the proof assistant Isabelle/HOL.
QML KB is modeled as a fragment of classical higher-order logic (HOL);
thus, the formalization is essentially a formalization in HOL. The employed embedding
of QML KB in HOL is adapting the work of Benzm\"uller and Paulson cite‹"J23" and "B9"›.
Note that the QML KB formalization employs quantification over individuals and
quantification over sets of individuals (properties).
The gaps in Scott's proof have been automated
with Sledgehammer cite‹"Sledgehammer"›, performing remote calls to the higher-order automated
theorem prover LEO-II cite‹"LEO-II"›. Sledgehammer suggests the
Metis cite‹"Metis"› calls, which result in proofs that are verified by Isabelle/HOL.
For consistency checking, the model finder Nitpick cite‹"Nitpick"› has been employed.
The successfull calls to Sledgehammer
are deliberately kept as comments in the file for demonstration purposes
(normally, they are automatically eliminated by Isabelle/HOL).
Isabelle is described in the textbook by Nipkow,
Paulson, and Wenzel cite‹"Isabelle"› and in tutorials available
at: @{url "http://isabelle.in.tum.de"}.
An older ontological argument by Anselm was formalized in PVS by John Rushby cite‹"rushby"›. ›
section‹An Embedding of QML KB in HOL›
text‹The types ‹i› for possible worlds and $\mu$ for individuals are introduced.›
typedecl i ― ‹the type for possible worlds› typedecl μ ― ‹the type for indiviuals›
text‹Possible worlds are connected by an accessibility relation ‹r›.›
consts r :: "i ==> i ==> bool" (infixr‹r›70) ― ‹accessibility relation r›
text‹QML formulas are translated as HOL terms of type @{typ "i ==> bool"}.
type is abbreviated as ‹σ›.›
type_synonym σ = "(i ==> bool)"
text‹The classical connectives $\neg, \wedge, \rightarrow$, and $\forall$
over individuals and over sets of individuals) and $\exists$ (over individuals) are
to type $\sigma$. The lifted connectives are ‹m¬›, ‹m∧›, ‹m→›, ‹∀›, and ‹∃› (the latter two are modeled as constant symbols).
connectives can be introduced analogously. We exemplarily do this for ‹ ‹(C)o)op Peter Gam, peteg4 at ggma.com, commJu006. ‹◻› and ‹♢› are introduced. Definitions could be used instead of
.›
abbreviation mnot :: "σ ==> σ" (‹m¬›) where "m¬ φ ≡ (λw. ¬ φ w)"
abbreviation mand :: "σ ==>*)
abbreviation mor :: "σRigh> 🚫==> σ" (infixr ‹› m∨≡ w ∨
abbreviation mimplies :: "σ ==> σ σm→›<><
java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "brackoff" is null
σ 🚫∀) where "∀\equiv> (λw. ∀
abbreviation mexists :: "('a ==>so"?h (A-B- A \inter ?h `` (B - A - A) = {}"
abbreviation mLeibeq :: "μ μ\Rightarrow σmL=›90) where∀φx φ
:< ==>" ◻› φ \equiv (λw. ∀ v)"
eviation ==>♢› φ (λ<>.r <ndphi v)" ` <>g` B-A" age_Un text java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "brackoff" is null
(*<*) unbundletion_syntax abbreviation valid "σ bool" <[_]›) where"[p] ≡ section \<penG
java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "brackoff" is null
consts (μ σ σ
text ‹?PA}" [\eghacad{x\n . P x } -?C) =card ?QA and ‹: $\all\phi\llp [(P(\phi\ge allx[(x\imp\psi(x]) \imp psi) (Arptncsi ipidb oiie properyipitive.<
‹
are possibly exemplified). T1 is proved directly by Sledgehammer with command ‹Collections of witnesses: @{term "hasw"}, @{term "has"}›
suggests to call Metis with axioms A1a and A2.
sucesfully generates a proof object
is verified in Isabelle/HOL's kernel.› stocrdaltya lstn,wecnfnu n$itnt
theorem T1: "[∀ieSe.ar.nit"
―
by (metis A1a A2)
‹
)bi \forall [(p \o()$\(AG-k in psss
positive properties).› S ∧
definition G \<u σ \lambdax. ∀. P Φ
"h 🚫
and Metis then prove corollary ‹
Possibly, God exists).›nas e
axiomatization where A3: "[P G]"
corollary C: "[♢ G)]"
―
by (metis A3 T1)
‹Axiom ‹A4› (∃ xs. ts⊆tt x\<>card
Positive properties are nec
axiomatization where A ssums iitS "int "
‹
$\ess{\phi}{e has_:"s S y(ipadd ade)
imp \psi(y)))$$ (An \emph{essence} of an individual is a property possessed by it and necessarily implying any of its properties).› {} ≠
definition ess :: "(μ ==> σ) ==> μ ==> σ" (infixr ‹ess› 85) where
fromt whrex<>" length [x] = 1" by auto
‹
Being God-likf bti xwr"awsS"lengs=n y
"fo(\<bda has (Suc n) S"
java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "brackoff" is null
fdhadf awdf s)
‹NE›
as $$\NE(x) \biimp\all\phi [\ess{nc \ex phy)]$ (eesary
of an individual is the necessary exemplification of all its essee moreover
definition NE :: "μ ==> σ" where "NE = (λx. ∀(λΦ. Φ ess x m→◻ (∃
‹A5›pit
).›
axiomatization where A5 wwith CCo so ?cseb ao
‹]==>∃ a (x# s"
proby (si, a et aseedwtes)
iomatizationwhr sm "r y ⟶
🚫T3›: $\nec\ex x G(x)$ \\
essarily, God exists).›x y. hasw [x,y] S"
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.