From 780a143898a5fb25a8eebaec3976bd70e3084e93 Mon Sep 17 00:00:00 2001
From: Michael Leuschel <leuschel@uni-duesseldorf.de>
Date: Thu, 1 Jul 2021 11:10:06 +0200
Subject: [PATCH] add two more puzzles

---
 Sudoku/SudokuEvent.mch | 33 ++++++++++++++++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/Sudoku/SudokuEvent.mch b/Sudoku/SudokuEvent.mch
index 27283a9..cefcf11 100644
--- a/Sudoku/SudokuEvent.mch
+++ b/Sudoku/SudokuEvent.mch
@@ -44,6 +44,36 @@ DEFINITIONS
    BOARD(8)(1)=8 & BOARD(8)(2)=6 & BOARD(8)(3)=7 & BOARD(8)(6)=3 & BOARD(8)(7)=4 & BOARD(8)(9)=9 &
    BOARD(9)(3)=5 & BOARD(9)(7)=1
   );
+  PUZZLE2(BOARD) == (
+
+   BOARD(1)(1)=1 & BOARD(1)(2)=3 & BOARD(1)(4)=8 & BOARD(1)(5)=6 & BOARD(1)(6)=5
+                 & BOARD(1)(9)=9 &
+   BOARD(2)(3)=8 & BOARD(2)(6)=4 & BOARD(2)(7)=1 & BOARD(2)(9)=2 &
+   BOARD(3)(4)=1 & BOARD(3)(5)=2 &
+
+   BOARD(4)(3)=7 & BOARD(4)(4)=6 & BOARD(4)(7)=9 & BOARD(4)(9)=3 &
+   BOARD(5)(1)=9 & BOARD(5)(2)=1 & BOARD(5)(3)=5 & BOARD(5)(4)=4 
+                 & BOARD(5)(8)=8 & BOARD(5)(9)=7 &           
+   BOARD(6)(1)=6 & BOARD(6)(3)=3 & BOARD(6)(5)=1 & BOARD(6)(6)=7 & BOARD(6)(8)=5 &
+
+   BOARD(7)(7)=3 & BOARD(7)(8)=4 & BOARD(7)(9)=5 &
+   BOARD(8)(3)=6 & BOARD(8)(4)=7 & BOARD(8)(6)=3 & BOARD(8)(7)=8 & BOARD(8)(8)=9 &
+   BOARD(9)(3)=9 & BOARD(9)(5)=8 & BOARD(9)(9)=6
+  );
+
+ PUZZLE3(BOARD) == (
+   BOARD(1)(2)=4 & BOARD(1)(3)=3 & BOARD(1)(6)=5 & BOARD(1)(8)=8 & BOARD(1)(9)=7 &
+   BOARD(2)(2)=9 & BOARD(2)(6)=3 & 
+   BOARD(3)(5)=2 & BOARD(3)(8)=1 &
+
+   BOARD(4)(3)=9 & BOARD(4)(4)=8 & BOARD(4)(9)=5 & 
+   BOARD(5)(2)=5 & BOARD(5)(3)=8 & BOARD(5)(8)=2 & BOARD(5)(9)=6 &            
+   BOARD(6)(2)=7 & BOARD(6)(4)=2 & 
+
+   BOARD(7)(1)=5 & BOARD(7)(2)=8 & BOARD(7)(4)=1 & BOARD(7)(6)=2 & BOARD(7)(7)=4 & BOARD (7)(8)=7 &
+   BOARD(8)(9)=3 &
+   BOARD(9)(1)=9 & BOARD(9)(2)=1 & BOARD(9)(4)=7 & BOARD(9)(5)=6 & BOARD(9)(7)=5
+  );
 
   UnassignedPosition(x,y) == x:DOM & y:DOM & not(y:dom(Board(x)));
   PossibleVals(cx,cy) == DOM \ ran({x,y,r| x|->y : conflict_pos(cx,cy) & y:dom(Board(x)) & r=Board(x)(y)})
@@ -53,7 +83,8 @@ CONSTANTS
   conflict_pos_sym /*@desc "symmetry-reduced version of conflict_pos" */,
   PuzzleBoard /*@desc "Stored Puzzle" */
 PROPERTIES
-  PuzzleBoard : DOM --> (DOM +-> RAN) & PUZZLE(PuzzleBoard) &
+  PuzzleBoard : DOM --> (DOM +-> RAN) & 
+  PUZZLE(PuzzleBoard) &
   get_square = %x.(x:DOM | 1 + (x-1)/3) /*@desc "Get square (1,2,3) for a coordinate 1..9" */
   &
   conflict_pos = %(x,y).(x:DOM & y:DOM | {x2,y2 | x2:DOM & y2:DOM &  (x,y) /= (x2,y2) &
-- 
GitLab