src/Doc/Demo_LLNCS/Document.thy
author nipkow
Tue, 17 Jun 2025 14:11:40 +0200
changeset 82733 8b537e1af2ec
parent 79505 a94a512c5e7a
permissions -rw-r--r--
reinstated intersection of lists as inter_list_set
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
76443
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
     1
theory Document
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
     2
  imports Main
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
     3
begin
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
     4
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
     5
section \<open>Some section\<close>
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
     6
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
     7
subsection \<open>Some subsection\<close>
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
     8
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
     9
subsection \<open>Some subsubsection\<close>
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    10
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    11
subsubsection \<open>Some subsubsubsection\<close>
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    12
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    13
paragraph \<open>A paragraph.\<close>
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    14
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    15
text \<open>Informal bla bla.\<close>
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    16
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    17
definition "foo = True"  \<comment> \<open>side remark on \<^const>\<open>foo\<close>\<close>
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    18
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    19
definition "bar = False"  \<comment> \<open>side remark on \<^const>\<open>bar\<close>\<close>
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    20
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    21
lemma foo unfolding foo_def ..
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    22
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    23
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    24
paragraph \<open>Another paragraph.\<close>
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    25
76987
4c275405faae isabelle update -u cite;
wenzelm
parents: 76443
diff changeset
    26
text \<open>See also \<^cite>\<open>\<open>\S3\<close> in "isabelle-system"\<close>.\<close>
76443
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    27
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    28
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    29
section \<open>Formal proof of Cantor's theorem\<close>
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    30
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    31
text_raw \<open>\isakeeptag{proof}\<close>
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    32
text \<open>
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    33
  Cantor's Theorem states that there is no surjection from
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    34
  a set to its powerset.  The proof works by diagonalization.  E.g.\ see
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    35
  \<^item> \<^url>\<open>http://mathworld.wolfram.com/CantorDiagonalMethod.html\<close>
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    36
  \<^item> \<^url>\<open>https://en.wikipedia.org/wiki/Cantor%27s%5fdiagonal%5fargument\<close>
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    37
\<close>
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    38
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    39
theorem Cantor: "\<nexists>f :: 'a \<Rightarrow> 'a set. \<forall>A. \<exists>x. A = f x"
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    40
proof
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    41
  assume "\<exists>f :: 'a \<Rightarrow> 'a set. \<forall>A. \<exists>x. A = f x"
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    42
  then obtain f :: "'a \<Rightarrow> 'a set" where *: "\<forall>A. \<exists>x. A = f x" ..
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    43
  let ?D = "{x. x \<notin> f x}"
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    44
  from * obtain a where "?D = f a" by blast
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    45
  moreover have "a \<in> ?D \<longleftrightarrow> a \<notin> f a" by blast
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    46
  ultimately show False by blast
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    47
qed
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    48
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    49
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    50
subsection \<open>Lorem ipsum dolor\<close>
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    51
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    52
text \<open>
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    53
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec id ipsum
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    54
  sapien. Vivamus malesuada enim nibh, a tristique nisi sodales ac. Praesent
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    55
  ut sem consectetur, interdum tellus ac, sodales nulla. Quisque vel diam at
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    56
  risus tempus tempor eget a tortor. Suspendisse potenti. Nulla erat lacus,
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    57
  dignissim sed volutpat nec, feugiat non leo. Nunc blandit et justo sed
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    58
  venenatis. Donec scelerisque placerat magna, et congue nulla convallis vel.
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    59
  Cras tristique dolor consequat dolor tristique rutrum. Suspendisse ultrices
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    60
  sem nibh, et suscipit felis ultricies at. Aliquam venenatis est vel nulla
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    61
  efficitur ornare. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    62
\<close>
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    63
79505
a94a512c5e7a update to llncs-2.23;
wenzelm
parents: 76987
diff changeset
    64
a94a512c5e7a update to llncs-2.23;
wenzelm
parents: 76987
diff changeset
    65
text_raw \<open>\begin{credits}\<close>
a94a512c5e7a update to llncs-2.23;
wenzelm
parents: 76987
diff changeset
    66
a94a512c5e7a update to llncs-2.23;
wenzelm
parents: 76987
diff changeset
    67
subsubsection \<open>\ackname\<close>
a94a512c5e7a update to llncs-2.23;
wenzelm
parents: 76987
diff changeset
    68
text \<open>
a94a512c5e7a update to llncs-2.23;
wenzelm
parents: 76987
diff changeset
    69
  Isabelle/Scala was of great help to assemble the \<^verbatim>\<open>llncs\<close> system component;
a94a512c5e7a update to llncs-2.23;
wenzelm
parents: 76987
diff changeset
    70
  see also \<^file>\<open>~~/src/Pure/Admin/component_llncs.scala\<close> and
a94a512c5e7a update to llncs-2.23;
wenzelm
parents: 76987
diff changeset
    71
  \<^path>\<open>$ISABELLE_LLNCS_HOME\<close>.
a94a512c5e7a update to llncs-2.23;
wenzelm
parents: 76987
diff changeset
    72
\<close>
a94a512c5e7a update to llncs-2.23;
wenzelm
parents: 76987
diff changeset
    73
a94a512c5e7a update to llncs-2.23;
wenzelm
parents: 76987
diff changeset
    74
subsubsection \<open>\discintname\<close>
a94a512c5e7a update to llncs-2.23;
wenzelm
parents: 76987
diff changeset
    75
text \<open>
a94a512c5e7a update to llncs-2.23;
wenzelm
parents: 76987
diff changeset
    76
  I have a long-standing interest in the wealth and prosperity of the Isabelle
a94a512c5e7a update to llncs-2.23;
wenzelm
parents: 76987
diff changeset
    77
  open-source project. \<close>
a94a512c5e7a update to llncs-2.23;
wenzelm
parents: 76987
diff changeset
    78
a94a512c5e7a update to llncs-2.23;
wenzelm
parents: 76987
diff changeset
    79
text_raw \<open>\end{credits}\<close>
a94a512c5e7a update to llncs-2.23;
wenzelm
parents: 76987
diff changeset
    80
76443
8dbb0b2f6576 support for Springer LLNCS with demo document;
wenzelm
parents:
diff changeset
    81
end