src/Doc/Demo_FoilTeX/Document.thy
author haftmann
Wed, 21 May 2025 20:13:43 +0200
changeset 82648 35e40c60c680
parent 76399 d0a1f3eb0982
permissions -rw-r--r--
typo
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
76399
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
     1
theory Document
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
     2
  imports Main
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
     3
begin
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
     4
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
     5
section \<open>Abstract\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
     6
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
     7
text \<open>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
     8
  \small
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
     9
  Isabelle is a formal document preparation system. This example shows how to
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    10
  use it together with Foil{\TeX} to produce slides in {\LaTeX}. See
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    11
  \<^url>\<open>https://ctan.org/pkg/foiltex\<close> for further information.
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    12
\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    13
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    14
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    15
chapter \<open>Introduction\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    16
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    17
section \<open>Some slide\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    18
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    19
paragraph \<open>Point 1:
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    20
  \plainstyle ABC\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    21
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    22
text \<open>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    23
  \<^item> something
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    24
  \<^item> to say \dots
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    25
\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    26
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    27
paragraph \<open>Point 2:
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    28
  \plainstyle XYZ\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    29
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    30
text \<open>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    31
  \<^item> more
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    32
  \<^item> to say \dots
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    33
\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    34
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    35
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    36
section \<open>Another slide\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    37
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    38
paragraph \<open>Key definitions:\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    39
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    40
text \<open>Informal bla bla.\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    41
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    42
definition "foo = True"  \<comment> \<open>side remark on \<^const>\<open>foo\<close>\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    43
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    44
definition "bar = False"  \<comment> \<open>side remark on \<^const>\<open>bar\<close>\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    45
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    46
lemma foo unfolding foo_def ..
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    47
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    48
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    49
chapter \<open>Application: Cantor's theorem\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    50
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    51
section \<open>Informal notes\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    52
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    53
text_raw \<open>\isakeeptag{proof}\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    54
text \<open>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    55
  Cantor's Theorem states that there is no surjection from
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    56
  a set to its powerset.  The proof works by diagonalization.  E.g.\ see
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    57
  \<^item> \<^url>\<open>http://mathworld.wolfram.com/CantorDiagonalMethod.html\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    58
  \<^item> \<^url>\<open>https://en.wikipedia.org/wiki/Cantor's_diagonal_argument\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    59
\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    60
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    61
section \<open>Formal proof\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    62
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    63
theorem Cantor: "\<nexists>f :: 'a \<Rightarrow> 'a set. \<forall>A. \<exists>x. A = f x"
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    64
proof
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    65
  assume "\<exists>f :: 'a \<Rightarrow> 'a set. \<forall>A. \<exists>x. A = f x"
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    66
  then obtain f :: "'a \<Rightarrow> 'a set" where *: "\<forall>A. \<exists>x. A = f x" ..
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    67
  let ?D = "{x. x \<notin> f x}"
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    68
  from * obtain a where "?D = f a" by blast
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    69
  moreover have "a \<in> ?D \<longleftrightarrow> a \<notin> f a" by blast
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    70
  ultimately show False by blast
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    71
qed
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    72
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    73
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    74
chapter \<open>Conclusion\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    75
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    76
section \<open>Lorem ipsum dolor\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    77
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    78
text \<open>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    79
  \<^item> Lorem ipsum dolor sit amet, consectetur adipiscing elit.
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    80
  \<^item> Donec id ipsum sapien.
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    81
  \<^item> Vivamus malesuada enim nibh, a tristique nisi sodales ac.
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    82
  \<^item> Praesent ut sem consectetur, interdum tellus ac, sodales nulla.
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    83
\<close>
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    84
d0a1f3eb0982 support for FoilTeX with demo document;
wenzelm
parents:
diff changeset
    85
end