(************** Content-type: application/mathematica **************
                     CreatedBy='Mathematica 5.0'

                    Mathematica-Compatible Notebook

This notebook can be used with any Mathematica-compatible
application, such as Mathematica, MathReader or Publicon. The data
for the notebook starts with the line containing stars above.

To get the notebook into a Mathematica-compatible application, do
one of the following:

* Save the data starting with the line of stars above into a file
  with a name ending in .nb, then open the file inside the
  application;

* Copy the data starting with the line of stars above to the
  clipboard, then use the Paste menu command inside the application.

Data for notebooks contains only printable 7-bit ASCII and can be
sent directly in email or through ftp in text mode.  Newlines can be
CR, LF or CRLF (Unix, Macintosh or MS-DOS style).

NOTE: If you modify the data for this notebook not in a Mathematica-
compatible application, you must delete the line below containing
the word CacheID, otherwise Mathematica-compatible applications may
try to use invalid cache data.

For more information on notebooks and Mathematica-compatible 
applications, contact Wolfram Research:
  web: http://www.wolfram.com
  email: info@wolfram.com
  phone: +1-217-398-0700 (U.S.)

Notebook reader applications are available free of charge from 
Wolfram Research.
*******************************************************************)

(*CacheID: 232*)


(*NotebookFileLineBreakTest
NotebookFileLineBreakTest*)
(*NotebookOptionsPosition[    306150,       9191]*)
(*NotebookOutlinePosition[    318058,       9522]*)
(*  CellTagsIndexPosition[    316226,       9461]*)
(*WindowFrame->Normal*)



Notebook[{
Cell[TextData[StyleBox["TuGames  v1.1",
  FontSlant->"Italic"]], "Title"],

Cell["", "Author"],

Cell[TextData[{
  StyleBox["by Holger I.  Meinhardt (2005)\nInstitute for Statistics and\n\
Economic Theory\nUniversity of Karlsruhe\nEnglerstr. 11,Bd. 11.40\nD-76128 \
Karlsruhe\n",
    FontSlant->"Italic"],
  "E-mails: hme@vwl3.wiwi.uni-karlsruhe.de",
  StyleBox[", ",
    FontSlant->"Italic"],
  "Holger.Meinhardt@wiwi.uni-karlsruhe.de"
}], "Text"],

Cell[CellGroupData[{

Cell["Contents", "Section"],

Cell[TextData[{
  "1. ",
  ButtonBox["Introduction",
    ButtonData:>"Introduction",
    ButtonStyle->"Hyperlink"],
  "\n2. ",
  ButtonBox["Installation",
    ButtonData:>"Installation",
    ButtonStyle->"Hyperlink"],
  "\n2.1. ",
  ButtonBox["Unix",
    ButtonData:>"Unix",
    ButtonStyle->"Hyperlink"],
  "\n2.2. ",
  ButtonBox["Windows",
    ButtonData:>"Windows",
    ButtonStyle->"Hyperlink"],
  "\n2.3. ",
  ButtonBox["Mac OS",
    ButtonData:>"Mac OS",
    ButtonStyle->"Hyperlink"],
  "\n3. ",
  ButtonBox["Getting Started",
    ButtonData:>"Getting Started",
    ButtonStyle->"Hyperlink"],
  " \n3.1. ",
  ButtonBox["How to define Games?",
    ButtonData:>"How to define Games?",
    ButtonStyle->"Hyperlink"],
  "\n4. ",
  ButtonBox["Some Functions",
    ButtonData:>"Some Functions",
    ButtonStyle->"Hyperlink"],
  "\n4.1. ",
  ButtonBox["Basic Functions",
    ButtonData:>"Basic Functions",
    ButtonStyle->"Hyperlink"],
  "\n4.2. ",
  ButtonBox["k-Convexity",
    ButtonData:>"k-convexity",
    ButtonStyle->"Hyperlink"],
  "\n4.3. ",
  ButtonBox["Kernel",
    ButtonData:>"Kernel",
    ButtonStyle->"Hyperlink"],
  "\n4.4. ",
  ButtonBox["Unanimity Coordinates",
    ButtonData:>"Unanimity Coordinates",
    ButtonStyle->"Hyperlink"],
  "\n5. ",
  ButtonBox["Computing the Vertices of the Core",
    ButtonData:>"5",
    ButtonStyle->"Hyperlink"],
  "\n6. ",
  ButtonBox["Concluding Remarks and Limitations",
    ButtonData:>"Concluding Remarks and Limitations",
    ButtonStyle->"Hyperlink"],
  "\n7. ",
  ButtonBox["References",
    ButtonData:>"References",
    ButtonStyle->"Hyperlink"]
}], "Text",
  CellTags->{
  "1.", "2.", "2.1.", "2.2.", "2.3.", "3.", "4.", "4.1.", "4.2.", "4.3.", 
    "4.4.", "5.", "6.", "7.", "3.1.", "Vertices"}]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[ButtonBox["1.Introduction",
  ButtonData:>"1.",
  ButtonStyle->"Hyperlink"]], "Section",
  CellTags->"Introduction"],

Cell[TextData[{
  StyleBox["TuGames",
    FontSlant->"Italic"],
  " is a ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  " package to determine and to check some game properties of transferable \
utility games. It provides about 70 different functions and it can calculate, \
for instance, kernel elements, excess payoffs, marginal values, the \
tau-value, and the vertices of a core. Moreover, it verifies if the game is \
convex, average-convex  or superadditive just to mention some interesting \
functions. This package is an extension of the package ",
  StyleBox["CooperativeGames",
    FontSlant->"Italic"],
  " that has been developed by ",
  ButtonBox["M. Carter",
    ButtonData:>"M. Carter",
    ButtonStyle->"Hyperlink"],
  ". It must be mentioned in this place that some commands of ",
  StyleBox["TuGames",
    FontSlant->"Italic"],
  " require routines that have been provided by the package ",
  StyleBox["CooperativeGames",
    FontSlant->"Italic"],
  ".  Therefore, you have also to install the package ",
  StyleBox["CooperativeGames",
    FontSlant->"Italic"],
  " to use the new functions properly. A description of the package ",
  StyleBox["CooperativeGames",
    FontSlant->"Italic"],
  " can be found in Economic and Financial Modeling with ",
  StyleBox["Mathematica,",
    FontSlant->"Italic"],
  " ed. ",
  ButtonBox["Hal. R. Varian",
    ButtonData:>"Hal R. Varian",
    ButtonStyle->"Hyperlink"],
  ", Telos  Springer Publisher,1993, Chapter 8. Furthermore, if one is \
interested in computing the vertices of a core the ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  " package ",
  StyleBox["VertexEnum",
    FontSlant->"Italic"],
  " written by ",
  ButtonBox["K. Fukuda",
    ButtonData:>"http://www.ifor.math.ethz.ch/staff/fukuda/fukuda.html",
    ButtonStyle->"Hyperlink"],
  " and I. Mizukoshi must also be installed on the computer.  But note that \
this function is very slow in computing all vertices of a core on old \
computers like Pentium II systems.  You can overcome these shortcomings of \
VertexEnum by installing the C-library cddmathlink written by the same \
authors to perform the same computational task more efficiently. It can be \
found under http://www.cs.mcgill.ca/ fukuda/ for various UNIX and forWindow \
systems. The library is linked via MathLink with the ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  " Kernel. For Windows Operating Systems pre-build binaries are available \
and are included in the subdirectory cddml. Note that the functions that \
based on this library are not activated. To use these functions on your \
operating systems you must comment them out in the package TuGames. Moreover, \
you have to adjust the $Path variable where the library can be found. The \
default value is set to \"/usr/local/bin\" for UNIX systems. For changing \
this value edit the file ",
  StyleBox["TUGames",
    FontSlant->"Italic"],
  " with an editor of your choice and search for ",
  StyleBox["SetDirectory[]",
    FontWeight->"Bold"],
  ". The package ",
  StyleBox["TuGames",
    FontSlant->"Italic"],
  " can be used under Windows XP/2000/NT, MacOS and UNIX platforms running ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  " Version 3.0 or later. The author has tested the functions extensively \
under LINUX x86/64, HP-UX  and AIX. Furthermore, the package was also be \
installed and tested successfully under Windows XP. For Windows 2000/NT and \
Mac OS the author has no experience. But the programming language of ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  " is system independent, thus, there should no problems occur on these \
operating systems. "
}], "Text",
  CellFrame->{{0, 0}, {0, 0.5}},
  TextAlignment->Left,
  TextJustification->1,
  CellTags->{
  "http://www.ifor.math.ethz.ch/staff/fukuda/fukuda.html", "1993", "1993C"}]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[ButtonBox["2. Installation",
  ButtonData:>"2.",
  ButtonStyle->"Hyperlink"]], "Section",
  CellTags->"Installation"],

Cell[CellGroupData[{

Cell[TextData[ButtonBox["2.1. Unix",
  ButtonData:>"2.1.",
  ButtonStyle->"Hyperlink"]], "Subsubsection",
  CellTags->"Unix"],

Cell[TextData[{
  "1. Create  a directory \"",
  StyleBox["TuGames",
    FontWeight->"Bold",
    FontVariations->{"CompatibilityType"->0}],
  "\" in your",
  StyleBox["  $HOME/.",
    FontWeight->"Bold"],
  StyleBox["Mathematica",
    FontWeight->"Bold",
    FontSlant->"Italic"],
  StyleBox["/3.0/AddOns/Applications",
    FontWeight->"Bold"],
  " directory. Copy now all files in the directory \"",
  StyleBox["TuGames",
    FontWeight->"Bold",
    FontVariations->{"CompatibilityType"->0}],
  "\", but for the file ",
  StyleBox["CooperativeGames.m",
    FontSlant->"Italic"],
  " create a subdirectory \"",
  StyleBox["coop",
    FontWeight->"Bold",
    FontVariations->{"CompatibilityType"->0}],
  "\" in ",
  StyleBox["TuGames",
    FontSlant->"Italic"],
  " and move the file in this subdirectory.\n2. Create the variable ",
  StyleBox["$TuGamesPath",
    FontWeight->"Bold"],
  " in the ",
  StyleBox["init.m",
    FontSlant->"Italic"],
  " file in your ",
  StyleBox["$HOME/.",
    FontWeight->"Bold"],
  StyleBox["Mathematica",
    FontWeight->"Bold",
    FontSlant->"Italic"],
  StyleBox["/3.0/Kernel",
    FontWeight->"Bold"],
  " directory. If no ",
  StyleBox["init.m",
    FontSlant->"Italic"],
  " file exists, create the file. Set this variable to\n",
  StyleBox["$TuGamesPath = \
$HomeDirectory<>\".Mathematica/3.0/AddOns/Applications/TuGames\"",
    FontWeight->"Bold"],
  "\n3. Add to the global variable ",
  StyleBox["$Path",
    FontWeight->"Bold"],
  " in the",
  StyleBox[" ",
    FontWeight->"Bold"],
  StyleBox["init.m",
    FontSlant->"Italic",
    FontVariations->{"CompatibilityType"->0}],
  " file the location of ",
  StyleBox["TuGames ",
    FontSlant->"Italic"],
  StyleBox["by",
    FontVariations->{"CompatibilityType"->0}],
  "\n",
  StyleBox["AppendTo[$Path, $TuGamesPath]",
    FontWeight->"Bold"],
  "\nNow you can start ",
  StyleBox["TuGames.",
    FontSlant->"Italic"]
}], "Text"],

Cell["\<\
Note that for UNIX/LINUX systems is also a graphical extension \
available. See also the remark at the end of the README file.\
\>", "Text"]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[ButtonBox["2.2. Windows",
  ButtonData:>"2.2.",
  ButtonStyle->"Hyperlink"]], "Subsubsection",
  CellTags->"Windows"],

Cell[TextData[{
  "1. Create the directory \"",
  StyleBox["AddOns\\Applications\\TuGames",
    FontWeight->"Bold",
    FontVariations->{"CompatibilityType"->0}],
  "\" at the location where your ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  " files are located.  This can be find out by typing\n",
  StyleBox["$TopDirectory",
    FontWeight->"Bold",
    FontVariations->{"CompatibilityType"->0}],
  "\nin your ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  " Notebook. \n2. Copy now all files in this directory. \n2.1 Create for the \
file ",
  StyleBox["CooperativeGames.m",
    FontSlant->"Italic"],
  " the subdirectory \"",
  StyleBox["coop",
    FontWeight->"Bold",
    FontVariations->{"CompatibilityType"->0}],
  "\" and move the file in this directory.\n2.2 Create for the file \
VertexEnum.m the subdirectory \"vertex\" and move the file in this directory. \
\n2.3 Create for the library cddml_w32new the subdirectory \"cddml\" and move \
the file in this directory.\n3. Create in your ",
  StyleBox["init.m",
    FontSlant->"Italic"],
  " file the variable ",
  StyleBox["$TuGamesPath",
    FontWeight->"Bold",
    FontVariations->{"CompatibilityType"->0}],
  " to locate the various packages. Set this variable to \n",
  StyleBox["$TuGamesPath = \
$TopDirectory<>\"\\\\AddOns\\\\Applications\\\\TuGames\"",
    FontWeight->"Bold",
    FontVariations->{"CompatibilityType"->0}],
  "\n4. Add to the variable ",
  StyleBox["$Path",
    FontWeight->"Bold"],
  " in the ",
  StyleBox["init.m",
    FontSlant->"Italic",
    FontVariations->{"CompatibilityType"->0}],
  " file the location of ",
  StyleBox["TuGames",
    FontSlant->"Italic"],
  "\n",
  StyleBox["AppendTo[$Path, $TuGamesPath]",
    FontWeight->"Bold"],
  "\nNote that the dopple backslash (\\\\) is important. A simple backslash \
is not suffient to set the directory path correctly.\nNow you can start ",
  StyleBox["TuGames. \n",
    FontSlant->"Italic"],
  "In cases that you have problems with the init.m file consult the README \
file."
}], "Text"]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[ButtonBox["2.3. Mac OS ",
  ButtonData:>"2.3.",
  ButtonStyle->"Hyperlink"]], "Subsubsection",
  CellTags->"Mac OS"],

Cell["\<\
Sorry, but at the moment no installation instruction for Mac OS is \
available. \
\>", "Text"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[ButtonBox["3. Getting Started",
  ButtonData:>"3.",
  ButtonStyle->"Hyperlink"]], "Section",
  CellTags->"Getting Started"],

Cell["\<\
In the next step we assume that you have installed properly the \
files mentioned above on your computer. To start with the calculation, we \
have first to load some packages. This can be done by the following commands. \
\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[{
    \(Needs["\<coop`CooperativeGames`\>"]\), "\[IndentingNewLine]", 
    \(Needs["\<TuGames`\>"]\), "\[IndentingNewLine]", 
    \(Needs["\<VertexEnum`\>"]\)}], "Input"],

Cell[BoxData[
    \("==================================================="\)], "Print"],

Cell[BoxData[
    InterpretationBox[\("Loading Package 'TuGames' for \
"\[InvisibleSpace]"Unix"\),
      SequenceForm[ "Loading Package 'TuGames' for ", "Unix"],
      Editable->False]], "Print"],

Cell[BoxData[
    \("==================================================="\)], "Print"],

Cell[BoxData[
    \("TuGames V1.1 by Holger I. Meinhardt"\)], "Print"],

Cell[BoxData[
    \("Release Date: 27.07.2005"\)], "Print"],

Cell[BoxData[
    \("Program runs under Mathematica Version 3.0 or later"\)], "Print"],

Cell[BoxData[
    \("==================================================="\)], "Print"],

Cell[BoxData[
    \("==================================================="\)], "Print"],

Cell[BoxData[
    \("Package 'TuGames' loaded"\)], "Print"],

Cell[BoxData[
    \("==================================================="\)], "Print"]
}, Open  ]],

Cell["To get an overview of all available functions call just", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(funcname = Names["\<TuGames`*\>"]\)], "Input"],

Cell[BoxData[
    \({"AdjustedEffUpperVectors", "AdjustedEffVector", 
      "AdjustedWorthVectors", "AllConstraints", "AllMaxSurpluses", "Assign", 
      "AvConvexQ", "AvSumCheck", "BelongToCoreQ", "CallMaximize", 
      "CallMinimize", "CddGmpPlotCore", "CddGmpPlotImputationSet", 
      "CddGmpPlotLowerSet", "CddGmpPlotReasonableSet", "CddGmpVerticesCore", 
      "CddVerticesCore", "CddVerticesImputationSet", "CddVerticesLowerSet", 
      "CddVerticesReasonableSet", "ChangeInternalEps", "coal", "Concession", 
      "ContributionSum", "ConvCheck", "ConvexQ", "ConvexStrQ", 
      "ConvexUnanConditionQ", "ConvStrQ", "CoordS", "CoreElementsQ", 
      "DefineGame", "DeltaLP", "DigitPrecision", "DisagreeConvex", 
      "Disagreement", "DisplayAllResults", "DisplayMatrixForm", "DualGame", 
      "EpsCore", "EpsilonValue", "EpsValue", "EvalSumMinCoord", 
      "ExcessPayoff", "FifthCriticalVal", "FilledCore", "FindKernelSolution", 
      "FindPreKernelSolution", "FirstCriticalVal", "FourthCriticalVal", 
      "GameMonotoneQ", "Gap", "GrandCoalitionLargestValueQ", "ImputationQ", 
      "IncreasingMargContributions", "IntersectionOfMaxExcessSets", 
      "IntersectionUpperLowerSetQ", "kCover", "Kernel", "KernelCalculation", 
      "KernelImputationListQ", "KernelImputationQ", "KernelPoints", 
      "KernelRange", "KernelSubCall", "KernelSubCallEmpty", 
      "KernelSubCallZero", "KernelVertices", "LargestAmount", "LexiCenter", 
      "LowerSetIncImputationQ", "LowerSetQ", "MargValue", 
      "MaxExcessBalanced", "MaxExcessSets", "MaxSurplus", 
      "MinUnanimityCoordinates", "ModifiedKernel", "ModifiedNucleolus", 
      "MonotoneQ", "NewShapley", "Nuc1convex", "OneNormalization", 
      "PreKernelEqualsKernelQ", "PreKernelQ", "PreKernelSolution", 
      "PreNucleolus", "ProperAmount", "ProperContribution", "Quota", 
      "RationalApproximate", "RationalExact", "RationalTol", 
      "ReasonableOutcome", "ReasonableSet", "Scrb", "ScrbSolution", 
      "SecondCriticalVal", "SecondStarCriticalVal", "SelectSuperSets", 
      "SetGameToNonZeroMonotonic", "SetRecursionLimit", 
      "ShowObjectiveFunction", "Silent", "SmallestContribution", 
      "SmallestContributionVector", "StarCriticalVal", 
      "StrictlyConvexUnanConditionQ", "StrIncreasMargContrib", 
      "SuperAdditiveQ", "TauValue", "ThirdCriticalVal", 
      "ThirdStarCriticalVal", "TIJsets", "Transfer", "TransferConstraints", 
      "UnanimityCoordinates", "UpperSetIncImputationQ", "UpperSetQ", 
      "UtopiaPayoff", "UtopiaSum", "UtopiaVector", "Vec3DToSimplex", 
      "VerticesCore", "WeaklySuperAdditiveQ", "WeightedMajority", 
      "WithIncidences", "ZeroMonotoneQ", "ZeroNormalization", 
      "ZeroOneNormalization"}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "For getting a short listing of all available functions in the package ",
  StyleBox["TUGames",
    FontSlant->"Italic"],
  " type"
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(\(?TuGames`*\ \)\)], "Input"],

Cell[BoxData[GridBox[{
        {
          StyleBox["TuGames`",
            FontFamily->"Helvetica",
            FontSize->12,
            FontWeight->"Bold"]},
        {GridBox[{
              {
                ButtonBox[
                  StyleBox["AdjustedEffUpperVectors",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`AdjustedEffUpperVectors"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["Concession",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`Concession"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["FifthCriticalVal",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`FifthCriticalVal"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["KernelSubCallZero",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`KernelSubCallZero"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ProperContribution",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ProperContribution"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["TauValue",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`TauValue"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["AdjustedEffVector",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`AdjustedEffVector"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ContributionSum",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ContributionSum"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["FilledCore",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`FilledCore"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["KernelVertices",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`KernelVertices"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["Quota",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`Quota"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ThirdCriticalVal",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ThirdCriticalVal"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["AdjustedWorthVectors",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`AdjustedWorthVectors"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ConvCheck",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`ConvCheck"},
                  
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["FindKernelSolution",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`FindKernelSolution"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["LargestAmount",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`LargestAmount"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["RationalApproximate",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`RationalApproximate"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ThirdStarCriticalVal",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ThirdStarCriticalVal"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["AllConstraints",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`AllConstraints"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ConvexQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`ConvexQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["FindPreKernelSolution",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`FindPreKernelSolution"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["LexiCenter",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`LexiCenter"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["RationalExact",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`RationalExact"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["TIJsets",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`TIJsets"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["AllMaxSurpluses",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`AllMaxSurpluses"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ConvexStrQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ConvexStrQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["FirstCriticalVal",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`FirstCriticalVal"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["LowerSetIncImputationQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`LowerSetIncImputationQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["RationalTol",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`RationalTol"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["Transfer",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`Transfer"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["Assign",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`Assign"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ConvexUnanConditionQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ConvexUnanConditionQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["FourthCriticalVal",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`FourthCriticalVal"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["LowerSetQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`LowerSetQ"},
                  
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ReasonableOutcome",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ReasonableOutcome"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["TransferConstraints",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`TransferConstraints"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["AvConvexQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`AvConvexQ"},
                  
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ConvStrQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`ConvStrQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["GameMonotoneQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`GameMonotoneQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["MargValue",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`MargValue"},
                  
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ReasonableSet",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ReasonableSet"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["UnanimityCoordinates",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`UnanimityCoordinates"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["AvSumCheck",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`AvSumCheck"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["CoordS",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`CoordS"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["Gap",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`Gap"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["MaxExcessBalanced",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`MaxExcessBalanced"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["Scrb",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`Scrb"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["UpperSetIncImputationQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`UpperSetIncImputationQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["BelongToCoreQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`BelongToCoreQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["CoreElementsQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`CoreElementsQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["GrandCoalitionLargestValueQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`GrandCoalitionLargestValueQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["MaxExcessSets",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`MaxExcessSets"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ScrbSolution",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ScrbSolution"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["UpperSetQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`UpperSetQ"},
                  
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["CallMaximize",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`CallMaximize"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["DefineGame",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`DefineGame"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ImputationQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ImputationQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["MaxSurplus",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`MaxSurplus"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["SecondCriticalVal",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`SecondCriticalVal"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["UtopiaPayoff",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`UtopiaPayoff"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["CallMinimize",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`CallMinimize"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["DeltaLP",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`DeltaLP"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["IncreasingMargContributions",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`IncreasingMargContributions"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["MinUnanimityCoordinates",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`MinUnanimityCoordinates"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["SecondStarCriticalVal",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`SecondStarCriticalVal"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["UtopiaSum",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`UtopiaSum"},
                  
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["CddGmpPlotCore",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`CddGmpPlotCore"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["DigitPrecision",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`DigitPrecision"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["IntersectionOfMaxExcessSets",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`IntersectionOfMaxExcessSets"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ModifiedKernel",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ModifiedKernel"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["SelectSuperSets",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`SelectSuperSets"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["UtopiaVector",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`UtopiaVector"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["CddGmpPlotImputationSet",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`CddGmpPlotImputationSet"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["DisagreeConvex",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`DisagreeConvex"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["IntersectionUpperLowerSetQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`IntersectionUpperLowerSetQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ModifiedNucleolus",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ModifiedNucleolus"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["SetGameToNonZeroMonotonic",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`SetGameToNonZeroMonotonic"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["Vec3DToSimplex",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`Vec3DToSimplex"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["CddGmpPlotLowerSet",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`CddGmpPlotLowerSet"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["Disagreement",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`Disagreement"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["kCover",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`kCover"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["MonotoneQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`MonotoneQ"},
                  
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["SetRecursionLimit",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`SetRecursionLimit"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["VerticesCore",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`VerticesCore"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["CddGmpPlotReasonableSet",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`CddGmpPlotReasonableSet"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["DisplayAllResults",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`DisplayAllResults"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["Kernel",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`Kernel"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["NewShapley",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`NewShapley"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ShowObjectiveFunction",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ShowObjectiveFunction"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["WeaklySuperAdditiveQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`WeaklySuperAdditiveQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["CddGmpVerticesCore",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`CddGmpVerticesCore"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["DisplayMatrixForm",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`DisplayMatrixForm"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["KernelCalculation",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`KernelCalculation"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["Nuc1convex",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`Nuc1convex"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["Silent",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`Silent"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["WeightedMajority",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`WeightedMajority"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["CddVerticesCore",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`CddVerticesCore"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["DualGame",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`DualGame"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["KernelImputationListQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`KernelImputationListQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["OneNormalization",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`OneNormalization"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["SmallestContribution",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`SmallestContribution"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["WithIncidences",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`WithIncidences"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["CddVerticesImputationSet",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`CddVerticesImputationSet"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["EpsCore",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`EpsCore"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["KernelImputationQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`KernelImputationQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["PreKernelEqualsKernelQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`PreKernelEqualsKernelQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["SmallestContributionVector",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`SmallestContributionVector"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ZeroMonotoneQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ZeroMonotoneQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["CddVerticesLowerSet",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`CddVerticesLowerSet"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["EpsilonValue",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`EpsilonValue"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["KernelPoints",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`KernelPoints"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["PreKernelQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`PreKernelQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["StarCriticalVal",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`StarCriticalVal"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ZeroNormalization",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ZeroNormalization"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["CddVerticesReasonableSet",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`CddVerticesReasonableSet"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["EpsValue",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`EpsValue"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["KernelRange",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`KernelRange"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["PreKernelSolution",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`PreKernelSolution"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["StrictlyConvexUnanConditionQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`StrictlyConvexUnanConditionQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ZeroOneNormalization",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ZeroOneNormalization"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"]},
              {
                ButtonBox[
                  StyleBox["ChangeInternalEps",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ChangeInternalEps"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["EvalSumMinCoord",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`EvalSumMinCoord"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["KernelSubCall",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`KernelSubCall"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["PreNucleolus",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`PreNucleolus"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["StrIncreasMargContrib",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`StrIncreasMargContrib"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], ""},
              {
                ButtonBox[
                  StyleBox["coal",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  ButtonData:>{"Info3348762078-8771952", "TuGames`coal"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ExcessPayoff",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ExcessPayoff"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["KernelSubCallEmpty",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`KernelSubCallEmpty"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["ProperAmount",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`ProperAmount"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], 
                ButtonBox[
                  StyleBox["SuperAdditiveQ",
                    FontColor->RGBColor[0, 0, 1],
                    FontVariations->{"Underline"->True}],
                  
                  ButtonFunction:>(
                    Internal`PutInformation[ #, LongForm -> False]&),
                  ButtonEvaluator->Automatic,
                  
                  ButtonData:>{"Info3348762078-8771952", 
                    "TuGames`SuperAdditiveQ"},
                  ButtonFrame->"None",
                  ButtonNote->"TuGames`"], ""}
              },
            
            RowMinHeight->{
              1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
                1.05}]}
        },
      RowSpacings->{2, 3},
      ColumnsEqual->True]], "Print",
  CellMargins->{{20, Inherited}, {Inherited, Inherited}},
  ShowCellLabel->False,
  CellFrameMargins->{{Inherited, Inherited}, {14, 14}},
  Background->RGBColor[0.964706, 0.929412, 0.839216],
  ButtonBoxOptions->{Active->True},
  GridBoxOptions->{ColumnAlignments->{Left}}]
}, Open  ]],

Cell["\<\
Just click with your mouse pointer on the functions name to get a \
short description how to use it.  \
\>", "Text"],

Cell[BoxData[
    \("ConvexQ[game] checks if the Tu-game is convex.\n  It returns the value \
'True' or 'False'."\)], "Print",
  CellTags->"Info3264939207-8254035"],

Cell["\<\
To obtain a brief documentation about individual functions type \
\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(\(?TuGames`ConvexQ\)\)], "Input"],

Cell[BoxData[
    \("ConvexQ[game] checks if the Tu-game is convex. It returns the value \
'True' or 'False'."\)], "Print",
  CellTags->"Info3337594516-2106034"]
}, Open  ]],

Cell[TextData[{
  "if you are interested in a specific function name like",
  StyleBox[" ConvexQ[]",
    FontWeight->"Bold"],
  "."
}], "Text"],

Cell[CellGroupData[{

Cell[TextData[ButtonBox["3.1. How to define Games?",
  ButtonData:>"3.1.",
  ButtonStyle->"Hyperlink"]], "Subsubsection",
  CellTags->"How to define Games?"],

Cell[TextData[{
  "Note first that in the sequel we indicate the whole player set in the \
commands with the symbol  ",
  StyleBox["T",
    FontSlant->"Italic"],
  " instead of ",
  StyleBox["N. ",
    FontSlant->"Italic"],
  "We must deviate from the general game theoretical convention, since under \
",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  " the symbol ",
  StyleBox["N",
    FontSlant->"Italic"],
  " is already occupied by the built-in function ",
  StyleBox["N[] ",
    FontWeight->"Bold"],
  "to evaluate an expression numerically. Whereas in the definitions and \
results we use the symbol ",
  StyleBox["N",
    FontSlant->"Italic"],
  " in the usual convention. \nWe can define a game in two different ways. \
The first one is the way as it was implemented by ",
  ButtonBox["Carter",
    ButtonData:>"M. Carter",
    ButtonStyle->"Hyperlink"],
  " in his ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  " package ",
  StyleBox["CooperativeGames",
    FontSlant->"Italic"],
  ". This procedure becomes very inconvenient for large games. The package ",
  StyleBox["TuGames",
    FontSlant->"Italic"],
  " provides, in addition, the function ",
  StyleBox["DefineGame[]",
    FontWeight->"Bold"],
  " to assign the values of the characteristic function for large games. Let \
us now present the representation of a TU-game used by ",
  ButtonBox["Carter",
    ButtonData:>"M. Carter",
    ButtonStyle->"Hyperlink"],
  ". The values of the characteristic function are assigned by"
}], "Text",
  TextJustification->1,
  CellTags->"DefineGame"],

Cell[BoxData[
    \(ExpGame1 := \((T = {1, 2, 3, 4}; 
        Clear[v]; \[IndentingNewLine]v[{}] = 0; \[IndentingNewLine]v[{1}] = 
          0; \[IndentingNewLine]v[{2}] = 0; \[IndentingNewLine]v[{3}] = 
          0; \[IndentingNewLine]v[{4}] = 0; \[IndentingNewLine]v[{1, 2}] = 
          0; \[IndentingNewLine]v[{1, 3}] = 0; \[IndentingNewLine]v[{1, 4}] = 
          0; \[IndentingNewLine]v[{2, 3}] = 0; \[IndentingNewLine]v[{2, 4}] = 
          0; \[IndentingNewLine]v[{3, 4}] = 
          0; \[IndentingNewLine]v[{1, 2, 3}] = 
          40; \[IndentingNewLine]v[{1, 2, 4}] = 
          0; \[IndentingNewLine]v[{1, 3, 4}] = 
          40; \[IndentingNewLine]v[{2, 3, 4}] = 0; v[T] = 90;)\)\)], "Input"],

Cell[TextData[{
  "To call the function ",
  StyleBox["DefineGame[]",
    FontWeight->"Bold"],
  " we define in a first step the player set and create a vector with zeros \
of length ",
  Cell[BoxData[
      \(TraditionalForm\`2\^n\)]],
  ". "
}], "Text"],

Cell[BoxData[{
    \(\(T2 = {1, 2, 3, 4};\)\), "\[IndentingNewLine]", 
    \(\(vec2 = Table[0, {i, 16}];\)\)}], "Input"],

Cell[TextData[{
  "Then we can assign positive values to some or all coalitions. It is also \
possible to assign coalition values directly to the vector, but in this case \
you have to know the exact order how the components of the vector are \
assigned to the coalitions. Note that you should not assign negative or \
floating point values to the coalitions. The commands in the package ",
  StyleBox["TuGames",
    FontSlant->"Italic"],
  " require nonnegative  or rational numbers for the coalitional values to \
perform the computational task correctly.  For instance, if you use floating \
point numbers some functions can run into an infinite loop and never \
terminate. In this case choose from the menu ",
  StyleBox["Kernel",
    FontWeight->"Bold"],
  " ",
  StyleBox["->",
    FontWeight->"Bold"],
  "  ",
  StyleBox["Abort Evaluation",
    FontWeight->"Bold"],
  "."
}], "Text",
  TextJustification->1],

Cell[BoxData[
    \(\(ExpGame2 := \((DefineGame[T2, vec2]; v[{1, 2, 3}] = 40; 
          v[{1, 3, 4}] = 40; v[T] = 90;)\);\)\)], "Input"],

Cell[TextData[{
  "Here is an example with five players. The example is borrowed from ",
  ButtonBox["Maschler, Peleg and Shapley",
    ButtonData:>"M. Maschler",
    ButtonStyle->"Hyperlink"],
  " (1979) (cf. p. 317)."
}], "Text",
  CellTags->"(1979)"],

Cell[BoxData[{
    \(\(T3 = {1, 2, 3, 4, 5};\)\), "\[IndentingNewLine]", 
    \(\(vec3 = Table[0, {i, 32}];\)\)}], "Input"],

Cell[BoxData[
    \(\(ExpGame3 := \((DefineGame[T3, vec3]; v[{1, 2, 4}] = 4; 
          v[{1, 2, 5}] = 4; v[{1, 3, 4}] = 4; v[{1, 3, 5}] = 4; 
          v[{2, 3, 4}] = 4; v[{2, 3, 5}] = 4; v[{4, 5}] = 4; 
          v[T] = 7;)\);\)\)], "Input"],

Cell["Next an average-convex  game:", "Text"],

Cell[BoxData[
    \(\(ExpGame4 := \((DefineGame[T2, vec2]; v[{1, 2}] = 1\/4; 
          v[{1, 4}] = 1\/4; v[{2, 3}] = 1\/4; v[{3, 4}] = 3\/8; 
          v[{1, 2, 3}] = 1\/2; v[{1, 2, 4}] = 1\/2; v[{1, 3, 4}] = 1\/2; 
          v[{2, 3, 4}] = 1\/2; v[T] = 1;)\);\)\)], "Input"],

Cell[TextData[{
  "Note that we have just assigned the values to the characteristic \
functions, but these values are at the moment not evaluated. Since under the \
operator \":=\" the right hand side, that means, in our case the game, is \
maintained in an unevaluated form. The game is at that moment evaluated when \
a function is invoked that requires as an input the pattern ",
  StyleBox["game_name, ",
    FontSlant->"Italic"],
  " that is, in the case that the left hand expression ",
  StyleBox["game_name",
    FontSlant->"Italic"],
  " appears, it is replaced by the right hand expression, the game.",
  StyleBox[" ",
    FontSlant->"Italic"],
  " To see that at the moment no game is really evaluated type "
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(?? v\)], "Input"],

Cell[BoxData[
    \("v[S] describes the worth of coalition S"\)], "Print",
  CellTags->"Info3337594549-2817631"]
}, Open  ]],

Cell[TextData[{
  "Due to the fact that nothing is evaluated at the moment you get a short \
function description back. Problems encountered with the operator \":=\" in \
the context of our package is briefly discussed in ",
  ButtonBox["Section 6",
    ButtonData:>"Concluding Remarks and Limitations",
    ButtonStyle->"Hyperlink"],
  ". "
}], "Text",
  TextJustification->1]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[ButtonBox["4. Some Functions",
  ButtonData:>"4.",
  ButtonStyle->"Hyperlink"]], "Section",
  CellTags->"Some Functions"],

Cell[TextData[{
  "In this section we will discuss some basic functions provided by ",
  StyleBox["TuGames",
    FontSlant->"Italic"],
  " to examine some game properties like convexity, average-convexity, \
superadditvity, monotonicity and zero-monotonicity. Furthermore, ",
  StyleBox["TuGames",
    FontSlant->"Italic"],
  " will also enable us to evaluated solutions of a game like the Shapley \
value, tau-value  or the kernel.  In the sequel of the section we will \
discuss as well functions related to the notion of ",
  StyleBox["k",
    FontSlant->"Italic"],
  "-convexity and unanimity coordinates. At this place some remarks are \
required concerning the presentation of the material in this notebook. The \
purpose of this notebook is to give the potential user a short description at \
hand how to use the new commands related to transferable utility games \
correctly. We will not embed the descriptions of the commands in a thorough \
game theoretical presentation of definitions and results on which the \
commands are based on. We just introduce definitions and results in cases \
where it is according to our opinion useful to do so. This is done to mention \
differences between functions that do ostensible the same or where we have \
used special results in our functions that are not quite common. In addition, \
we will also dispense from any code presentation and discussion. Users \
interested in this material should examine and try out for themselves the \
code presented in the package ",
  StyleBox["TuGames",
    FontSlant->"Italic"],
  ". Moreover, we assume that users bring along good knowledge in cooperative \
game theory to asses the results correctly in a game theoretical context. \
Nevertheless, we hope that the package might be useful for research as well \
as for teaching purpose in constructing examples in both of these fields. \
Certainly, it is assumed that users have some experience with ",
  StyleBox["Mathematica, ",
    FontSlant->"Italic"],
  "but it is not a prerequisite for the use of the package."
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[TextData[ButtonBox["4.1. Basic Functions",
  ButtonData:>"4.1.",
  ButtonStyle->"Hyperlink"]], "Subsubsection",
  FontSize->16,
  CellTags->"Basic Functions"],

Cell[TextData[{
  "In general, functions are invoked by the function name and its arguments, \
in most cases a function needs as an input argument the ",
  StyleBox["game_name",
    FontSlant->"Italic"],
  ", a list of imputations (payoffs), a set of coalitions or a player from \
the player set. To make the point more precise let us first start with some \
functions that need just one argument to examine some well known game \
properties. The function that examines the convexity condition of the game is \
called ",
  StyleBox["ConvexQ[]",
    FontWeight->"Bold"],
  " and it needs just one ",
  "argument",
  ", namely the ",
  StyleBox["game_name",
    FontSlant->"Italic"],
  " to perform the necessary calculations to check on this game property. We \
can verify convexity by invoking"
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(ConvexQ[ExpGame1]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ConvexQ[ExpGame2]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ConvexQ[ExpGame3]\)], "Input"],

Cell[BoxData[
    \(False\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ConvexQ[ExpGame4]\)], "Input"],

Cell[BoxData[
    \(False\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "Additionally to the possibility to check whether a game is convex, we are \
also able to examine with the command ",
  StyleBox["AvConvexQ[]",
    FontWeight->"Bold"],
  " a generalized convexity property, the so-called  average convexity. \
Since, average-convexity generalize convexity it should be clear that \
convexity implies average-convexity, but the converse is not true. The \
property of average-convexity has been introduced by ",
  ButtonBox["Inarra and Usategui ",
    ButtonData:>"E. Inarra",
    ButtonStyle->"Hyperlink"],
  "(1993) in the literature. Before we will discuss this command note first \
that average-convexity  is defined as follows"
}], "Text",
  TextJustification->1,
  CellTags->"(1993)"],

Cell[TextData[{
  Cell[BoxData[
      \(TraditionalForm\`\[Sum]\_\(\(i\)\(\ \)\(\[Element]\)\(S\)\(\ \)\)\([v(
                S)\  - v(
                S\\i)]\)\ \ \  \[LessEqual] \ \(\(\[Sum]\_\(\(i\)\(\ \)\(\
\[Element]\)\(S\)\(\ \)\)\)\([v(R) - v(R\\i)]\)\(\ \ \ \ \)\)\)]],
  "for all ",
  Cell[BoxData[
      \(TraditionalForm\`S\  \[SubsetEqual] \ R\  \[SubsetEqual] \ N, \ 
      S\  \[NotEqual] \(\(\[Phi]\)\(.\)\(\ \ \)\)\)]]
}], "Text",
  TextAlignment->Center,
  TextJustification->0],

Cell[TextData[{
  "Similar to the function",
  StyleBox[" ConvexQ[]",
    FontWeight->"Bold"],
  " the function ",
  StyleBox["AvConvexQ[]",
    FontWeight->"Bold"],
  " that test the average-convexity  condition of the game is called with one \
",
  "argument",
  ", the ",
  StyleBox["game_name",
    FontSlant->"Italic"],
  ".  Hence, we need just to type"
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(AvConvexQ[ExpGame1]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(AvConvexQ[ExpGame2]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(AvConvexQ[ExpGame3]\)], "Input"],

Cell[BoxData[
    \(False\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(AvConvexQ[ExpGame4]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell["Superadditivity can be checked by ", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(SuperAdditiveQ[ExpGame1]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(SuperAdditiveQ[ExpGame2]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(SuperAdditiveQ[ExpGame3]\)], "Input"],

Cell[BoxData[
    \(False\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(SuperAdditiveQ[ExpGame4]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "Let the coalitions ",
  Cell[BoxData[
      \(TraditionalForm\`S\_1,  ... , S\_k\)]],
  "  partition the grand coalition ",
  StyleBox["T",
    FontSlant->"Italic"],
  ".  A necessary condition for the core ",
  StyleBox["C(v)",
    FontSlant->"Italic"],
  " of a game ",
  StyleBox["v",
    FontSlant->"Italic"],
  " to be nonempty is that the condition"
}], "Text"],

Cell[TextData[Cell[BoxData[
    \(TraditionalForm\`\[Sum]\+\(i = 1\)\%k v(S\_i)\  \[LessEqual] \ 
      v(N)\)]]], "Text",
  TextAlignment->Center],

Cell[TextData[{
  "is satisfied. This property is captured by the function ",
  StyleBox["WeaklySuperAdditiveQ[].",
    FontWeight->"Bold"]
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(WeaklySuperAdditiveQ[ExpGame1]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(WeaklySuperAdditiveQ[ExpGame2]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(WeaklySuperAdditiveQ[ExpGame3]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(WeaklySuperAdditiveQ[ExpGame4]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "Certainly, we can also verify on monotonicity and zero-monotonicity  of \
the game. The commands are ",
  StyleBox["GameMonotoneQ[],",
    FontWeight->"Bold"],
  " ",
  StyleBox["MonotoneQ[]",
    FontWeight->"Bold"],
  " and ",
  StyleBox["ZeroMonotoneQ[]",
    FontWeight->"Bold"],
  "."
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(GameMonotoneQ[ExpGame1]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(MonotoneQ[ExpGame1]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ZeroMonotoneQ[ExpGame1]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(GameMonotoneQ[ExpGame2]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(MonotoneQ[ExpGame2]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ZeroMonotoneQ[ExpGame2]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(GameMonotoneQ[ExpGame3]\)], "Input"],

Cell[BoxData[
    \(False\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(MonotoneQ[ExpGame3]\)], "Input"],

Cell[BoxData[
    \(False\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ZeroMonotoneQ[ExpGame3]\)], "Input"],

Cell[BoxData[
    \(False\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(GameMonotoneQ[ExpGame4]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(MonotoneQ[ExpGame4]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "To demonstrate that the package ",
  StyleBox["TuGames",
    FontSlant->"Italic"],
  " works properly together with ",
  StyleBox["CooperativeGames",
    FontSlant->"Italic"],
  " let us now call the command ",
  StyleBox["CoreQ[]",
    FontWeight->"Bold"],
  " written by ",
  ButtonBox["Carter",
    ButtonData:>"M. Carter",
    ButtonStyle->"Hyperlink"],
  "."
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(CoreQ[ExpGame1]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(CoreQ[ExpGame2]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(CoreQ[ExpGame3]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(CoreQ[ExpGame4]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell["Now determine the quotas of the games", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Quota[ExpGame1]\)], "Input"],

Cell[BoxData[
    \({80\/3, \(-\(40\/3\)\), 80\/3, \(-\(40\/3\)\)}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Quota[ExpGame2]\)], "Input"],

Cell[BoxData[
    \({80\/3, \(-\(40\/3\)\), 80\/3, \(-\(40\/3\)\)}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Quota[ExpGame3]\)], "Input"],

Cell[BoxData[
    \({0, 0, 0, 0, 0}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Quota[ExpGame4]\)], "Input"],

Cell[BoxData[
    \({1\/6, 1\/6, 1\/6, 1\/6}\)], "Output"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[ButtonBox["4.2 k-convexity",
  ButtonData:>"4.2.",
  ButtonStyle->"Hyperlink"]], "Subsubsection",
  FontSize->16,
  CellTags->"k-convexity"],

Cell[TextData[{
  StyleBox["In this section we present some basic functions related to the \
notion of ",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["k",
    FontSlant->"Italic",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["-convexity  that has been introduced by ",
    FontVariations->{"CompatibilityType"->0}],
  ButtonBox["Driessen",
    ButtonData:>"Theo Driessen",
    ButtonStyle->"Hyperlink"],
  StyleBox[". The usefulness of this notion stems from the fact that TU-games \
 with this property having similar properties like convex games, although \
convexity does not imply ",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["k",
    FontSlant->"Italic",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["-convexity, and the converse is also not true in general. There \
is just a small subclass of games that satisfy both properties, for instance, \
bankruptcy games are convex as well as ",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["k",
    FontSlant->"Italic",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["-convex. The package ",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["TuGames ",
    FontSlant->"Italic"],
  "provides some useful functions to determine properties of ",
  StyleBox["k",
    FontSlant->"Italic"],
  "-convex  games. To demonstrate some of these functions, let us define to \
this end four new games. The first three games have been borrowed from ",
  ButtonBox["Driessen",
    ButtonData:>"Theo Driessen",
    ButtonStyle->"Hyperlink"],
  " (1988), whereas two of them are 2-convex ( Exp. 4.5 on page 198 and Exp \
5.3 on page 202) and one of them is 1-convex \"",
  StyleBox["ExpGame7",
    FontSlant->"Italic"],
  "\" (cf. Exp. 5.6 on page 75). The last game presented in the series below \
is discussed in ",
  ButtonBox["Meinhardt",
    ButtonData:>"H. Meinhardt",
    ButtonStyle->"Hyperlink"],
  " (2002) and satisfies also the property of 2-convexity."
}], "Text",
  TextJustification->1,
  CellTags->{"(1988)", "(2002a)"}],

Cell[BoxData[
    \(\(ExpGame5 := \((DefineGame[T2, Table[0, {i, 2^Length[T2]}]]; 
          v[{1, 2}] = \(v[{1, 3}] = 1\); v[{2, 3}] = 4; \ v[{2, 4}] = \ 6; 
          v[{1, 4}] = 3; v[{3, 4}] = \ 7; \ v[{1, 2, 3}] = 9; 
          v[{1, 2, 4}] = 12; v[{\ 1, 3, 4}] = \ 13; v[{2, 3, 4}] = 15; 
          v[T] = 20;)\);\)\)], "Input"],

Cell[BoxData[
    \(\(ExpGame6 := \((DefineGame[T2, Table[0, {i, 2^Length[T2]}]]; 
          v[{1, 2, 
                3}] = \(v[{1, 2, 4}] = \(v[{1, 3, 4}] = \(v[{2, 3, 4}] = 
                  3\)\)\); v[T] = 5;)\);\)\)], "Input"],

Cell[BoxData[{
    \(\(T4 = {1, 2, 3};\)\), "\[IndentingNewLine]", 
    \(\(vec4 = Table[0, {i, 2^Length[T4]}];\)\)}], "Input"],

Cell[BoxData[
    \(\(ExpGame7 := \((DefineGame[T4, Table[0, {i, 2^Length[T4]}]]; 
          v[{2}] = \(v[{3}] = 6\); v[{1, 2}] = \(v[{1, 3}] = 9\); 
          v[{2, 3}] = 15; v[T] = 18;)\);\)\)], "Input"],

Cell[TextData[{
  "As mentioned above you could assign the values of the characteristic \
function directly by constructing a vector of length ",
  Cell[BoxData[
      \(TraditionalForm\`2\^n\)]],
  "simply by"
}], "Text"],

Cell[BoxData[
    \(\(coalval = {0, 26.7, 26.7, 26.7, 26.7, 800\/3, 800\/3, 800\/3, 800\/3, 
          800\/3, 800\/3, 1600\/3, 1600\/3, 1600\/3, 1600\/3, 
          800};\)\)], "Input"],

Cell["The order of the coalitions is obtained by the functions", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Subsets[T2]\)], "Input"],

Cell[BoxData[
    \({{}, {1}, {2}, {3}, {4}, {1, 2}, {1, 3}, {1, 4}, {2, 3}, {2, 4}, {3, 
        4}, {1, 2, 3}, {1, 2, 4}, {1, 3, 4}, {2, 3, 4}, {1, 2, 3, 
        4}}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "To define a game you need no more than the player set ",
  StyleBox["T2",
    FontSlant->"Italic"],
  " and the vector of the values of the game, that is, ",
  StyleBox["coalval",
    FontSlant->"Italic"],
  ". "
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Options[DefineGame]\)], "Input"],

Cell[BoxData[
    \({RationalApproximate \[Rule] True}\)], "Output"]
}, Open  ]],

Cell[BoxData[
    \(\(ExpGame8 := \((DefineGame[T2, coalval])\);\)\)], "Input"],

Cell["\<\
Let us first check whether some of them have an empty or non-empty  \
core.\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(CoreQ[ExpGame5]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(CoreQ[ExpGame6]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "Let ",
  StyleBox["k \[Epsilon] ",
    FontSlant->"Italic"],
  StyleBox["\[DoubleStruckCapitalN]",
    FontVariations->{"CompatibilityType"->0}],
  ". Note that an  ",
  StyleBox["n",
    FontSlant->"Italic"],
  "-person  game ",
  Cell[BoxData[
      \(TraditionalForm\`v\_k\)]],
  " is called the ",
  StyleBox["k",
    FontSlant->"Italic"],
  "-cover  of the game ",
  StyleBox["v",
    FontSlant->"Italic"],
  " if the original game ",
  StyleBox["v",
    FontSlant->"Italic"],
  StyleBox[" satisfies the condition",
    FontVariations->{"CompatibilityType"->0}]
}], "Text",
  CellTags->"1988"],

Cell[TextData[{
  StyleBox["(1)   ",
    FontVariations->{"CompatibilityType"->0}],
  Cell[BoxData[
      \(TraditionalForm\`\(\(\(g\^v\)(
              S)\  \[GreaterEqual] \ \(\(g\^v\)(
                N)\)\ \ \ \ \ for\ all\ S\  \[Subset] \ N\ with\  | 
        S | \ \ \(\(\[GreaterEqual]\)\(\ \)\(k\)\)\)\(,\)\)\)]],
  " (cf. ",
  ButtonBox["Driessen",
    ButtonData:>"Theo Driessen",
    ButtonStyle->"Hyperlink"],
  " 1988, pp. 173)"
}], "Text",
  TextAlignment->Center,
  CellTags->"1988"],

Cell[TextData[{
  "where ",
  Cell[BoxData[
      \(TraditionalForm\`\(g\^v\)(
          S)\  := \ \[Sum]\_\(j\ \[Epsilon]\ S\)\ b\_j\%v\  - \ v(S)\)]],
  " and ",
  Cell[BoxData[
      \(TraditionalForm\`b\_j\%v\  = \ v(N)\  - \ \(\(v(N\\i)\)\(.\)\)\)]],
  "  ",
  StyleBox["A TU-game  ",
    FontVariations->{"CompatibilityType"->0}],
  Cell[BoxData[
      \(TraditionalForm\`v\_k\)]],
  " ",
  StyleBox["is defined as follows",
    FontVariations->{"CompatibilityType"->0}]
}], "Text",
  TextAlignment->Left,
  CellTags->"1988"],

Cell[TextData[{
  StyleBox["(2)  ",
    FontVariations->{"CompatibilityType"->0}],
  Cell[BoxData[
      \(TraditionalForm\`\(v\_k\)(S)\  := \ v(S)\)]],
  " if ",
  StyleBox[" ",
    FontVariations->{"CompatibilityType"->0}],
  "|S|  <",
  StyleBox[" k",
    FontSlant->"Italic"],
  StyleBox[" and ",
    FontVariations->{"CompatibilityType"->0}],
  Cell[BoxData[
      \(TraditionalForm\`\(v\_k\)(\ 
          S) := \ \[Sum]\_\(j\ \[Epsilon]\ S\)\ b\_j\%v\  - \ \(g\^v\)(
            N)\)]],
  " if |S|  \[GreaterEqual] ",
  StyleBox["k",
    FontSlant->"Italic"],
  ".  "
}], "Text",
  TextAlignment->Center,
  CellTags->"1988"],

Cell[TextData[{
  "A TU-game  ",
  StyleBox["v",
    FontSlant->"Italic"],
  " is called ",
  StyleBox["k",
    FontSlant->"Italic"],
  "-convex if the ",
  StyleBox["k",
    FontSlant->"Italic"],
  "-cover  of the game is convex, that is, the condition (1) is fulfilled and \
the TU-game ",
  Cell[BoxData[
      \(TraditionalForm\`v\_k\)]],
  " is convex. The ",
  StyleBox["k-",
    FontSlant->"Italic"],
  StyleBox["cover of the game ",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["v",
    FontSlant->"Italic",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox[" can be verified by calling the function ",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["Gap[]",
    FontWeight->"Bold",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox[". The output of the function ",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["Gap[]",
    FontWeight->"Bold",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox[" is the value of ",
    FontVariations->{"CompatibilityType"->0}],
  Cell[BoxData[
      \(TraditionalForm\`\(g\^v\)(S)\)]],
  " for each coalition in the order set by the command ",
  StyleBox["Subsets[]",
    FontWeight->"Bold"],
  ". In the example given below the coalition size two starts at position 6 \
whereas coalition size 3 starts at position 12. "
}], "Text",
  TextJustification->1,
  CellTags->"1988"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Gap[ExpGame5]\)], "Input"],

Cell[BoxData[
    \({0, 5, 7, 8, 11, 11, 12, 13, 11, 12, 12, 11, 11, 11, 11, 
      11}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Gap[ExpGame6]\)], "Input"],

Cell[BoxData[
    \({0, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Gap[ExpGame7]\)], "Input"],

Cell[BoxData[
    \({0, 3, 3, 3, 3, 3, 3, 3}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Gap[ExpGame8]\)], "Input"],

Cell[BoxData[
    \({0, 7199\/30, 7199\/30, 7199\/30, 7199\/30, 800\/3, 800\/3, 800\/3, 
      800\/3, 800\/3, 800\/3, 800\/3, 800\/3, 800\/3, 800\/3, 
      800\/3}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Gap[ExpGame8] // N\)], "Input"],

Cell[BoxData[
    \({0.`, 239.96666666666667`, 239.96666666666667`, 239.96666666666667`, 
      239.96666666666667`, 266.6666666666667`, 266.6666666666667`, 
      266.6666666666667`, 266.6666666666667`, 266.6666666666667`, 
      266.6666666666667`, 266.6666666666667`, 266.6666666666667`, 
      266.6666666666667`, 266.6666666666667`, 266.6666666666667`}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "Game \"",
  StyleBox["ExpGame7",
    FontSlant->"Italic"],
  "\" satisfies the condition of a 1-cover, whereas for the other games the \
condition of a 2-cover  is satisfied. In the next step, we have to verify \
that the associated ",
  Cell[BoxData[
      \(TraditionalForm\`v\_k\)]],
  " game is convex. By doing so, we can derive the associated ",
  Cell[BoxData[
      \(TraditionalForm\`v\_k\)]],
  " game by using the function ",
  StyleBox["kCover[]",
    FontWeight->"Bold",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox[" and by setting ",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["k=2",
    FontSlant->"Italic",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox[". ",
    FontVariations->{"CompatibilityType"->0}],
  "First, we have to generate the coalitional values of the ",
  Cell[BoxData[
      \(TraditionalForm\`v\_2\)]],
  " games, this is done by calling"
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(kval1 = kCover[ExpGame5, 2]\)], "Input"],

Cell[BoxData[
    \({0, 0, 0, 0, 0, 1, 2, 5, 4, 7, 8, 9, 12, 13, 15, 20}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(kval2 = kCover[ExpGame6, 2]\)], "Input"],

Cell[BoxData[
    \({0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 5}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(kval3 = kCover[ExpGame7, 1]\)], "Input"],

Cell[BoxData[
    \({0, 0, 6, 6, 9, 9, 15, 18}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(kval4 = kCover[ExpGame8, 2]\)], "Input"],

Cell[BoxData[
    \({0, 267\/10, 267\/10, 267\/10, 267\/10, 800\/3, 800\/3, 800\/3, 800\/3, 
      800\/3, 800\/3, 1600\/3, 1600\/3, 1600\/3, 1600\/3, 800}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "In the second step we define new TU-games  ",
  Cell[BoxData[
      \(TraditionalForm\`v\_2\)]],
  " for \"",
  StyleBox["ExpGame5",
    FontSlant->"Italic"],
  ", ",
  StyleBox["ExpGame6, ExpGame7",
    FontSlant->"Italic"],
  "\" and \"",
  StyleBox["ExpGame8",
    FontSlant->"Italic"],
  "\" respectively, by the function ",
  StyleBox["DefineGame[] ",
    FontWeight->"Bold"],
  "and by using the associated vectors of coalitional values which we have \
determined in the previous step. These games are defined simply by typing"
}], "Text",
  TextJustification->1],

Cell[BoxData[
    \(\(Gamevk1 := \((DefineGame[T2, kval1])\);\)\)], "Input"],

Cell[BoxData[
    \(\(Gamevk2 := \((DefineGame[T2, kval2])\);\)\)], "Input"],

Cell[BoxData[
    \(\(Gamevk3 := \((DefineGame[T4, kval3])\);\)\)], "Input"],

Cell[BoxData[
    \(\(Gamevk4 := \((DefineGame[T2, kval4])\);\)\)], "Input"],

Cell[TextData[{
  "We have already found out that the original games satisfy condition (1), \
hence, it remains to check whether the corresponding games ",
  Cell[BoxData[
      \(TraditionalForm\`v\_k\)]],
  " are convex to conclude that the games under considerations are 2-convex. \
To this end, we call the function ",
  StyleBox["ConvexQ[].",
    FontWeight->"Bold"]
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(ConvexQ[Gamevk1]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ConvexQ[ExpGame5]\)], "Input"],

Cell[BoxData[
    \(False\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ConvexQ[Gamevk2]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ConvexQ[ExpGame6]\)], "Input"],

Cell[BoxData[
    \(False\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ConvexQ[Gamevk3]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ConvexQ[ExpGame7]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ConvexQ[Gamevk4]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ConvexQ[ExpGame8]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "Since the condition (1) and the convexity condition are fulfilled, all \
games under consideration are ",
  StyleBox["k",
    FontSlant->"Italic"],
  "-convex.  Exemplary, we demonstrate that the game \"",
  StyleBox["ExpGame5",
    FontSlant->"Italic"],
  "\" is not 1-convex. "
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(kval5 = kCover[ExpGame5, 1]\)], "Input"],

Cell[BoxData[
    \({0, \(-6\), \(-4\), \(-3\), 0, 1, 2, 5, 4, 7, 8, 9, 12, 13, 15, 
      20}\)], "Output"]
}, Open  ]],

Cell[BoxData[
    \(\(Gamevk5 := \((DefineGame[T2, kval5])\);\)\)], "Input"],

Cell[CellGroupData[{

Cell[BoxData[
    \(ConvexQ[ExpGame5]\)], "Input"],

Cell[BoxData[
    \(False\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ConvexQ[Gamevk3]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "The convexity condition holds, but recall that the ",
  StyleBox["k",
    FontSlant->"Italic"],
  "-cover  of the game \"",
  StyleBox["ExpGame5",
    FontSlant->"Italic"],
  "\" is not an 1-cover,  it is just a 2-cover."
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Gap[ExpGame5]\)], "Input"],

Cell[BoxData[
    \({0, 5, 7, 8, 11, 11, 12, 13, 11, 12, 12, 11, 11, 11, 11, 
      11}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "In this case condition (1) does not hold and therefore the game \"",
  StyleBox["ExpGame5",
    FontSlant->"Italic"],
  "\" is not 1-convex."
}], "Text"],

Cell["\<\
Furthermore, we can calculate the upper or utopia payoff that \
represents an upper bound of the core by \
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(UtopiaVector[ExpGame5]\)], "Input"],

Cell[BoxData[
    \({5, 7, 8, 11}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(UtopiaVector[ExpGame6]\)], "Input"],

Cell[BoxData[
    \({2, 2, 2, 2}\)], "Output"]
}, Open  ]],

Cell["\<\
A lower bound of the core is the so-called  disagreement vector and \
it can be computed by calling \
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Disagreement[ExpGame5]\)], "Input"],

Cell[BoxData[
    \({0, 0, 0, 0}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Disagreement[ExpGame6]\)], "Input"],

Cell[BoxData[
    \({0, 0, 0, 0}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "Since the tau-value  can be regarded as some fair compromise between the \
utopia and the disagreement vector,",
  StyleBox[" we are now in the position to compute the tau-value  of the \
previous games. ",
    FontVariations->{"CompatibilityType"->0}]
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(tau1 = TauValue[ExpGame5]\)], "Input"],

Cell[BoxData[
    \({100\/31, 140\/31, 160\/31, 220\/31}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(tau2 = TauValue[ExpGame6]\)], "Input"],

Cell[BoxData[
    \({5\/4, 5\/4, 5\/4, 5\/4}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "In the next step, we want to verify if the computed tau-values  are \
contained in the corresponding cores of the game \"",
  StyleBox["ExpGame5",
    FontSlant->"Italic"],
  "\" and \"",
  StyleBox["ExpGame6",
    FontSlant->"Italic"],
  "\", respectively.  For this purpose we us call the command ",
  StyleBox["InCoreQ[]",
    FontWeight->"Bold"],
  " provided by the package ",
  StyleBox["CooperativeGames. ",
    FontSlant->"Italic"],
  "The command requires as an input one imputation and the ",
  StyleBox["game_name.",
    FontSlant->"Italic"]
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(InCoreQ[tau1, ExpGame5]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(InCoreQ[tau2, ExpGame6]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "It is well known that for convexity of an ",
  StyleBox["n",
    FontSlant->"Italic"],
  "-person  Tu-game  it is necessary and sufficient that the core of the game \
contains all ",
  StyleBox["n",
    FontSlant->"Italic"],
  "! marginal worth vectors. A similar result holds for ",
  StyleBox["k",
    FontSlant->"Italic"],
  "-convex  games. For ",
  StyleBox["k",
    FontSlant->"Italic"],
  "-convexity it is necessary and sufficient that all ",
  Cell[BoxData[
      \(TraditionalForm\`\((\(\((n - k)\)!\))\)\^\(-1\)\ \(n!\)\)]],
  " adjusted marginal worth vectors are contained in the core of the game \
(cf. ",
  ButtonBox["Driessen",
    ButtonData:>"Theo Driessen",
    ButtonStyle->"Hyperlink"],
  " 1988). The adjusted marginal worth vectors of ",
  StyleBox["k",
    FontSlant->"Italic"],
  "-convex  games can be evaluated with the function ",
  StyleBox["AdjustedWorthVectors[]",
    FontWeight->"Bold"],
  " . There is also a special function available to compute the adjusted \
worth vectors of 1-convex games. The function name in this case is ",
  StyleBox["AdjustedEffUpperVectors[]",
    FontWeight->"Bold"],
  ". Let us now calculate for the above games the adjusted marginal worth \
vectors. "
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(v5 = AdjustedWorthVectors[ExpGame5, 2]\)], "Input"],

Cell[BoxData[
    \({{0, 1, 8, 11}, {0, 1, 8, 11}, {0, 7, 2, 11}, {0, 7, 8, 5}, {0, 7, 2, 
        11}, {0, 7, 8, 5}, {1, 0, 8, 11}, {1, 0, 8, 11}, {2, 7, 0, 11}, {5, 
        7, 8, 0}, {2, 7, 0, 11}, {5, 7, 8, 0}, {5, 0, 4, 11}, {5, 0, 8, 
        7}, {5, 4, 0, 11}, {5, 7, 8, 0}, {5, 7, 0, 8}, {5, 7, 8, 0}, {5, 0, 
        4, 11}, {5, 0, 8, 7}, {5, 4, 0, 11}, {5, 7, 8, 0}, {5, 7, 0, 8}, {5, 
        7, 8, 0}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(u5 = v5 // Union\)], "Input"],

Cell[BoxData[
    \({{0, 1, 8, 11}, {0, 7, 2, 11}, {0, 7, 8, 5}, {1, 0, 8, 11}, {2, 7, 0, 
        11}, {5, 0, 4, 11}, {5, 0, 8, 7}, {5, 4, 0, 11}, {5, 7, 0, 8}, {5, 7, 
        8, 0}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Length[u5]\)], "Input"],

Cell[BoxData[
    \(10\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "As expected the number of marginal worth vectors does not exceed the \
threshold value of ",
  Cell[BoxData[
      \(TraditionalForm\`\((\(\((n - k)\)!\))\)\^\(-1\)\ \(n!\)\)]],
  " vertices. For 2-convex  games the maximal number of marginal worth \
vectors is 12. All adjusted marginal worth vectors must be contained in the \
core. We check this by"
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(CoreElementsQ[ExpGame5, u5]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True, True, True, True, True, True, 
      True}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "As well as for the class of convex games the class of ",
  StyleBox["k",
    FontSlant->"Italic"],
  "-convex  games can be characterized by the vertices of the core, it is \
necessary and sufficient for the ",
  StyleBox["k",
    FontSlant->"Italic"],
  "-convexity  property that the vertices of the core coincide exactly with \
the adjusted marginal worth vectors. We are able to check on this property by \
using the following steps: first, we compute the vertices of the core. In a \
second step we find out the imputations that are contained in the core and \
examine if the imputations we have selected are really core elements. Then we \
compute the adjusted marginal worth vectors and compare the result with our \
vertex result. To compute core vertices, we can perform this task with the \
command ",
  StyleBox["VerticesCore[]",
    FontWeight->"Bold"],
  ". The command returns two output values, the vertices and a list of \
\"active-variable\" sets, indicating which inequalities are satisfied with \
equalities at each vertex  (cf. ",
  StyleBox["VertexEnum",
    FontSlant->"Italic"],
  ").  In our example below, the symbol ",
  StyleBox["cvert5",
    FontSlant->"Italic"],
  " captures the informations associated with the vertices and the symbol ",
  StyleBox["nonvert5",
    FontSlant->"Italic"],
  " grabs all informations of the \"active -variable\" set. "
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \({cvert5, nonvert5} = VerticesCore[ExpGame5]\)], "Input"],

Cell[BoxData[
    \({{{5, 7, 8, 0}, {3, 9, 10, 0}, {6, 6, 9, 0}, {6, 8, 7, 0}, {0, 9, 10, 
          3}, {6, 0, 9, 6}, {6, 8, 0, 7}, {5, 7, 0, 8}, {2, 7, 0, 11}, {1, 8, 
          0, 12}, {5, 4, 0, 11}, {0, 7, 8, 5}, {0, 7, 2, 11}, {0, 8, 1, 
          12}, {0, 1, 8, 11}, {5, 0, 8, 7}, {5, 0, 4, 11}, {1, 0, 8, 
          11}}, {{16, 18, 19, 17, 8, 4}, {16, 11, 8, 17, 4}, {16, 18, 8, 13, 
          4}, {14, 18, 8, 17, 4}, {16, 11, 5, 17, 1}, {16, 18, 6, 13, 
          2}, {14, 18, 7, 17, 3}, {7, 18, 19, 17, 3}, {7, 15, 19, 17, 3}, {7, 
          15, 10, 17, 3}, {7, 18, 19, 15, 3, 12}, {16, 5, 19, 17, 1}, {15, 5, 
          19, 17, 1}, {15, 5, 10, 17, 1}, {16, 5, 19, 15, 9, 1}, {16, 18, 19, 
          6, 2}, {15, 18, 19, 6, 2, 12}, {16, 15, 19, 6, 2, 9}}}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "The package provides two different functions to check whether a list of \
imputations is contained in the core. In addition to the function ",
  StyleBox["CoreElementsQ[]",
    FontWeight->"Bold"],
  StyleBox[" which we have already introduced above and that is based on the \
function ",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["InCoreQ[]",
    FontWeight->"Bold",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox[" by ",
    FontVariations->{"CompatibilityType"->0}],
  ButtonBox["Carter",
    ButtonData:>"M. Carter",
    ButtonStyle->"Hyperlink"],
  ButtonBox[",",
    ButtonData:>"Hal Varian",
    ButtonStyle->"Hyperlink"],
  StyleBox[" we provide a second function that is called ",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["BelongToCoreQ[]",
    FontWeight->"Bold",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox[" which is based on the property that an imputation ",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["x",
    FontSlant->"Italic",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox[" belongs to the core ",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["C(v) ",
    FontSlant->"Italic",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["iff ",
    FontVariations->{"CompatibilityType"->0}]
}], "Text",
  TextJustification->1],

Cell[TextData[{
  Cell[BoxData[
      \(TraditionalForm\`x(
          S) = \[Sum]\_\(i\ \[Epsilon]\ S\)\ x\_i\ \  \[LessEqual] \ 
          v(N)\  - \ v(S)\)]],
  " for all",
  StyleBox[" S \[Subset] N",
    FontSlant->"Italic"],
  ".  "
}], "Text",
  TextAlignment->Center,
  TextJustification->1],

Cell[TextData[{
  "We demonstrate how the function ",
  StyleBox["BelongToCoreQ[]",
    FontWeight->"Bold",
    FontVariations->{"CompatibilityType"->0}],
  " works in comparison to the function ",
  StyleBox["CoreElementsQ[]",
    FontWeight->"Bold"],
  " before we proceed on our problem. The difference between the function is \
discussed in more detail in ",
  ButtonBox["Section 5",
    ButtonData:>"Unix Functions",
    ButtonStyle->"Hyperlink"],
  "."
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(cor5 = CoreElementsQ[ExpGame5, cvert5]\)], "Input"],

Cell[BoxData[
    \({True, False, False, False, False, False, False, True, True, False, 
      True, True, True, False, True, True, True, True}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(blcor5 = BelongToCoreQ[ExpGame5, cvert5]\)], "Input"],

Cell[BoxData[
    \({True, False, False, False, False, False, False, True, True, False, 
      True, True, True, False, True, True, True, True}\)], "Output"]
}, Open  ]],

Cell["\<\
Since, some of imputations aren't contained in the core, we select \
the core imputations by using the command\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(pos5 = Position[cor5, True]\)], "Input"],

Cell[BoxData[
    \({{1}, {8}, {9}, {11}, {12}, {13}, {15}, {16}, {17}, {18}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(bcs5 = Position[blcor5, True]\)], "Input"],

Cell[BoxData[
    \({{1}, {8}, {9}, {11}, {12}, {13}, {15}, {16}, {17}, {18}}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "We got with the command ",
  StyleBox["Position[]",
    FontWeight->"Bold"],
  " the exact location of the core elements, we can use this information by \
extracting all core imputations typing "
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(ext5 = Extract[cvert5, pos5]\)], "Input"],

Cell[BoxData[
    \({{5, 7, 8, 0}, {5, 7, 0, 8}, {2, 7, 0, 11}, {5, 4, 0, 11}, {0, 7, 8, 
        5}, {0, 7, 2, 11}, {0, 1, 8, 11}, {5, 0, 8, 7}, {5, 0, 4, 11}, {1, 0, 
        8, 11}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(bcext5 = Extract[cvert5, bcs5]\)], "Input"],

Cell[BoxData[
    \({{5, 7, 8, 0}, {5, 7, 0, 8}, {2, 7, 0, 11}, {5, 4, 0, 11}, {0, 7, 8, 
        5}, {0, 7, 2, 11}, {0, 1, 8, 11}, {5, 0, 8, 7}, {5, 0, 4, 11}, {1, 0, 
        8, 11}}\)], "Output"]
}, Open  ]],

Cell["\<\
Let us verify that all the elements we have selected from our \
initial list are contained in the core.\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(CoreElementsQ[ExpGame5, ext5]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True, True, True, True, True, True, 
      True}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(BelongToCoreQ[ExpGame5, bcext5]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True, True, True, True, True, True, 
      True}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Length[ext5]\)], "Input"],

Cell[BoxData[
    \(10\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(to5 = Union[ext5, u5]\)], "Input"],

Cell[BoxData[
    \({{0, 1, 8, 11}, {0, 7, 2, 11}, {0, 7, 8, 5}, {1, 0, 8, 11}, {2, 7, 0, 
        11}, {5, 0, 4, 11}, {5, 0, 8, 7}, {5, 4, 0, 11}, {5, 7, 0, 8}, {5, 7, 
        8, 0}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Length[to5]\)], "Input"],

Cell[BoxData[
    \(10\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "To get more evidence that the function ",
  StyleBox["AdjustedWorthVectors[]",
    FontWeight->"Bold"],
  " computes the exact values. Let us consider the game \"",
  StyleBox["ExpGame8",
    FontSlant->"Italic"],
  "\"."
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(v8 = AdjustedWorthVectors[ExpGame8, 2]\)], "Input"],

Cell[BoxData[
    \({{267\/10, 7199\/30, 800\/3, 800\/3}, {267\/10, 7199\/30, 800\/3, 
        800\/3}, {267\/10, 800\/3, 7199\/30, 800\/3}, {267\/10, 800\/3, 
        800\/3, 7199\/30}, {267\/10, 800\/3, 7199\/30, 800\/3}, {267\/10, 
        800\/3, 800\/3, 7199\/30}, {7199\/30, 267\/10, 800\/3, 
        800\/3}, {7199\/30, 267\/10, 800\/3, 800\/3}, {7199\/30, 800\/3, 
        267\/10, 800\/3}, {7199\/30, 800\/3, 800\/3, 267\/10}, {7199\/30, 
        800\/3, 267\/10, 800\/3}, {7199\/30, 800\/3, 800\/3, 
        267\/10}, {800\/3, 267\/10, 7199\/30, 800\/3}, {800\/3, 267\/10, 
        800\/3, 7199\/30}, {800\/3, 7199\/30, 267\/10, 800\/3}, {800\/3, 
        7199\/30, 800\/3, 267\/10}, {800\/3, 800\/3, 267\/10, 
        7199\/30}, {800\/3, 800\/3, 7199\/30, 267\/10}, {800\/3, 267\/10, 
        7199\/30, 800\/3}, {800\/3, 267\/10, 800\/3, 7199\/30}, {800\/3, 
        7199\/30, 267\/10, 800\/3}, {800\/3, 7199\/30, 800\/3, 
        267\/10}, {800\/3, 800\/3, 267\/10, 7199\/30}, {800\/3, 800\/3, 
        7199\/30, 267\/10}}\)], "Output"]
}, Open  ]],

Cell["Removing all duplicated results we obtain", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(u8 = v8 // Union\)], "Input"],

Cell[BoxData[
    \({{267\/10, 7199\/30, 800\/3, 800\/3}, {267\/10, 800\/3, 7199\/30, 
        800\/3}, {267\/10, 800\/3, 800\/3, 7199\/30}, {7199\/30, 267\/10, 
        800\/3, 800\/3}, {7199\/30, 800\/3, 267\/10, 800\/3}, {7199\/30, 
        800\/3, 800\/3, 267\/10}, {800\/3, 267\/10, 7199\/30, 
        800\/3}, {800\/3, 267\/10, 800\/3, 7199\/30}, {800\/3, 7199\/30, 
        267\/10, 800\/3}, {800\/3, 7199\/30, 800\/3, 267\/10}, {800\/3, 
        800\/3, 267\/10, 7199\/30}, {800\/3, 800\/3, 7199\/30, 
        267\/10}}\)], "Output"]
}, Open  ]],

Cell["\<\
We obtain the expected number of adjusted marginal worth vectors, \
since\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Length[u8]\)], "Input"],

Cell[BoxData[
    \(12\)], "Output"]
}, Open  ]],

Cell["\<\
For an intermediate step, let us verify that the computed vectors \
are all efficient. This could be done by\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(\(Apply[Plus, #]\  &\)\  /@ \ u8\)], "Input"],

Cell[BoxData[
    \({800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 
      800}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \({cvert8, nonvert8} = VerticesCore[ExpGame8]\)], "Input"],

Cell[BoxData[
    \({{{800\/3, 800\/3, 267\/10, 7199\/30}, {800\/3, 800\/3, 7199\/30, 
          267\/10}, {7199\/30, 800\/3, 800\/3, 267\/10}, {267\/10, 800\/3, 
          800\/3, 7199\/30}, {267\/10, 7199\/30, 800\/3, 800\/3}, {7199\/30, 
          800\/3, 267\/10, 800\/3}, {267\/10, 800\/3, 7199\/30, 
          800\/3}, {7199\/30, 267\/10, 800\/3, 800\/3}, {800\/3, 7199\/30, 
          800\/3, 267\/10}, {800\/3, 267\/10, 800\/3, 7199\/30}, {800\/3, 
          7199\/30, 267\/10, 800\/3}, {800\/3, 267\/10, 7199\/30, 
          800\/3}}, {{19, 18, 7, 17, 14}, {19, 18, 8, 17, 14}, {19, 16, 8, 
          17, 11}, {19, 16, 5, 17, 11}, {19, 15, 5, 16, 9}, {19, 15, 7, 17, 
          10}, {19, 15, 5, 17, 10}, {19, 16, 6, 15, 9}, {19, 18, 8, 16, 
          13}, {19, 18, 6, 16, 13}, {19, 18, 7, 15, 12}, {19, 18, 6, 15, 
          12}}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Length[cvert8]\)], "Input"],

Cell[BoxData[
    \(12\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(CoreElementsQ[ExpGame8, cvert8]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True, True, True, True, True, True, True, True, 
      True}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(CoreElementsQ[ExpGame8, Rationalize[cvert8]]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True, True, True, True, True, True, True, True, 
      True}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(BelongToCoreQ[ExpGame8, cvert8]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True, True, True, True, True, True, True, True, 
      True}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(to8 = Union[cvert8, v8]\)], "Input"],

Cell[BoxData[
    \({{267\/10, 7199\/30, 800\/3, 800\/3}, {267\/10, 800\/3, 7199\/30, 
        800\/3}, {267\/10, 800\/3, 800\/3, 7199\/30}, {7199\/30, 267\/10, 
        800\/3, 800\/3}, {7199\/30, 800\/3, 267\/10, 800\/3}, {7199\/30, 
        800\/3, 800\/3, 267\/10}, {800\/3, 267\/10, 7199\/30, 
        800\/3}, {800\/3, 267\/10, 800\/3, 7199\/30}, {800\/3, 7199\/30, 
        267\/10, 800\/3}, {800\/3, 7199\/30, 800\/3, 267\/10}, {800\/3, 
        800\/3, 267\/10, 7199\/30}, {800\/3, 800\/3, 7199\/30, 
        267\/10}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Length[to8]\)], "Input"],

Cell[BoxData[
    \(12\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "Do not try to use the function ",
  StyleBox["AdjustedEffUpperVectors[] ",
    FontWeight->"Bold"],
  StyleBox["for ",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["k",
    FontSlant->"Italic",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["-convex  games, with ",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["k",
    FontSlant->"Italic",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox["\[GreaterEqual] 2. In this case you will get wrong results.",
    FontVariations->{"CompatibilityType"->0}]
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(AdjustedEffUpperVectors[ExpGame8]\)], "Input"],

Cell[BoxData[
    \({{0, 800\/3, 800\/3, 800\/3}, {800\/3, 0, 800\/3, 800\/3}, {800\/3, 
        800\/3, 0, 800\/3}, {800\/3, 800\/3, 800\/3, 0}}\)], "Output"]
}, Open  ]],

Cell["\<\
You can just us this function simply to compute the adjusted \
marginal worth vectors for 1-convex  games as the next example will \
demonstrate it. \
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(AdjustedEffUpperVectors[ExpGame7]\)], "Input"],

Cell[BoxData[
    \({{0, 9, 9}, {3, 6, 9}, {3, 9, 6}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(AdjustedWorthVectors[ExpGame7, 1] // Union\)], "Input"],

Cell[BoxData[
    \({{0, 9, 9}, {3, 6, 9}, {3, 9, 6}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(\(VerticesCore[ExpGame7]\)[\([1]\)]\)], "Input"],

Cell[BoxData[
    \({{3, 9, 6}, {0, 9, 9}, {3, 6, 9}}\)], "Output"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[ButtonBox["4.3 Kernel",
  ButtonData:>"4.3.",
  ButtonStyle->"Hyperlink"]], "Subsubsection",
  FontSize->16,
  CellTags->"Kernel"],

Cell[TextData[{
  "In this subsection we want to present some functions which will enable ",
  StyleBox["us",
    FontVariations->{"CompatibilityType"->0}],
  " to compute at least a kernel solution or in good cases the whole kernel \
of a game. The functions we will present in this subsection relying on the \
linear programming approach to determine outcomes that lie in the core (or \
strong epsilon core) as well as  in the kernel of the game, that is, outcomes \
that satisfy the bisection property.  Note, that for zero-monotonic  games \
the bisection property is necessary and sufficient that an imputation that \
belongs to the core (strong-epsilon core)  is also contained in the kernel of \
the game (cf. Th 3.7 ",
  ButtonBox["Maschler, Peleg and Shapley",
    ButtonData:>"M. Maschler",
    ButtonStyle->"Hyperlink"],
  " (1979)). More informations about the algorithm can be found in ",
  ButtonBox["Meinhardt",
    ButtonData:>"H. Meinhardt",
    ButtonStyle->"Hyperlink"],
  " (2004). To start off, let us first consider the command ",
  StyleBox["Kernel[game,opts]",
    FontWeight->"Bold"],
  " without an options to compute a kernel point of the game.  In the second \
case we make use of an optional ",
  "argument",
  " ",
  StyleBox["eps",
    FontWeight->"Bold"],
  " which is a critical value to generalize the bisection property to the \
strong epsilon-cores. You can omit the critical value ",
  StyleBox["eps",
    FontWeight->"Bold"],
  " in the command without harm, since the default value is set to zero. \
There are different functions available which determine the different types \
of critical values. One critical value can be calculated, for instance, by \
the function ",
  StyleBox["FirstCriticalVal[game]",
    FontWeight->"Bold"],
  ". This function and  all the rest of them will be discussed in the sequel \
of this subsection."
}], "Text",
  TextJustification->1,
  CellTags->"(2002b)"],

Cell[CellGroupData[{

Cell[BoxData[
    \(ker1 = Kernel[ExpGame1]\)], "Input"],

Cell[BoxData[
    \("Game has nonempty core"\)], "Print"],

Cell[BoxData[
    \({45\/2, 45\/2, 45\/2, 45\/2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ker2 = Kernel[ExpGame2]\)], "Input"],

Cell[BoxData[
    \("Game has nonempty core"\)], "Print"],

Cell[BoxData[
    \({45\/2, 45\/2, 45\/2, 45\/2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ModifiedKernel[ExpGame2]\)], "Input"],

Cell[BoxData[
    \({45\/2, 45\/2, 45\/2, 45\/2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(PreKernelSolution[ExpGame2, {90, 0, 0, 0}]\)], "Input"],

Cell[BoxData[
    RowBox[{\(FindMinimum::"fmgz"\), \(\(:\)\(\ \)\), "\<\"Encountered a \
gradient which is effectively zero. The result returned may not be a minimum; \
it may be a maximum or a saddle point. \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\
\\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
ButtonData:>\\\"FindMinimum::fmgz\\\"]\\)\"\>"}]], "Message"],

Cell[BoxData[
    \({45\/2, 45\/2, 45\/2, 45\/2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ker3 = Kernel[ExpGame3]\)], "Input"],

Cell[BoxData[
    \("Game has nonempty core"\)], "Print"],

Cell[BoxData[
    \({1, 1, 1, 2, 2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ModifiedKernel[ExpGame3]\)], "Input"],

Cell[BoxData[
    \({1, 1, 1, 2, 2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(PreKernelSolution[ExpGame3, {7, 0, 0, 0, 0}]\)], "Input"],

Cell[BoxData[
    \({1, 1, 1, 2, 2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ker4 = Kernel[ExpGame4]\)], "Input"],

Cell[BoxData[
    \("Game has nonempty core"\)], "Print"],

Cell[BoxData[
    \({7\/32, 7\/32, 9\/32, 9\/32}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ModifiedKernel[ExpGame4]\)], "Input"],

Cell[BoxData[
    \({7\/32, 7\/32, 9\/32, 9\/32}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(PreKernelSolution[ExpGame4, {1, 0, 0, 0}]\)], "Input"],

Cell[BoxData[
    RowBox[{\(FindMinimum::"fmgz"\), \(\(:\)\(\ \)\), "\<\"Encountered a \
gradient which is effectively zero. The result returned may not be a minimum; \
it may be a maximum or a saddle point. \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\
\\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
ButtonData:>\\\"FindMinimum::fmgz\\\"]\\)\"\>"}]], "Message"],

Cell[BoxData[
    \({7\/32, 7\/32, 9\/32, 9\/32}\)], "Output"]
}, Open  ]],

Cell["\<\
The next function verifies whether the payoff belongs to the kernel \
of the game.\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(KernelImputationQ[ExpGame1, ker1]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(KernelImputationQ[ExpGame2, ker2]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(KernelImputationQ[ExpGame3, ker3]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(KernelImputationQ[ExpGame4, ker4]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell["Define some payoffs", "Text"],

Cell[BoxData[
    \(\(pay = {{45, 0, 45, 0}, {10, 20, 30, 30}, ker1, ker2};\)\)], "Input"],

Cell["\<\
If you want to test, if a list of payoffs belong to the kernel then \
use \
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(KernelImputationListQ[ExpGame1, pay]\)], "Input"],

Cell[BoxData[
    \({False, False, True, True}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "Specify now the arrangement of all subsets of the grand coalition ",
  StyleBox["N",
    FontSlant->"Italic"],
  "."
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Subsets[{1, 2, 3, 4}]\)], "Input"],

Cell[BoxData[
    \({{}, {1}, {2}, {3}, {4}, {1, 2}, {1, 3}, {1, 4}, {2, 3}, {2, 4}, {3, 
        4}, {1, 2, 3}, {1, 2, 4}, {1, 3, 4}, {2, 3, 4}, {1, 2, 3, 
        4}}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "The surpluses of an excess vector are arranged exactly in accordance with \
the above order of subsets of the grand coalition ",
  StyleBox["N",
    FontSlant->"Italic"],
  ". Here, we present the corresponding excess vectors related to the symbol \
\"",
  StyleBox["pay",
    FontSlant->"Italic"],
  "\"."
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(ExcessPayoff[ExpGame1, pay, 
      DisplayMatrixForm \[Rule] \ True]\)], "Input"],

Cell[BoxData[
    TagBox[
      RowBox[{"(", "\[NoBreak]", GridBox[{
            {\(Co[{}]\), \(Co[{1}]\), \(Co[{2}]\), \(Co[{3}]\), \(Co[{4}]\), \
\(Co[{1, 2}]\), \(Co[{1, 3}]\), \(Co[{1, 4}]\), \(Co[{2, 3}]\), \(Co[{2, 
                  4}]\), \(Co[{3, 4}]\), \(Co[{1, 2, 3}]\), \(Co[{1, 2, 
                  4}]\), \(Co[{1, 3, 4}]\), \(Co[{2, 3, 4}]\), \(Co[{1, 2, 3, 
                  4}]\)},
            {"0", \(-45\), "0", \(-45\), 
              "0", \(-45\), \(-90\), \(-45\), \(-45\), 
              "0", \(-45\), \(-50\), \(-45\), \(-50\), \(-45\), "0"},
            {
              "0", \(-10\), \(-20\), \(-30\), \(-30\), \(-30\), \(-40\), \
\(-40\), \(-50\), \(-50\), \(-60\), \(-20\), \(-60\), \(-30\), \(-80\), "0"},
            {
              "0", \(-\(45\/2\)\), \(-\(45\/2\)\), \(-\(45\/2\)\), \(-\(45\/2\
\)\), \(-45\), \(-45\), \(-45\), \(-45\), \(-45\), \(-45\), \(-\(55\/2\)\), \
\(-\(135\/2\)\), \(-\(55\/2\)\), \(-\(135\/2\)\), "0"},
            {
              "0", \(-\(45\/2\)\), \(-\(45\/2\)\), \(-\(45\/2\)\), \(-\(45\/2\
\)\), \(-45\), \(-45\), \(-45\), \(-45\), \(-45\), \(-45\), \(-\(55\/2\)\), \
\(-\(135\/2\)\), \(-\(55\/2\)\), \(-\(135\/2\)\), "0"}
            },
          RowSpacings->1,
          ColumnSpacings->1,
          ColumnAlignments->{Left}], "\[NoBreak]", ")"}],
      Function[ BoxForm`e$, 
        MatrixForm[ BoxForm`e$]]]], "Output"]
}, Open  ]],

Cell[TextData[{
  "To check if the kernel element coincides with the nucleolus, we use the \
function ",
  StyleBox["Nucleolus[]",
    FontWeight->"Bold"],
  " provided by ",
  StyleBox["CooperativeGames.",
    FontSlant->"Italic"]
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Nucleolus[ExpGame1]\)], "Input"],

Cell[BoxData[
    \({45\/2, 45\/2, 45\/2, 45\/2}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "In the package ",
  StyleBox["TuGames ",
    FontSlant->"Italic"],
  StyleBox["are also some functions available to compute the nucleolus or \
pre-nucleolus of the game.  These are the following functions:",
    FontVariations->{"CompatibilityType"->0}]
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(ModifiedNucleolus[ExpGame1]\)], "Input"],

Cell[BoxData[
    \({45\/2, 45\/2, 45\/2, 45\/2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ModifiedNucleolus[ExpGame1, Silent \[Rule] \ False]\)], "Input"],

Cell[BoxData[
    InterpretationBox[\("erg="\[InvisibleSpace]{\(-\(1\/4\)\), {\[Alpha] \
\[Rule] \(-\(1\/4\)\), x[1] \[Rule] 1\/4, x[2] \[Rule] 1\/4, 
            x[3] \[Rule] 1\/4, x[4] \[Rule] 1\/4}}\),
      SequenceForm[ "erg=", {
        Rational[ -1, 4], {\[Alpha] -> Rational[ -1, 4], x[ 1] -> Rational[ 
        1, 4], x[ 2] -> Rational[ 1, 4], x[ 3] -> Rational[ 1, 4], x[ 4] -> 
        Rational[ 1, 4]}}],
      Editable->False]], "Print"],

Cell[BoxData[
    InterpretationBox[\("erg="\[InvisibleSpace]{\(-\(11\/36\)\), {\[Alpha] \
\[Rule] \(-\(11\/36\)\), x[1] \[Rule] 1\/4, x[2] \[Rule] 1\/4, 
            x[3] \[Rule] 1\/4, x[4] \[Rule] 1\/4}}\),
      SequenceForm[ "erg=", {
        Rational[ -11, 36], {\[Alpha] -> Rational[ -11, 36], x[ 1] -> 
        Rational[ 1, 4], x[ 2] -> Rational[ 1, 4], x[ 3] -> Rational[ 1, 4], 
        x[ 4] -> Rational[ 1, 4]}}],
      Editable->False]], "Print"],

Cell[BoxData[
    InterpretationBox[\("erg="\[InvisibleSpace]{\(-\(11\/36\)\), {\[Alpha] \
\[Rule] \(-\(11\/36\)\), x[1] \[Rule] 1\/4, x[2] \[Rule] 1\/4, 
            x[3] \[Rule] 1\/4, x[4] \[Rule] 1\/4}}\),
      SequenceForm[ "erg=", {
        Rational[ -11, 36], {\[Alpha] -> Rational[ -11, 36], x[ 1] -> 
        Rational[ 1, 4], x[ 2] -> Rational[ 1, 4], x[ 3] -> Rational[ 1, 4], 
        x[ 4] -> Rational[ 1, 4]}}],
      Editable->False]], "Print"],

Cell[BoxData[
    InterpretationBox[\("erg="\[InvisibleSpace]{\(-\(1\/2\)\), {\[Alpha] \
\[Rule] \(-\(1\/2\)\), x[1] \[Rule] 1\/4, x[2] \[Rule] 1\/4, 
            x[3] \[Rule] 1\/4, x[4] \[Rule] 1\/4}}\),
      SequenceForm[ "erg=", {
        Rational[ -1, 2], {\[Alpha] -> Rational[ -1, 2], x[ 1] -> Rational[ 
        1, 4], x[ 2] -> Rational[ 1, 4], x[ 3] -> Rational[ 1, 4], x[ 4] -> 
        Rational[ 1, 4]}}],
      Editable->False]], "Print"],

Cell[BoxData[
    InterpretationBox[\("erg="\[InvisibleSpace]{\(-\(1\/2\)\), {\[Alpha] \
\[Rule] \(-\(1\/2\)\), x[1] \[Rule] 1\/4, x[2] \[Rule] 1\/4, 
            x[3] \[Rule] 1\/4, x[4] \[Rule] 1\/4}}\),
      SequenceForm[ "erg=", {
        Rational[ -1, 2], {\[Alpha] -> Rational[ -1, 2], x[ 1] -> Rational[ 
        1, 4], x[ 2] -> Rational[ 1, 4], x[ 3] -> Rational[ 1, 4], x[ 4] -> 
        Rational[ 1, 4]}}],
      Editable->False]], "Print"],

Cell[BoxData[
    \({45\/2, 45\/2, 45\/2, 45\/2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(LexiCenter[ExpGame1]\)], "Input"],

Cell[BoxData[
    \({45\/2, 45\/2, 45\/2, 45\/2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(PreNucleolus[ExpGame1]\)], "Input"],

Cell[BoxData[
    \({45\/2, 45\/2, 45\/2, 45\/2}\)], "Output"]
}, Open  ]],

Cell["The Options can be called with the following command.", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Options[ModifiedNucleolus]\)], "Input"],

Cell[BoxData[
    \({CallMinimize \[Rule] True, SetRecursionLimit \[Rule] 128, 
      Silent \[Rule] True}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "Due to our experience these functions are more robust than the function ",
  StyleBox["Nucleolus[] ",
    FontWeight->"Bold"],
  "for essential games. If the game is  inessential then the result\nmight \
not be correct and you have to check the result by ",
  StyleBox["KernelImputationListQ[",
    FontWeight->"Bold"],
  StyleBox["]",
    FontWeight->"Bold"],
  " or ",
  StyleBox["KernelImputationQ[]",
    FontWeight->"Bold"],
  ". Since the result is a remapping of\na zero-one normalized game back to \
original game, one has simply to look on this result to find an appropriate \
remapping to original game."
}], "Text"],

Cell[TextData[{
  "The game \"",
  StyleBox["ExpGame1",
    FontSlant->"Italic"],
  "\" is convex, in this case the kernel is an unique element that coincides \
with the Nucleolus."
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(ConvexQ[ExpGame1]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "Recall the kernel element from \"",
  StyleBox["ExpGame3",
    FontSlant->"Italic"],
  "\""
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(ker3\)], "Input"],

Cell[BoxData[
    \({1, 1, 1, 2, 2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(nuc3 = Nucleolus[ExpGame3]\)], "Input"],

Cell[BoxData[
    \({1, 1, 1, 2, 2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ModifiedNucleolus[ExpGame3]\)], "Input"],

Cell[BoxData[
    \({1, 1, 1, 2, 2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ModifiedNucleolus[ExpGame3, CallMinimize \[Rule] \ False]\)], "Input"],

Cell[BoxData[
    \({1, 1, 1, 2, 2}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "If you are interested to find out more kernel elements the package \
provides the command ",
  StyleBox["KernelCalculation[]",
    FontWeight->"Bold"],
  ".  The function ",
  StyleBox["KernelCalculation[]",
    FontWeight->"Bold"],
  " computes a kernel element and candidates from ",
  StyleBox["(n(n-1)/2 + 1)",
    FontSlant->"Italic"],
  " LPs, whereas ",
  StyleBox["Kernel[]",
    FontWeight->"Bold"],
  " computes a kernel element from just one linear maximization problem.  ",
  "But due to the restriction that the built-in function ",
  StyleBox["ConstrainedMax[]",
    FontWeight->"Bold"],
  " find just one solution and not all solutions of a LP we are sometimes not \
able to specify the whole kernel with ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  ". That's why we follow the strategy that the above commands return also \
the final LP for further investigation outside of ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  ". "
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \({sol3, pay3} = 
      KernelCalculation[ExpGame3, EpsilonValue \[Rule] \ 2]\)], "Input"],

Cell[BoxData[
    InterpretationBox[\("Game is zero-monotone? "\[InvisibleSpace]False\),
      SequenceForm[ "Game is zero-monotone? ", False],
      Editable->False]], "Print"],

Cell[BoxData[
    InterpretationBox[\("Core is nonempty? "\[InvisibleSpace]True\),
      SequenceForm[ "Core is nonempty? ", True],
      Editable->False]], "Print"],

Cell[BoxData[
    \("Game is either zero-monotonic or has nonempty core"\)], "Print"],

Cell[BoxData[
    InterpretationBox[\("A Kernel solution is: "\[InvisibleSpace]{x[
              1] \[Rule] 1, x[2] \[Rule] 1, x[3] \[Rule] 1, x[4] \[Rule] 2, 
          x[5] \[Rule] 2}\),
      SequenceForm[ 
      "A Kernel solution is: ", {x[ 1] -> 1, x[ 2] -> 1, x[ 3] -> 1, x[ 4] -> 
        2, x[ 5] -> 2}],
      Editable->False]], "Print"],

Cell[BoxData[
    \({{1, 1, 1, 2, 
        2}, {{1\/6, 4\/3, 4\/3, 3\/2, 8\/3}, {1\/6, 4\/3, 4\/3, 8\/3, 
          3\/2}, {1, 1, 1, 2, 2}, {1, 1, 3, 1, 1}, {1, 3, 1, 1, 1}, {4\/3, 
          1\/6, 4\/3, 3\/2, 8\/3}, {4\/3, 1\/6, 4\/3, 8\/3, 3\/2}, {4\/3, 
          4\/3, 1\/6, 3\/2, 8\/3}, {4\/3, 4\/3, 1\/6, 8\/3, 3\/2}, {5\/3, 
          5\/3, 5\/3, 1, 1}, {3, 1, 1, 1, 1}}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(KernelImputationListQ[ExpGame3, pay3]\)], "Input"],

Cell[BoxData[
    \({False, False, True, False, False, False, False, False, False, False, 
      False}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "All internal results can be obtained by invoking the option ",
  StyleBox["DisplayAllResults.",
    FontSlant->"Italic"]
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \({sol3, obj3, con3, tra3, \ pay3} = 
      KernelCalculation[ExpGame3, EpsilonValue \[Rule] \ 2, 
        DisplayAllResults \[Rule] \ True]\)], "Input"],

Cell[BoxData[
    InterpretationBox[\("Game is zero-monotone? "\[InvisibleSpace]False\),
      SequenceForm[ "Game is zero-monotone? ", False],
      Editable->False]], "Print"],

Cell[BoxData[
    InterpretationBox[\("Core is nonempty? "\[InvisibleSpace]True\),
      SequenceForm[ "Core is nonempty? ", True],
      Editable->False]], "Print"],

Cell[BoxData[
    \("Game is either zero-monotonic or has nonempty core"\)], "Print"],

Cell[BoxData[
    InterpretationBox[\("A Kernel solution is: "\[InvisibleSpace]{x[
              1] \[Rule] 1, x[2] \[Rule] 1, x[3] \[Rule] 1, x[4] \[Rule] 2, 
          x[5] \[Rule] 2}\),
      SequenceForm[ 
      "A Kernel solution is: ", {x[ 1] -> 1, x[ 2] -> 1, x[ 3] -> 1, x[ 4] -> 
        2, x[ 5] -> 2}],
      Editable->False]], "Print"],

Cell[BoxData[
    \({{1, 1, 1, 2, 2}, 
      x[1] + x[2] + x[3] + x[4] + x[5], {x[1] \[GreaterEqual] 0, 
        x[1] \[GreaterEqual] 0, x[2] \[GreaterEqual] 0, 
        x[2] \[GreaterEqual] 0, x[3] \[GreaterEqual] 0, 
        x[3] \[GreaterEqual] 0, x[1] + x[2] + x[4] \[GreaterEqual] 4, 
        x[1] + x[2] + x[4] \[GreaterEqual] 4, 
        x[1] + x[2] + x[4] \[GreaterEqual] 4, 
        x[1] + x[3] + x[4] \[GreaterEqual] 4, 
        x[1] + x[3] + x[4] \[GreaterEqual] 4, 
        x[1] + x[3] + x[4] \[GreaterEqual] 4, 
        x[2] + x[3] + x[4] \[GreaterEqual] 4, 
        x[2] + x[3] + x[4] \[GreaterEqual] 4, 
        x[2] + x[3] + x[4] \[GreaterEqual] 4, 
        x[1] + x[2] + x[5] \[GreaterEqual] 4, 
        x[1] + x[2] + x[5] \[GreaterEqual] 4, 
        x[1] + x[2] + x[5] \[GreaterEqual] 4, 
        x[1] + x[3] + x[5] \[GreaterEqual] 4, 
        x[1] + x[3] + x[5] \[GreaterEqual] 4, 
        x[1] + x[3] + x[5] \[GreaterEqual] 4, 
        x[2] + x[3] + x[5] \[GreaterEqual] 4, 
        x[2] + x[3] + x[5] \[GreaterEqual] 4, 
        x[2] + x[3] + x[5] \[GreaterEqual] 4, x[4] + x[5] \[GreaterEqual] 4, 
        x[1] + x[2] + x[3] + x[4] + x[5] \[LessEqual] 7}, {1, 1, 1\/6, 1\/6, 
        1, 1\/6, 1\/6, 1\/6, 1\/6, 
        1\/3}, {{1\/6, 4\/3, 4\/3, 3\/2, 8\/3}, {1\/6, 4\/3, 4\/3, 8\/3, 
          3\/2}, {1, 1, 1, 2, 2}, {1, 1, 3, 1, 1}, {1, 3, 1, 1, 1}, {4\/3, 
          1\/6, 4\/3, 3\/2, 8\/3}, {4\/3, 1\/6, 4\/3, 8\/3, 3\/2}, {4\/3, 
          4\/3, 1\/6, 3\/2, 8\/3}, {4\/3, 4\/3, 1\/6, 8\/3, 3\/2}, {5\/3, 
          5\/3, 5\/3, 1, 1}, {3, 1, 1, 1, 1}}}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "The first return value is the kernel solution, the second the objective \
function, the third the constraint set, the fourth contains  values of the \
largest bi-symmetrical transfer and the last value returns in general a list \
of possible kernel candidates that have been computed from the ",
  StyleBox["n(n-1)/2",
    FontSlant->"Italic"],
  " initial LPs. Note, that according to this procedure the function becomes \
very slow for huge games.  A good strategy is to find out a first kernel \
element by the function ",
  StyleBox["Kernel[]",
    FontWeight->"Bold"],
  ". This function is in average 10 times faster than the function ",
  StyleBox["KernelCalculation[]",
    FontWeight->"Bold"],
  ".  Moreover, we have found out that you can also speed up the calculation \
with the above commands by providing one of the critical value that have been \
introduced by ",
  ButtonBox["Maschler, Peleg and Shapley",
    ButtonData:>"M. Maschler",
    ButtonStyle->"Hyperlink"],
  " (1979) to vary the strong epsilon core instead of using the default value \
zero."
}], "Text",
  TextJustification->1],

Cell["The complete set of options can be seen by", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Options[KernelCalculation]\)], "Input"],

Cell[BoxData[
    \({CallMaximize \[Rule] False, ChangeInternalEps \[Rule] False, 
      DisplayAllResults \[Rule] False, EpsilonValue \[Rule] 0, 
      SetGameToNonZeroMonotonic \[Rule] False}\)], "Output"]
}, Open  ]],

Cell["and for the function Kernel by calling", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Options[Kernel]\)], "Input"],

Cell[BoxData[
    \({CallMaximize \[Rule] False, DisplayAllResults \[Rule] False, 
      EpsilonValue \[Rule] 0}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "Now have a look what returns the function ",
  StyleBox["Kernel[]  ",
    FontWeight->"Bold"],
  StyleBox["by invoking the option DisplayAllResults",
    FontVariations->{"CompatibilityType"->0}]
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \({sol3, object3, con3, var3, trans3} = 
      Kernel[ExpGame3, DisplayAllResults \[Rule] \ True]\)], "Input"],

Cell[BoxData[
    \("Game has nonempty core"\)], "Print"],

Cell[BoxData[
    \({{1, 1, 1, 2, 
        2}, \[Delta][1, 2] + \[Delta][1, 3] + \[Delta][1, 4] + \[Delta][1, 
          5] + \[Delta][2, 3] + \[Delta][2, 4] + \[Delta][2, 5] + \[Delta][3, 
          4] + \[Delta][3, 5] + \[Delta][4, 
          5], {x[1] + x[2] + x[3] + x[4] + x[5] \[Equal] 7, 
        x[1] \[GreaterEqual] 0, x[2] \[GreaterEqual] 0, 
        x[1] + x[2] \[GreaterEqual] 0, x[3] \[GreaterEqual] 0, 
        x[1] + x[3] \[GreaterEqual] 0, x[2] + x[3] \[GreaterEqual] 0, 
        x[1] + x[2] + x[3] \[GreaterEqual] 0, x[4] \[GreaterEqual] 0, 
        x[1] + x[4] \[GreaterEqual] 0, x[2] + x[4] \[GreaterEqual] 0, 
        x[1] + x[2] + x[4] \[GreaterEqual] 4, x[3] + x[4] \[GreaterEqual] 0, 
        x[1] + x[3] + x[4] \[GreaterEqual] 4, 
        x[2] + x[3] + x[4] \[GreaterEqual] 4, 
        x[1] + x[2] + x[3] + x[4] \[GreaterEqual] 0, x[5] \[GreaterEqual] 0, 
        x[1] + x[5] \[GreaterEqual] 0, x[2] + x[5] \[GreaterEqual] 0, 
        x[1] + x[2] + x[5] \[GreaterEqual] 4, x[3] + x[5] \[GreaterEqual] 0, 
        x[1] + x[3] + x[5] \[GreaterEqual] 4, 
        x[2] + x[3] + x[5] \[GreaterEqual] 4, 
        x[1] + x[2] + x[3] + x[5] \[GreaterEqual] 0, 
        x[4] + x[5] \[GreaterEqual] 4, x[1] + x[4] + x[5] \[GreaterEqual] 0, 
        x[2] + x[4] + x[5] \[GreaterEqual] 0, 
        x[1] + x[2] + x[4] + x[5] \[GreaterEqual] 0, 
        x[3] + x[4] + x[5] \[GreaterEqual] 0, 
        x[1] + x[3] + x[4] + x[5] \[GreaterEqual] 0, 
        x[2] + x[3] + x[4] + x[5] \[GreaterEqual] 0, 
        x[1] - \[Delta][1, 2] \[GreaterEqual] 0, 
        x[2] - \[Delta][1, 2] \[GreaterEqual] 0, 
        x[1] + x[3] - \[Delta][1, 2] \[GreaterEqual] 0, 
        x[2] + x[3] - \[Delta][1, 2] \[GreaterEqual] 0, 
        x[1] + x[4] - \[Delta][1, 2] \[GreaterEqual] 0, 
        x[2] + x[4] - \[Delta][1, 2] \[GreaterEqual] 0, 
        x[1] + x[3] + x[4] - \[Delta][1, 2] \[GreaterEqual] 4, 
        x[2] + x[3] + x[4] - \[Delta][1, 2] \[GreaterEqual] 4, 
        x[1] + x[5] - \[Delta][1, 2] \[GreaterEqual] 0, 
        x[2] + x[5] - \[Delta][1, 2] \[GreaterEqual] 0, 
        x[1] + x[3] + x[5] - \[Delta][1, 2] \[GreaterEqual] 4, 
        x[2] + x[3] + x[5] - \[Delta][1, 2] \[GreaterEqual] 4, 
        x[1] + x[4] + x[5] - \[Delta][1, 2] \[GreaterEqual] 0, 
        x[2] + x[4] + x[5] - \[Delta][1, 2] \[GreaterEqual] 0, 
        x[1] + x[3] + x[4] + x[5] - \[Delta][1, 2] \[GreaterEqual] 0, 
        x[2] + x[3] + x[4] + x[5] - \[Delta][1, 2] \[GreaterEqual] 
          0, \[Delta][1, 2] \[GreaterEqual] 0, 
        x[1] - \[Delta][1, 3] \[GreaterEqual] 0, 
        x[1] + x[2] - \[Delta][1, 3] \[GreaterEqual] 0, 
        x[3] - \[Delta][1, 3] \[GreaterEqual] 0, 
        x[2] + x[3] - \[Delta][1, 3] \[GreaterEqual] 0, 
        x[1] + x[4] - \[Delta][1, 3] \[GreaterEqual] 0, 
        x[1] + x[2] + x[4] - \[Delta][1, 3] \[GreaterEqual] 4, 
        x[3] + x[4] - \[Delta][1, 3] \[GreaterEqual] 0, 
        x[2] + x[3] + x[4] - \[Delta][1, 3] \[GreaterEqual] 4, 
        x[1] + x[5] - \[Delta][1, 3] \[GreaterEqual] 0, 
        x[1] + x[2] + x[5] - \[Delta][1, 3] \[GreaterEqual] 4, 
        x[3] + x[5] - \[Delta][1, 3] \[GreaterEqual] 0, 
        x[2] + x[3] + x[5] - \[Delta][1, 3] \[GreaterEqual] 4, 
        x[1] + x[4] + x[5] - \[Delta][1, 3] \[GreaterEqual] 0, 
        x[1] + x[2] + x[4] + x[5] - \[Delta][1, 3] \[GreaterEqual] 0, 
        x[3] + x[4] + x[5] - \[Delta][1, 3] \[GreaterEqual] 0, 
        x[2] + x[3] + x[4] + x[5] - \[Delta][1, 3] \[GreaterEqual] 
          0, \[Delta][1, 3] \[GreaterEqual] 0, 
        x[1] - \[Delta][1, 4] \[GreaterEqual] 0, 
        x[1] + x[2] - \[Delta][1, 4] \[GreaterEqual] 0, 
        x[1] + x[3] - \[Delta][1, 4] \[GreaterEqual] 0, 
        x[1] + x[2] + x[3] - \[Delta][1, 4] \[GreaterEqual] 0, 
        x[4] - \[Delta][1, 4] \[GreaterEqual] 0, 
        x[2] + x[4] - \[Delta][1, 4] \[GreaterEqual] 0, 
        x[3] + x[4] - \[Delta][1, 4] \[GreaterEqual] 0, 
        x[2] + x[3] + x[4] - \[Delta][1, 4] \[GreaterEqual] 4, 
        x[1] + x[5] - \[Delta][1, 4] \[GreaterEqual] 0, 
        x[1] + x[2] + x[5] - \[Delta][1, 4] \[GreaterEqual] 4, 
        x[1] + x[3] + x[5] - \[Delta][1, 4] \[GreaterEqual] 4, 
        x[1] + x[2] + x[3] + x[5] - \[Delta][1, 4] \[GreaterEqual] 0, 
        x[4] + x[5] - \[Delta][1, 4] \[GreaterEqual] 4, 
        x[2] + x[4] + x[5] - \[Delta][1, 4] \[GreaterEqual] 0, 
        x[3] + x[4] + x[5] - \[Delta][1, 4] \[GreaterEqual] 0, 
        x[2] + x[3] + x[4] + x[5] - \[Delta][1, 4] \[GreaterEqual] 
          0, \[Delta][1, 4] \[GreaterEqual] 0, 
        x[1] - \[Delta][1, 5] \[GreaterEqual] 0, 
        x[1] + x[2] - \[Delta][1, 5] \[GreaterEqual] 0, 
        x[1] + x[3] - \[Delta][1, 5] \[GreaterEqual] 0, 
        x[1] + x[2] + x[3] - \[Delta][1, 5] \[GreaterEqual] 0, 
        x[1] + x[4] - \[Delta][1, 5] \[GreaterEqual] 0, 
        x[1] + x[2] + x[4] - \[Delta][1, 5] \[GreaterEqual] 4, 
        x[1] + x[3] + x[4] - \[Delta][1, 5] \[GreaterEqual] 4, 
        x[1] + x[2] + x[3] + x[4] - \[Delta][1, 5] \[GreaterEqual] 0, 
        x[5] - \[Delta][1, 5] \[GreaterEqual] 0, 
        x[2] + x[5] - \[Delta][1, 5] \[GreaterEqual] 0, 
        x[3] + x[5] - \[Delta][1, 5] \[GreaterEqual] 0, 
        x[2] + x[3] + x[5] - \[Delta][1, 5] \[GreaterEqual] 4, 
        x[4] + x[5] - \[Delta][1, 5] \[GreaterEqual] 4, 
        x[2] + x[4] + x[5] - \[Delta][1, 5] \[GreaterEqual] 0, 
        x[3] + x[4] + x[5] - \[Delta][1, 5] \[GreaterEqual] 0, 
        x[2] + x[3] + x[4] + x[5] - \[Delta][1, 5] \[GreaterEqual] 
          0, \[Delta][1, 5] \[GreaterEqual] 0, 
        x[2] - \[Delta][2, 3] \[GreaterEqual] 0, 
        x[1] + x[2] - \[Delta][2, 3] \[GreaterEqual] 0, 
        x[3] - \[Delta][2, 3] \[GreaterEqual] 0, 
        x[1] + x[3] - \[Delta][2, 3] \[GreaterEqual] 0, 
        x[2] + x[4] - \[Delta][2, 3] \[GreaterEqual] 0, 
        x[1] + x[2] + x[4] - \[Delta][2, 3] \[GreaterEqual] 4, 
        x[3] + x[4] - \[Delta][2, 3] \[GreaterEqual] 0, 
        x[1] + x[3] + x[4] - \[Delta][2, 3] \[GreaterEqual] 4, 
        x[2] + x[5] - \[Delta][2, 3] \[GreaterEqual] 0, 
        x[1] + x[2] + x[5] - \[Delta][2, 3] \[GreaterEqual] 4, 
        x[3] + x[5] - \[Delta][2, 3] \[GreaterEqual] 0, 
        x[1] + x[3] + x[5] - \[Delta][2, 3] \[GreaterEqual] 4, 
        x[2] + x[4] + x[5] - \[Delta][2, 3] \[GreaterEqual] 0, 
        x[1] + x[2] + x[4] + x[5] - \[Delta][2, 3] \[GreaterEqual] 0, 
        x[3] + x[4] + x[5] - \[Delta][2, 3] \[GreaterEqual] 0, 
        x[1] + x[3] + x[4] + x[5] - \[Delta][2, 3] \[GreaterEqual] 
          0, \[Delta][2, 3] \[GreaterEqual] 0, 
        x[2] - \[Delta][2, 4] \[GreaterEqual] 0, 
        x[1] + x[2] - \[Delta][2, 4] \[GreaterEqual] 0, 
        x[2] + x[3] - \[Delta][2, 4] \[GreaterEqual] 0, 
        x[1] + x[2] + x[3] - \[Delta][2, 4] \[GreaterEqual] 0, 
        x[4] - \[Delta][2, 4] \[GreaterEqual] 0, 
        x[1] + x[4] - \[Delta][2, 4] \[GreaterEqual] 0, 
        x[3] + x[4] - \[Delta][2, 4] \[GreaterEqual] 0, 
        x[1] + x[3] + x[4] - \[Delta][2, 4] \[GreaterEqual] 4, 
        x[2] + x[5] - \[Delta][2, 4] \[GreaterEqual] 0, 
        x[1] + x[2] + x[5] - \[Delta][2, 4] \[GreaterEqual] 4, 
        x[2] + x[3] + x[5] - \[Delta][2, 4] \[GreaterEqual] 4, 
        x[1] + x[2] + x[3] + x[5] - \[Delta][2, 4] \[GreaterEqual] 0, 
        x[4] + x[5] - \[Delta][2, 4] \[GreaterEqual] 4, 
        x[1] + x[4] + x[5] - \[Delta][2, 4] \[GreaterEqual] 0, 
        x[3] + x[4] + x[5] - \[Delta][2, 4] \[GreaterEqual] 0, 
        x[1] + x[3] + x[4] + x[5] - \[Delta][2, 4] \[GreaterEqual] 
          0, \[Delta][2, 4] \[GreaterEqual] 0, 
        x[2] - \[Delta][2, 5] \[GreaterEqual] 0, 
        x[1] + x[2] - \[Delta][2, 5] \[GreaterEqual] 0, 
        x[2] + x[3] - \[Delta][2, 5] \[GreaterEqual] 0, 
        x[1] + x[2] + x[3] - \[Delta][2, 5] \[GreaterEqual] 0, 
        x[2] + x[4] - \[Delta][2, 5] \[GreaterEqual] 0, 
        x[1] + x[2] + x[4] - \[Delta][2, 5] \[GreaterEqual] 4, 
        x[2] + x[3] + x[4] - \[Delta][2, 5] \[GreaterEqual] 4, 
        x[1] + x[2] + x[3] + x[4] - \[Delta][2, 5] \[GreaterEqual] 0, 
        x[5] - \[Delta][2, 5] \[GreaterEqual] 0, 
        x[1] + x[5] - \[Delta][2, 5] \[GreaterEqual] 0, 
        x[3] + x[5] - \[Delta][2, 5] \[GreaterEqual] 0, 
        x[1] + x[3] + x[5] - \[Delta][2, 5] \[GreaterEqual] 4, 
        x[4] + x[5] - \[Delta][2, 5] \[GreaterEqual] 4, 
        x[1] + x[4] + x[5] - \[Delta][2, 5] \[GreaterEqual] 0, 
        x[3] + x[4] + x[5] - \[Delta][2, 5] \[GreaterEqual] 0, 
        x[1] + x[3] + x[4] + x[5] - \[Delta][2, 5] \[GreaterEqual] 
          0, \[Delta][2, 5] \[GreaterEqual] 0, 
        x[3] - \[Delta][3, 4] \[GreaterEqual] 0, 
        x[1] + x[3] - \[Delta][3, 4] \[GreaterEqual] 0, 
        x[2] + x[3] - \[Delta][3, 4] \[GreaterEqual] 0, 
        x[1] + x[2] + x[3] - \[Delta][3, 4] \[GreaterEqual] 0, 
        x[4] - \[Delta][3, 4] \[GreaterEqual] 0, 
        x[1] + x[4] - \[Delta][3, 4] \[GreaterEqual] 0, 
        x[2] + x[4] - \[Delta][3, 4] \[GreaterEqual] 0, 
        x[1] + x[2] + x[4] - \[Delta][3, 4] \[GreaterEqual] 4, 
        x[3] + x[5] - \[Delta][3, 4] \[GreaterEqual] 0, 
        x[1] + x[3] + x[5] - \[Delta][3, 4] \[GreaterEqual] 4, 
        x[2] + x[3] + x[5] - \[Delta][3, 4] \[GreaterEqual] 4, 
        x[1] + x[2] + x[3] + x[5] - \[Delta][3, 4] \[GreaterEqual] 0, 
        x[4] + x[5] - \[Delta][3, 4] \[GreaterEqual] 4, 
        x[1] + x[4] + x[5] - \[Delta][3, 4] \[GreaterEqual] 0, 
        x[2] + x[4] + x[5] - \[Delta][3, 4] \[GreaterEqual] 0, 
        x[1] + x[2] + x[4] + x[5] - \[Delta][3, 4] \[GreaterEqual] 
          0, \[Delta][3, 4] \[GreaterEqual] 0, 
        x[3] - \[Delta][3, 5] \[GreaterEqual] 0, 
        x[1] + x[3] - \[Delta][3, 5] \[GreaterEqual] 0, 
        x[2] + x[3] - \[Delta][3, 5] \[GreaterEqual] 0, 
        x[1] + x[2] + x[3] - \[Delta][3, 5] \[GreaterEqual] 0, 
        x[3] + x[4] - \[Delta][3, 5] \[GreaterEqual] 0, 
        x[1] + x[3] + x[4] - \[Delta][3, 5] \[GreaterEqual] 4, 
        x[2] + x[3] + x[4] - \[Delta][3, 5] \[GreaterEqual] 4, 
        x[1] + x[2] + x[3] + x[4] - \[Delta][3, 5] \[GreaterEqual] 0, 
        x[5] - \[Delta][3, 5] \[GreaterEqual] 0, 
        x[1] + x[5] - \[Delta][3, 5] \[GreaterEqual] 0, 
        x[2] + x[5] - \[Delta][3, 5] \[GreaterEqual] 0, 
        x[1] + x[2] + x[5] - \[Delta][3, 5] \[GreaterEqual] 4, 
        x[4] + x[5] - \[Delta][3, 5] \[GreaterEqual] 4, 
        x[1] + x[4] + x[5] - \[Delta][3, 5] \[GreaterEqual] 0, 
        x[2] + x[4] + x[5] - \[Delta][3, 5] \[GreaterEqual] 0, 
        x[1] + x[2] + x[4] + x[5] - \[Delta][3, 5] \[GreaterEqual] 
          0, \[Delta][3, 5] \[GreaterEqual] 0, 
        x[4] - \[Delta][4, 5] \[GreaterEqual] 0, 
        x[1] + x[4] - \[Delta][4, 5] \[GreaterEqual] 0, 
        x[2] + x[4] - \[Delta][4, 5] \[GreaterEqual] 0, 
        x[1] + x[2] + x[4] - \[Delta][4, 5] \[GreaterEqual] 4, 
        x[3] + x[4] - \[Delta][4, 5] \[GreaterEqual] 0, 
        x[1] + x[3] + x[4] - \[Delta][4, 5] \[GreaterEqual] 4, 
        x[2] + x[3] + x[4] - \[Delta][4, 5] \[GreaterEqual] 4, 
        x[1] + x[2] + x[3] + x[4] - \[Delta][4, 5] \[GreaterEqual] 0, 
        x[5] - \[Delta][4, 5] \[GreaterEqual] 0, 
        x[1] + x[5] - \[Delta][4, 5] \[GreaterEqual] 0, 
        x[2] + x[5] - \[Delta][4, 5] \[GreaterEqual] 0, 
        x[1] + x[2] + x[5] - \[Delta][4, 5] \[GreaterEqual] 4, 
        x[3] + x[5] - \[Delta][4, 5] \[GreaterEqual] 0, 
        x[1] + x[3] + x[5] - \[Delta][4, 5] \[GreaterEqual] 4, 
        x[2] + x[3] + x[5] - \[Delta][4, 5] \[GreaterEqual] 4, 
        x[1] + x[2] + x[3] + x[5] - \[Delta][4, 5] \[GreaterEqual] 
          0, \[Delta][4, 5] \[GreaterEqual] 0}, {x[1], x[2], x[3], x[4], 
        x[5], \[Delta][1, 2], \[Delta][1, 3], \[Delta][1, 4], \[Delta][1, 
          5], \[Delta][2, 3], \[Delta][2, 4], \[Delta][2, 5], \[Delta][3, 
          4], \[Delta][3, 5], \[Delta][4, 5]}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 
        0}}\)], "Output"]
}, Open  ]],

Cell["\<\
The first three return values are the same as above. The last but \
one return value stores all variables of the LP and the last provides \
information about the transfers in each direction such that the endpoints of \
the line segment remain in the strong epsilon-core.\
\>", "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(trans3\)], "Input"],

Cell[BoxData[
    \({0, 0, 0, 0, 0, 0, 0, 0, 0, 0}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "The result states that it is not possible to transfer a positive amount in \
each direction without leaving the core. To check this, let us determine, if \
an endpoint of the line segment 1-2  belongs to the core if we transfer a \
half unit from player 1 to player 2 from the derived kernel solution. The \
function ",
  StyleBox["Transfer[]",
    FontWeight->"Bold"],
  " needs five input ",
  "arguments",
  ", the initial imputation, the whole player set, the transfer amount, the \
player from whom we extract the transfer amount and the player who receives \
it."
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(tr1 = Transfer[sol3, T3, 1\/2, 1, 2]\)], "Input"],

Cell[BoxData[
    \({1\/2, 3\/2, 1, 2, 2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(InCoreQ[tr1, ExpGame3]\)], "Input"],

Cell[BoxData[
    \(False\)], "Output"]
}, Open  ]],

Cell["Next let us remain in the initial payoff distribution.", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(tr2 = Transfer[sol3, T3, 0, 1, 2]\)], "Input"],

Cell[BoxData[
    \({1, 1, 1, 2, 2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(InCoreQ[tr2, ExpGame3]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell["\<\
In the last example we take from the initial distribution a half \
unit away from player 2 to give it player 1.\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(tr3 = Transfer[sol3, T3, \(-1\)\/2, 1, 2]\)], "Input"],

Cell[BoxData[
    \({3\/2, 1\/2, 1, 2, 2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(InCoreQ[tr3, ExpGame3]\)], "Input"],

Cell[BoxData[
    \(False\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "Recall that all Kernel commands based on the built-in  ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  " command ",
  StyleBox["ConstrainedMax[]",
    FontWeight->"Bold"],
  ". Unfortunately, this command offers no control on the solver. That's why, \
we let us also return the whole final LP that computes us a kernel element \
with the intention to export this final LP to a mathematical software that \
offers more control on the solver. In some respect one can overcome this \
shortcoming by computing kernel elements by varying the strong epsilon core. \
This can be done by calculating in a first step some critical values. For \
instance the command ",
  StyleBox["FirstCriticalVal[]",
    FontWeight->"Bold"],
  " calculates the smallest epsilon value such that the epsilon-core  is \
non-empty (cf. ",
  ButtonBox["Maschler, Peleg and Shapley",
    ButtonData:>"M. Maschler",
    ButtonStyle->"Hyperlink"],
  " (1979)). "
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(FirstCriticalVal[ExpGame1]\)], "Input"],

Cell[BoxData[
    \({eps1 \[Rule] \(-\(45\/2\)\)}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(FirstCriticalVal[ExpGame2]\)], "Input"],

Cell[BoxData[
    \({eps1 \[Rule] \(-\(45\/2\)\)}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(FirstCriticalVal[ExpGame3]\)], "Input"],

Cell[BoxData[
    \({eps1 \[Rule] 0}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(FirstCriticalVal[ExpGame4]\)], "Input"],

Cell[BoxData[
    \({eps1 \[Rule] \(-\(3\/16\)\)}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(SecondCriticalVal[ExpGame3]\)], "Input"],

Cell[BoxData[
    \({eps2 \[Rule] 4}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ThirdCriticalVal[ExpGame3]\)], "Input"],

Cell[BoxData[
    \({eps3 \[Rule] 21}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(FourthCriticalVal[ExpGame3]\)], "Input"],

Cell[BoxData[
    \({eps4 \[Rule] 4}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(FifthCriticalVal[ExpGame3]\)], "Input"],

Cell[BoxData[
    \({eps5 \[Rule] 16}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(StarCriticalVal[ExpGame3]\)], "Input"],

Cell[BoxData[
    \({stareps \[Rule] 4}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(SecondStarCriticalVal[ExpGame3]\)], "Input"],

Cell[BoxData[
    \({dstareps \[Rule] 4}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ThirdStarCriticalVal[ExpGame3]\)], "Input"],

Cell[BoxData[
    \({thstareps \[Rule] 0}\)], "Output"]
}, Open  ]],

Cell["\<\
Now let us demonstrate that we are able to compute the complete \
kernel of a game.\
\>", "Text"],

Cell[BoxData[
    \(\(ExpGame9 := \((DefineGame[T3, vec3]; v[{2, 5}] = 1; v[{3, 5}] = 1; 
          v[{4, 5}] = 1; v[{1, 2, 3}] = 11\/12; v[{1, 2, 4}] = 1; 
          v[{1, 2, 5}] = 1; v[{1, 3, 4}] = 1; v[{1, 3, 5}] = 1; 
          v[{1, 4, 5}] = 1; v[{2, 3, 4}] = 1; v[{2, 3, 5}] = 1; 
          v[{2, 4, 5}] = 1; v[{3, 4, 5}] = 1; v[{1, 2, 3, 4}] = 1; 
          v[{1, 2, 3, 5}] = 1; v[{1, 2, 4, 5}] = 1; v[{2, 3, 4, 5}] = 1; 
          v[T3] = 2;)\);\)\)], "Input"],

Cell[TextData[{
  "The kernel of this game is given by the union of the following three line \
segments (cf. ",
  ButtonBox["Maschler and Peleg",
    ButtonData:>"References",
    ButtonStyle->"Hyperlink"],
  "  (1966,p.322)):\n",
  Cell[BoxData[
      \(TraditionalForm\`J\_1 = \([\ {0, 1, 1, 1, 1}/2, {1, 11, 11, 12, 13}/
            24]\)\)]],
  "\n",
  Cell[BoxData[
      \(TraditionalForm\`J\_2\  = \ \([{7, 8, 8, 9, 16}/
            24, \ {1, 11, 11, 12, 13}/24]\)\)]],
  "\n",
  Cell[BoxData[
      \(TraditionalForm\`J\_3\  = \([{7, 8, 8, 9, 16}/
            24, {11, 11, 11, 14, 25}/36]\)\)]]
}], "Text",
  TextJustification->1,
  CellTags->"MP66"],

Cell[TextData[{
  "Note first that specifying an epsilon value can speed up the calculation \
time by using the ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  " function ",
  StyleBox["ConstrainedMax[].",
    FontWeight->"Bold"]
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \({time9, ker9} = AbsoluteTiming[Kernel[ExpGame9]]\)], "Input"],

Cell[BoxData[
    \("Game has nonempty core"\)], "Print"],

Cell[BoxData[
    \({2.187961`6.791584570007574\ Second, {7\/24, 1\/3, 1\/3, 3\/8, 
        2\/3}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \({time091, ker9} = 
      AbsoluteTiming[Kernel[ExpGame9, EpsilonValue \[Rule] \ 3]]\)], "Input"],

Cell[BoxData[
    \({0.775562`6.341161515415523\ Second, {7\/24, 1\/3, 1\/3, 3\/8, 
        2\/3}}\)], "Output"]
}, Open  ]],

Cell["\<\
We can also to try to find out some kernel segment by using the \
command:\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(KernelVertices[ExpGame9]\)], "Input"],

Cell[BoxData[
    \("Game has nonempty core"\)], "Print"],

Cell[BoxData[
    \({{1\/24, 11\/24, 11\/24, 1\/2, 13\/24}, {7\/24, 1\/3, 1\/3, 3\/8, 
        2\/3}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \({time92, {sol9, pay9}} = 
      AbsoluteTiming[KernelCalculation[ExpGame9]]\)], "Input"],

Cell[BoxData[
    InterpretationBox[\("Game is average-convex? "\[InvisibleSpace]False\),
      SequenceForm[ "Game is average-convex? ", False],
      Editable->False]], "Print"],

Cell[BoxData[
    InterpretationBox[\("A Kernel solution is: "\[InvisibleSpace]{x[
              1] \[Rule] 7\/24, x[2] \[Rule] 1\/3, x[3] \[Rule] 1\/3, 
          x[4] \[Rule] 3\/8, x[5] \[Rule] 2\/3}\),
      SequenceForm[ 
      "A Kernel solution is: ", {x[ 1] -> Rational[ 7, 24], x[ 2] -> Rational[
         1, 3], x[ 3] -> Rational[ 1, 3], x[ 4] -> Rational[ 3, 8], x[ 5] -> 
        Rational[ 2, 3]}],
      Editable->False]], "Print"],

Cell[BoxData[
    \({14.803329`7.621904384820305\ Second, {{7\/24, 1\/3, 1\/3, 3\/8, 
          2\/3}, {{0, 11\/24, 11\/24, 13\/24, 13\/24}, {0, 1\/2, 1\/2, 1\/2, 
            1\/2}, {7\/24, 1\/3, 1\/3, 3\/8, 2\/3}, {11\/36, 11\/36, 11\/36, 
            7\/18, 25\/36}, {1\/3, 1\/3, 1\/3, 1\/3, 2\/3}}}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(kerli9 = KernelImputationListQ[ExpGame9, pay9]\)], "Input"],

Cell[BoxData[
    \({False, True, True, True, False}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ps = Position[kerli9, True]\)], "Input"],

Cell[BoxData[
    \({{2}, {3}, {4}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(kerel = Extract[pay9, ps]\)], "Input"],

Cell[BoxData[
    \({{0, 1\/2, 1\/2, 1\/2, 1\/2}, {7\/24, 1\/3, 1\/3, 3\/8, 2\/3}, {11\/36, 
        11\/36, 11\/36, 7\/18, 25\/36}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \({time9, {sol91, pay91}} = 
      AbsoluteTiming[
        KernelCalculation[ExpGame9, EpsilonValue \[Rule] 3]]\)], "Input"],

Cell[BoxData[
    InterpretationBox[\("Game is zero-monotone? "\[InvisibleSpace]False\),
      SequenceForm[ "Game is zero-monotone? ", False],
      Editable->False]], "Print"],

Cell[BoxData[
    InterpretationBox[\("Core is nonempty? "\[InvisibleSpace]True\),
      SequenceForm[ "Core is nonempty? ", True],
      Editable->False]], "Print"],

Cell[BoxData[
    \("Game is either zero-monotonic or has nonempty core"\)], "Print"],

Cell[BoxData[
    InterpretationBox[\("A Kernel solution is: "\[InvisibleSpace]{x[
              1] \[Rule] 1\/24, x[2] \[Rule] 11\/24, x[3] \[Rule] 11\/24, 
          x[4] \[Rule] 1\/2, x[5] \[Rule] 13\/24}\),
      SequenceForm[ 
      "A Kernel solution is: ", {x[ 1] -> Rational[ 1, 24], x[ 2] -> Rational[
         11, 24], x[ 3] -> Rational[ 11, 24], x[ 4] -> Rational[ 1, 2], x[ 5] -> 
        Rational[ 13, 24]}],
      Editable->False]], "Print"],

Cell[BoxData[
    \({7.996446`7.354442002295873\ Second, {{1\/24, 11\/24, 11\/24, 1\/2, 
          13\/24}, {{0, 0, 1, 1, 0}, {0, 1\/2, 1\/2, 1\/2, 1\/2}, {0, 1, 0, 
            1, 0}, {0, 1, 1, 0, 0}, {7\/24, 1\/3, 1\/3, 3\/8, 2\/3}, {19\/24, 
            1\/12, 1\/12, 7\/8, 1\/6}, {1, 0, 1, 0, 0}, {1, 1, 0, 0, 
            0}}}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \({time9, {sol92, pay92}} = 
      AbsoluteTiming[KernelCalculation[ExpGame9]]\)], "Input"],

Cell[BoxData[
    InterpretationBox[\("Game is average-convex? "\[InvisibleSpace]False\),
      SequenceForm[ "Game is average-convex? ", False],
      Editable->False]], "Print"],

Cell[BoxData[
    InterpretationBox[\("A Kernel solution is: "\[InvisibleSpace]{x[
              1] \[Rule] 7\/24, x[2] \[Rule] 1\/3, x[3] \[Rule] 1\/3, 
          x[4] \[Rule] 3\/8, x[5] \[Rule] 2\/3}\),
      SequenceForm[ 
      "A Kernel solution is: ", {x[ 1] -> Rational[ 7, 24], x[ 2] -> Rational[
         1, 3], x[ 3] -> Rational[ 1, 3], x[ 4] -> Rational[ 3, 8], x[ 5] -> 
        Rational[ 2, 3]}],
      Editable->False]], "Print"],

Cell[BoxData[
    \({13.906706`7.594769266878751\ Second, {{7\/24, 1\/3, 1\/3, 3\/8, 
          2\/3}, {{0, 11\/24, 11\/24, 13\/24, 13\/24}, {0, 1\/2, 1\/2, 1\/2, 
            1\/2}, {7\/24, 1\/3, 1\/3, 3\/8, 2\/3}, {11\/36, 11\/36, 11\/36, 
            7\/18, 25\/36}, {1\/3, 1\/3, 1\/3, 1\/3, 2\/3}}}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Options[KernelCalculation]\)], "Input"],

Cell[BoxData[
    \({CallMaximize \[Rule] False, ChangeInternalEps \[Rule] False, 
      DisplayAllResults \[Rule] False, EpsilonValue \[Rule] 0, 
      SetGameToNonZeroMonotonic \[Rule] False}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \({time9, {sol92, pay92}} = 
      AbsoluteTiming[
        KernelCalculation[ExpGame9, CallMaximize \[Rule] \ True]]\)], "Input"],

Cell[BoxData[
    InterpretationBox[\("Game is average-convex? "\[InvisibleSpace]False\),
      SequenceForm[ "Game is average-convex? ", False],
      Editable->False]], "Print"],

Cell[BoxData[
    InterpretationBox[\("A Kernel solution is: "\[InvisibleSpace]{x[
              1] \[Rule] 7\/24, x[2] \[Rule] 1\/3, x[3] \[Rule] 1\/3, 
          x[4] \[Rule] 3\/8, x[5] \[Rule] 2\/3}\),
      SequenceForm[ 
      "A Kernel solution is: ", {x[ 1] -> Rational[ 7, 24], x[ 2] -> Rational[
         1, 3], x[ 3] -> Rational[ 1, 3], x[ 4] -> Rational[ 3, 8], x[ 5] -> 
        Rational[ 2, 3]}],
      Editable->False]], "Print"],

Cell[BoxData[
    \({1.556418`6.643671238279611\ Second, {{7\/24, 1\/3, 1\/3, 3\/8, 
          2\/3}, {{0, 11\/24, 11\/24, 13\/24, 13\/24}, {0, 1\/2, 1\/2, 1\/2, 
            1\/2}, {7\/24, 1\/3, 1\/3, 3\/8, 2\/3}, {11\/36, 11\/36, 11\/36, 
            7\/18, 25\/36}, {1\/3, 1\/3, 1\/3, 1\/3, 2\/3}}}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(AppendTo[kerel, sol91]\)], "Input"],

Cell[BoxData[
    \({{0, 1\/2, 1\/2, 1\/2, 1\/2}, {7\/24, 1\/3, 1\/3, 3\/8, 2\/3}, {11\/36, 
        11\/36, 11\/36, 7\/18, 25\/36}, {1\/24, 11\/24, 11\/24, 1\/2, 
        13\/24}}\)], "Output"]
}, Open  ]],

Cell["This is exactly the kernel solution.", "Text"],

Cell[TextData[{
  "Instead of computing kernel solutions with an LP approach, we can also \
compute a kernel element by relying on a convergence algorithm. We \
implemented an algorithm that was due to Maschler by iteratively carrying out \
transfers between pairs of players. Details of the algorithm can be found in \
",
  ButtonBox["Faigle, Kern and Kuipers",
    ButtonData:>"References",
    ButtonStyle->"Hyperlink"],
  " (1998). Note that the algorithm is implemented by using recursion. The \
default value is set to 512 and can be changed with the option \
SetRecursionLimit. We invoke the algorithm by calling the function \
FindKernelSolution[game,payoff,options] and the options can be find out by \
calling"
}], "Text",
  TextJustification->1,
  CellTags->"Faigle98"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Options[FindKernelSolution]\)], "Input"],

Cell[BoxData[
    \({DigitPrecision \[Rule] 6, RationalTol \[Rule] 1\/10000000, 
      SetRecursionLimit \[Rule] 512, Silent \[Rule] True}\)], "Output"]
}, Open  ]],

Cell["\<\
To check out how the function works, let us first construct some \
payoff vectors.\
\>", "Text"],

Cell[BoxData[{
    \(\(c1 = {2, 0, 0, 0, 0};\)\), "\[IndentingNewLine]", 
    \(\(c2 = Permutations[c1];\)\)}], "Input"],

Cell["Computing a pre-kernel element can be done by", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \({tc1, c1kern1} = 
      AbsoluteTiming[FindKernelSolution[ExpGame9, c1]]\)], "Input"],

Cell[BoxData[
    \({0.333163`5.9742017575750275\ Second, {1\/4, 17\/48, 17\/48, 19\/48, 
        31\/48}}\)], "Output"]
}, Open  ]],

Cell["or", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \({tc2, c1kern2} = 
      AbsoluteTiming[FindKernelSolution[ExpGame9, c2]]\)], "Input"],

Cell[BoxData[
    \({1.07832`6.484292653800603\ Second, {{1\/4, 17\/48, 17\/48, 19\/48, 
          31\/48}, {1\/4, 17\/48, 17\/48, 19\/48, 31\/48}, {1\/4, 17\/48, 
          17\/48, 19\/48, 31\/48}, {1\/24, 11\/24, 11\/24, 1\/2, 
          13\/24}, {13\/48, 11\/32, 11\/32, 37\/96, 21\/32}}}\)], "Output"]
}, Open  ]],

Cell["By using the kernel candidates of pay91 we compute", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \({tc3, c1kern3} = 
      AbsoluteTiming[FindKernelSolution[ExpGame9, pay91]]\)], "Input"],

Cell[BoxData[
    \({18.793158`7.725544758521131\ Second, {{1\/24, 11\/24, 11\/24, 1\/2, 
          13\/24}, {0, 1\/2, 1\/2, 1\/2, 1\/2}, {1\/24, 11\/24, 11\/24, 1\/2, 
          13\/24}, {1\/4, 17\/48, 17\/48, 19\/48, 31\/48}, {7\/24, 1\/3, 
          1\/3, 3\/8, 2\/3}, {9\/32, 65\/192, 65\/192, 73\/192, 
          127\/192}, {1\/4, 17\/48, 17\/48, 19\/48, 31\/48}, {1\/4, 17\/48, 
          17\/48, 19\/48, 31\/48}}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(c2k2 = Union[c1kern2]\)], "Input"],

Cell[BoxData[
    \({{1\/24, 11\/24, 11\/24, 1\/2, 13\/24}, {1\/4, 17\/48, 17\/48, 19\/48, 
        31\/48}, {13\/48, 11\/32, 11\/32, 37\/96, 21\/32}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(c2k3 = Union[c1kern3]\)], "Input"],

Cell[BoxData[
    \({{0, 1\/2, 1\/2, 1\/2, 1\/2}, {1\/24, 11\/24, 11\/24, 1\/2, 
        13\/24}, {1\/4, 17\/48, 17\/48, 19\/48, 31\/48}, {9\/32, 65\/192, 
        65\/192, 73\/192, 127\/192}, {7\/24, 1\/3, 1\/3, 3\/8, 
        2\/3}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(\(Chop[PreKernelSolution[ExpGame9, #]] &\) /@ \ pay91\)], "Input"],

Cell[BoxData[
    RowBox[{\(FindMinimum::"fmgz"\), \(\(:\)\(\ \)\), "\<\"Encountered a \
gradient which is effectively zero. The result returned may not be a minimum; \
it may be a maximum or a saddle point. \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\
\\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
ButtonData:>\\\"FindMinimum::fmgz\\\"]\\)\"\>"}]], "Message"],

Cell[BoxData[
    RowBox[{\(FindMinimum::"fmgz"\), \(\(:\)\(\ \)\), "\<\"Encountered a \
gradient which is effectively zero. The result returned may not be a minimum; \
it may be a maximum or a saddle point. \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\
\\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
ButtonData:>\\\"FindMinimum::fmgz\\\"]\\)\"\>"}]], "Message"],

Cell[BoxData[
    RowBox[{\(FindMinimum::"fmgz"\), \(\(:\)\(\ \)\), "\<\"Encountered a \
gradient which is effectively zero. The result returned may not be a minimum; \
it may be a maximum or a saddle point. \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\
\\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
ButtonData:>\\\"FindMinimum::fmgz\\\"]\\)\"\>"}]], "Message"],

Cell[BoxData[
    RowBox[{\(General::"stop"\), \(\(:\)\(\ \)\), "\<\"Further output of \
\\!\\(FindMinimum :: \\\"fmgz\\\"\\) will be suppressed during this \
calculation. \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
ButtonData:>\\\"General::stop\\\"]\\)\"\>"}]], "Message"],

Cell[BoxData[
    \({{0, 1\/2, 1\/2, 1\/2, 1\/2}, {0, 1\/2, 1\/2, 1\/2, 1\/2}, {0, 1\/2, 
        1\/2, 1\/2, 1\/2}, {0, 1\/2, 1\/2, 1\/2, 1\/2}, {7\/24, 1\/3, 1\/3, 
        3\/8, 2\/3}, {0, 1\/2, 1\/2, 1\/2, 1\/2}, {11\/36, 11\/36, 11\/36, 
        7\/18, 25\/36}, {11\/36, 11\/36, 11\/36, 7\/18, 25\/36}}\)], "Output"]
}, Open  ]],

Cell["\<\
Verifying that the computed solutions are really kernel elements \
can be done by\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(\(KernelImputationListQ[ExpGame9, #] &\) /@ {c2k2, c2k3}\)], "Input"],

Cell[BoxData[
    \({{True, True, True}, {True, True, True, True, True}}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "For non-zero-monotonic games we are able to compute pre-kernel elements by \
invoking the function ",
  StyleBox["FindPreKernelSolution[]",
    FontWeight->"Bold"],
  ". The function works in the same vein as ",
  StyleBox["FindKernelSolution[]",
    FontWeight->"Bold"],
  ", since they are based on the same algorithm. Therefore, for \
zero-monotonic games they will compute the same results."
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \({tc4, c1kern4} = 
      AbsoluteTiming[FindPreKernelSolution[ExpGame9, pay91]]\)], "Input"],

Cell[BoxData[
    \({1.063089`6.4781146179354465\ Second, {{1\/24, 11\/24, 11\/24, 1\/2, 
          13\/24}, {0, 1\/2, 1\/2, 1\/2, 1\/2}, {1\/24, 11\/24, 11\/24, 1\/2, 
          13\/24}, {1\/4, 17\/48, 17\/48, 19\/48, 31\/48}, {7\/24, 1\/3, 
          1\/3, 3\/8, 2\/3}, {9\/32, 65\/192, 65\/192, 73\/192, 
          127\/192}, {1\/4, 17\/48, 17\/48, 19\/48, 31\/48}, {1\/4, 17\/48, 
          17\/48, 19\/48, 31\/48}}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(c1kern3 == c1kern4\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "For non-zero-monotonic games the pre-kernel and the kernel solution are \
different. Recall the following three person example given by ",
  ButtonBox["Maschler, Peleg and Shapley",
    ButtonData:>"M. Maschler",
    ButtonStyle->"Hyperlink"],
  " (1979), p 316. The kernel solution is given by {20,0,15} satisfying \
individual rationality and the pre-kernel is found at {27.5,-5,17.5} where \
individual rationality is violated. Define the three person game by "
}], "Text",
  TextJustification->1],

Cell[BoxData[
    \(ExpJeux91 := \((T = {1, 2, 3}; \[IndentingNewLine]Clear[
          v]; \[IndentingNewLine]v[{}] = 0; v[{1}] = 0; v[{2}] = 0; 
        v[{3}] = 0; \[IndentingNewLine]v[{1, 2}] = 20; v[{1, 3}] = 50; 
        v[{2, 3}] = 10; \[IndentingNewLine]v[T] = 40;)\)\)], "Input"],

Cell["\<\
and indeed we compute the kernel by relying on the LP \
approach\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Kernel[ExpJeux91]\)], "Input"],

Cell[BoxData[
    \("Game has empty core"\)], "Print"],

Cell[BoxData[
    \({25, 0, 15}\)], "Output"]
}, Open  ]],

Cell["\<\
as well as by relying on the convergence algorithm by calling \
\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(kerpay91 = FindKernelSolution[ExpJeux91, {0, 0, 40}]\)], "Input"],

Cell[BoxData[
    \({25, 0, 15}\)], "Output"]
}, Open  ]],

Cell["\<\
Invoking the function to compute the pre-kernel, we get exactly the \
required result.\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(prk91 = FindPreKernelSolution[ExpJeux91, {40, 0, 0}]\)], "Input"],

Cell[BoxData[
    \({55\/2, \(-5\), 35\/2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(N[prk91]\)], "Input"],

Cell[BoxData[
    \({27.5`, \(-5.`\), 17.5`}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "Now, we want to demonstrate some limitation of the Kernel computation \
associated with our approach by relying on the largest bi-symmetrical \
transfers. The core consists of a unique point",
  StyleBox[" ",
    FontWeight->"Bold"],
  "(1,1,1,2,2)",
  StyleBox[". ",
    FontWeight->"Bold"],
  " For this purpose, resume the game \"",
  StyleBox["ExpGame3",
    FontSlant->"Italic"],
  "\". ",
  ButtonBox["Maschler, Peleg and Shapley",
    ButtonData:>"M. Maschler",
    ButtonStyle->"Hyperlink"],
  " (1979) found out that the Kernel is a line segment extending from the \
core point (1,1,1,2,2) to a boundary point of the imputation set. The Kernel \
of this game is"
}], "Text",
  TextJustification->1],

Cell[TextData[{
  Cell[BoxData[
      \(TraditionalForm\`K(\[CapitalGamma])\  := {\((t, t, 
              t, \((7 - 3\ t)\)\/2, \((7 - 3\ t)\)\/2}\)\  : \ 
            0 \[LessEqual] \ t\  \[LessEqual] \ 1}\)]],
  " and the pre-kernel  ",
  Cell[BoxData[
      \(TraditionalForm\`\(K\^*\)(\[CapitalGamma])\  := {\((t, t, 
              t, \((7 - 3\ t)\)\/2, \((7 - 3\ t)\)\/2}\)\  : \ \(-0.2\) \
\[LessEqual] \ t\  \[LessEqual] \ 1}\)]],
  "."
}], "Text",
  TextAlignment->Center],

Cell["\<\
According to the calculation of the first critical value, we see \
that the core of the game coincides with the least core of the game.  Let us \
construct some pre-kernel  elements from the line segment, this can be done \
by\
\>", "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(kerline = 
      Table[{t, t, 
          t, \(7 - \ 3\ t\)\/2, \(7 - \(\(3\)\(\ \)\(t\)\(\ \)\)\)\/2}, {t, \
\(-3\)\/10, 11\/10, 1\/10}]\)], "Input"],

Cell[BoxData[
    \({{\(-\(3\/10\)\), \(-\(3\/10\)\), \(-\(3\/10\)\), 79\/20, 
        79\/20}, {\(-\(1\/5\)\), \(-\(1\/5\)\), \(-\(1\/5\)\), 19\/5, 
        19\/5}, {\(-\(1\/10\)\), \(-\(1\/10\)\), \(-\(1\/10\)\), 73\/20, 
        73\/20}, {0, 0, 0, 7\/2, 7\/2}, {1\/10, 1\/10, 1\/10, 67\/20, 
        67\/20}, {1\/5, 1\/5, 1\/5, 16\/5, 16\/5}, {3\/10, 3\/10, 3\/10, 
        61\/20, 61\/20}, {2\/5, 2\/5, 2\/5, 29\/10, 29\/10}, {1\/2, 1\/2, 
        1\/2, 11\/4, 11\/4}, {3\/5, 3\/5, 3\/5, 13\/5, 13\/5}, {7\/10, 7\/10, 
        7\/10, 49\/20, 49\/20}, {4\/5, 4\/5, 4\/5, 23\/10, 23\/10}, {9\/10, 
        9\/10, 9\/10, 43\/20, 43\/20}, {1, 1, 1, 2, 2}, {11\/10, 11\/10, 
        11\/10, 37\/20, 37\/20}}\)], "Output"]
}, Open  ]],

Cell["\<\
Verifying that the constructed elements are really contained in the \
line segment that constitutes the kernel solution we use the function\
\>", \
"Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(PreKernelQ[ExpGame3, kerline]\)], "Input"],

Cell[BoxData[
    \({False, True, True, True, True, True, True, True, True, True, True, 
      True, True, True, False}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(KernelImputationListQ[ExpGame3, kerline]\)], "Input"],

Cell[BoxData[
    \({False, False, False, True, True, True, True, True, True, True, True, 
      True, True, True, False}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Kernel[ExpGame3]\)], "Input"],

Cell[BoxData[
    \("Game has nonempty core"\)], "Print"],

Cell[BoxData[
    \({1, 1, 1, 2, 2}\)], "Output"]
}, Open  ]],

Cell["\<\
This kernel solution is contained in the core and coincides with \
the Nucleolus of the game.\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Nucleolus[ExpGame3]\)], "Input"],

Cell[BoxData[
    \({1, 1, 1, 2, 2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(LexiCenter[ExpGame3]\)], "Input"],

Cell[BoxData[
    \({1, 1, 1, 2, 2}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(kersol = 
      Table[Kernel[ExpGame3, EpsilonValue \[Rule] \ j], {j, 10}]\)], "Input"],

Cell[BoxData[
    \({{1, 1, 1, 2, 2}, {1, 1, 1, 2, 2}, {1, 1, 1, 2, 2}, {1, 1, 1, 2, 
        2}, {1, 1, 1, 2, 2}, {1, 1, 1, 2, 2}, {1, 1, 1, 2, 2}, {1, 1, 1, 2, 
        2}, {1, 1, 1, 2, 2}, {1, 1, 1, 2, 2}}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "By varying the critical value we see that we get in any case the same \
kernel result. This is caused due to the fact that the core consists of just \
a singleton. Enlarging the core by some epsilon values has no effect on the \
largest bi-symmetrical transfer and its associated midpoint. Clearly, the \
largest bi-symmetrical transfer varies if we enlarge the core by some epsilon \
values, but it still remains the largest transfer at the imputation computed. \
At the other kernel imputations the bi-symmetrical transfer is smaller than \
the value we will obtain at {1,1,1,2,2} ",
  ButtonBox["Meinhardt (2004)",
    ButtonData:>"(2002b)",
    ButtonStyle->"Hyperlink"],
  ". The same happens if we rely on the function ",
  StyleBox["KernelCalculation[]",
    FontWeight->"Bold"],
  " that use a different procedure to compute kernel elements.  We obtain"
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \({sol31, obj31, const31, tra31, pay31} = 
      KernelCalculation[ExpGame3, EpsilonValue \[Rule] \ 4, 
        DisplayAllResults \[Rule] \ True]\)], "Input"],

Cell[BoxData[
    InterpretationBox[\("Game is zero-monotone? "\[InvisibleSpace]False\),
      SequenceForm[ "Game is zero-monotone? ", False],
      Editable->False]], "Print"],

Cell[BoxData[
    InterpretationBox[\("Core is nonempty? "\[InvisibleSpace]True\),
      SequenceForm[ "Core is nonempty? ", True],
      Editable->False]], "Print"],

Cell[BoxData[
    \("Game is either zero-monotonic or has nonempty core"\)], "Print"],

Cell[BoxData[
    InterpretationBox[\("A Kernel solution is: "\[InvisibleSpace]{x[
              1] \[Rule] 1, x[2] \[Rule] 1, x[3] \[Rule] 1, x[4] \[Rule] 2, 
          x[5] \[Rule] 2}\),
      SequenceForm[ 
      "A Kernel solution is: ", {x[ 1] -> 1, x[ 2] -> 1, x[ 3] -> 1, x[ 4] -> 
        2, x[ 5] -> 2}],
      Editable->False]], "Print"],

Cell[BoxData[
    \({{1, 1, 1, 2, 2}, 
      x[1] + x[2] + x[3] + x[4] + x[5], {x[1] \[GreaterEqual] 0, 
        x[1] \[GreaterEqual] 0, x[2] \[GreaterEqual] 0, 
        x[2] \[GreaterEqual] 0, x[3] \[GreaterEqual] 0, 
        x[3] \[GreaterEqual] 0, x[4] \[GreaterEqual] 0, 
        x[1] + x[4] \[GreaterEqual] 0, x[2] + x[4] \[GreaterEqual] 0, 
        x[1] + x[2] + x[4] \[GreaterEqual] 4, 
        x[1] + x[2] + x[4] \[GreaterEqual] 4, 
        x[1] + x[2] + x[4] \[GreaterEqual] 4, x[3] + x[4] \[GreaterEqual] 0, 
        x[1] + x[3] + x[4] \[GreaterEqual] 4, 
        x[1] + x[3] + x[4] \[GreaterEqual] 4, 
        x[1] + x[3] + x[4] \[GreaterEqual] 4, 
        x[2] + x[3] + x[4] \[GreaterEqual] 4, 
        x[2] + x[3] + x[4] \[GreaterEqual] 4, 
        x[2] + x[3] + x[4] \[GreaterEqual] 4, x[5] \[GreaterEqual] 0, 
        x[1] + x[5] \[GreaterEqual] 0, x[2] + x[5] \[GreaterEqual] 0, 
        x[1] + x[2] + x[5] \[GreaterEqual] 4, 
        x[1] + x[2] + x[5] \[GreaterEqual] 4, 
        x[1] + x[2] + x[5] \[GreaterEqual] 4, x[3] + x[5] \[GreaterEqual] 0, 
        x[1] + x[3] + x[5] \[GreaterEqual] 4, 
        x[1] + x[3] + x[5] \[GreaterEqual] 4, 
        x[1] + x[3] + x[5] \[GreaterEqual] 4, 
        x[2] + x[3] + x[5] \[GreaterEqual] 4, 
        x[2] + x[3] + x[5] \[GreaterEqual] 4, 
        x[2] + x[3] + x[5] \[GreaterEqual] 4, x[4] + x[5] \[GreaterEqual] 4, 
        x[1] + x[4] + x[5] \[GreaterEqual] 0, 
        x[2] + x[4] + x[5] \[GreaterEqual] 0, 
        x[3] + x[4] + x[5] \[GreaterEqual] 0, 
        x[1] + x[2] + x[3] + x[4] + x[5] \[LessEqual] 7}, {3\/2, 3\/2, 1\/6, 
        1\/6, 3\/2, 1\/6, 1\/6, 1\/6, 1\/6, 
        1\/2}, {{1\/6, 4\/3, 4\/3, 3\/2, 8\/3}, {1\/6, 4\/3, 4\/3, 8\/3, 
          3\/2}, {1, 1, 1, 2, 2}, {4\/3, 1\/6, 4\/3, 3\/2, 8\/3}, {4\/3, 
          1\/6, 4\/3, 8\/3, 3\/2}, {4\/3, 4\/3, 1\/6, 3\/2, 8\/3}, {4\/3, 
          4\/3, 1\/6, 8\/3, 3\/2}, {3\/2, 3\/2, 4, 0, 0}, {3\/2, 4, 3\/2, 0, 
          0}, {2, 2, 2, 1\/2, 1\/2}, {4, 3\/2, 3\/2, 0, 0}}}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "In some case the ",
  StyleBox["n(n-1)/2",
    FontSlant->"Italic"],
  " initial LPs provide some additional kernel elements. These kernel \
candidates have been stored for the above example in the symbol ",
  StyleBox["pay31",
    FontSlant->"Italic"],
  " and we can test now with the command ",
  StyleBox["KernelImputationListQ[]",
    FontWeight->"Bold"],
  " if one or some of these candidates is an or are additional kernel \
element(s)."
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(KernelImputationListQ[ExpGame3, pay31]\)], "Input"],

Cell[BoxData[
    \({False, False, True, False, False, False, False, False, False, False, 
      False}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \({sol32, pay32} = 
      KernelCalculation[ExpGame3, EpsilonValue \[Rule] \ 21]\)], "Input"],

Cell[BoxData[
    InterpretationBox[\("Game is zero-monotone? "\[InvisibleSpace]False\),
      SequenceForm[ "Game is zero-monotone? ", False],
      Editable->False]], "Print"],

Cell[BoxData[
    InterpretationBox[\("Core is nonempty? "\[InvisibleSpace]True\),
      SequenceForm[ "Core is nonempty? ", True],
      Editable->False]], "Print"],

Cell[BoxData[
    \("Game is either zero-monotonic or has nonempty core"\)], "Print"],

Cell[BoxData[
    InterpretationBox[\("A Kernel solution is: "\[InvisibleSpace]{x[
              1] \[Rule] 1, x[2] \[Rule] 1, x[3] \[Rule] 1, x[4] \[Rule] 2, 
          x[5] \[Rule] 2}\),
      SequenceForm[ 
      "A Kernel solution is: ", {x[ 1] -> 1, x[ 2] -> 1, x[ 3] -> 1, x[ 4] -> 
        2, x[ 5] -> 2}],
      Editable->False]], "Print"],

Cell[BoxData[
    \({{1, 1, 1, 2, 
        2}, {{1\/6, 4\/3, 4\/3, 3\/2, 8\/3}, {1\/6, 4\/3, 4\/3, 8\/3, 
          3\/2}, {1, 1, 1, 2, 2}, {4\/3, 1\/6, 4\/3, 3\/2, 8\/3}, {4\/3, 
          1\/6, 4\/3, 8\/3, 3\/2}, {4\/3, 4\/3, 1\/6, 3\/2, 8\/3}, {4\/3, 
          4\/3, 1\/6, 8\/3, 3\/2}, {3\/2, 3\/2, 4, 0, 0}, {3\/2, 4, 3\/2, 0, 
          0}, {2, 2, 2, 1\/2, 1\/2}, {4, 3\/2, 3\/2, 0, 0}}}\)], "Output"]
}, Open  ]],

Cell["Let us look again on additional kernel elements.", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(KernelImputationListQ[ExpGame3, pay32]\)], "Input"],

Cell[BoxData[
    \({False, False, True, False, False, False, False, False, False, False, 
      False}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "In both cases we get the same kernel candidates by relying on the function \
",
  StyleBox["KernelCalculation[]",
    FontWeight->"Bold"],
  "  which are not contained in the solution set.  Hence, we did not find any \
additional kernel solution, although the kernel is not a singleton.  But now \
we want provide a strategy to compute the complete kernel solution by using \
the dual game. This strategy could be successful in cases that the least core \
of the dual and the primal game are different. For a quick test we are \
looking on the nucleolus of the dual and the primal game. Let us define the \
dual game of ",
  StyleBox["ExpGame3.",
    FontSlant->"Italic"]
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(duvec\  = DualGame[ExpGame3]\)], "Input"],

Cell[BoxData[
    \({0, 7, 7, 7, 7, 7, 7, 7, 3, 3, 7, 3, 3, 3, 3, 7, 3, 7, 7, 7, 7, 7, 7, 
      7, 7, 7, 7, 7, 7, 7, 7, 7}\)], "Output"]
}, Open  ]],

Cell[BoxData[
    \(\(DualExpGame3 := \((\(DefineGame[T3, duvec];\))\);\)\)], "Input"],

Cell["The nucleolus of the dual is", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Nucleolus[DualExpGame3]\)], "Input"],

Cell[BoxData[
    \({7\/5, 7\/5, 7\/5, 7\/5, 7\/5}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(nuc3\)], "Input"],

Cell[BoxData[
    \({1, 1, 1, 2, 2}\)], "Output"]
}, Open  ]],

Cell["Note first that the dual is not a zero-monotonic game.", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(ZeroMonotoneQ[DualExpGame3]\)], "Input"],

Cell[BoxData[
    \(False\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \({duker3, dupay3} = 
      KernelCalculation[DualExpGame3, EpsilonValue \[Rule] \ 7, 
        SetGameToNonZeroMonotonic \[Rule] \ True]\)], "Input"],

Cell[BoxData[
    InterpretationBox[\("Game is zero-monotone? "\[InvisibleSpace]False\),
      SequenceForm[ "Game is zero-monotone? ", False],
      Editable->False]], "Print"],

Cell[BoxData[
    InterpretationBox[\("Core is nonempty? "\[InvisibleSpace]False\),
      SequenceForm[ "Core is nonempty? ", False],
      Editable->False]], "Print"],

Cell[BoxData[
    \("Game is not zero-monotonic and has empty core"\)], "Print"],

Cell[BoxData[
    InterpretationBox[\("A Kernel solution is: "\[InvisibleSpace]{x[
              1] \[Rule] 7\/5, x[2] \[Rule] 7\/5, x[3] \[Rule] 7\/5, 
          x[4] \[Rule] 7\/5, x[5] \[Rule] 7\/5}\),
      SequenceForm[ 
      "A Kernel solution is: ", {x[ 1] -> Rational[ 7, 5], x[ 2] -> Rational[ 
        7, 5], x[ 3] -> Rational[ 7, 5], x[ 4] -> Rational[ 7, 5], x[ 5] -> 
        Rational[ 7, 5]}],
      Editable->False]], "Print"],

Cell[BoxData[
    \({{7\/5, 7\/5, 7\/5, 7\/5, 
        7\/5}, {{0, 0, 0, 7\/2, 7\/2}, {0, 0, 7\/2, 0, 7\/2}, {0, 0, 7\/2, 
          7\/2, 0}, {0, 7\/2, 0, 0, 7\/2}, {0, 7\/2, 0, 7\/2, 0}, {0, 7\/2, 
          7\/2, 0, 0}, {7\/5, 7\/5, 7\/5, 7\/5, 7\/5}, {7\/2, 0, 0, 0, 
          7\/2}, {7\/2, 0, 0, 7\/2, 0}, {7\/2, 0, 7\/2, 0, 0}, {7\/2, 7\/2, 
          0, 0, 0}}}\)], "Output"]
}, Open  ]],

Cell["\<\
But note that you should use the option for non zero-monotonic \
games with care. The algorithm works quite well for zero-monotonic games, \
using the above option can cause an infinite loop for an non zero-monotonic \
game.  \
\>", "Text",
  TextAlignment->Left,
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(KernelImputationListQ[ExpGame3, dupay3]\)], "Input"],

Cell[BoxData[
    \({True, False, False, False, False, False, False, False, False, False, 
      False}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(First[dupay3]\)], "Input"],

Cell[BoxData[
    \({0, 0, 0, 7\/2, 7\/2}\)], "Output"]
}, Open  ]],

Cell["\<\
This is the second extreme point of the Kernel segment given \
by\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(kerline\)], "Input"],

Cell[BoxData[
    \({{\(-\(3\/10\)\), \(-\(3\/10\)\), \(-\(3\/10\)\), 79\/20, 
        79\/20}, {\(-\(1\/5\)\), \(-\(1\/5\)\), \(-\(1\/5\)\), 19\/5, 
        19\/5}, {\(-\(1\/10\)\), \(-\(1\/10\)\), \(-\(1\/10\)\), 73\/20, 
        73\/20}, {0, 0, 0, 7\/2, 7\/2}, {1\/10, 1\/10, 1\/10, 67\/20, 
        67\/20}, {1\/5, 1\/5, 1\/5, 16\/5, 16\/5}, {3\/10, 3\/10, 3\/10, 
        61\/20, 61\/20}, {2\/5, 2\/5, 2\/5, 29\/10, 29\/10}, {1\/2, 1\/2, 
        1\/2, 11\/4, 11\/4}, {3\/5, 3\/5, 3\/5, 13\/5, 13\/5}, {7\/10, 7\/10, 
        7\/10, 49\/20, 49\/20}, {4\/5, 4\/5, 4\/5, 23\/10, 23\/10}, {9\/10, 
        9\/10, 9\/10, 43\/20, 43\/20}, {1, 1, 1, 2, 2}, {11\/10, 11\/10, 
        11\/10, 37\/20, 37\/20}}\)], "Output"]
}, Open  ]],

Cell["By invoking the function FindKernelSolution[] we find", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(kersol30 = FindKernelSolution[ExpGame3, {0, 0, 0, 0, 7}]\)], "Input"],

Cell[BoxData[
    \({0, 0, 0, 7\/2, 7\/2}\)], "Output"]
}, Open  ]],

Cell["\<\
and by computing kernel elements by the list of permutations from \
the vector {7,0,0,0,0} we get\
\>", "Text"],

Cell[BoxData[
    \(\(permut = Permutations[{7, 0, 0, 0, 0}];\)\)], "Input"],

Cell[CellGroupData[{

Cell[BoxData[
    \(kerper = FindKernelSolution[ExpGame3, permut] // Union\)], "Input"],

Cell[BoxData[
    \({{0, 0, 0, 7\/2, 7\/2}, {7\/8, 7\/8, 7\/8, 35\/16, 35\/16}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(KernelImputationListQ[ExpGame3, kerper]\)], "Input"],

Cell[BoxData[
    \({True, True}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(kersol31 = FindKernelSolution[ExpGame3, pay31] // Union\)], "Input"],

Cell[BoxData[
    \({{3\/4, 3\/4, 3\/4, 19\/8, 19\/8}, {29\/32, 29\/32, 29\/32, 137\/64, 
        137\/64}, {31\/32, 31\/32, 31\/32, 131\/64, 131\/64}, {1, 1, 1, 2, 
        2}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(kersol32 = FindKernelSolution[ExpGame3, pay32] // Union\)], "Input"],

Cell[BoxData[
    \({{3\/4, 3\/4, 3\/4, 19\/8, 19\/8}, {29\/32, 29\/32, 29\/32, 137\/64, 
        137\/64}, {31\/32, 31\/32, 31\/32, 131\/64, 131\/64}, {1, 1, 1, 2, 
        2}}\)], "Output"]
}, Open  ]],

Cell["\<\
Finally,we verify that the computed solutions are kernel elements \
by calling again\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(KernelImputationListQ[ExpGame3, kersol32]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True}\)], "Output"]
}, Open  ]],

Cell["\<\
Now let us check whether the payoffs are balancing the excesses. We \
can check this by invoking the function \
\>", "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(AllMaxSurpluses[ExpGame3, kerline, 
      DisplayMatrixForm \[Rule] \ True]\)], "Input"],

Cell[BoxData[
    TagBox[
      RowBox[{"(", "\[NoBreak]", GridBox[{
            {
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(sij[{1, 2}]\)},
                      {\(sij[{2, 1}]\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(sij[{1, 3}]\)},
                      {\(sij[{3, 1}]\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(sij[{1, 4}]\)},
                      {\(sij[{4, 1}]\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(sij[{1, 5}]\)},
                      {\(sij[{5, 1}]\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(sij[{2, 3}]\)},
                      {\(sij[{3, 2}]\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(sij[{2, 4}]\)},
                      {\(sij[{4, 2}]\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(sij[{2, 5}]\)},
                      {\(sij[{5, 2}]\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(sij[{3, 4}]\)},
                      {\(sij[{4, 3}]\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(sij[{3, 5}]\)},
                      {\(sij[{5, 3}]\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(sij[{4, 5}]\)},
                      {\(sij[{5, 4}]\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}]},
            {
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(13\/20\)},
                      {\(13\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(13\/20\)},
                      {\(13\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(9\/10\)},
                      {\(13\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(9\/10\)},
                      {\(13\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(13\/20\)},
                      {\(13\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(9\/10\)},
                      {\(13\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(9\/10\)},
                      {\(13\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(9\/10\)},
                      {\(13\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(9\/10\)},
                      {\(13\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(13\/20\)},
                      {\(13\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}]},
            {
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/5\)},
                      {\(3\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/5\)},
                      {\(3\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/5\)},
                      {\(3\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/5\)},
                      {\(3\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/5\)},
                      {\(3\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/5\)},
                      {\(3\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/5\)},
                      {\(3\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/5\)},
                      {\(3\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/5\)},
                      {\(3\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/5\)},
                      {\(3\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}]},
            {
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(11\/20\)},
                      {\(11\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(11\/20\)},
                      {\(11\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(11\/20\)},
                      {\(11\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(11\/20\)},
                      {\(11\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(11\/20\)},
                      {\(11\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(11\/20\)},
                      {\(11\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(11\/20\)},
                      {\(11\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(11\/20\)},
                      {\(11\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(11\/20\)},
                      {\(11\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(11\/20\)},
                      {\(11\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}]},
            {
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/2\)},
                      {\(1\/2\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/2\)},
                      {\(1\/2\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/2\)},
                      {\(1\/2\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/2\)},
                      {\(1\/2\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/2\)},
                      {\(1\/2\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/2\)},
                      {\(1\/2\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/2\)},
                      {\(1\/2\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/2\)},
                      {\(1\/2\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/2\)},
                      {\(1\/2\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/2\)},
                      {\(1\/2\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}]},
            {
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(9\/20\)},
                      {\(9\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(9\/20\)},
                      {\(9\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(9\/20\)},
                      {\(9\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(9\/20\)},
                      {\(9\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(9\/20\)},
                      {\(9\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(9\/20\)},
                      {\(9\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(9\/20\)},
                      {\(9\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(9\/20\)},
                      {\(9\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(9\/20\)},
                      {\(9\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(9\/20\)},
                      {\(9\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}]},
            {
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(2\/5\)},
                      {\(2\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(2\/5\)},
                      {\(2\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(2\/5\)},
                      {\(2\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(2\/5\)},
                      {\(2\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(2\/5\)},
                      {\(2\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(2\/5\)},
                      {\(2\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(2\/5\)},
                      {\(2\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(2\/5\)},
                      {\(2\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(2\/5\)},
                      {\(2\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(2\/5\)},
                      {\(2\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}]},
            {
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(7\/20\)},
                      {\(7\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(7\/20\)},
                      {\(7\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(7\/20\)},
                      {\(7\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(7\/20\)},
                      {\(7\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(7\/20\)},
                      {\(7\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(7\/20\)},
                      {\(7\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(7\/20\)},
                      {\(7\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(7\/20\)},
                      {\(7\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(7\/20\)},
                      {\(7\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(7\/20\)},
                      {\(7\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}]},
            {
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/10\)},
                      {\(3\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/10\)},
                      {\(3\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/10\)},
                      {\(3\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/10\)},
                      {\(3\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/10\)},
                      {\(3\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/10\)},
                      {\(3\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/10\)},
                      {\(3\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/10\)},
                      {\(3\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/10\)},
                      {\(3\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/10\)},
                      {\(3\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}]},
            {
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/4\)},
                      {\(1\/4\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/4\)},
                      {\(1\/4\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/4\)},
                      {\(1\/4\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/4\)},
                      {\(1\/4\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/4\)},
                      {\(1\/4\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/4\)},
                      {\(1\/4\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/4\)},
                      {\(1\/4\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/4\)},
                      {\(1\/4\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/4\)},
                      {\(1\/4\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/4\)},
                      {\(1\/4\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}]},
            {
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/5\)},
                      {\(1\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/5\)},
                      {\(1\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/5\)},
                      {\(1\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/5\)},
                      {\(1\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/5\)},
                      {\(1\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/5\)},
                      {\(1\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/5\)},
                      {\(1\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/5\)},
                      {\(1\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/5\)},
                      {\(1\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/5\)},
                      {\(1\/5\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}]},
            {
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/20\)},
                      {\(3\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/20\)},
                      {\(3\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/20\)},
                      {\(3\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/20\)},
                      {\(3\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/20\)},
                      {\(3\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/20\)},
                      {\(3\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/20\)},
                      {\(3\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/20\)},
                      {\(3\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/20\)},
                      {\(3\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(3\/20\)},
                      {\(3\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}]},
            {
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/10\)},
                      {\(1\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/10\)},
                      {\(1\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/10\)},
                      {\(1\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/10\)},
                      {\(1\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/10\)},
                      {\(1\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/10\)},
                      {\(1\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/10\)},
                      {\(1\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/10\)},
                      {\(1\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/10\)},
                      {\(1\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/10\)},
                      {\(1\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}]},
            {
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/20\)},
                      {\(1\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/20\)},
                      {\(1\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/20\)},
                      {\(1\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/20\)},
                      {\(1\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/20\)},
                      {\(1\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/20\)},
                      {\(1\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/20\)},
                      {\(1\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/20\)},
                      {\(1\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/20\)},
                      {\(1\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(1\/20\)},
                      {\(1\/20\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}]},
            {
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {"0"},
                      {"0"}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {"0"},
                      {"0"}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {"0"},
                      {"0"}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {"0"},
                      {"0"}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {"0"},
                      {"0"}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {"0"},
                      {"0"}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {"0"},
                      {"0"}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {"0"},
                      {"0"}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {"0"},
                      {"0"}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {"0"},
                      {"0"}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}]},
            {
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(-\(1\/20\)\)},
                      {\(-\(1\/20\)\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(-\(1\/20\)\)},
                      {\(-\(1\/20\)\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(-\(1\/20\)\)},
                      {\(3\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(-\(1\/20\)\)},
                      {\(3\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(-\(1\/20\)\)},
                      {\(-\(1\/20\)\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(-\(1\/20\)\)},
                      {\(3\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(-\(1\/20\)\)},
                      {\(3\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(-\(1\/20\)\)},
                      {\(3\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(-\(1\/20\)\)},
                      {\(3\/10\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}], 
              RowBox[{"(", "\[NoBreak]", 
                TagBox[GridBox[{
                      {\(-\(1\/20\)\)},
                      {\(-\(1\/20\)\)}
                      },
                    RowSpacings->1,
                    ColumnAlignments->{Left}],
                  Column], "\[NoBreak]", ")"}]}
            },
          RowSpacings->1,
          ColumnSpacings->1,
          ColumnAlignments->{Left}], "\[NoBreak]", ")"}],
      Function[ BoxForm`e$, 
        MatrixForm[ BoxForm`e$]]]], "Output"]
}, Open  ]],

Cell["\<\
If one is just interested in a special pair of players, in our \
example for the pair {3,4}, then one should call\
\>", "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(MaxSurplus[ExpGame3, 3, 4, kerline]\)], "Input"],

Cell[BoxData[
    \({9\/10, 3\/5, 11\/20, 1\/2, 9\/20, 2\/5, 7\/20, 3\/10, 1\/4, 1\/5, 
      3\/20, 1\/10, 1\/20, 0, \(-\(1\/20\)\)}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(MaxSurplus[ExpGame3, 4, 3, kerline]\)], "Input"],

Cell[BoxData[
    \({13\/20, 3\/5, 11\/20, 1\/2, 9\/20, 2\/5, 7\/20, 3\/10, 1\/4, 1\/5, 
      3\/20, 1\/10, 1\/20, 0, 3\/10}\)], "Output"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[ButtonBox["4.4. Unanimity Coordinates",
  ButtonData:>"4.4.",
  ButtonStyle->"Hyperlink"]], "Subsubsection",
  CellTags->"Unanimity Coordinates"],

Cell[TextData[{
  "The package ",
  StyleBox["TuGames",
    FontSlant->"Italic"],
  " provides also a small set of functions related to unanimity coordinates. \
We want to demonstrate the use of these functions for an example given by ",
  ButtonBox["Rafels and Ybern",
    ButtonData:>"C. Rafels",
    ButtonStyle->"Hyperlink"],
  " (1995) on page 120. The example is a 5-player  game with the following \
values:"
}], "Text",
  TextJustification->1],

Cell[BoxData[
    \(\(worth = {0, 0, 0, 0, 0, 0, 50.2, 49.7, 47.1, 55.8, 53.3, 101.3, 
          137.6, 130.8, 131.2, 188.4, 149.7, 229.5, 259.6, 239.3, 278, 428.2, 
          289.1, 308.8, 428.2, 432.8, 471.9, 555.7, 756.5, 772.5, 712.8, 
          1209.2};\)\)], "Input"],

Cell["The game is defined by ", "Text"],

Cell[BoxData[
    \(\(ExpGame9 := \((DefineGame[T3, worth, 
            RationalApproximate \[Rule] \ False])\);\)\)], "Input"],

Cell[TextData[{
  "Among other things, we can evaluate all unanimity coordinates of the game \
\"",
  StyleBox["ExpGame9",
    FontSlant->"Italic"],
  "\" with the command"
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(UnanimityCoordinates[ExpGame9]\)], "Input"],

Cell[BoxData[
    \({0, 0, 0, 0, 0, 0, 50.2`, 49.7`, 47.1`, 55.8`, 53.3`, 101.3`, 137.6`, 
      130.8`, 131.2`, 188.4`, \(-3.5`\), 30.899999999999977`, 
      16.00000000000003`, 11.699999999999989`, 41.30000000000001`, 
      136.89999999999998`, 3.7000000000000455`, \(-13.299999999999955`\), 
      0.9000000000000341`, \(-17.599999999999966`\), \
\(-3.3000000000000114`\), 
      37.40000000000009`, \(-8.600000000000023`\), \(-2.7999999999999545`\), \
\(-3.5`\), 37.600000000000136`}\)], "Output"]
}, Open  ]],

Cell["\<\
Furthermore, we can extract the minimum unanimity coordinates of \
each coalition size by\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(MinUnanimityCoordinates[ExpGame9]\)], "Input"],

Cell[BoxData[
    \({0, 47.1`, \(-17.599999999999966`\), \(-8.600000000000023`\), 
      37.600000000000136`}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "In addition to these functions we can also verify  the convexity property \
by relying on unanimity coordinates. The following sufficient condition of \
convexity worked out in ",
  ButtonBox["Rafels and Ybern",
    ButtonData:>"C. Rafels",
    ButtonStyle->"Hyperlink"],
  " (1995) in Corollary 2.1 is implemented in the function ",
  StyleBox["EvalSumMinCoord[]. ",
    FontWeight->"Bold"],
  "First recall that the unanimity coordinates are defined by"
}], "Text",
  TextJustification->1,
  CellTags->"(1995)"],

Cell[TextData[{
  Cell[BoxData[
      \(TraditionalForm\`\(\(\[Lambda]\_R := \ \[Sum]\_\(S\  \[Subset] R\)\ \
\((\(-1\))\)\^\(r - s\)\ \(v(S)\)\)\(,\)\)\)]],
  " for all ",
  StyleBox["R \[SubsetEqual] N,S,R\[NotEqual]",
    FontSlant->"Italic"],
  "0."
}], "Text",
  TextAlignment->Center,
  CellTags->"(1995)"],

Cell[TextData[{
  "A sufficient condition of convexity of a game ",
  StyleBox["v ",
    FontSlant->"Italic"],
  "in terms of unanimity coordinates is given by"
}], "Text",
  CellTags->"(1995)"],

Cell[TextData[{
  "if for all ",
  StyleBox["k",
    FontSlant->"Italic"],
  "=",
  StyleBox["0,...,n-2",
    FontSlant->"Italic"],
  " ",
  Cell[BoxData[
      \(TraditionalForm\`\[Sum]\+\(j = 0\)\%k\( k!\)\/\(\(j!\)\ \(\((k - \
j)\)!\)\)\ \[Alpha]\_j\  \[GreaterEqual] \ 0\)]],
  ", then the game is convex, where ",
  Cell[BoxData[
      \(TraditionalForm\`\[Alpha]\_k := \ 
        min\_\(\(\(|\)\(S\)\(|\)\)\  = \ k + 2\)\ \[Lambda]\_S\)]],
  "."
}], "Text",
  TextAlignment->Center,
  CellTags->"(1995)"],

Cell[CellGroupData[{

Cell[BoxData[
    \(EvalSumMinCoord[ExpGame9]\)], "Input"],

Cell[BoxData[
    \({47.1`, 29.500000000000036`, 3.300000000000047`, 
      6.100000000000172`}\)], "Output"]
}, Open  ]],

Cell["\<\
All evaluated sums are strictly positive, hence we conclude that \
the game is convex. A fortiori, due its strictly positive values the game is \
even strictly convex. The functions presented next verify just whether the \
sufficient condition of convexity in terms of unanimity coordinates is \
satisfied. \
\>", "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(ConvexUnanConditionQ[ExpGame9]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(StrictlyConvexUnanConditionQ[ExpGame9]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ConvexQ[ExpGame9]\)], "Input"],

Cell[BoxData[
    \(True\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "In cases that all unanimity coordinates are nonnegative (i.e. the game is \
convex) or that the minimum size of coalition with negative unanimity \
coordinates is greater than ",
  StyleBox["N-2",
    FontSlant->"Italic"],
  " the return value of the function ",
  StyleBox["EvalSumMinCoord[]",
    FontWeight->"Bold"],
  " is the vector of minimum values of unanimity coordinates of each \
coalition size. In the former case we obtain, for instance,"
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(MinUnanimityCoordinates[ExpGame1]\)], "Input"],

Cell[BoxData[
    \({0, 0, 0, 10}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(EvalSumMinCoord[ExpGame1]\)], "Input"],

Cell[BoxData[
    \("No negative unanimity coordinates found."\)], "Print"],

Cell[BoxData[
    \("Game is convex."\)], "Print"],

Cell[BoxData[
    \("The minimum unanimity coordinates are:"\)], "Print"],

Cell[BoxData[
    \({0, 0, 0, 10}\)], "Output"]
}, Open  ]],

Cell["and for the latter", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(MinUnanimityCoordinates[ExpGame8]\)], "Input"],

Cell[BoxData[
    \({267\/10, 3199\/15, \(-\(5597\/30\)\), 2398\/15}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(EvalSumMinCoord[ExpGame8]\)], "Input"],

Cell[BoxData[
    InterpretationBox[\("Minimum coalition size with negative unanimity \
coordinate is equal to "\[InvisibleSpace]3\),
      SequenceForm[ 
      "Minimum coalition size with negative unanimity coordinate is equal to \
", 3],
      Editable->False]], "Print"],

Cell[BoxData[
    InterpretationBox[\("Coalition size of T-2 is "\[InvisibleSpace]2\),
      SequenceForm[ "Coalition size of T-2 is ", 2],
      Editable->False]], "Print"],

Cell[BoxData[
    InterpretationBox[\(3\[InvisibleSpace]" greater than \
"\[InvisibleSpace]2\),
      SequenceForm[ 3, " greater than ", 2],
      Editable->False]], "Print"],

Cell[BoxData[
    \("No sum of minimum unanimity coordinates can be evaluated."\)], "Print"],

Cell[BoxData[
    \("The minimum unanimity coordinates are:"\)], "Print"],

Cell[BoxData[
    \({267\/10, 3199\/15, \(-\(5597\/30\)\), 2398\/15}\)], "Output"]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[ButtonBox["5. Computing the Vertices of the Core",
  ButtonData:>"Vertices",
  ButtonStyle->"Hyperlink"]], "Section",
  CellTags->"5"],

Cell[TextData[{
  "The next functions describe some interfaces that call the ",
  StyleBox["cddmathlink",
    FontSlant->"Italic"],
  " library via ",
  StyleBox["MathLink",
    FontSlant->"Italic"],
  " to speed up calculation. One can also use the command ",
  StyleBox["CoreVertices[]",
    FontWeight->"Bold"],
  " to obtain the same result as with the command ",
  StyleBox["CddVerticesCore[]",
    FontWeight->"Bold"],
  ". But this command is based on ",
  StyleBox["Mathematica-",
    FontSlant->"Italic"],
  "Code and it is very slow. That means that on old computers like a Pentium \
II system your game should not be greater than 6 player if you are interest \
to get the result in finite time.  The examples were performed on a Pentium \
II with 266 MHz under LINUX x86 and ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  " Version 4.2. On a Xeon Processor with 1.8 GHZ  the same example was \
computed in 5 seconds."
}], "Text",
  TextJustification->1],

Cell["\<\
If the package VertexEnum is properly installed on your OS, you can \
calculate the vertices of the core by using the command\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \({time, {vert1, nonvert1}} = 
      AbsoluteTiming[VerticesCore[ExpGame1]]\)], "Input"],

Cell[BoxData[
    \({6.392138`7.257191135895704\ Second, {{{0, 50, 40, 0}, {40, 50, 0, 
            0}, {0, 0, 90, 0}, {90, 0, 0, 0}, {0, 0, 40, 50}, {40, 0, 0, 
            50}, {0, 40, 0, 50}, {0, 50, 0, 40}}, {{17, 8, 11, 19, 5, 1, 
            4}, {17, 14, 8, 19, 7, 3, 4}, {16, 11, 13, 19, 5, 6, 8, 9, 2, 1, 
            4}, {18, 14, 13, 19, 6, 7, 8, 12, 3, 2, 4}, {15, 6, 9, 19, 5, 2, 
            1}, {15, 12, 7, 19, 6, 3, 2}, {15, 10, 7, 19, 5, 3, 1}, {17, 10, 
            7, 19, 5, 3, 1}}}}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "Note, that the ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  " Version 3.0 is even faster under the command ",
  StyleBox["CoreVertices[]",
    FontWeight->"Bold"],
  ", you get all vertices on the same platform in 52 seconds instead of 107 \
seconds."
}], "Text"],

Cell[TextData[{
  "By calling the ",
  StyleBox["cddmathlink",
    FontSlant->"Italic"],
  " library, we obtain the same result in 0.02 seconds."
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \({time, vert2} = AbsoluteTiming[CddVerticesCore[ExpGame1]]\)], "Input"],

Cell[BoxData[
    \({0.063856`5.256746703935919\ Second, {{0, 0, 40, 50}, {0, 0, 90, 
          0}, {0, 40, 0, 50}, {0, 50, 0, 40}, {0, 50, 40, 0}, {40, 0, 0, 
          50}, {40, 50, 0, 0}, {90, 0, 0, 0}}}\)], "Output"]
}, Open  ]],

Cell["\<\
If you are interested in rational results under Windows, then \
call\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \({time, vert3} = AbsoluteTiming[CddGmpVerticesCore[ExpGame1]]\)], "Input"],

Cell[BoxData[
    \({0.007468`4.324749302773012\ Second, {{0, 0, 40, 50}, {0, 0, 90, 
          0}, {0, 40, 0, 50}, {0, 50, 0, 40}, {0, 50, 40, 0}, {40, 0, 0, 
          50}, {40, 50, 0, 0}, {90, 0, 0, 0}}}\)], "Output"]
}, Open  ]],

Cell["\<\
Now let us check the result on core elements. This can be done by \
calling\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(CoreElementsQ[ExpGame1, vert1]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True, True, True, True, True}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(BelongToCoreQ[ExpGame1, vert1]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True, True, True, True, True}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(CoreElementsQ[ExpGame1, vert2]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True, True, True, True, True}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "This is the expected result since the game \"",
  StyleBox["ExpGame1\"",
    FontSlant->"Italic"],
  " is convex."
}], "Text"],

Cell["\<\
Since we have less than 24 vertices let us verify whether the game \
is strictly convex.\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(ConvexStrQ[ExpGame1]\)], "Input"],

Cell[BoxData[
    \(False\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "The game \"",
  StyleBox["ExpGame1\"",
    FontSlant->"Italic"],
  " is convex let us also compute the marginal values.  "
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(marv = MargValue[ExpGame1]\)], "Input"],

Cell[BoxData[
    \({{0, 0, 40, 50}, {0, 0, 90, 0}, {0, 40, 0, 50}, {0, 50, 0, 40}, {0, 0, 
        90, 0}, {0, 50, 40, 0}, {0, 0, 40, 50}, {0, 0, 90, 0}, {40, 0, 0, 
        50}, {90, 0, 0, 0}, {0, 0, 90, 0}, {90, 0, 0, 0}, {0, 40, 0, 50}, {0, 
        50, 0, 40}, {40, 0, 0, 50}, {90, 0, 0, 0}, {40, 50, 0, 0}, {90, 0, 0, 
        0}, {0, 0, 90, 0}, {0, 50, 40, 0}, {0, 0, 90, 0}, {90, 0, 0, 0}, {40, 
        50, 0, 0}, {90, 0, 0, 0}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Length[marv]\)], "Input"],

Cell[BoxData[
    \(24\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "This is the expected result for convex games that the number of marginal \
worth vectors is equal to ",
  StyleBox["n",
    FontSlant->"Italic"],
  "!. To demonstrate that the marginal worth vectors coincide with the \
vertices of the core, we remove all duplicated vectors by"
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(unmarv = Union[marv]\)], "Input"],

Cell[BoxData[
    \({{0, 0, 40, 50}, {0, 0, 90, 0}, {0, 40, 0, 50}, {0, 50, 0, 40}, {0, 50, 
        40, 0}, {40, 0, 0, 50}, {40, 50, 0, 0}, {90, 0, 0, 0}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Length[Union[marv]]\)], "Input"],

Cell[BoxData[
    \(8\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(CoreElementsQ[ExpGame1, unmarv]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True, True, True, True, True}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(BelongToCoreQ[ExpGame1, unmarv]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True, True, True, True, True}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(to1 = Union[marv, vert1]\)], "Input"],

Cell[BoxData[
    \({{0, 0, 40, 50}, {0, 0, 90, 0}, {0, 40, 0, 50}, {0, 50, 0, 40}, {0, 50, 
        40, 0}, {40, 0, 0, 50}, {40, 50, 0, 0}, {90, 0, 0, 0}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Length[to1]\)], "Input"],

Cell[BoxData[
    \(8\)], "Output"]
}, Open  ]],

Cell["\<\
Hence, we get the expected result, that the marginal worth vectors \
coincide with core vertices.  \
\>", "Text"],

Cell["\<\
 In particular, you should handle very carefully floating point \
results by checking on core elements. We make this point more clear by the \
following example\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(ecken2 = CddVerticesCore[ExpGame2] // Rationalize\)], "Input"],

Cell[BoxData[
    \({{0, 0, 40, 50}, {0, 0, 90, 0}, {0, 40, 0, 50}, {0, 50, 0, 40}, {0, 50, 
        40, 0}, {40, 0, 0, 50}, {40, 50, 0, 0}, {90, 0, 0, 0}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(BelongToCoreQ[ExpGame2, ecken2]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True, True, True, True, True}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ecken3 = CddVerticesCore[ExpGame3] // Rationalize\)], "Input"],

Cell[BoxData[
    \({{0, 0, 0, 4, 4}, {0, 2, 2, 2, 2}, {0, 4, 4, 0, 4}, {0, 4, 4, 4, 
        0}, {1, 1, 1, 2, 2}, {2, 0, 2, 2, 2}, {2, 2, 0, 2, 2}, {2, 2, 2, 0, 
        4}, {2, 2, 2, 4, 0}, {4, 0, 4, 0, 4}, {4, 0, 4, 4, 0}, {4, 4, 0, 0, 
        4}, {4, 4, 0, 4, 0}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(BelongToCoreQ[ExpGame3, ecken3]\)], "Input"],

Cell[BoxData[
    \({False, False, False, False, True, False, False, False, False, False, 
      False, False, False}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ecken8fl = CddGmpVerticesCore[ExpGame8]\)], "Input"],

Cell[BoxData[
    \({{267\/10, 7199\/30, 800\/3, 800\/3}, {267\/10, 800\/3, 7199\/30, 
        800\/3}, {267\/10, 800\/3, 800\/3, 7199\/30}, {7199\/30, 267\/10, 
        800\/3, 800\/3}, {7199\/30, 800\/3, 267\/10, 800\/3}, {7199\/30, 
        800\/3, 800\/3, 267\/10}, {800\/3, 267\/10, 7199\/30, 
        800\/3}, {800\/3, 267\/10, 800\/3, 7199\/30}, {800\/3, 7199\/30, 
        267\/10, 800\/3}, {800\/3, 7199\/30, 800\/3, 267\/10}, {800\/3, 
        800\/3, 267\/10, 7199\/30}, {800\/3, 800\/3, 7199\/30, 
        267\/10}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(ecken8 = CddVerticesCore[ExpGame8] // Rationalize\)], "Input"],

Cell[BoxData[
    \({{267\/10, 7199\/30, 800\/3, 800\/3}, {267\/10, 800\/3, 7199\/30, 
        800\/3}, {267\/10, 800\/3, 800\/3, 7199\/30}, {7199\/30, 267\/10, 
        800\/3, 800\/3}, {7199\/30, 800\/3, 267\/10, 800\/3}, {7199\/30, 
        800\/3, 800\/3, 267\/10}, {800\/3, 267\/10, 7199\/30, 
        800\/3}, {800\/3, 267\/10, 800\/3, 7199\/30}, {800\/3, 7199\/30, 
        267\/10, 800\/3}, {800\/3, 7199\/30, 800\/3, 267\/10}, {800\/3, 
        800\/3, 267\/10, 7199\/30}, {800\/3, 800\/3, 7199\/30, 
        267\/10}}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "These are exactly the core vertices we have already computed in the ",
  ButtonBox["Section 4.2",
    ButtonData:>"k-convexity",
    ButtonStyle->"Hyperlink"],
  " . But if we check this result with the usual function ",
  StyleBox["CoreElementsQ[]",
    FontWeight->"Bold",
    FontVariations->{"CompatibilityType"->0}],
  StyleBox[" we obtain a wrong result by using floating point numbers. ",
    FontVariations->{"CompatibilityType"->0}]
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(CoreElementsQ[ExpGame8, ecken8]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True, True, True, True, True, True, True, True, 
      True}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(CoreElementsQ[ExpGame8, ecken8fl]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True, True, True, True, True, True, True, True, 
      True}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "The correct result is delivered by the function ",
  StyleBox["BelongToCoreQ[]",
    FontWeight->"Bold"]
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(BelongToCoreQ[ExpGame8, ecken8]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True, True, True, True, True, True, True, True, 
      True}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(CoreElementsQ[ExpGame8, ecken8fl]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True, True, True, True, True, True, True, True, 
      True}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "To overcome problems associated with floating points result you should \
convert these results to rational numbers by using the ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  " built-in function ",
  StyleBox["Rationalize[]",
    FontWeight->"Bold"],
  "."
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(ravert8 = Rationalize[ecken8]\)], "Input"],

Cell[BoxData[
    \({{267\/10, 7199\/30, 800\/3, 800\/3}, {267\/10, 800\/3, 7199\/30, 
        800\/3}, {267\/10, 800\/3, 800\/3, 7199\/30}, {7199\/30, 267\/10, 
        800\/3, 800\/3}, {7199\/30, 800\/3, 267\/10, 800\/3}, {7199\/30, 
        800\/3, 800\/3, 267\/10}, {800\/3, 267\/10, 7199\/30, 
        800\/3}, {800\/3, 267\/10, 800\/3, 7199\/30}, {800\/3, 7199\/30, 
        267\/10, 800\/3}, {800\/3, 7199\/30, 800\/3, 267\/10}, {800\/3, 
        800\/3, 267\/10, 7199\/30}, {800\/3, 800\/3, 7199\/30, 
        267\/10}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(Length[ravert8]\)], "Input"],

Cell[BoxData[
    \(12\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(CoreElementsQ[ExpGame8, ravert8]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True, True, True, True, True, True, True, True, 
      True}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(BelongToCoreQ[ExpGame8, ravert8]\)], "Input"],

Cell[BoxData[
    \({True, True, True, True, True, True, True, True, True, True, True, 
      True}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "This is exactly the result we have already obtained in the ",
  ButtonBox["Section 4.2",
    ButtonData:>"k-convexity",
    ButtonStyle->"Hyperlink"],
  "."
}], "Text"],

Cell["\<\
You can also calculate the vertices of the imputation set and of \
the reasonable set by using\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Rationalize[CddVerticesImputationSet[ExpGame1]]\)], "Input"],

Cell[BoxData[
    \({{0, 0, 0, 90}, {0, 0, 90, 0}, {0, 90, 0, 0}, {90, 0, 0, 
        0}}\)], "Output"]
}, Open  ]],

Cell["and", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(Rationalize[CddVerticesReasonableSet[ExpGame1]]\)], "Input"],

Cell[BoxData[
    \({{\(-100\), 50, 90, 50}, {90, \(-140\), 90, 50}, {90, 50, \(-100\), 
        50}, {90, 50, 90, \(-140\)}}\)], "Output"]
}, Open  ]],

Cell[BoxData[
    \( (*\)], "Input"]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[ButtonBox["6. Concluding Remarks and Limitations",
  ButtonData:>"6.",
  ButtonStyle->"Hyperlink"]], "Section",
  CellTags->"Concluding Remarks and Limitations"],

Cell[TextData[{
  "In this section we want to discuss some limitations that appear in the \
context of the package ",
  StyleBox["TuGames",
    FontSlant->"Italic"],
  ".  Note first that it is not possible to assign arbitrary names to the \
players. The players must be named with natural numbers. Naming players in \
the fashion as we did it in the example below does not work or produces wrong \
results in bad cases. "
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(T10 = {p1, p2, p3}\)], "Input"],

Cell[BoxData[
    \({p1, p2, p3}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(T11 = {1, 2, 3}\)], "Input"],

Cell[BoxData[
    \({1, 2, 3}\)], "Output"]
}, Open  ]],

Cell[BoxData[
    \(\(vec10 = Table[0, {k, 2^Length[T10]}];\)\)], "Input"],

Cell[BoxData[
    \(\(ExpGame10 := \((DefineGame[T10, vec10]; v[{p2}] = \(v[{p3}] = 45\); \ 
          v[{p1, p2}] = 40; v[{p1, p3}] = 40; v[T] = 90;)\);\)\)], "Input"],

Cell["\<\
If we want to evaluate the Shapley value of the game with the \
chosen representation of the player set this will produce an error. \
\>", \
"Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(NewShapley[ExpGame10]\)], "Input"],

Cell[BoxData[
    \(Part::"partw" \(\(:\)\(\ \)\) 
      "Part \!\(1\) of \!\({}\) does not exist."\)], "Message"],

Cell[BoxData[
    \(Take::"seqs" \(\(:\)\(\ \)\) 
      "Sequence specification (+n, -n, {+n}, {-n}, {m, n}, or {m, n, s}) \
expected at position \!\(2\) in \!\(Take[\(\(\(\({p1, p2, p3}\)\), \(\(\(\(-1\
\)\) + \(\(\(\({}\)\) \[LeftDoubleBracket] 1 \
\[RightDoubleBracket]\)\)\)\)\)\)]\)."\)], "Message"],

Cell[BoxData[
    \(Part::"partw" \(\(:\)\(\ \)\) 
      "Part \!\(2\) of \!\({}\) does not exist."\)], "Message"],

Cell[BoxData[
    \(Take::"seqs" \(\(:\)\(\ \)\) 
      "Sequence specification (+n, -n, {+n}, {-n}, {m, n}, or {m, n, s}) \
expected at position \!\(2\) in \!\(Take[\(\(\(\({p1, p2, p3}\)\), \(\(\(\(-1\
\)\) + \(\(\(\({}\)\) \[LeftDoubleBracket] 2 \
\[RightDoubleBracket]\)\)\)\)\)\)]\)."\)], "Message"],

Cell[BoxData[
    \(Part::"partw" \(\(:\)\(\ \)\) 
      "Part \!\(3\) of \!\({}\) does not exist."\)], "Message"],

Cell[BoxData[
    \(General::"stop" \(\(:\)\(\ \)\) 
      "Further output of \!\(Part :: \"partw\"\) will be suppressed during \
this calculation."\)], "Message"],

Cell[BoxData[
    \(Take::"seqs" \(\(:\)\(\ \)\) 
      "Sequence specification (+n, -n, {+n}, {-n}, {m, n}, or {m, n, s}) \
expected at position \!\(2\) in \!\(Take[\(\(\(\({p1, p2, p3}\)\), \(\(\(\(-1\
\)\) + \(\(\(\({}\)\) \[LeftDoubleBracket] 3 \
\[RightDoubleBracket]\)\)\)\)\)\)]\)."\)], "Message"],

Cell[BoxData[
    \(General::"stop" \(\(:\)\(\ \)\) 
      "Further output of \!\(Take :: \"seqs\"\) will be suppressed during \
this calculation."\)], "Message"],

Cell[BoxData[
    \({1\/6\ \((v[{p1, {p1, p2, 
                  p3}, \(-1\) + \
{}\[LeftDoubleBracket]1\[RightDoubleBracket]}] + 
            v[{p1, {p1, p3, 
                  p2}, \(-1\) + \
{}\[LeftDoubleBracket]1\[RightDoubleBracket]}] + 
            v[{p1, {p2, p1, 
                  p3}, \(-1\) + \
{}\[LeftDoubleBracket]1\[RightDoubleBracket]}] + 
            v[{p1, {p2, p3, 
                  p1}, \(-1\) + \
{}\[LeftDoubleBracket]1\[RightDoubleBracket]}] + 
            v[{p1, {p3, p1, 
                  p2}, \(-1\) + \
{}\[LeftDoubleBracket]1\[RightDoubleBracket]}] + 
            v[{p1, {p3, p2, 
                  p1}, \(-1\) + \
{}\[LeftDoubleBracket]1\[RightDoubleBracket]}] - 
            v[Take[{p1, p2, 
                  p3}, \(-1\) + \
{}\[LeftDoubleBracket]1\[RightDoubleBracket]]] - 
            v[Take[{p1, p3, 
                  p2}, \(-1\) + \
{}\[LeftDoubleBracket]1\[RightDoubleBracket]]] - 
            v[Take[{p2, p1, 
                  p3}, \(-1\) + \
{}\[LeftDoubleBracket]1\[RightDoubleBracket]]] - 
            v[Take[{p2, p3, 
                  p1}, \(-1\) + \
{}\[LeftDoubleBracket]1\[RightDoubleBracket]]] - 
            v[Take[{p3, p1, 
                  p2}, \(-1\) + \
{}\[LeftDoubleBracket]1\[RightDoubleBracket]]] - 
            v[Take[{p3, p2, 
                  p1}, \(-1\) + \
{}\[LeftDoubleBracket]1\[RightDoubleBracket]]])\), 
      1\/6\ \((v[{p2, {p1, p2, 
                  p3}, \(-1\) + \
{}\[LeftDoubleBracket]2\[RightDoubleBracket]}] + 
            v[{p2, {p1, p3, 
                  p2}, \(-1\) + \
{}\[LeftDoubleBracket]2\[RightDoubleBracket]}] + 
            v[{p2, {p2, p1, 
                  p3}, \(-1\) + \
{}\[LeftDoubleBracket]2\[RightDoubleBracket]}] + 
            v[{p2, {p2, p3, 
                  p1}, \(-1\) + \
{}\[LeftDoubleBracket]2\[RightDoubleBracket]}] + 
            v[{p2, {p3, p1, 
                  p2}, \(-1\) + \
{}\[LeftDoubleBracket]2\[RightDoubleBracket]}] + 
            v[{p2, {p3, p2, 
                  p1}, \(-1\) + \
{}\[LeftDoubleBracket]2\[RightDoubleBracket]}] - 
            v[Take[{p1, p2, 
                  p3}, \(-1\) + \
{}\[LeftDoubleBracket]2\[RightDoubleBracket]]] - 
            v[Take[{p1, p3, 
                  p2}, \(-1\) + \
{}\[LeftDoubleBracket]2\[RightDoubleBracket]]] - 
            v[Take[{p2, p1, 
                  p3}, \(-1\) + \
{}\[LeftDoubleBracket]2\[RightDoubleBracket]]] - 
            v[Take[{p2, p3, 
                  p1}, \(-1\) + \
{}\[LeftDoubleBracket]2\[RightDoubleBracket]]] - 
            v[Take[{p3, p1, 
                  p2}, \(-1\) + \
{}\[LeftDoubleBracket]2\[RightDoubleBracket]]] - 
            v[Take[{p3, p2, 
                  
                  p1}, \(-1\) + \
{}\[LeftDoubleBracket]2\[RightDoubleBracket]]])\), 
      1\/6\ \((v[{p3, {p1, p2, 
                  p3}, \(-1\) + \
{}\[LeftDoubleBracket]3\[RightDoubleBracket]}] + 
            v[{p3, {p1, p3, 
                  p2}, \(-1\) + \
{}\[LeftDoubleBracket]3\[RightDoubleBracket]}] + 
            v[{p3, {p2, p1, 
                  p3}, \(-1\) + \
{}\[LeftDoubleBracket]3\[RightDoubleBracket]}] + 
            v[{p3, {p2, p3, 
                  p1}, \(-1\) + \
{}\[LeftDoubleBracket]3\[RightDoubleBracket]}] + 
            v[{p3, {p3, p1, 
                  p2}, \(-1\) + \
{}\[LeftDoubleBracket]3\[RightDoubleBracket]}] + 
            v[{p3, {p3, p2, 
                  p1}, \(-1\) + \
{}\[LeftDoubleBracket]3\[RightDoubleBracket]}] - 
            v[Take[{p1, p2, 
                  p3}, \(-1\) + \
{}\[LeftDoubleBracket]3\[RightDoubleBracket]]] - 
            v[Take[{p1, p3, 
                  p2}, \(-1\) + \
{}\[LeftDoubleBracket]3\[RightDoubleBracket]]] - 
            v[Take[{p2, p1, 
                  p3}, \(-1\) + \
{}\[LeftDoubleBracket]3\[RightDoubleBracket]]] - 
            v[Take[{p2, p3, 
                  p1}, \(-1\) + \
{}\[LeftDoubleBracket]3\[RightDoubleBracket]]] - 
            v[Take[{p3, p1, 
                  p2}, \(-1\) + \
{}\[LeftDoubleBracket]3\[RightDoubleBracket]]] - 
            v[Take[{p3, p2, 
                  p1}, \(-1\) + \
{}\[LeftDoubleBracket]3\[RightDoubleBracket]]])\)}\)], "Output"]
}, Open  ]],

Cell["\<\
Renaming the players with natural numbers helps to produce the \
correct results. \
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(T11 = MapThread[Set, {T10, {1, 2, 3}}]\)], "Input"],

Cell[BoxData[
    \({1, 2, 3}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(sh1 = NewShapley[ExpGame10]\)], "Input"],

Cell[BoxData[
    \({85\/3, 185\/6, 185\/6}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(sh2 = ShapleyValue[ExpGame10]\)], "Input"],

Cell[BoxData[
    \({85\/3, 185\/6, 185\/6}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "Now, let us briefly discuss limitations that appear in relation to the \
operator \":=\" or ",
  StyleBox["SetDelayed[]",
    FontWeight->"Bold"],
  " command. To find out what will happen if the game in which we are \
interested in is not evaluated, we define for this purpose a new game with \
similar coalitional values like the game \"",
  StyleBox["ExpGame10",
    FontSlant->"Italic"],
  "\". Recall from the discussion of ",
  ButtonBox["Section 3.1",
    ButtonData:>"How to define Games?",
    ButtonStyle->"Hyperlink"],
  " that the values of the characteristic function are evaluated at the \
moment when the ",
  StyleBox["game_name",
    FontSlant->"Italic"],
  " appears in the command. Just defining the game and invoking the return \
key is not enough to change the values of the characteristic function. "
}], "Text",
  TextJustification->1],

Cell[BoxData[
    \(\(ExpGame11 := \((DefineGame[{1, 2, 3}, vec10]; 
          v[{2}] = \(v[{3}] = 30\); \ v[{1, 2}] = 40; v[{1, 3}] = 40; 
          v[T] = 90;)\);\)\)], "Input"],

Cell["\<\
To check out which coalitional values are currently assigned can be \
done by \
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(?? v\)], "Input"],

Cell[BoxData[
    \("v[S] describes the worth of coalition S"\)], "Print",
  CellTags->"Info3267505555-1237298"],

Cell[BoxData[
    InterpretationBox[GridBox[{
          {GridBox[{
                {\(v[{}] = 0\)},
                {" "},
                {\(v[{1}] = 0\)},
                {" "},
                {\(v[{2}] = 45\)},
                {" "},
                {\(v[{3}] = 45\)},
                {" "},
                {\(v[{1, 2}] = 40\)},
                {" "},
                {\(v[{1, 3}] = 40\)},
                {" "},
                {\(v[{2, 3}] = 0\)},
                {" "},
                {\(v[{1, 2, 3}] = 90\)}
                },
              GridBaseline->{Baseline, {1, 1}},
              ColumnWidths->0.999,
              ColumnAlignments->{Left}]}
          },
        GridBaseline->{Baseline, {1, 1}},
        ColumnAlignments->{Left}],
      Definition[ "v"],
      Editable->False]], "Print",
  CellTags->"Info3267505555-1237298"]
}, Open  ]],

Cell[TextData[{
  "We notice that still the coalitional values for the game \"",
  StyleBox["ExpGame10",
    FontSlant->"Italic"],
  "\" are present. If you want to evaluate, for example, the Shapley value \
for the game \"",
  StyleBox["ExpGame11",
    FontSlant->"Italic"],
  "\" but you make a typesetting error by forgetting the number 11 in our \
example, you will obtain the result of the Shapley value for the game \"",
  StyleBox["ExpGame10",
    FontSlant->"Italic"],
  "\", since there is no change in the characteristic function. "
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(NewShapley[ExpGame]\)], "Input"],

Cell[BoxData[
    \({85\/3, 185\/6, 185\/6}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "There is at that moment a change in the values of the characteristic \
function when a new ",
  StyleBox["game_name",
    FontSlant->"Italic"],
  " appears in a command that requires as an input ",
  "argument",
  " a ",
  StyleBox["game_name",
    FontSlant->"Italic"],
  ". For our example, we get new values for the characteristic function when \
we call the command ",
  StyleBox["NewShapley[]",
    FontWeight->"Bold"],
  " with a ",
  StyleBox["game_name",
    FontSlant->"Italic"],
  " that has been previously defined elsewhere in the notebook.  "
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(sh3 = NewShapley[ExpGame11]\)], "Input"],

Cell[BoxData[
    \({100\/3, 85\/3, 85\/3}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(sh4 = ShapleyValue[ExpGame11]\)], "Input"],

Cell[BoxData[
    \({100\/3, 85\/3, 85\/3}\)], "Output"]
}, Open  ]],

Cell["\<\
Now let us again check out the values of the characteristic \
function by\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(?? v\)], "Input"],

Cell[BoxData[
    \("v[S] describes the worth of coalition S"\)], "Print",
  CellTags->"Info3267505563-5322123"],

Cell[BoxData[
    InterpretationBox[GridBox[{
          {GridBox[{
                {\(v[{}] = 0\)},
                {" "},
                {\(v[{1}] = 0\)},
                {" "},
                {\(v[{2}] = 30\)},
                {" "},
                {\(v[{3}] = 30\)},
                {" "},
                {\(v[{1, 2}] = 40\)},
                {" "},
                {\(v[{1, 3}] = 40\)},
                {" "},
                {\(v[{2, 3}] = 0\)},
                {" "},
                {\(v[{1, 2, 3}] = 90\)}
                },
              GridBaseline->{Baseline, {1, 1}},
              ColumnWidths->0.999,
              ColumnAlignments->{Left}]}
          },
        GridBaseline->{Baseline, {1, 1}},
        ColumnAlignments->{Left}],
      Definition[ "v"],
      Editable->False]], "Print",
  CellTags->"Info3267505563-5322123"]
}, Open  ]],

Cell["\<\
In cases that some unexpected or strange results have occurred \
after the calculation task has finished, you should check out by the above \
command which values are currently assigned to the characteristic function. \
\
\>", "Text",
  TextJustification->1],

Cell[TextData[{
  "We did also some effort to examine the data format of some functions to \
prevent that ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  " is performing lengthy unnecessary computations. By avoiding such \
computations you can immediately correct the wrong input ",
  "argument",
  " instead of waiting some time till ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  " has finished its evaluation. Here we present an small and simple example. \
First let us construct some payoffs."
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(sol11 = KernelCalculation[ExpGame11]\)], "Input"],

Cell[BoxData[
    InterpretationBox[\("Game is average-convex? "\[InvisibleSpace]False\),
      SequenceForm[ "Game is average-convex? ", False],
      Editable->False]], "Print"],

Cell[BoxData[
    \({{10, 40, 40}, 
      x[1] + x[2] + x[3], {\(-10\) - x[1] \[LessEqual] \(-20\), 
        20 - x[2] \[LessEqual] \(-20\), 
        30 - x[1] - x[2] \[LessEqual] \(-20\), 
        20 - x[3] \[LessEqual] \(-20\), 
        30 - x[1] - x[3] \[LessEqual] \(-20\), 
        x[1] + x[2] + x[3] \[LessEqual] 90}, {{10, 40, 40}, {30, 40, 
          20}}}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "The list ",
  StyleBox["sol11 ",
    FontSlant->"Italic"],
  "captures all output informations. If we do not care about the data format \
of ",
  StyleBox["sol11 ",
    FontSlant->"Italic"],
  "and try to hand over the payoff informations contained in it to the \
function ",
  StyleBox["BelongToCoreQ[]",
    FontWeight->"Bold"],
  ", this produces"
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(BelongToCoreQ[ExpGame11, sol11]\)], "Input"],

Cell[BoxData[
    InterpretationBox[\("Depth is equal to "\[InvisibleSpace]7\),
      SequenceForm[ "Depth is equal to ", 7],
      Editable->False]], "Print"],

Cell[BoxData[
    \("Usage: BelongToCoreQ[game,payoffs] and \
CoreElementsQ[game,payoffs]"\)], "Print"],

Cell[BoxData[
    \("Input format of the variable 'payoffs' is not correct."\)], "Print"],

Cell[BoxData[
    \("The variable 'payoffs' must be a list of payoff vectors or a single \
payoff vector."\)], "Print"]
}, Open  ]],

Cell[TextData[{
  "The payoff informations in the list ",
  StyleBox["sol11",
    FontSlant->"Italic"],
  " are contained at the first and fourth position. To have access on these \
information one must extract these informations from the list. To extract \
informations located at the first or fourth position can be done by"
}], "Text",
  TextJustification->1],

Cell[CellGroupData[{

Cell[BoxData[
    \(sol11[\([1]\)]\)], "Input"],

Cell[BoxData[
    \({10, 40, 40}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
    \(sol11[\([4]\)]\)], "Input"],

Cell[BoxData[
    \({{10, 40, 40}, {30, 40, 20}}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "These are the correct input formats to hand over to the function ",
  StyleBox["BelongToCoreQ[]",
    FontWeight->"Bold"],
  "."
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
    \(BelongToCoreQ[ExpGame11, sol11[\([4]\)]]\)], "Input"],

Cell[BoxData[
    \({True, False}\)], "Output"]
}, Open  ]],

Cell[TextData[{
  "At the end let us mention that ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  " offers you the possibility to enhance your typesetting productivity. As \
you have already realized some commands have rather lengthy names that makes \
it very inconvenient to type in every letter in the notebook. To overcome \
these inconveniences ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  " offers you a command and symbol-name completion. This can be achieved by \
invoking together the control key  (abbreviated by ",
  StyleBox["C^",
    FontWeight->"Bold"],
  ") and the key of the letter ",
  StyleBox["k",
    FontWeight->"Bold"],
  ". For instance to complete the command ",
  StyleBox["MinUnanimityCoordinates[]",
    FontWeight->"Bold"],
  " type the first four letters of the command and use the key combination ",
  StyleBox["C^k",
    FontWeight->"Bold"],
  " to complete the command. Hence"
}], "Text",
  TextJustification->1],

Cell[BoxData[
    \(\(\(MinU\)\(\ \)\)\)], "Input"],

Cell[TextData[{
  "Invoking ",
  StyleBox["C^k",
    FontWeight->"Bold"],
  " completes the command."
}], "Text"],

Cell[BoxData[
    \(\(\(MinUnanimityCoordinates\)\(\ \)\)\)], "Input"],

Cell[TextData[{
  "Now introducing the ",
  StyleBox["game_name",
    FontSlant->"Italic"],
  " in the command can also be performed by the",
  StyleBox[" C^k",
    FontWeight->"Bold"],
  " key combination. In this case you must again type in the first four \
letters of the ",
  StyleBox["game_name",
    FontSlant->"Italic"],
  " "
}], "Text",
  TextJustification->1],

Cell[BoxData[
    \(\(\(MinUnanimityCoordinates\)\([\)\(ExpG\)\(\ \)\)\)], "Input"],

Cell[TextData[{
  "then invoke ",
  StyleBox["C^k",
    FontWeight->"Bold"],
  " and you obtain"
}], "Text"],

Cell[BoxData[
    \(\(\(\ \)\(\(MinUnanimityCoordinates\)\([\)\(ExpGame1\)\(\ \)\)\)\)], \
"Input"],

Cell["\<\
Finally, type the last number and the missing bracket to finish the \
typesetting.\
\>", "Text"],

Cell[BoxData[
    \(\(\(MinUnanimityCoordinates[ExpGame11]\)\(\ \)\)\)], "Input"]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[ButtonBox["7. References",
  ButtonData:>"7.",
  ButtonStyle->"Hyperlink"]], "Section",
  CellTags->"References"],

Cell[TextData[{
  "\n",
  ButtonBox["M. Carter",
    ButtonData:>"1993C",
    ButtonStyle->"Hyperlink"],
  ", ",
  StyleBox["Cooperative Games",
    FontSlant->"Italic"],
  " , in Economic and Financial Modeling with ",
  StyleBox["Mathematica",
    FontSlant->"Italic"],
  ", editor Hal R. Varian, Springer Publisher, 167-191, 1993.\n",
  ButtonBox["Theo Driessen",
    ButtonData:>"(1988)",
    ButtonStyle->"Hyperlink"],
  ", ",
  StyleBox["Cooperative Games,Solutions and Applications",
    FontSlant->"Italic"],
  ", Kluwer Academic Publishers, Dordrecht, 1988.\n",
  ButtonBox["U. Faigle, W. Kern and J. Kuipers",
    ButtonData:>"Faigle98",
    ButtonStyle->"Hyperlink"],
  ", An efficient algorithm for nucleolus and prekernel computation in some \
classes of Tu Games, Memorandum No. 1464, Faculty of Mathematical Sciences, \
University of Twente, 1998.\n",
  ButtonBox["E. Inarra and J. Usategui",
    ButtonData:>"(1993)",
    ButtonStyle->"Hyperlink"],
  ",  ",
  StyleBox["The Shapley value and average convex games",
    FontSlant->"Italic"],
  ",  IJGT, 22, 13-29, 1993.\n",
  ButtonBox["Maschler, M. and Peleg",
    ButtonData:>"MP66",
    ButtonStyle->"Hyperlink"],
  ", B.,A Characterization, Existence Proof and Dimension Bounds for the \
Kernel of a Game , Pacific Journal of Mathematics 18(2), 289 328, 1966.\n",
  ButtonBox["M. Maschler,B. Peleg and L.S. Shapley",
    ButtonData:>"(1979)",
    ButtonStyle->"Hyperlink"],
  ", ",
  StyleBox["Geometric Properties of Kernel, Nucleolus and related Concepts",
    FontSlant->"Italic"],
  ", in Mathematics of Operations Research, Vol.4, Nov. 1979, p.303-338.\n",
  ButtonBox["H. Meinhardt",
    ButtonData:>"(2002a)",
    ButtonStyle->"Hyperlink"],
  ", ",
  StyleBox["Decision Making in Cooperative Common Pool Situations",
    FontSlant->"Italic"],
  ", Lecture Notes in Economics and ",
  StyleBox["Mathematical",
    FontVariations->{"CompatibilityType"->0}],
  " Systems, Vol. 517, 2002a, Springer, Heidelberg. \n",
  ButtonBox["H. Meinhardt",
    ButtonData:>"(2002b)",
    ButtonStyle->"Hyperlink"],
  ", ",
  StyleBox["An LP approach to compute the pre-kernel for cooperative games,",
    FontSlant->"Italic"],
  " forthcoming in Computers and Operation Research, 2004. \n",
  ButtonBox["C. Rafels and N. Ybern",
    ButtonData:>"(1995)",
    ButtonStyle->"Hyperlink"],
  ",  ",
  StyleBox["Even and Odd Marginal Worth Vectors, Owen's Multilinear Extension \
and Convex Games",
    FontSlant->"Italic"],
  ", IJGT, 113-126, 1995.\n",
  ButtonBox["Hal R. Varian",
    ButtonData:>"1993",
    ButtonStyle->"Hyperlink"],
  " (Ed.), ",
  StyleBox["Economics and Financial Modeling with Mathematica",
    FontSlant->"Italic"],
  ", Springer,1993"
}], "Text",
  CellTags->{
  "M. Carter", "Theo Driessen", "E. Inarra", "M. Maschler", "H. Meinhardt", 
    "C. Rafels", "Hal R. Varian"}],

Cell[BoxData[
    \(*) \)], "Input"]
}, Open  ]]
},
FrontEndVersion->"5.0 for X",
ScreenRectangle->{{0, 1600}, {0, 1200}},
ScreenStyleEnvironment->"Presentation",
WindowSize->{1268, 907},
WindowMargins->{{Automatic, 1}, {Automatic, 10}},
PrintingPageRange->{Automatic, Automatic},
PrintingOptions->{"PaperSize"->{597.562, 842.375},
"PaperOrientation"->"Portrait",
"PostScriptOutputFile":>FrontEnd`FileName[{"home", "holger", "mathe", \
"EntwPackages", "Documentation", "Englisch"}, "ManualTuGames.nb.ps", \
CharacterEncoding -> "iso8859-1"],
"Magnification"->1},
ShowSelection->True,
CellLabelAutoDelete->True,
LineSpacing->{3, 1},
Magnification->1,
StyleDefinitions -> "Demo.nb"
]

(*******************************************************************
Cached data follows.  If you edit this Notebook file directly, not
using Mathematica, you must remove the line containing CacheID at
the top of  the file.  The cache data will then be recreated when
you save this file from within Mathematica.
*******************************************************************)

(*CellTagsOutline
CellTagsIndex->{
  "1."->{
    Cell[2257, 71, 1760, 64, 477, "Text",
      CellTags->{
      "1.", "2.", "2.1.", "2.2.", "2.3.", "3.", "4.", "4.1.", "4.2.", "4.3.", 
        "4.4.", "5.", "6.", "7.", "3.1.", "Vertices"}]},
  "2."->{
    Cell[2257, 71, 1760, 64, 477, "Text",
      CellTags->{
      "1.", "2.", "2.1.", "2.2.", "2.3.", "3.", "4.", "4.1.", "4.2.", "4.3.", 
        "4.4.", "5.", "6.", "7.", "3.1.", "Vertices"}]},
  "2.1."->{
    Cell[2257, 71, 1760, 64, 477, "Text",
      CellTags->{
      "1.", "2.", "2.1.", "2.2.", "2.3.", "3.", "4.", "4.1.", "4.2.", "4.3.", 
        "4.4.", "5.", "6.", "7.", "3.1.", "Vertices"}]},
  "2.2."->{
    Cell[2257, 71, 1760, 64, 477, "Text",
      CellTags->{
      "1.", "2.", "2.1.", "2.2.", "2.3.", "3.", "4.", "4.1.", "4.2.", "4.3.", 
        "4.4.", "5.", "6.", "7.", "3.1.", "Vertices"}]},
  "2.3."->{
    Cell[2257, 71, 1760, 64, 477, "Text",
      CellTags->{
      "1.", "2.", "2.1.", "2.2.", "2.3.", "3.", "4.", "4.1.", "4.2.", "4.3.", 
        "4.4.", "5.", "6.", "7.", "3.1.", "Vertices"}]},
  "3."->{
    Cell[2257, 71, 1760, 64, 477, "Text",
      CellTags->{
      "1.", "2.", "2.1.", "2.2.", "2.3.", "3.", "4.", "4.1.", "4.2.", "4.3.", 
        "4.4.", "5.", "6.", "7.", "3.1.", "Vertices"}]},
  "4."->{
    Cell[2257, 71, 1760, 64, 477, "Text",
      CellTags->{
      "1.", "2.", "2.1.", "2.2.", "2.3.", "3.", "4.", "4.1.", "4.2.", "4.3.", 
        "4.4.", "5.", "6.", "7.", "3.1.", "Vertices"}]},
  "4.1."->{
    Cell[2257, 71, 1760, 64, 477, "Text",
      CellTags->{
      "1.", "2.", "2.1.", "2.2.", "2.3.", "3.", "4.", "4.1.", "4.2.", "4.3.", 
        "4.4.", "5.", "6.", "7.", "3.1.", "Vertices"}]},
  "4.2."->{
    Cell[2257, 71, 1760, 64, 477, "Text",
      CellTags->{
      "1.", "2.", "2.1.", "2.2.", "2.3.", "3.", "4.", "4.1.", "4.2.", "4.3.", 
        "4.4.", "5.", "6.", "7.", "3.1.", "Vertices"}]},
  "4.3."->{
    Cell[2257, 71, 1760, 64, 477, "Text",
      CellTags->{
      "1.", "2.", "2.1.", "2.2.", "2.3.", "3.", "4.", "4.1.", "4.2.", "4.3.", 
        "4.4.", "5.", "6.", "7.", "3.1.", "Vertices"}]},
  "4.4."->{
    Cell[2257, 71, 1760, 64, 477, "Text",
      CellTags->{
      "1.", "2.", "2.1.", "2.2.", "2.3.", "3.", "4.", "4.1.", "4.2.", "4.3.", 
        "4.4.", "5.", "6.", "7.", "3.1.", "Vertices"}]},
  "5."->{
    Cell[2257, 71, 1760, 64, 477, "Text",
      CellTags->{
      "1.", "2.", "2.1.", "2.2.", "2.3.", "3.", "4.", "4.1.", "4.2.", "4.3.", 
        "4.4.", "5.", "6.", "7.", "3.1.", "Vertices"}]},
  "6."->{
    Cell[2257, 71, 1760, 64, 477, "Text",
      CellTags->{
      "1.", "2.", "2.1.", "2.2.", "2.3.", "3.", "4.", "4.1.", "4.2.", "4.3.", 
        "4.4.", "5.", "6.", "7.", "3.1.", "Vertices"}]},
  "7."->{
    Cell[2257, 71, 1760, 64, 477, "Text",
      CellTags->{
      "1.", "2.", "2.1.", "2.2.", "2.3.", "3.", "4.", "4.1.", "4.2.", "4.3.", 
        "4.4.", "5.", "6.", "7.", "3.1.", "Vertices"}]},
  "3.1."->{
    Cell[2257, 71, 1760, 64, 477, "Text",
      CellTags->{
      "1.", "2.", "2.1.", "2.2.", "2.3.", "3.", "4.", "4.1.", "4.2.", "4.3.", 
        "4.4.", "5.", "6.", "7.", "3.1.", "Vertices"}]},
  "Vertices"->{
    Cell[2257, 71, 1760, 64, 477, "Text",
      CellTags->{
      "1.", "2.", "2.1.", "2.2.", "2.3.", "3.", "4.", "4.1.", "4.2.", "4.3.", 
        "4.4.", "5.", "6.", "7.", "3.1.", "Vertices"}]},
  "Introduction"->{
    Cell[4054, 140, 130, 3, 102, "Section",
      CellTags->"Introduction"]},
  "http://www.ifor.math.ethz.ch/staff/fukuda/fukuda.html"->{
    Cell[4187, 145, 3860, 88, 374, "Text",
      CellTags->{
      "http://www.ifor.math.ethz.ch/staff/fukuda/fukuda.html", "1993", 
        "1993C"}]},
  "1993"->{
    Cell[4187, 145, 3860, 88, 374, "Text",
      CellTags->{
      "http://www.ifor.math.ethz.ch/staff/fukuda/fukuda.html", "1993", 
        "1993C"}]},
  "1993C"->{
    Cell[4187, 145, 3860, 88, 374, "Text",
      CellTags->{
      "http://www.ifor.math.ethz.ch/staff/fukuda/fukuda.html", "1993", 
        "1993C"}]},
  "Installation"->{
    Cell[8084, 238, 131, 3, 102, "Section",
      CellTags->"Installation"]},
  "Unix"->{
    Cell[8240, 245, 125, 3, 56, "Subsubsection",
      CellTags->"Unix"]},
  "Windows"->{
    Cell[10481, 328, 131, 3, 56, "Subsubsection",
      CellTags->"Windows"]},
  "Mac OS"->{
    Cell[12699, 395, 130, 3, 56, "Subsubsection",
      CellTags->"Mac OS"]},
  "Getting Started"->{
    Cell[12985, 409, 137, 3, 102, "Section",
      CellTags->"Getting Started"]},
  "Info3264939207-8254035"->{
    Cell[90577, 2214, 164, 3, 55, "Print",
      CellTags->"Info3264939207-8254035"]},
  "Info3337594516-2106034"->{
    Cell[90915, 2229, 161, 3, 32, "Print",
      CellTags->"Info3337594516-2106034"]},
  "How to define Games?"->{
    Cell[91259, 2244, 157, 3, 56, "Subsubsection",
      CellTags->"How to define Games?"]},
  "DefineGame"->{
    Cell[91419, 2249, 1575, 47, 169, "Text",
      CellTags->"DefineGame"]},
  "(1979)"->{
    Cell[95143, 2354, 253, 7, 43, "Text",
      CellTags->"(1979)"]},
  "Info3337594549-2817631"->{
    Cell[96918, 2404, 112, 2, 32, "Print",
      CellTags->"Info3337594549-2817631"]},
  "Some Functions"->{
    Cell[97471, 2424, 135, 3, 102, "Section",
      CellTags->"Some Functions"]},
  "Basic Functions"->{
    Cell[99725, 2470, 163, 4, 56, "Subsubsection",
      CellTags->"Basic Functions"]},
  "(1993)"->{
    Cell[101238, 2534, 740, 16, 100, "Text",
      CellTags->"(1993)"]},
  "k-convexity"->{
    Cell[108668, 2928, 154, 4, 56, "Subsubsection",
      CellTags->"k-convexity"]},
  "(1988)"->{
    Cell[108825, 2934, 2056, 50, 157, "Text",
      CellTags->{"(1988)", "(2002a)"}]},
  "(2002a)"->{
    Cell[108825, 2934, 2056, 50, 157, "Text",
      CellTags->{"(1988)", "(2002a)"}]},
  "1988"->{
    Cell[113390, 3079, 617, 24, 43, "Text",
      CellTags->"1988"],
    Cell[114010, 3105, 498, 15, 43, "Text",
      CellTags->"1988"],
    Cell[114511, 3122, 531, 18, 57, "Text",
      CellTags->"1988"],
    Cell[115045, 3142, 630, 23, 57, "Text",
      CellTags->"1988"],
    Cell[115678, 3167, 1379, 43, 81, "Text",
      CellTags->"1988"]},
  "Kernel"->{
    Cell[143265, 4196, 144, 4, 56, "Subsubsection",
      CellTags->"Kernel"]},
  "(2002b)"->{
    Cell[143412, 4202, 1930, 42, 195, "Text",
      CellTags->"(2002b)"]},
  "MP66"->{
    Cell[181875, 5338, 658, 20, 155, "Text",
      CellTags->"MP66"]},
  "Faigle98"->{
    Cell[189691, 5587, 780, 16, 119, "Text",
      CellTags->"Faigle98"]},
  "Unanimity Coordinates"->{
    Cell[264612, 7725, 159, 3, 56, "Subsubsection",
      CellTags->"Unanimity Coordinates"]},
  "(1995)"->{
    Cell[266814, 7795, 532, 13, 81, "Text",
      CellTags->"(1995)"],
    Cell[267349, 7810, 312, 10, 44, "Text",
      CellTags->"(1995)"],
    Cell[267664, 7822, 194, 6, 43, "Text",
      CellTags->"(1995)"],
    Cell[267861, 7830, 510, 18, 61, "Text",
      CellTags->"(1995)"]},
  "5"->{
    Cell[271623, 7986, 148, 3, 102, "Section",
      CellTags->"5"]},
  "Concluding Remarks and Limitations"->{
    Cell[284823, 8474, 175, 3, 102, "Section",
      CellTags->"Concluding Remarks and Limitations"]},
  "Info3267505555-1237298"->{
    Cell[293773, 8752, 112, 2, 32, "Print",
      CellTags->"Info3267505555-1237298"],
    Cell[293888, 8756, 846, 27, 368, "Print",
      CellTags->"Info3267505555-1237298"]},
  "Info3267505563-5322123"->{
    Cell[296568, 8860, 112, 2, 32, "Print",
      CellTags->"Info3267505563-5322123"],
    Cell[296683, 8864, 846, 27, 368, "Print",
      CellTags->"Info3267505563-5322123"]},
  "References"->{
    Cell[303109, 9101, 127, 3, 102, "Section",
      CellTags->"References"]},
  "M. Carter"->{
    Cell[303239, 9106, 2856, 79, 409, "Text",
      CellTags->{
      "M. Carter", "Theo Driessen", "E. Inarra", "M. Maschler", 
        "H. Meinhardt", "C. Rafels", "Hal R. Varian"}]},
  "Theo Driessen"->{
    Cell[303239, 9106, 2856, 79, 409, "Text",
      CellTags->{
      "M. Carter", "Theo Driessen", "E. Inarra", "M. Maschler", 
        "H. Meinhardt", "C. Rafels", "Hal R. Varian"}]},
  "E. Inarra"->{
    Cell[303239, 9106, 2856, 79, 409, "Text",
      CellTags->{
      "M. Carter", "Theo Driessen", "E. Inarra", "M. Maschler", 
        "H. Meinhardt", "C. Rafels", "Hal R. Varian"}]},
  "M. Maschler"->{
    Cell[303239, 9106, 2856, 79, 409, "Text",
      CellTags->{
      "M. Carter", "Theo Driessen", "E. Inarra", "M. Maschler", 
        "H. Meinhardt", "C. Rafels", "Hal R. Varian"}]},
  "H. Meinhardt"->{
    Cell[303239, 9106, 2856, 79, 409, "Text",
      CellTags->{
      "M. Carter", "Theo Driessen", "E. Inarra", "M. Maschler", 
        "H. Meinhardt", "C. Rafels", "Hal R. Varian"}]},
  "C. Rafels"->{
    Cell[303239, 9106, 2856, 79, 409, "Text",
      CellTags->{
      "M. Carter", "Theo Driessen", "E. Inarra", "M. Maschler", 
        "H. Meinhardt", "C. Rafels", "Hal R. Varian"}]},
  "Hal R. Varian"->{
    Cell[303239, 9106, 2856, 79, 409, "Text",
      CellTags->{
      "M. Carter", "Theo Driessen", "E. Inarra", "M. Maschler", 
        "H. Meinhardt", "C. Rafels", "Hal R. Varian"}]}
  }
*)

(*CellTagsIndex
CellTagsIndex->{
  {"1.", 307206, 9219},
  {"2.", 307412, 9224},
  {"2.1.", 307620, 9229},
  {"2.2.", 307828, 9234},
  {"2.3.", 308036, 9239},
  {"3.", 308242, 9244},
  {"4.", 308448, 9249},
  {"4.1.", 308656, 9254},
  {"4.2.", 308864, 9259},
  {"4.3.", 309072, 9264},
  {"4.4.", 309280, 9269},
  {"5.", 309486, 9274},
  {"6.", 309692, 9279},
  {"7.", 309898, 9284},
  {"3.1.", 310106, 9289},
  {"Vertices", 310318, 9294},
  {"Introduction", 310534, 9299},
  {"http://www.ifor.math.ethz.ch/staff/fukuda/fukuda.html", 310673, 9302},
  {"1993", 310838, 9307},
  {"1993C", 311004, 9312},
  {"Installation", 311177, 9317},
  {"Unix", 311267, 9320},
  {"Windows", 311357, 9323},
  {"Mac OS", 311450, 9326},
  {"Getting Started", 311551, 9329},
  {"Info3264939207-8254035", 311663, 9332},
  {"Info3337594516-2106034", 311780, 9335},
  {"How to define Games?", 311895, 9338},
  {"DefineGame", 312006, 9341},
  {"(1979)", 312097, 9344},
  {"Info3337594549-2817631", 312197, 9347},
  {"Some Functions", 312306, 9350},
  {"Basic Functions", 312411, 9353},
  {"(1993)", 312513, 9356},
  {"k-convexity", 312605, 9359},
  {"(1988)", 312704, 9362},
  {"(2002a)", 312806, 9365},
  {"1988", 312905, 9368},
  {"Kernel", 313266, 9379},
  {"(2002b)", 313361, 9382},
  {"MP66", 313448, 9385},
  {"Faigle98", 313535, 9388},
  {"Unanimity Coordinates", 313639, 9391},
  {"(1995)", 313748, 9394},
  {"5", 314041, 9403},
  {"Concluding Remarks and Limitations", 314153, 9406},
  {"Info3267505555-1237298", 314286, 9409},
  {"Info3267505563-5322123", 314493, 9414},
  {"References", 314688, 9419},
  {"M. Carter", 314784, 9422},
  {"Theo Driessen", 314991, 9427},
  {"E. Inarra", 315194, 9432},
  {"M. Maschler", 315399, 9437},
  {"H. Meinhardt", 315605, 9442},
  {"C. Rafels", 315808, 9447},
  {"Hal R. Varian", 316015, 9452}
  }
*)

(*NotebookFileOutline
Notebook[{
Cell[1754, 51, 73, 1, 81, "Title"],
Cell[1830, 54, 18, 0, 122, "Author"],
Cell[1851, 56, 351, 9, 229, "Text"],

Cell[CellGroupData[{
Cell[2227, 69, 27, 0, 115, "Section"],
Cell[2257, 71, 1760, 64, 477, "Text",
  CellTags->{
  "1.", "2.", "2.1.", "2.2.", "2.3.", "3.", "4.", "4.1.", "4.2.", "4.3.", 
    "4.4.", "5.", "6.", "7.", "3.1.", "Vertices"}]
}, Open  ]],

Cell[CellGroupData[{
Cell[4054, 140, 130, 3, 102, "Section",
  CellTags->"Introduction"],
Cell[4187, 145, 3860, 88, 374, "Text",
  CellTags->{
  "http://www.ifor.math.ethz.ch/staff/fukuda/fukuda.html", "1993", "1993C"}]
}, Open  ]],

Cell[CellGroupData[{
Cell[8084, 238, 131, 3, 102, "Section",
  CellTags->"Installation"],

Cell[CellGroupData[{
Cell[8240, 245, 125, 3, 56, "Subsubsection",
  CellTags->"Unix"],
Cell[8368, 250, 1923, 68, 236, "Text"],
Cell[10294, 320, 150, 3, 43, "Text"]
}, Open  ]],

Cell[CellGroupData[{
Cell[10481, 328, 131, 3, 56, "Subsubsection",
  CellTags->"Windows"],
Cell[10615, 333, 2047, 57, 446, "Text"]
}, Open  ]],

Cell[CellGroupData[{
Cell[12699, 395, 130, 3, 56, "Subsubsection",
  CellTags->"Mac OS"],
Cell[12832, 400, 104, 3, 43, "Text"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{
Cell[12985, 409, 137, 3, 102, "Section",
  CellTags->"Getting Started"],
Cell[13125, 414, 246, 5, 62, "Text"],

Cell[CellGroupData[{
Cell[13396, 423, 183, 3, 92, "Input"],
Cell[13582, 428, 86, 1, 32, "Print"],
Cell[13671, 431, 195, 4, 32, "Print"],
Cell[13869, 437, 86, 1, 32, "Print"],
Cell[13958, 440, 70, 1, 32, "Print"],
Cell[14031, 443, 59, 1, 32, "Print"],
Cell[14093, 446, 86, 1, 32, "Print"],
Cell[14182, 449, 86, 1, 32, "Print"],
Cell[14271, 452, 86, 1, 32, "Print"],
Cell[14360, 455, 59, 1, 32, "Print"],
Cell[14422, 458, 86, 1, 32, "Print"]
}, Open  ]],
Cell[14523, 462, 71, 0, 43, "Text"],

Cell[CellGroupData[{
Cell[14619, 466, 66, 1, 46, "Input"],
Cell[14688, 469, 2733, 40, 588, "Output"]
}, Open  ]],
Cell[17436, 512, 161, 5, 43, "Text"],

Cell[CellGroupData[{
Cell[17622, 521, 49, 1, 46, "Input"],
Cell[17674, 524, 72759, 1682, 597, "Print"]
}, Open  ]],
Cell[90448, 2209, 126, 3, 43, "Text"],
Cell[90577, 2214, 164, 3, 55, "Print",
  CellTags->"Info3264939207-8254035"],
Cell[90744, 2219, 90, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[90859, 2226, 53, 1, 46, "Input"],
Cell[90915, 2229, 161, 3, 32, "Print",
  CellTags->"Info3337594516-2106034"]
}, Open  ]],
Cell[91091, 2235, 143, 5, 43, "Text"],

Cell[CellGroupData[{
Cell[91259, 2244, 157, 3, 56, "Subsubsection",
  CellTags->"How to define Games?"],
Cell[91419, 2249, 1575, 47, 169, "Text",
  CellTags->"DefineGame"],
Cell[92997, 2298, 705, 11, 391, "Input"],
Cell[93705, 2311, 255, 9, 43, "Text"],
Cell[93963, 2322, 120, 2, 69, "Input"],
Cell[94086, 2326, 914, 22, 119, "Text"],
Cell[95003, 2350, 137, 2, 46, "Input"],
Cell[95143, 2354, 253, 7, 43, "Text",
  CellTags->"(1979)"],
Cell[95399, 2363, 123, 2, 69, "Input"],
Cell[95525, 2367, 243, 4, 69, "Input"],
Cell[95771, 2373, 45, 0, 43, "Text"],
Cell[95819, 2375, 276, 4, 128, "Input"],
Cell[96098, 2381, 755, 16, 100, "Text"],

Cell[CellGroupData[{
Cell[96878, 2401, 37, 1, 46, "Input"],
Cell[96918, 2404, 112, 2, 32, "Print",
  CellTags->"Info3337594549-2817631"]
}, Open  ]],
Cell[97045, 2409, 377, 9, 62, "Text"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{
Cell[97471, 2424, 135, 3, 102, "Section",
  CellTags->"Some Functions"],
Cell[97609, 2429, 2091, 37, 252, "Text"],

Cell[CellGroupData[{
Cell[99725, 2470, 163, 4, 56, "Subsubsection",
  CellTags->"Basic Functions"],
Cell[99891, 2476, 830, 20, 119, "Text"],

Cell[CellGroupData[{
Cell[100746, 2500, 50, 1, 46, "Input"],
Cell[100799, 2503, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[100874, 2509, 50, 1, 46, "Input"],
Cell[100927, 2512, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[101002, 2518, 50, 1, 46, "Input"],
Cell[101055, 2521, 39, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[101131, 2527, 50, 1, 46, "Input"],
Cell[101184, 2530, 39, 1, 59, "Output"]
}, Open  ]],
Cell[101238, 2534, 740, 16, 100, "Text",
  CellTags->"(1993)"],
Cell[101981, 2552, 496, 12, 44, "Text"],
Cell[102480, 2566, 395, 15, 62, "Text"],

Cell[CellGroupData[{
Cell[102900, 2585, 52, 1, 46, "Input"],
Cell[102955, 2588, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[103030, 2594, 52, 1, 46, "Input"],
Cell[103085, 2597, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[103160, 2603, 52, 1, 46, "Input"],
Cell[103215, 2606, 39, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[103291, 2612, 52, 1, 46, "Input"],
Cell[103346, 2615, 38, 1, 59, "Output"]
}, Open  ]],
Cell[103399, 2619, 50, 0, 43, "Text"],

Cell[CellGroupData[{
Cell[103474, 2623, 57, 1, 46, "Input"],
Cell[103534, 2626, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[103609, 2632, 57, 1, 46, "Input"],
Cell[103669, 2635, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[103744, 2641, 57, 1, 46, "Input"],
Cell[103804, 2644, 39, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[103880, 2650, 57, 1, 46, "Input"],
Cell[103940, 2653, 38, 1, 59, "Output"]
}, Open  ]],
Cell[103993, 2657, 386, 14, 43, "Text"],
Cell[104382, 2673, 147, 3, 48, "Text"],
Cell[104532, 2678, 151, 4, 43, "Text"],

Cell[CellGroupData[{
Cell[104708, 2686, 63, 1, 46, "Input"],
Cell[104774, 2689, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[104849, 2695, 63, 1, 46, "Input"],
Cell[104915, 2698, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[104990, 2704, 63, 1, 46, "Input"],
Cell[105056, 2707, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[105131, 2713, 63, 1, 46, "Input"],
Cell[105197, 2716, 38, 1, 59, "Output"]
}, Open  ]],
Cell[105250, 2720, 344, 13, 62, "Text"],

Cell[CellGroupData[{
Cell[105619, 2737, 56, 1, 46, "Input"],
Cell[105678, 2740, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[105753, 2746, 52, 1, 46, "Input"],
Cell[105808, 2749, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[105883, 2755, 56, 1, 46, "Input"],
Cell[105942, 2758, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[106017, 2764, 56, 1, 46, "Input"],
Cell[106076, 2767, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[106151, 2773, 52, 1, 46, "Input"],
Cell[106206, 2776, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[106281, 2782, 56, 1, 46, "Input"],
Cell[106340, 2785, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[106415, 2791, 56, 1, 46, "Input"],
Cell[106474, 2794, 39, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[106550, 2800, 52, 1, 46, "Input"],
Cell[106605, 2803, 39, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[106681, 2809, 56, 1, 46, "Input"],
Cell[106740, 2812, 39, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[106816, 2818, 56, 1, 46, "Input"],
Cell[106875, 2821, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[106950, 2827, 52, 1, 46, "Input"],
Cell[107005, 2830, 38, 1, 59, "Output"]
}, Open  ]],
Cell[107058, 2834, 394, 15, 43, "Text"],

Cell[CellGroupData[{
Cell[107477, 2853, 48, 1, 46, "Input"],
Cell[107528, 2856, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[107603, 2862, 48, 1, 46, "Input"],
Cell[107654, 2865, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[107729, 2871, 48, 1, 46, "Input"],
Cell[107780, 2874, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[107855, 2880, 48, 1, 46, "Input"],
Cell[107906, 2883, 38, 1, 59, "Output"]
}, Open  ]],
Cell[107959, 2887, 53, 0, 43, "Text"],

Cell[CellGroupData[{
Cell[108037, 2891, 48, 1, 46, "Input"],
Cell[108088, 2894, 80, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[108205, 2900, 48, 1, 46, "Input"],
Cell[108256, 2903, 80, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[108373, 2909, 48, 1, 46, "Input"],
Cell[108424, 2912, 49, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[108510, 2918, 48, 1, 46, "Input"],
Cell[108561, 2921, 58, 1, 78, "Output"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{
Cell[108668, 2928, 154, 4, 56, "Subsubsection",
  CellTags->"k-convexity"],
Cell[108825, 2934, 2056, 50, 157, "Text",
  CellTags->{"(1988)", "(2002a)"}],
Cell[110884, 2986, 333, 5, 92, "Input"],
Cell[111220, 2993, 232, 4, 69, "Input"],
Cell[111455, 2999, 127, 2, 69, "Input"],
Cell[111585, 3003, 205, 3, 69, "Input"],
Cell[111793, 3008, 222, 6, 43, "Text"],
Cell[112018, 3016, 186, 3, 128, "Input"],
Cell[112207, 3021, 72, 0, 43, "Text"],

Cell[CellGroupData[{
Cell[112304, 3025, 44, 1, 46, "Input"],
Cell[112351, 3028, 182, 3, 82, "Output"]
}, Open  ]],
Cell[112548, 3034, 243, 8, 43, "Text"],

Cell[CellGroupData[{
Cell[112816, 3046, 52, 1, 46, "Input"],
Cell[112871, 3049, 68, 1, 59, "Output"]
}, Open  ]],
Cell[112954, 3053, 79, 1, 46, "Input"],
Cell[113036, 3056, 99, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[113160, 3063, 48, 1, 46, "Input"],
Cell[113211, 3066, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[113286, 3072, 48, 1, 46, "Input"],
Cell[113337, 3075, 38, 1, 59, "Output"]
}, Open  ]],
Cell[113390, 3079, 617, 24, 43, "Text",
  CellTags->"1988"],
Cell[114010, 3105, 498, 15, 43, "Text",
  CellTags->"1988"],
Cell[114511, 3122, 531, 18, 57, "Text",
  CellTags->"1988"],
Cell[115045, 3142, 630, 23, 57, "Text",
  CellTags->"1988"],
Cell[115678, 3167, 1379, 43, 81, "Text",
  CellTags->"1988"],

Cell[CellGroupData[{
Cell[117082, 3214, 46, 1, 46, "Input"],
Cell[117131, 3217, 101, 2, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[117269, 3224, 46, 1, 46, "Input"],
Cell[117318, 3227, 82, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[117437, 3233, 46, 1, 46, "Input"],
Cell[117486, 3236, 58, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[117581, 3242, 46, 1, 46, "Input"],
Cell[117630, 3245, 179, 3, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[117846, 3253, 51, 1, 46, "Input"],
Cell[117900, 3256, 371, 5, 82, "Output"]
}, Open  ]],
Cell[118286, 3264, 967, 28, 81, "Text"],

Cell[CellGroupData[{
Cell[119278, 3296, 60, 1, 46, "Input"],
Cell[119341, 3299, 86, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[119464, 3305, 60, 1, 46, "Input"],
Cell[119527, 3308, 82, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[119646, 3314, 60, 1, 46, "Input"],
Cell[119709, 3317, 60, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[119806, 3323, 60, 1, 46, "Input"],
Cell[119869, 3326, 169, 2, 78, "Output"]
}, Open  ]],
Cell[120053, 3331, 588, 19, 62, "Text"],
Cell[120644, 3352, 76, 1, 46, "Input"],
Cell[120723, 3355, 76, 1, 46, "Input"],
Cell[120802, 3358, 76, 1, 46, "Input"],
Cell[120881, 3361, 76, 1, 46, "Input"],
Cell[120960, 3364, 407, 10, 62, "Text"],

Cell[CellGroupData[{
Cell[121392, 3378, 49, 1, 46, "Input"],
Cell[121444, 3381, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[121519, 3387, 50, 1, 46, "Input"],
Cell[121572, 3390, 39, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[121648, 3396, 49, 1, 46, "Input"],
Cell[121700, 3399, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[121775, 3405, 50, 1, 46, "Input"],
Cell[121828, 3408, 39, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[121904, 3414, 49, 1, 46, "Input"],
Cell[121956, 3417, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[122031, 3423, 50, 1, 46, "Input"],
Cell[122084, 3426, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[122159, 3432, 49, 1, 46, "Input"],
Cell[122211, 3435, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[122286, 3441, 50, 1, 46, "Input"],
Cell[122339, 3444, 38, 1, 59, "Output"]
}, Open  ]],
Cell[122392, 3448, 334, 10, 62, "Text"],

Cell[CellGroupData[{
Cell[122751, 3462, 60, 1, 46, "Input"],
Cell[122814, 3465, 108, 2, 59, "Output"]
}, Open  ]],
Cell[122937, 3470, 76, 1, 46, "Input"],

Cell[CellGroupData[{
Cell[123038, 3475, 50, 1, 46, "Input"],
Cell[123091, 3478, 39, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[123167, 3484, 49, 1, 46, "Input"],
Cell[123219, 3487, 38, 1, 59, "Output"]
}, Open  ]],
Cell[123272, 3491, 252, 8, 43, "Text"],

Cell[CellGroupData[{
Cell[123549, 3503, 46, 1, 46, "Input"],
Cell[123598, 3506, 101, 2, 59, "Output"]
}, Open  ]],
Cell[123714, 3511, 172, 5, 43, "Text"],
Cell[123889, 3518, 129, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[124043, 3525, 55, 1, 46, "Input"],
Cell[124101, 3528, 47, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[124185, 3534, 55, 1, 46, "Input"],
Cell[124243, 3537, 46, 1, 59, "Output"]
}, Open  ]],
Cell[124304, 3541, 124, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[124453, 3548, 55, 1, 46, "Input"],
Cell[124511, 3551, 46, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[124594, 3557, 55, 1, 46, "Input"],
Cell[124652, 3560, 46, 1, 59, "Output"]
}, Open  ]],
Cell[124713, 3564, 307, 7, 62, "Text"],

Cell[CellGroupData[{
Cell[125045, 3575, 58, 1, 46, "Input"],
Cell[125106, 3578, 70, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[125213, 3584, 58, 1, 46, "Input"],
Cell[125274, 3587, 58, 1, 78, "Output"]
}, Open  ]],
Cell[125347, 3591, 607, 18, 81, "Text"],

Cell[CellGroupData[{
Cell[125979, 3613, 56, 1, 46, "Input"],
Cell[126038, 3616, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[126113, 3622, 56, 1, 46, "Input"],
Cell[126172, 3625, 38, 1, 59, "Output"]
}, Open  ]],
Cell[126225, 3629, 1272, 35, 122, "Text"],

Cell[CellGroupData[{
Cell[127522, 3668, 71, 1, 46, "Input"],
Cell[127596, 3671, 427, 6, 128, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[128060, 3682, 49, 1, 46, "Input"],
Cell[128112, 3685, 198, 3, 82, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[128347, 3693, 43, 1, 46, "Input"],
Cell[128393, 3696, 36, 1, 59, "Output"]
}, Open  ]],
Cell[128444, 3700, 407, 9, 65, "Text"],

Cell[CellGroupData[{
Cell[128876, 3713, 60, 1, 46, "Input"],
Cell[128939, 3716, 101, 2, 59, "Output"]
}, Open  ]],
Cell[129055, 3721, 1434, 31, 176, "Text"],

Cell[CellGroupData[{
Cell[130514, 3756, 76, 1, 46, "Input"],
Cell[130593, 3759, 777, 10, 197, "Output"]
}, Open  ]],
Cell[131385, 3772, 1360, 37, 81, "Text"],
Cell[132748, 3811, 298, 11, 44, "Text"],
Cell[133049, 3824, 494, 15, 62, "Text"],

Cell[CellGroupData[{
Cell[133568, 3843, 71, 1, 46, "Input"],
Cell[133642, 3846, 157, 2, 82, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[133836, 3853, 73, 1, 46, "Input"],
Cell[133912, 3856, 157, 2, 82, "Output"]
}, Open  ]],
Cell[134084, 3861, 134, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[134243, 3868, 60, 1, 46, "Input"],
Cell[134306, 3871, 91, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[134434, 3877, 62, 1, 46, "Input"],
Cell[134499, 3880, 91, 1, 59, "Output"]
}, Open  ]],
Cell[134605, 3884, 226, 6, 43, "Text"],

Cell[CellGroupData[{
Cell[134856, 3894, 61, 1, 46, "Input"],
Cell[134920, 3897, 198, 3, 82, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[135155, 3905, 63, 1, 46, "Input"],
Cell[135221, 3908, 198, 3, 82, "Output"]
}, Open  ]],
Cell[135434, 3914, 127, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[135586, 3921, 62, 1, 46, "Input"],
Cell[135651, 3924, 101, 2, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[135789, 3931, 64, 1, 46, "Input"],
Cell[135856, 3934, 101, 2, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[135994, 3941, 45, 1, 46, "Input"],
Cell[136042, 3944, 36, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[136115, 3950, 54, 1, 46, "Input"],
Cell[136172, 3953, 198, 3, 82, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[136407, 3961, 44, 1, 46, "Input"],
Cell[136454, 3964, 36, 1, 59, "Output"]
}, Open  ]],
Cell[136505, 3968, 252, 8, 43, "Text"],

Cell[CellGroupData[{
Cell[136782, 3980, 71, 1, 46, "Input"],
Cell[136856, 3983, 1048, 15, 393, "Output"]
}, Open  ]],
Cell[137919, 4001, 57, 0, 43, "Text"],

Cell[CellGroupData[{
Cell[138001, 4005, 49, 1, 46, "Input"],
Cell[138053, 4008, 541, 8, 213, "Output"]
}, Open  ]],
Cell[138609, 4019, 97, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[138731, 4026, 43, 1, 46, "Input"],
Cell[138777, 4029, 36, 1, 59, "Output"]
}, Open  ]],
Cell[138828, 4033, 132, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[138985, 4040, 65, 1, 46, "Input"],
Cell[139053, 4043, 101, 2, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[139191, 4050, 76, 1, 46, "Input"],
Cell[139270, 4053, 853, 12, 289, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[140160, 4070, 47, 1, 46, "Input"],
Cell[140210, 4073, 36, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[140283, 4079, 64, 1, 46, "Input"],
Cell[140350, 4082, 113, 2, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[140500, 4089, 77, 1, 46, "Input"],
Cell[140580, 4092, 113, 2, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[140730, 4099, 64, 1, 46, "Input"],
Cell[140797, 4102, 113, 2, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[140947, 4109, 56, 1, 46, "Input"],
Cell[141006, 4112, 541, 8, 213, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[141584, 4125, 44, 1, 46, "Input"],
Cell[141631, 4128, 36, 1, 59, "Output"]
}, Open  ]],
Cell[141682, 4132, 575, 16, 43, "Text"],

Cell[CellGroupData[{
Cell[142282, 4152, 66, 1, 46, "Input"],
Cell[142351, 4155, 159, 2, 78, "Output"]
}, Open  ]],
Cell[142525, 4160, 173, 4, 43, "Text"],

Cell[CellGroupData[{
Cell[142723, 4168, 66, 1, 46, "Input"],
Cell[142792, 4171, 67, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[142896, 4177, 75, 1, 46, "Input"],
Cell[142974, 4180, 67, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[143078, 4186, 68, 1, 46, "Input"],
Cell[143149, 4189, 67, 1, 59, "Output"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{
Cell[143265, 4196, 144, 4, 56, "Subsubsection",
  CellTags->"Kernel"],
Cell[143412, 4202, 1930, 42, 195, "Text",
  CellTags->"(2002b)"],

Cell[CellGroupData[{
Cell[145367, 4248, 56, 1, 46, "Input"],
Cell[145426, 4251, 57, 1, 32, "Print"],
Cell[145486, 4254, 62, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[145585, 4260, 56, 1, 46, "Input"],
Cell[145644, 4263, 57, 1, 32, "Print"],
Cell[145704, 4266, 62, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[145803, 4272, 57, 1, 46, "Input"],
Cell[145863, 4275, 62, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[145962, 4281, 75, 1, 46, "Input"],
Cell[146040, 4284, 375, 5, 53, "Message"],
Cell[146418, 4291, 62, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[146517, 4297, 56, 1, 46, "Input"],
Cell[146576, 4300, 57, 1, 32, "Print"],
Cell[146636, 4303, 49, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[146722, 4309, 57, 1, 46, "Input"],
Cell[146782, 4312, 49, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[146868, 4318, 77, 1, 46, "Input"],
Cell[146948, 4321, 49, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[147034, 4327, 56, 1, 46, "Input"],
Cell[147093, 4330, 57, 1, 32, "Print"],
Cell[147153, 4333, 62, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[147252, 4339, 57, 1, 46, "Input"],
Cell[147312, 4342, 62, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[147411, 4348, 74, 1, 46, "Input"],
Cell[147488, 4351, 375, 5, 53, "Message"],
Cell[147866, 4358, 62, 1, 78, "Output"]
}, Open  ]],
Cell[147943, 4362, 106, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[148074, 4369, 66, 1, 46, "Input"],
Cell[148143, 4372, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[148218, 4378, 66, 1, 46, "Input"],
Cell[148287, 4381, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[148362, 4387, 66, 1, 46, "Input"],
Cell[148431, 4390, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[148506, 4396, 66, 1, 46, "Input"],
Cell[148575, 4399, 38, 1, 59, "Output"]
}, Open  ]],
Cell[148628, 4403, 35, 0, 43, "Text"],
Cell[148666, 4405, 90, 1, 46, "Input"],
Cell[148759, 4408, 98, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[148882, 4415, 69, 1, 46, "Input"],
Cell[148954, 4418, 60, 1, 59, "Output"]
}, Open  ]],
Cell[149029, 4422, 147, 5, 43, "Text"],

Cell[CellGroupData[{
Cell[149201, 4431, 54, 1, 46, "Input"],
Cell[149258, 4434, 182, 3, 82, "Output"]
}, Open  ]],
Cell[149455, 4440, 337, 10, 62, "Text"],

Cell[CellGroupData[{
Cell[149817, 4454, 101, 2, 46, "Input"],
Cell[149921, 4458, 1390, 27, 166, "Output"]
}, Open  ]],
Cell[151326, 4488, 243, 8, 43, "Text"],

Cell[CellGroupData[{
Cell[151594, 4500, 52, 1, 46, "Input"],
Cell[151649, 4503, 62, 1, 78, "Output"]
}, Open  ]],
Cell[151726, 4507, 284, 7, 43, "Text"],

Cell[CellGroupData[{
Cell[152035, 4518, 60, 1, 46, "Input"],
Cell[152098, 4521, 62, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[152197, 4527, 84, 1, 46, "Input"],
Cell[152284, 4530, 450, 8, 51, "Print"],
Cell[152737, 4540, 458, 8, 51, "Print"],
Cell[153198, 4550, 458, 8, 51, "Print"],
Cell[153659, 4560, 450, 8, 51, "Print"],
Cell[154112, 4570, 450, 8, 51, "Print"],
Cell[154565, 4580, 62, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[154664, 4586, 53, 1, 46, "Input"],
Cell[154720, 4589, 62, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[154819, 4595, 55, 1, 46, "Input"],
Cell[154877, 4598, 62, 1, 78, "Output"]
}, Open  ]],
Cell[154954, 4602, 69, 0, 43, "Text"],

Cell[CellGroupData[{
Cell[155048, 4606, 59, 1, 46, "Input"],
Cell[155110, 4609, 120, 2, 59, "Output"]
}, Open  ]],
Cell[155245, 4614, 645, 16, 105, "Text"],
Cell[155893, 4632, 193, 6, 43, "Text"],

Cell[CellGroupData[{
Cell[156111, 4642, 50, 1, 46, "Input"],
Cell[156164, 4645, 38, 1, 59, "Output"]
}, Open  ]],
Cell[156217, 4649, 122, 5, 43, "Text"],

Cell[CellGroupData[{
Cell[156364, 4658, 37, 1, 46, "Input"],
Cell[156404, 4661, 49, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[156490, 4667, 59, 1, 46, "Input"],
Cell[156552, 4670, 49, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[156638, 4676, 60, 1, 46, "Input"],
Cell[156701, 4679, 49, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[156787, 4685, 90, 1, 46, "Input"],
Cell[156880, 4688, 49, 1, 59, "Output"]
}, Open  ]],
Cell[156944, 4692, 1018, 28, 119, "Text"],

Cell[CellGroupData[{
Cell[157987, 4724, 108, 2, 46, "Input"],
Cell[158098, 4728, 177, 3, 32, "Print"],
Cell[158278, 4733, 165, 3, 32, "Print"],
Cell[158446, 4738, 85, 1, 32, "Print"],
Cell[158534, 4741, 347, 7, 32, "Print"],
Cell[158884, 4750, 392, 6, 168, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[159313, 4761, 70, 1, 46, "Input"],
Cell[159386, 4764, 117, 2, 59, "Output"]
}, Open  ]],
Cell[159518, 4769, 151, 4, 43, "Text"],

Cell[CellGroupData[{
Cell[159694, 4777, 171, 3, 69, "Input"],
Cell[159868, 4782, 177, 3, 32, "Print"],
Cell[160048, 4787, 165, 3, 32, "Print"],
Cell[160216, 4792, 85, 1, 32, "Print"],
Cell[160304, 4795, 347, 7, 32, "Print"],
Cell[160654, 4804, 1594, 29, 335, "Output"]
}, Open  ]],
Cell[162263, 4836, 1125, 24, 138, "Text"],
Cell[163391, 4862, 58, 0, 43, "Text"],

Cell[CellGroupData[{
Cell[163474, 4866, 59, 1, 46, "Input"],
Cell[163536, 4869, 207, 3, 82, "Output"]
}, Open  ]],
Cell[163758, 4875, 54, 0, 43, "Text"],

Cell[CellGroupData[{
Cell[163837, 4879, 48, 1, 46, "Input"],
Cell[163888, 4882, 126, 2, 59, "Output"]
}, Open  ]],
Cell[164029, 4887, 226, 6, 43, "Text"],

Cell[CellGroupData[{
Cell[164280, 4897, 128, 2, 46, "Input"],
Cell[164411, 4901, 57, 1, 32, "Print"],
Cell[164471, 4904, 11918, 199, 1439, "Output"]
}, Open  ]],
Cell[176404, 5106, 318, 6, 62, "Text"],

Cell[CellGroupData[{
Cell[176747, 5116, 39, 1, 46, "Input"],
Cell[176789, 5119, 64, 1, 59, "Output"]
}, Open  ]],
Cell[176868, 5123, 624, 14, 100, "Text"],

Cell[CellGroupData[{
Cell[177517, 5141, 69, 1, 73, "Input"],
Cell[177589, 5144, 55, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[177681, 5150, 55, 1, 46, "Input"],
Cell[177739, 5153, 39, 1, 59, "Output"]
}, Open  ]],
Cell[177793, 5157, 70, 0, 43, "Text"],

Cell[CellGroupData[{
Cell[177888, 5161, 66, 1, 46, "Input"],
Cell[177957, 5164, 49, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[178043, 5170, 55, 1, 46, "Input"],
Cell[178101, 5173, 38, 1, 59, "Output"]
}, Open  ]],
Cell[178154, 5177, 135, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[178314, 5184, 74, 1, 73, "Input"],
Cell[178391, 5187, 55, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[178483, 5193, 55, 1, 46, "Input"],
Cell[178541, 5196, 39, 1, 59, "Output"]
}, Open  ]],
Cell[178595, 5200, 994, 23, 119, "Text"],

Cell[CellGroupData[{
Cell[179614, 5227, 59, 1, 46, "Input"],
Cell[179676, 5230, 63, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[179776, 5236, 59, 1, 46, "Input"],
Cell[179838, 5239, 63, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[179938, 5245, 59, 1, 46, "Input"],
Cell[180000, 5248, 50, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[180087, 5254, 59, 1, 46, "Input"],
Cell[180149, 5257, 63, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[180249, 5263, 60, 1, 46, "Input"],
Cell[180312, 5266, 50, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[180399, 5272, 59, 1, 46, "Input"],
Cell[180461, 5275, 51, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[180549, 5281, 60, 1, 46, "Input"],
Cell[180612, 5284, 50, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[180699, 5290, 59, 1, 46, "Input"],
Cell[180761, 5293, 51, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[180849, 5299, 58, 1, 46, "Input"],
Cell[180910, 5302, 53, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[181000, 5308, 64, 1, 46, "Input"],
Cell[181067, 5311, 54, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[181158, 5317, 63, 1, 46, "Input"],
Cell[181224, 5320, 55, 1, 59, "Output"]
}, Open  ]],
Cell[181294, 5324, 107, 3, 43, "Text"],
Cell[181404, 5329, 468, 7, 169, "Input"],
Cell[181875, 5338, 658, 20, 155, "Text",
  CellTags->"MP66"],
Cell[182536, 5360, 250, 8, 43, "Text"],

Cell[CellGroupData[{
Cell[182811, 5372, 81, 1, 46, "Input"],
Cell[182895, 5375, 57, 1, 32, "Print"],
Cell[182955, 5378, 112, 2, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[183104, 5385, 116, 2, 46, "Input"],
Cell[183223, 5389, 112, 2, 78, "Output"]
}, Open  ]],
Cell[183350, 5394, 98, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[183473, 5401, 57, 1, 46, "Input"],
Cell[183533, 5404, 57, 1, 32, "Print"],
Cell[183593, 5407, 115, 2, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[183745, 5414, 108, 2, 46, "Input"],
Cell[183856, 5418, 179, 3, 32, "Print"],
Cell[184038, 5423, 443, 8, 51, "Print"],
Cell[184484, 5433, 317, 4, 123, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[184838, 5442, 79, 1, 46, "Input"],
Cell[184920, 5445, 66, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[185023, 5451, 60, 1, 46, "Input"],
Cell[185086, 5454, 49, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[185172, 5460, 58, 1, 46, "Input"],
Cell[185233, 5463, 146, 2, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[185416, 5470, 142, 3, 46, "Input"],
Cell[185561, 5475, 177, 3, 32, "Print"],
Cell[185741, 5480, 165, 3, 32, "Print"],
Cell[185909, 5485, 85, 1, 32, "Print"],
Cell[185997, 5488, 455, 8, 51, "Print"],
Cell[186455, 5498, 346, 5, 153, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[186838, 5508, 109, 2, 46, "Input"],
Cell[186950, 5512, 179, 3, 32, "Print"],
Cell[187132, 5517, 443, 8, 51, "Print"],
Cell[187578, 5527, 317, 4, 123, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[187932, 5536, 59, 1, 46, "Input"],
Cell[187994, 5539, 207, 3, 82, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[188238, 5547, 147, 3, 46, "Input"],
Cell[188388, 5552, 179, 3, 32, "Print"],
Cell[188570, 5557, 443, 8, 51, "Print"],
Cell[189016, 5567, 316, 4, 123, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[189369, 5576, 55, 1, 46, "Input"],
Cell[189427, 5579, 194, 3, 78, "Output"]
}, Open  ]],
Cell[189636, 5585, 52, 0, 43, "Text"],
Cell[189691, 5587, 780, 16, 119, "Text",
  CellTags->"Faigle98"],

Cell[CellGroupData[{
Cell[190496, 5607, 60, 1, 46, "Input"],
Cell[190559, 5610, 152, 2, 78, "Output"]
}, Open  ]],
Cell[190726, 5615, 106, 3, 43, "Text"],
Cell[190835, 5620, 120, 2, 69, "Input"],
Cell[190958, 5624, 61, 0, 43, "Text"],

Cell[CellGroupData[{
Cell[191044, 5628, 105, 2, 46, "Input"],
Cell[191152, 5632, 120, 2, 78, "Output"]
}, Open  ]],
Cell[191287, 5637, 18, 0, 43, "Text"],

Cell[CellGroupData[{
Cell[191330, 5641, 105, 2, 46, "Input"],
Cell[191438, 5645, 305, 4, 123, "Output"]
}, Open  ]],
Cell[191758, 5652, 66, 0, 43, "Text"],

Cell[CellGroupData[{
Cell[191849, 5656, 108, 2, 46, "Input"],
Cell[191960, 5660, 434, 6, 168, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[192431, 5671, 54, 1, 46, "Input"],
Cell[192488, 5674, 164, 2, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[192689, 5681, 54, 1, 46, "Input"],
Cell[192746, 5684, 248, 4, 123, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[193031, 5693, 86, 1, 46, "Input"],
Cell[193120, 5696, 375, 5, 53, "Message"],
Cell[193498, 5703, 375, 5, 53, "Message"],
Cell[193876, 5710, 375, 5, 53, "Message"],
Cell[194254, 5717, 335, 5, 53, "Message"],
Cell[194592, 5724, 321, 4, 123, "Output"]
}, Open  ]],
Cell[194928, 5731, 105, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[195058, 5738, 89, 1, 46, "Input"],
Cell[195150, 5741, 86, 1, 59, "Output"]
}, Open  ]],
Cell[195251, 5745, 450, 11, 81, "Text"],

Cell[CellGroupData[{
Cell[195726, 5760, 111, 2, 46, "Input"],
Cell[195840, 5764, 434, 6, 168, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[196311, 5775, 51, 1, 46, "Input"],
Cell[196365, 5778, 38, 1, 59, "Output"]
}, Open  ]],
Cell[196418, 5782, 519, 10, 81, "Text"],
Cell[196940, 5794, 287, 4, 138, "Input"],
Cell[197230, 5800, 88, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[197343, 5807, 50, 1, 46, "Input"],
Cell[197396, 5810, 54, 1, 32, "Print"],
Cell[197453, 5813, 45, 1, 59, "Output"]
}, Open  ]],
Cell[197513, 5817, 88, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[197626, 5824, 85, 1, 46, "Input"],
Cell[197714, 5827, 45, 1, 59, "Output"]
}, Open  ]],
Cell[197774, 5831, 110, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[197909, 5838, 85, 1, 46, "Input"],
Cell[197997, 5841, 56, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[198090, 5847, 41, 1, 46, "Input"],
Cell[198134, 5850, 58, 1, 59, "Output"]
}, Open  ]],
Cell[198207, 5854, 726, 20, 81, "Text"],
Cell[198936, 5876, 480, 12, 50, "Text"],
Cell[199419, 5890, 274, 6, 62, "Text"],

Cell[CellGroupData[{
Cell[199718, 5900, 169, 4, 73, "Input"],
Cell[199890, 5906, 720, 10, 213, "Output"]
}, Open  ]],
Cell[200625, 5919, 165, 4, 43, "Text"],

Cell[CellGroupData[{
Cell[200815, 5927, 62, 1, 46, "Input"],
Cell[200880, 5930, 133, 2, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[201050, 5937, 73, 1, 46, "Input"],
Cell[201126, 5940, 135, 2, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[201298, 5947, 49, 1, 46, "Input"],
Cell[201350, 5950, 57, 1, 32, "Print"],
Cell[201410, 5953, 49, 1, 59, "Output"]
}, Open  ]],
Cell[201474, 5957, 117, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[201616, 5964, 52, 1, 46, "Input"],
Cell[201671, 5967, 49, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[201757, 5973, 53, 1, 46, "Input"],
Cell[201813, 5976, 49, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[201899, 5982, 107, 2, 46, "Input"],
Cell[202009, 5986, 222, 3, 82, "Output"]
}, Open  ]],
Cell[202246, 5992, 916, 17, 119, "Text"],

Cell[CellGroupData[{
Cell[203187, 6013, 176, 3, 69, "Input"],
Cell[203366, 6018, 177, 3, 32, "Print"],
Cell[203546, 6023, 165, 3, 32, "Print"],
Cell[203714, 6028, 85, 1, 32, "Print"],
Cell[203802, 6031, 347, 7, 32, "Print"],
Cell[204152, 6040, 2020, 35, 358, "Output"]
}, Open  ]],
Cell[206187, 6078, 500, 14, 81, "Text"],

Cell[CellGroupData[{
Cell[206712, 6096, 71, 1, 46, "Input"],
Cell[206786, 6099, 117, 2, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[206940, 6106, 111, 2, 46, "Input"],
Cell[207054, 6110, 177, 3, 32, "Print"],
Cell[207234, 6115, 165, 3, 32, "Print"],
Cell[207402, 6120, 85, 1, 32, "Print"],
Cell[207490, 6123, 347, 7, 32, "Print"],
Cell[207840, 6132, 407, 6, 168, "Output"]
}, Open  ]],
Cell[208262, 6141, 64, 0, 43, "Text"],

Cell[CellGroupData[{
Cell[208351, 6145, 71, 1, 46, "Input"],
Cell[208425, 6148, 117, 2, 59, "Output"]
}, Open  ]],
Cell[208557, 6153, 726, 15, 100, "Text"],

Cell[CellGroupData[{
Cell[209308, 6172, 61, 1, 46, "Input"],
Cell[209372, 6175, 137, 2, 59, "Output"]
}, Open  ]],
Cell[209524, 6180, 86, 1, 46, "Input"],
Cell[209613, 6183, 44, 0, 43, "Text"],

Cell[CellGroupData[{
Cell[209682, 6187, 56, 1, 46, "Input"],
Cell[209741, 6190, 64, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[209842, 6196, 37, 1, 46, "Input"],
Cell[209882, 6199, 49, 1, 59, "Output"]
}, Open  ]],
Cell[209946, 6203, 70, 0, 43, "Text"],

Cell[CellGroupData[{
Cell[210041, 6207, 60, 1, 46, "Input"],
Cell[210104, 6210, 39, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[210180, 6216, 167, 3, 69, "Input"],
Cell[210350, 6221, 177, 3, 32, "Print"],
Cell[210530, 6226, 167, 3, 32, "Print"],
Cell[210700, 6231, 80, 1, 32, "Print"],
Cell[210783, 6234, 441, 8, 51, "Print"],
Cell[211227, 6244, 383, 6, 168, "Output"]
}, Open  ]],
Cell[211625, 6253, 297, 7, 62, "Text"],

Cell[CellGroupData[{
Cell[211947, 6264, 72, 1, 46, "Input"],
Cell[212022, 6267, 117, 2, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[212176, 6274, 46, 1, 46, "Input"],
Cell[212225, 6277, 55, 1, 78, "Output"]
}, Open  ]],
Cell[212295, 6281, 89, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[212409, 6288, 40, 1, 46, "Input"],
Cell[212452, 6291, 720, 10, 213, "Output"]
}, Open  ]],
Cell[213187, 6304, 69, 0, 43, "Text"],

Cell[CellGroupData[{
Cell[213281, 6308, 89, 1, 46, "Input"],
Cell[213373, 6311, 55, 1, 78, "Output"]
}, Open  ]],
Cell[213443, 6315, 121, 3, 43, "Text"],
Cell[213567, 6320, 76, 1, 46, "Input"],

Cell[CellGroupData[{
Cell[213668, 6325, 87, 1, 46, "Input"],
Cell[213758, 6328, 93, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[213888, 6334, 72, 1, 46, "Input"],
Cell[213963, 6337, 46, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[214046, 6343, 88, 1, 46, "Input"],
Cell[214137, 6346, 191, 3, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[214365, 6354, 88, 1, 46, "Input"],
Cell[214456, 6357, 191, 3, 78, "Output"]
}, Open  ]],
Cell[214662, 6363, 108, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[214795, 6370, 74, 1, 46, "Input"],
Cell[214872, 6373, 58, 1, 59, "Output"]
}, Open  ]],
Cell[214945, 6377, 158, 4, 43, "Text"],

Cell[CellGroupData[{
Cell[215128, 6385, 108, 2, 46, "Input"],
Cell[215239, 6389, 48658, 1304, 984, "Output"]
}, Open  ]],
Cell[263912, 7696, 161, 4, 43, "Text"],

Cell[CellGroupData[{
Cell[264098, 7704, 68, 1, 46, "Input"],
Cell[264169, 7707, 147, 2, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[264353, 7714, 68, 1, 46, "Input"],
Cell[264424, 7717, 139, 2, 78, "Output"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{
Cell[264612, 7725, 159, 3, 56, "Subsubsection",
  CellTags->"Unanimity Coordinates"],
Cell[264774, 7730, 451, 12, 62, "Text"],
Cell[265228, 7744, 273, 4, 92, "Input"],
Cell[265504, 7750, 39, 0, 43, "Text"],
Cell[265546, 7752, 127, 2, 46, "Input"],
Cell[265676, 7756, 184, 6, 43, "Text"],

Cell[CellGroupData[{
Cell[265885, 7766, 63, 1, 46, "Input"],
Cell[265951, 7769, 503, 8, 82, "Output"]
}, Open  ]],
Cell[266469, 7780, 113, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[266607, 7787, 66, 1, 46, "Input"],
Cell[266676, 7790, 123, 2, 59, "Output"]
}, Open  ]],
Cell[266814, 7795, 532, 13, 81, "Text",
  CellTags->"(1995)"],
Cell[267349, 7810, 312, 10, 44, "Text",
  CellTags->"(1995)"],
Cell[267664, 7822, 194, 6, 43, "Text",
  CellTags->"(1995)"],
Cell[267861, 7830, 510, 18, 61, "Text",
  CellTags->"(1995)"],

Cell[CellGroupData[{
Cell[268396, 7852, 58, 1, 46, "Input"],
Cell[268457, 7855, 109, 2, 59, "Output"]
}, Open  ]],
Cell[268581, 7860, 355, 7, 62, "Text"],

Cell[CellGroupData[{
Cell[268961, 7871, 63, 1, 46, "Input"],
Cell[269027, 7874, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[269102, 7880, 71, 1, 46, "Input"],
Cell[269176, 7883, 38, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[269251, 7889, 50, 1, 46, "Input"],
Cell[269304, 7892, 38, 1, 59, "Output"]
}, Open  ]],
Cell[269357, 7896, 506, 12, 81, "Text"],

Cell[CellGroupData[{
Cell[269888, 7912, 66, 1, 46, "Input"],
Cell[269957, 7915, 47, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[270041, 7921, 58, 1, 46, "Input"],
Cell[270102, 7924, 75, 1, 32, "Print"],
Cell[270180, 7927, 50, 1, 32, "Print"],
Cell[270233, 7930, 73, 1, 32, "Print"],
Cell[270309, 7933, 47, 1, 59, "Output"]
}, Open  ]],
Cell[270371, 7937, 34, 0, 43, "Text"],

Cell[CellGroupData[{
Cell[270430, 7941, 66, 1, 46, "Input"],
Cell[270499, 7944, 82, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[270618, 7950, 58, 1, 46, "Input"],
Cell[270679, 7953, 274, 6, 32, "Print"],
Cell[270956, 7961, 173, 3, 32, "Print"],
Cell[271132, 7966, 174, 4, 32, "Print"],
Cell[271309, 7972, 92, 1, 32, "Print"],
Cell[271404, 7975, 73, 1, 32, "Print"],
Cell[271480, 7978, 82, 1, 78, "Output"]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{
Cell[271623, 7986, 148, 3, 102, "Section",
  CellTags->"5"],
Cell[271774, 7991, 974, 25, 119, "Text"],
Cell[272751, 8018, 149, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[272925, 8025, 106, 2, 46, "Input"],
Cell[273034, 8029, 514, 7, 151, "Output"]
}, Open  ]],
Cell[273563, 8039, 294, 9, 62, "Text"],
Cell[273860, 8050, 157, 5, 43, "Text"],

Cell[CellGroupData[{
Cell[274042, 8059, 90, 1, 46, "Input"],
Cell[274135, 8062, 220, 3, 82, "Output"]
}, Open  ]],
Cell[274370, 8068, 92, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[274487, 8075, 93, 1, 46, "Input"],
Cell[274583, 8078, 220, 3, 82, "Output"]
}, Open  ]],
Cell[274818, 8084, 99, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[274942, 8091, 63, 1, 46, "Input"],
Cell[275008, 8094, 82, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[275127, 8100, 63, 1, 46, "Input"],
Cell[275193, 8103, 82, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[275312, 8109, 63, 1, 46, "Input"],
Cell[275378, 8112, 82, 1, 59, "Output"]
}, Open  ]],
Cell[275475, 8116, 145, 5, 43, "Text"],
Cell[275623, 8123, 112, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[275760, 8130, 53, 1, 46, "Input"],
Cell[275816, 8133, 39, 1, 59, "Output"]
}, Open  ]],
Cell[275870, 8137, 153, 5, 43, "Text"],

Cell[CellGroupData[{
Cell[276048, 8146, 59, 1, 46, "Input"],
Cell[276110, 8149, 451, 6, 128, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[276598, 8160, 45, 1, 46, "Input"],
Cell[276646, 8163, 36, 1, 59, "Output"]
}, Open  ]],
Cell[276697, 8167, 332, 8, 62, "Text"],

Cell[CellGroupData[{
Cell[277054, 8179, 53, 1, 46, "Input"],
Cell[277110, 8182, 169, 2, 82, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[277316, 8189, 52, 1, 46, "Input"],
Cell[277371, 8192, 35, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[277443, 8198, 64, 1, 46, "Input"],
Cell[277510, 8201, 82, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[277629, 8207, 64, 1, 46, "Input"],
Cell[277696, 8210, 82, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[277815, 8216, 57, 1, 46, "Input"],
Cell[277875, 8219, 169, 2, 82, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[278081, 8226, 44, 1, 46, "Input"],
Cell[278128, 8229, 35, 1, 59, "Output"]
}, Open  ]],
Cell[278178, 8233, 123, 3, 43, "Text"],
Cell[278304, 8238, 184, 4, 43, "Text"],

Cell[CellGroupData[{
Cell[278513, 8246, 82, 1, 46, "Input"],
Cell[278598, 8249, 169, 2, 82, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[278804, 8256, 64, 1, 46, "Input"],
Cell[278871, 8259, 82, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[278990, 8265, 82, 1, 46, "Input"],
Cell[279075, 8268, 282, 4, 105, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[279394, 8277, 64, 1, 46, "Input"],
Cell[279461, 8280, 131, 2, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[279629, 8287, 72, 1, 46, "Input"],
Cell[279704, 8290, 541, 8, 213, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[280282, 8303, 82, 1, 46, "Input"],
Cell[280367, 8306, 541, 8, 213, "Output"]
}, Open  ]],
Cell[280923, 8317, 496, 12, 62, "Text"],

Cell[CellGroupData[{
Cell[281444, 8333, 64, 1, 46, "Input"],
Cell[281511, 8336, 113, 2, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[281661, 8343, 66, 1, 46, "Input"],
Cell[281730, 8346, 113, 2, 59, "Output"]
}, Open  ]],
Cell[281858, 8351, 135, 4, 43, "Text"],

Cell[CellGroupData[{
Cell[282018, 8359, 64, 1, 46, "Input"],
Cell[282085, 8362, 113, 2, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[282235, 8369, 66, 1, 46, "Input"],
Cell[282304, 8372, 113, 2, 59, "Output"]
}, Open  ]],
Cell[282432, 8377, 297, 9, 62, "Text"],

Cell[CellGroupData[{
Cell[282754, 8390, 62, 1, 46, "Input"],
Cell[282819, 8393, 541, 8, 213, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[283397, 8406, 48, 1, 46, "Input"],
Cell[283448, 8409, 36, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[283521, 8415, 65, 1, 46, "Input"],
Cell[283589, 8418, 113, 2, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[283739, 8425, 65, 1, 46, "Input"],
Cell[283807, 8428, 113, 2, 59, "Output"]
}, Open  ]],
Cell[283935, 8433, 187, 6, 43, "Text"],
Cell[284125, 8441, 118, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[284268, 8448, 80, 1, 46, "Input"],
Cell[284351, 8451, 103, 2, 59, "Output"]
}, Open  ]],
Cell[284469, 8456, 19, 0, 43, "Text"],

Cell[CellGroupData[{
Cell[284513, 8460, 80, 1, 46, "Input"],
Cell[284596, 8463, 139, 2, 59, "Output"]
}, Open  ]],
Cell[284750, 8468, 36, 1, 46, "Input"]
}, Open  ]],

Cell[CellGroupData[{
Cell[284823, 8474, 175, 3, 102, "Section",
  CellTags->"Concluding Remarks and Limitations"],
Cell[285001, 8479, 458, 10, 81, "Text"],

Cell[CellGroupData[{
Cell[285484, 8493, 51, 1, 46, "Input"],
Cell[285538, 8496, 46, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[285621, 8502, 48, 1, 46, "Input"],
Cell[285672, 8505, 43, 1, 59, "Output"]
}, Open  ]],
Cell[285730, 8509, 74, 1, 46, "Input"],
Cell[285807, 8512, 168, 2, 69, "Input"],
Cell[285978, 8516, 158, 4, 43, "Text"],

Cell[CellGroupData[{
Cell[286161, 8524, 54, 1, 46, "Input"],
Cell[286218, 8527, 114, 2, 30, "Message"],
Cell[286335, 8531, 304, 5, 53, "Message"],
Cell[286642, 8538, 114, 2, 30, "Message"],
Cell[286759, 8542, 304, 5, 53, "Message"],
Cell[287066, 8549, 114, 2, 30, "Message"],
Cell[287183, 8553, 163, 3, 30, "Message"],
Cell[287349, 8558, 304, 5, 53, "Message"],
Cell[287656, 8565, 162, 3, 30, "Message"],
Cell[287821, 8570, 4129, 109, 520, "Output"]
}, Open  ]],
Cell[291965, 8682, 106, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[292096, 8689, 71, 1, 46, "Input"],
Cell[292170, 8692, 43, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[292250, 8698, 60, 1, 46, "Input"],
Cell[292313, 8701, 57, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[292407, 8707, 62, 1, 46, "Input"],
Cell[292472, 8710, 57, 1, 78, "Output"]
}, Open  ]],
Cell[292544, 8714, 877, 21, 100, "Text"],
Cell[293424, 8737, 179, 3, 69, "Input"],
Cell[293606, 8742, 102, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[293733, 8749, 37, 1, 46, "Input"],
Cell[293773, 8752, 112, 2, 32, "Print",
  CellTags->"Info3267505555-1237298"],
Cell[293888, 8756, 846, 27, 368, "Print",
  CellTags->"Info3267505555-1237298"]
}, Open  ]],
Cell[294749, 8786, 578, 14, 81, "Text"],

Cell[CellGroupData[{
Cell[295352, 8804, 52, 1, 46, "Input"],
Cell[295407, 8807, 57, 1, 78, "Output"]
}, Open  ]],
Cell[295479, 8811, 610, 19, 81, "Text"],

Cell[CellGroupData[{
Cell[296114, 8834, 60, 1, 46, "Input"],
Cell[296177, 8837, 56, 1, 78, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[296270, 8843, 62, 1, 46, "Input"],
Cell[296335, 8846, 56, 1, 78, "Output"]
}, Open  ]],
Cell[296406, 8850, 97, 3, 43, "Text"],

Cell[CellGroupData[{
Cell[296528, 8857, 37, 1, 46, "Input"],
Cell[296568, 8860, 112, 2, 32, "Print",
  CellTags->"Info3267505563-5322123"],
Cell[296683, 8864, 846, 27, 368, "Print",
  CellTags->"Info3267505563-5322123"]
}, Open  ]],
Cell[297544, 8894, 268, 6, 62, "Text"],
Cell[297815, 8902, 552, 14, 81, "Text"],

Cell[CellGroupData[{
Cell[298392, 8920, 69, 1, 46, "Input"],
Cell[298464, 8923, 179, 3, 32, "Print"],
Cell[298646, 8928, 378, 8, 82, "Output"]
}, Open  ]],
Cell[299039, 8939, 405, 14, 62, "Text"],

Cell[CellGroupData[{
Cell[299469, 8957, 64, 1, 46, "Input"],
Cell[299536, 8960, 159, 3, 32, "Print"],
Cell[299698, 8965, 103, 2, 32, "Print"],
Cell[299804, 8969, 89, 1, 32, "Print"],
Cell[299896, 8972, 119, 2, 32, "Print"]
}, Open  ]],
Cell[300030, 8977, 362, 8, 62, "Text"],

Cell[CellGroupData[{
Cell[300417, 8989, 47, 1, 46, "Input"],
Cell[300467, 8992, 46, 1, 59, "Output"]
}, Open  ]],

Cell[CellGroupData[{
Cell[300550, 8998, 47, 1, 46, "Input"],
Cell[300600, 9001, 62, 1, 59, "Output"]
}, Open  ]],
Cell[300677, 9005, 159, 5, 43, "Text"],

Cell[CellGroupData[{
Cell[300861, 9014, 73, 1, 46, "Input"],
Cell[300937, 9017, 47, 1, 59, "Output"]
}, Open  ]],
Cell[300999, 9021, 966, 25, 119, "Text"],
Cell[301968, 9048, 51, 1, 46, "Input"],
Cell[302022, 9051, 113, 5, 43, "Text"],
Cell[302138, 9058, 70, 1, 46, "Input"],
Cell[302211, 9061, 369, 13, 62, "Text"],
Cell[302583, 9076, 83, 1, 46, "Input"],
Cell[302669, 9079, 108, 5, 43, "Text"],
Cell[302780, 9086, 99, 2, 46, "Input"],
Cell[302882, 9090, 106, 3, 43, "Text"],
Cell[302991, 9095, 81, 1, 46, "Input"]
}, Open  ]],

Cell[CellGroupData[{
Cell[303109, 9101, 127, 3, 102, "Section",
  CellTags->"References"],
Cell[303239, 9106, 2856, 79, 409, "Text",
  CellTags->{
  "M. Carter", "Theo Driessen", "E. Inarra", "M. Maschler", "H. Meinhardt", 
    "C. Rafels", "Hal R. Varian"}],
Cell[306098, 9187, 36, 1, 46, "Input"]
}, Open  ]]
}
]
*)



(*******************************************************************
End of Mathematica Notebook file.
*******************************************************************)

