src/HOL/Isar_examples/MutilatedCheckerboard.thy
changeset 9596 6d6bf351b2cc
parent 9475 b24516d96847
child 9620 1adf6d761c97
equal deleted inserted replaced
9595:ec388b0a4eaa 9596:6d6bf351b2cc
    19 
    19 
    20 consts
    20 consts
    21   tiling :: "'a set set => 'a set set";
    21   tiling :: "'a set set => 'a set set";
    22 
    22 
    23 inductive "tiling A"
    23 inductive "tiling A"
    24   intrs
    24   intros
    25     empty: "{} : tiling A"
    25     empty: "{} : tiling A"
    26     Un:    "a : A ==> t : tiling A ==> a <= - t
    26     Un:    "a : A ==> t : tiling A ==> a <= - t
    27               ==> a Un t : tiling A";
    27               ==> a Un t : tiling A";
    28 
    28 
    29 
    29 
   113 
   113 
   114 consts 
   114 consts 
   115   domino  :: "(nat * nat) set set";
   115   domino  :: "(nat * nat) set set";
   116 
   116 
   117 inductive domino
   117 inductive domino
   118   intrs
   118   intros
   119     horiz:  "{(i, j), (i, j + 1)} : domino"
   119     horiz:  "{(i, j), (i, j + 1)} : domino"
   120     vertl:  "{(i, j), (i + 1, j)} : domino";
   120     vertl:  "{(i, j), (i + 1, j)} : domino";
   121 
   121 
   122 lemma dominoes_tile_row:
   122 lemma dominoes_tile_row:
   123   "{i} <*> below (2 * n) : tiling domino"
   123   "{i} <*> below (2 * n) : tiling domino"
   177 qed;
   177 qed;
   178 
   178 
   179 lemma domino_finite: "d: domino ==> finite d";
   179 lemma domino_finite: "d: domino ==> finite d";
   180 proof (induct set: domino);
   180 proof (induct set: domino);
   181   fix i j :: nat;
   181   fix i j :: nat;
   182   show "finite {(i, j), (i, j + 1)}"; by (intro Finites.intrs);
   182   show "finite {(i, j), (i, j + 1)}"; by (intro Finites.intros);
   183   show "finite {(i, j), (i + 1, j)}"; by (intro Finites.intrs);
   183   show "finite {(i, j), (i + 1, j)}"; by (intro Finites.intros);
   184 qed;
   184 qed;
   185 
   185 
   186 
   186 
   187 subsection {* Tilings of dominoes *};
   187 subsection {* Tilings of dominoes *};
   188 
   188