OKlibrary  0.2.1.6
Sudoku.mac
Go to the documentation of this file.
00001 /* Oliver Kullmann, 7.10.2009 (Swansea) */
00002 /* Copyright 2009 Oliver Kullmann
00003 This file is part of the OKlibrary. OKlibrary is free software; you can redistribute
00004 it and/or modify it under the terms of the GNU General Public License as published by
00005 the Free Software Foundation and included in this library; either version 3 of the
00006 License, or any later version. */
00007 
00021 oklib_include("OKlib/ComputerAlgebra/Satisfiability/Lisp/Generators/Sudoku.mac")$
00022 oklib_include("OKlib/ComputerAlgebra/Satisfiability/Lisp/Generators/tests/Sudoku.mac")$
00023 
00024 /* *************
00025    * Variables *
00026    *************
00027 */
00028 
00029 okltest_var_sdk(var_sdk);
00030 
00031 okltest_standardise_sdk(standardise_sdk);
00032 okltest_invstandardise_sdk(invstandardise_sdk);
00033 
00034 /* *************************
00035    * The basic translation *
00036    *************************
00037 */
00038 
00039 okltest_sdk_different_rows_cl(sdk_different_rows_cl);
00040 
00041 okltest_sdk_different_columns_cl(sdk_different_columns_cl);
00042 
00043 okltest_sdk_positions_box(sdk_positions_box);
00044 
00045 okltest_sdk_different_boxes_cl(sdk_different_boxes_cl);
00046 
00047 okltest_sdk_all_fields_cl(sdk_all_fields_cl);
00048 
00049 okltest_weak_sdk_fcl(weak_sdk_fcl);
00050 
00051 /* **************************
00052    * Additional constraints *
00053    **************************
00054 */
00055 
00056 okltest_sdk_all_rows(sdk_all_rows);
00057 
00058 okltest_sdk_all_columns(sdk_all_columns);
00059 
00060 okltest_sdk_all_boxes(sdk_all_boxes);
00061 
00062 okltest_dual_weak_sdk(dual_weak_sdk);
00063 
00064 okltest_strong_sdk(strong_sdk);
00065 
00066 /* ************
00067    * Measures *
00068    ************
00069 */
00070 
00071 okltest_nvar_sdk(nvar_sdk);
00072 
00073 okltest_ncl_list_weak_sdk_fcl(ncl_list_weak_sdk_fcl);
00074 okltest_ncl_list_weak_sdk_fcs(ncl_list_weak_sdk_fcs);
00075 okltest_ncl_list_dual_weak_sdk_fcl(ncl_list_dual_weak_sdk_fcl);
00076 okltest_ncl_list_dual_weak_sdk_fcs(ncl_list_dual_weak_sdk_fcs);
00077 okltest_ncl_list_strong_sdk_fcl(ncl_list_strong_sdk_fcl);
00078 okltest_ncl_list_strong_sdk_fcs(ncl_list_strong_sdk_fcs);
00079 
00080 okltest_ncl_weak_sdk_fcl(ncl_weak_sdk_fcl);
00081 okltest_ncl_weak_sdk_fcs(ncl_weak_sdk_fcs);
00082 okltest_ncl_dual_weak_sdk_fcl(ncl_dual_weak_sdk_fcl);
00083 okltest_ncl_dual_weak_sdk_fcs(ncl_dual_weak_sdk_fcs);
00084 okltest_ncl_strong_sdk_fcl(ncl_strong_sdk_fcl);
00085 okltest_ncl_strong_sdk_fcs(ncl_strong_sdk_fcs);
00086 
00087 okltest_nlitocc_weak_sdk_fcl(nlitocc_weak_sdk_fcl);
00088 okltest_nlitocc_weak_sdk_fcs(nlitocc_weak_sdk_fcs);
00089 okltest_nlitocc_dual_weak_sdk_fcl(nlitocc_dual_weak_sdk_fcl);
00090 okltest_nlitocc_dual_weak_sdk_fcs(nlitocc_dual_weak_sdk_fcs);
00091 okltest_nlitocc_strong_sdk_fcl(nlitocc_strong_sdk_fcl);
00092 okltest_nlitocc_strong_sdk_fcs(nlitocc_strong_sdk_fcs);
00093 
00094 /* ********************
00095    * Creating puzzles *
00096    ********************
00097 */
00098 
00099 okltest_sdk_fields_stdcl(sdk_fields_stdcl);
00100 
00101