-
Notifications
You must be signed in to change notification settings - Fork 1
/
Robot.prob
4 lines (4 loc) · 21.6 KB
/
Robot.prob
1
2
3
4
parser_version(f9e78b2ed62c3c1e79b2f9661512bdb5c0e462e8).
classical_b('Robot',['C:\\Projects\\Atelier B\\RobotMazeCoursework\\Robot.mch','C:\\Projects\\Atelier B\\RobotMazeCoursework\\Maze.mch']).
machine(abstract_machine(pos(412,2,5,1,37,4),machine(pos(413,2,5,1,5,8)),machine_header(pos(414,2,6,5,6,9),'Maze',[]),[constants(pos(415,2,8,1,14,16),[identifier(pos(416,2,9,5,9,17),x_axis_range),identifier(pos(417,2,10,5,10,17),y_axis_range),identifier(pos(418,2,11,5,11,9),maze),identifier(pos(419,2,12,5,12,19),internal_walls),identifier(pos(420,2,13,5,13,20),entrance_square),identifier(pos(421,2,14,5,14,16),exit_square)]),properties(pos(422,2,16,1,35,30),conjunct(pos(423,2,18,5,35,30),conjunct(pos(424,2,18,5,34,48),conjunct(pos(425,2,18,5,33,34),conjunct(pos(426,2,18,5,32,52),conjunct(pos(427,2,18,5,30,6),conjunct(pos(428,2,18,5,26,51),conjunct(pos(429,2,18,5,24,39),conjunct(pos(430,2,18,5,22,41),conjunct(pos(431,2,18,5,20,51),conjunct(pos(432,2,18,5,20,29),conjunct(pos(433,2,18,5,18,51),subset(pos(434,2,18,5,18,29),identifier(pos(435,2,18,5,18,17),x_axis_range),natural1_set(pos(436,2,18,21,18,29))),equal(pos(437,2,18,32,18,51),identifier(pos(438,2,18,32,18,44),x_axis_range),interval(pos(439,2,18,47,18,51),integer(pos(440,2,18,47,18,48),1),integer(pos(441,2,18,50,18,51),7)))),subset(pos(442,2,20,5,20,29),identifier(pos(443,2,20,5,20,17),y_axis_range),natural1_set(pos(444,2,20,21,20,29)))),equal(pos(445,2,20,32,20,51),identifier(pos(446,2,20,32,20,44),y_axis_range),interval(pos(447,2,20,47,20,51),integer(pos(448,2,20,47,20,48),1),integer(pos(449,2,20,50,20,51),5)))),member(pos(450,2,22,5,22,41),identifier(pos(451,2,22,5,22,9),maze),relations(pos(452,2,22,12,22,41),identifier(pos(453,2,22,12,22,24),x_axis_range),identifier(pos(454,2,22,29,22,41),y_axis_range)))),equal(pos(455,2,24,5,24,39),identifier(pos(456,2,24,5,24,9),maze),mult_or_cart(pos(457,2,24,12,24,39),identifier(pos(458,2,24,12,24,24),x_axis_range),identifier(pos(459,2,24,27,24,39),y_axis_range)))),member(pos(460,2,26,5,26,51),identifier(pos(461,2,26,5,26,19),internal_walls),relations(pos(462,2,26,22,26,51),identifier(pos(463,2,26,22,26,34),x_axis_range),identifier(pos(464,2,26,39,26,51),y_axis_range)))),equal(pos(465,2,28,5,30,6),identifier(pos(466,2,28,5,28,19),internal_walls),set_extension(pos(467,2,28,22,30,6),[couple(pos(468,2,29,10,29,17),[integer(pos(469,2,29,10,29,11),2),integer(pos(470,2,29,16,29,17),1)]),couple(pos(471,2,29,21,29,28),[integer(pos(472,2,29,21,29,22),6),integer(pos(473,2,29,27,29,28),1)]),couple(pos(474,2,29,32,29,39),[integer(pos(475,2,29,32,29,33),4),integer(pos(476,2,29,38,29,39),2)]),couple(pos(477,2,29,43,29,50),[integer(pos(478,2,29,43,29,44),6),integer(pos(479,2,29,49,29,50),2)]),couple(pos(480,2,29,54,29,61),[integer(pos(481,2,29,54,29,55),1),integer(pos(482,2,29,60,29,61),3)]),couple(pos(483,2,29,65,29,72),[integer(pos(484,2,29,65,29,66),2),integer(pos(485,2,29,71,29,72),3)]),couple(pos(486,2,29,76,29,83),[integer(pos(487,2,29,76,29,77),3),integer(pos(488,2,29,82,29,83),3)]),couple(pos(489,2,29,87,29,94),[integer(pos(490,2,29,87,29,88),4),integer(pos(491,2,29,93,29,94),3)]),couple(pos(492,2,29,98,29,105),[integer(pos(493,2,29,98,29,99),4),integer(pos(494,2,29,104,29,105),4)]),couple(pos(495,2,29,109,29,116),[integer(pos(496,2,29,109,29,110),6),integer(pos(497,2,29,115,29,116),4)]),couple(pos(498,2,29,120,29,127),[integer(pos(499,2,29,120,29,121),7),integer(pos(500,2,29,126,29,127),4)]),couple(pos(501,2,29,131,29,138),[integer(pos(502,2,29,131,29,132),2),integer(pos(503,2,29,137,29,138),5)])]))),member(pos(504,2,32,5,32,52),identifier(pos(505,2,32,5,32,20),entrance_square),relations(pos(506,2,32,23,32,52),identifier(pos(507,2,32,23,32,35),x_axis_range),identifier(pos(508,2,32,40,32,52),y_axis_range)))),equal(pos(509,2,33,5,33,34),identifier(pos(510,2,33,5,33,20),entrance_square),set_extension(pos(511,2,33,23,33,34),[couple(pos(512,2,33,25,33,32),[integer(pos(513,2,33,25,33,26),1),integer(pos(514,2,33,31,33,32),1)])]))),member(pos(515,2,34,5,34,48),identifier(pos(516,2,34,5,34,16),exit_square),relations(pos(517,2,34,19,34,48),identifier(pos(518,2,34,19,34,31),x_axis_range),identifier(pos(519,2,34,36,34,48),y_axis_range)))),equal(pos(520,2,35,5,35,30),identifier(pos(521,2,35,5,35,16),exit_square),set_extension(pos(522,2,35,19,35,30),[couple(pos(523,2,35,21,35,28),[integer(pos(524,2,35,21,35,22),1),integer(pos(525,2,35,27,35,28),5)])]))))])).
machine(abstract_machine(pos(1,1,39,1,226,4),machine(pos(2,1,39,1,39,8)),machine_header(pos(3,1,40,5,40,10),'Robot',[]),[sees(pos(4,1,42,1,43,9),[identifier(pos(5,1,43,5,43,9),'Maze')]),sets(pos(6,1,45,1,46,192),[enumerated_set(pos(7,1,46,5,46,192),'REPORT',[identifier(pos(8,1,46,15,46,38),'Exceeding_Maze_Boundary'),identifier(pos(9,1,46,40,46,55),'Maze_Wall_Crash'),identifier(pos(10,1,46,57,46,68),'Moved_North'),identifier(pos(11,1,46,70,46,80),'Moved_East'),identifier(pos(12,1,46,82,46,93),'Moved_South'),identifier(pos(13,1,46,95,46,105),'Moved_West'),identifier(pos(14,1,46,107,46,134),'Cannot_Teleport_Immediately'),identifier(pos(15,1,46,136,46,170),'Cannot_Teleport_To_The_Same_Square'),identifier(pos(16,1,46,172,46,182),'Teleported'),identifier(pos(17,1,46,184,46,187),yes),identifier(pos(18,1,46,189,46,191),no)])]),variables(pos(19,1,49,1,53,19),[identifier(pos(20,1,50,5,50,19),robotXPosition),identifier(pos(21,1,51,5,51,19),robotYPosition),identifier(pos(22,1,52,5,52,20),currentPosition),identifier(pos(23,1,53,5,53,19),visitedSquares)]),invariant(pos(24,1,55,1,63,31),conjunct(pos(25,1,57,5,63,31),conjunct(pos(26,1,57,5,61,27),conjunct(pos(27,1,57,5,59,34),member(pos(28,1,57,5,57,34),identifier(pos(29,1,57,5,57,19),robotXPosition),identifier(pos(30,1,57,22,57,34),x_axis_range)),member(pos(31,1,59,5,59,34),identifier(pos(32,1,59,5,59,19),robotYPosition),identifier(pos(33,1,59,22,59,34),y_axis_range))),member(pos(34,1,61,5,61,27),identifier(pos(35,1,61,5,61,20),currentPosition),identifier(pos(36,1,61,23,61,27),maze))),member(pos(37,1,63,5,63,31),identifier(pos(38,1,63,5,63,19),visitedSquares),seq(pos(39,1,63,22,63,31),identifier(pos(40,1,63,26,63,30),maze))))),initialisation(pos(41,1,65,1,70,36),parallel(pos(42,1,67,5,70,36),[assign(pos(43,1,67,5,67,24),[identifier(pos(44,1,67,5,67,19),robotXPosition)],[integer(pos(45,1,67,23,67,24),1)]),assign(pos(46,1,68,5,68,24),[identifier(pos(47,1,68,5,68,19),robotYPosition)],[integer(pos(48,1,68,23,68,24),1)]),assign(pos(49,1,69,5,69,33),[identifier(pos(50,1,69,5,69,20),currentPosition)],[couple(pos(51,1,69,26,69,33),[integer(pos(52,1,69,26,69,27),1),integer(pos(53,1,69,32,69,33),1)])]),assign(pos(54,1,70,5,70,36),[identifier(pos(55,1,70,5,70,19),visitedSquares)],[sequence_extension(pos(56,1,70,23,70,36),[couple(pos(57,1,70,26,70,33),[integer(pos(58,1,70,26,70,27),1),integer(pos(59,1,70,32,70,33),1)])])])])),operations(pos(60,1,72,1,224,16),[operation(pos(61,1,74,5,91,12),identifier(pos(61,1,74,5,91,12),'MoveNorth'),[identifier(pos(62,1,74,5,74,11),report)],[],precondition(pos(63,1,75,9,91,12),member(pos(64,1,75,13,75,28),identifier(pos(65,1,75,13,75,19),report),identifier(pos(66,1,75,22,75,28),'REPORT')),if(pos(67,1,78,13,90,16),greater(pos(68,1,78,17,78,55),add(pos(69,1,78,17,78,35),identifier(pos(70,1,78,17,78,31),robotYPosition),integer(pos(71,1,78,34,78,35),1)),max(pos(72,1,78,38,78,55),identifier(pos(73,1,78,42,78,54),y_axis_range))),assign(pos(74,1,80,17,80,50),[identifier(pos(75,1,80,17,80,23),report)],[identifier(pos(76,1,80,27,80,50),'Exceeding_Maze_Boundary')]),[if_elsif(pos(77,1,82,13,84,42),member(pos(78,1,82,21,82,76),couple(pos(79,1,82,21,82,58),[identifier(pos(80,1,82,21,82,35),robotXPosition),add(pos(81,1,82,40,82,58),identifier(pos(82,1,82,40,82,54),robotYPosition),integer(pos(83,1,82,57,82,58),1))]),identifier(pos(84,1,82,62,82,76),internal_walls)),assign(pos(85,1,84,17,84,42),[identifier(pos(86,1,84,17,84,23),report)],[identifier(pos(87,1,84,27,84,42),'Maze_Wall_Crash')]))],parallel(pos(88,1,86,17,89,38),[assign(pos(89,1,86,17,86,92),[identifier(pos(90,1,86,17,86,31),visitedSquares)],[insert_tail(pos(91,1,86,36,86,92),identifier(pos(92,1,86,36,86,50),visitedSquares),couple(pos(93,1,86,55,86,92),[identifier(pos(94,1,86,55,86,69),robotXPosition),add(pos(95,1,86,74,86,92),identifier(pos(96,1,86,74,86,88),robotYPosition),integer(pos(97,1,86,91,86,92),1))]))]),assign(pos(98,1,87,17,87,74),[identifier(pos(99,1,87,17,87,32),currentPosition)],[couple(pos(100,1,87,37,87,74),[identifier(pos(101,1,87,37,87,51),robotXPosition),add(pos(102,1,87,56,87,74),identifier(pos(103,1,87,56,87,70),robotYPosition),integer(pos(104,1,87,73,87,74),1))])]),assign(pos(105,1,88,17,88,53),[identifier(pos(106,1,88,17,88,31),robotYPosition)],[add(pos(107,1,88,35,88,53),identifier(pos(108,1,88,35,88,49),robotYPosition),integer(pos(109,1,88,52,88,53),1))]),assign(pos(110,1,89,17,89,38),[identifier(pos(111,1,89,17,89,23),report)],[identifier(pos(112,1,89,27,89,38),'Moved_North')])])))),operation(pos(113,1,94,5,111,12),identifier(pos(113,1,94,5,111,12),'MoveEast'),[identifier(pos(114,1,94,5,94,11),report)],[],precondition(pos(115,1,95,9,111,12),member(pos(116,1,95,13,95,28),identifier(pos(117,1,95,13,95,19),report),identifier(pos(118,1,95,22,95,28),'REPORT')),if(pos(119,1,98,13,110,16),greater(pos(120,1,98,17,98,55),add(pos(121,1,98,17,98,35),identifier(pos(122,1,98,17,98,31),robotXPosition),integer(pos(123,1,98,34,98,35),1)),max(pos(124,1,98,38,98,55),identifier(pos(125,1,98,42,98,54),x_axis_range))),assign(pos(126,1,100,17,100,50),[identifier(pos(127,1,100,17,100,23),report)],[identifier(pos(128,1,100,27,100,50),'Exceeding_Maze_Boundary')]),[if_elsif(pos(129,1,102,13,104,42),member(pos(130,1,102,21,102,76),couple(pos(131,1,102,21,102,58),[add(pos(132,1,102,21,102,39),identifier(pos(133,1,102,21,102,35),robotXPosition),integer(pos(134,1,102,38,102,39),1)),identifier(pos(135,1,102,44,102,58),robotYPosition)]),identifier(pos(136,1,102,62,102,76),internal_walls)),assign(pos(137,1,104,17,104,42),[identifier(pos(138,1,104,17,104,23),report)],[identifier(pos(139,1,104,27,104,42),'Maze_Wall_Crash')]))],parallel(pos(140,1,106,17,109,37),[assign(pos(141,1,106,17,106,92),[identifier(pos(142,1,106,17,106,31),visitedSquares)],[insert_tail(pos(143,1,106,36,106,92),identifier(pos(144,1,106,36,106,50),visitedSquares),couple(pos(145,1,106,55,106,92),[add(pos(146,1,106,55,106,73),identifier(pos(147,1,106,55,106,69),robotXPosition),integer(pos(148,1,106,72,106,73),1)),identifier(pos(149,1,106,78,106,92),robotYPosition)]))]),assign(pos(150,1,107,17,107,74),[identifier(pos(151,1,107,17,107,32),currentPosition)],[couple(pos(152,1,107,37,107,74),[add(pos(153,1,107,37,107,55),identifier(pos(154,1,107,37,107,51),robotXPosition),integer(pos(155,1,107,54,107,55),1)),identifier(pos(156,1,107,60,107,74),robotYPosition)])]),assign(pos(157,1,108,17,108,53),[identifier(pos(158,1,108,17,108,31),robotXPosition)],[add(pos(159,1,108,35,108,53),identifier(pos(160,1,108,35,108,49),robotXPosition),integer(pos(161,1,108,52,108,53),1))]),assign(pos(162,1,109,17,109,37),[identifier(pos(163,1,109,17,109,23),report)],[identifier(pos(164,1,109,27,109,37),'Moved_East')])])))),operation(pos(165,1,114,5,131,12),identifier(pos(165,1,114,5,131,12),'MoveSouth'),[identifier(pos(166,1,114,5,114,11),report)],[],precondition(pos(167,1,115,9,131,12),member(pos(168,1,115,13,115,28),identifier(pos(169,1,115,13,115,19),report),identifier(pos(170,1,115,22,115,28),'REPORT')),if(pos(171,1,118,13,130,16),less(pos(172,1,118,17,118,55),minus_or_set_subtract(pos(173,1,118,17,118,35),identifier(pos(174,1,118,17,118,31),robotYPosition),integer(pos(175,1,118,34,118,35),1)),min(pos(176,1,118,38,118,55),identifier(pos(177,1,118,42,118,54),y_axis_range))),assign(pos(178,1,120,17,120,50),[identifier(pos(179,1,120,17,120,23),report)],[identifier(pos(180,1,120,27,120,50),'Exceeding_Maze_Boundary')]),[if_elsif(pos(181,1,122,13,124,42),member(pos(182,1,122,21,122,76),couple(pos(183,1,122,21,122,58),[identifier(pos(184,1,122,21,122,35),robotXPosition),minus_or_set_subtract(pos(185,1,122,40,122,58),identifier(pos(186,1,122,40,122,54),robotYPosition),integer(pos(187,1,122,57,122,58),1))]),identifier(pos(188,1,122,62,122,76),internal_walls)),assign(pos(189,1,124,17,124,42),[identifier(pos(190,1,124,17,124,23),report)],[identifier(pos(191,1,124,27,124,42),'Maze_Wall_Crash')]))],parallel(pos(192,1,126,17,129,38),[assign(pos(193,1,126,17,126,92),[identifier(pos(194,1,126,17,126,31),visitedSquares)],[insert_tail(pos(195,1,126,36,126,92),identifier(pos(196,1,126,36,126,50),visitedSquares),couple(pos(197,1,126,55,126,92),[identifier(pos(198,1,126,55,126,69),robotXPosition),minus_or_set_subtract(pos(199,1,126,74,126,92),identifier(pos(200,1,126,74,126,88),robotYPosition),integer(pos(201,1,126,91,126,92),1))]))]),assign(pos(202,1,127,17,127,74),[identifier(pos(203,1,127,17,127,32),currentPosition)],[couple(pos(204,1,127,37,127,74),[identifier(pos(205,1,127,37,127,51),robotXPosition),minus_or_set_subtract(pos(206,1,127,56,127,74),identifier(pos(207,1,127,56,127,70),robotYPosition),integer(pos(208,1,127,73,127,74),1))])]),assign(pos(209,1,128,17,128,53),[identifier(pos(210,1,128,17,128,31),robotYPosition)],[minus_or_set_subtract(pos(211,1,128,35,128,53),identifier(pos(212,1,128,35,128,49),robotYPosition),integer(pos(213,1,128,52,128,53),1))]),assign(pos(214,1,129,17,129,38),[identifier(pos(215,1,129,17,129,23),report)],[identifier(pos(216,1,129,27,129,38),'Moved_South')])])))),operation(pos(217,1,134,9,151,16),identifier(pos(217,1,134,9,151,16),'MoveWest'),[identifier(pos(218,1,134,9,134,15),report)],[],precondition(pos(219,1,135,13,151,16),member(pos(220,1,135,17,135,32),identifier(pos(221,1,135,17,135,23),report),identifier(pos(222,1,135,26,135,32),'REPORT')),if(pos(223,1,138,17,150,20),less(pos(224,1,138,21,138,59),minus_or_set_subtract(pos(225,1,138,21,138,39),identifier(pos(226,1,138,21,138,35),robotXPosition),integer(pos(227,1,138,38,138,39),1)),min(pos(228,1,138,42,138,59),identifier(pos(229,1,138,46,138,58),x_axis_range))),assign(pos(230,1,140,21,140,54),[identifier(pos(231,1,140,21,140,27),report)],[identifier(pos(232,1,140,31,140,54),'Exceeding_Maze_Boundary')]),[if_elsif(pos(233,1,142,17,144,46),member(pos(234,1,142,25,142,80),couple(pos(235,1,142,25,142,62),[minus_or_set_subtract(pos(236,1,142,25,142,43),identifier(pos(237,1,142,25,142,39),robotXPosition),integer(pos(238,1,142,42,142,43),1)),identifier(pos(239,1,142,48,142,62),robotYPosition)]),identifier(pos(240,1,142,66,142,80),internal_walls)),assign(pos(241,1,144,21,144,46),[identifier(pos(242,1,144,21,144,27),report)],[identifier(pos(243,1,144,31,144,46),'Maze_Wall_Crash')]))],parallel(pos(244,1,146,21,149,41),[assign(pos(245,1,146,21,146,96),[identifier(pos(246,1,146,21,146,35),visitedSquares)],[insert_tail(pos(247,1,146,40,146,96),identifier(pos(248,1,146,40,146,54),visitedSquares),couple(pos(249,1,146,59,146,96),[minus_or_set_subtract(pos(250,1,146,59,146,77),identifier(pos(251,1,146,59,146,73),robotXPosition),integer(pos(252,1,146,76,146,77),1)),identifier(pos(253,1,146,82,146,96),robotYPosition)]))]),assign(pos(254,1,147,21,147,78),[identifier(pos(255,1,147,21,147,36),currentPosition)],[couple(pos(256,1,147,41,147,78),[minus_or_set_subtract(pos(257,1,147,41,147,59),identifier(pos(258,1,147,41,147,55),robotXPosition),integer(pos(259,1,147,58,147,59),1)),identifier(pos(260,1,147,64,147,78),robotYPosition)])]),assign(pos(261,1,148,21,148,57),[identifier(pos(262,1,148,21,148,35),robotXPosition)],[minus_or_set_subtract(pos(263,1,148,39,148,57),identifier(pos(264,1,148,39,148,53),robotXPosition),integer(pos(265,1,148,56,148,57),1))]),assign(pos(266,1,149,21,149,41),[identifier(pos(267,1,149,21,149,27),report)],[identifier(pos(268,1,149,31,149,41),'Moved_West')])])))),operation(pos(269,1,154,9,180,16),identifier(pos(269,1,154,9,180,16),'Teleport'),[identifier(pos(270,1,154,9,154,15),report)],[identifier(pos(271,1,154,29,154,46),teleportXPosition),identifier(pos(272,1,154,48,154,65),teleportYPosition)],precondition(pos(273,1,155,13,180,16),conjunct(pos(274,1,155,17,155,94),conjunct(pos(275,1,155,17,155,63),member(pos(276,1,155,17,155,32),identifier(pos(277,1,155,17,155,23),report),identifier(pos(278,1,155,26,155,32),'REPORT')),member(pos(279,1,155,35,155,63),identifier(pos(280,1,155,35,155,52),teleportXPosition),natural1_set(pos(281,1,155,55,155,63)))),member(pos(282,1,155,66,155,94),identifier(pos(283,1,155,66,155,83),teleportYPosition),natural1_set(pos(284,1,155,86,155,94)))),if(pos(285,1,158,17,179,20),equal(pos(286,1,158,21,158,45),size(pos(287,1,158,21,158,41),identifier(pos(288,1,158,26,158,40),visitedSquares)),integer(pos(289,1,158,44,158,45),1)),assign(pos(290,1,160,21,160,58),[identifier(pos(291,1,160,21,160,27),report)],[identifier(pos(292,1,160,31,160,58),'Cannot_Teleport_Immediately')]),[if_elsif(pos(293,1,162,17,164,46),member(pos(294,1,162,25,162,82),couple(pos(295,1,162,25,162,64),[identifier(pos(296,1,162,25,162,42),teleportXPosition),identifier(pos(297,1,162,47,162,64),teleportYPosition)]),identifier(pos(298,1,162,68,162,82),internal_walls)),assign(pos(299,1,164,21,164,46),[identifier(pos(300,1,164,21,164,27),report)],[identifier(pos(301,1,164,31,164,46),'Maze_Wall_Crash')])),if_elsif(pos(302,1,166,17,168,65),conjunct(pos(303,1,166,24,166,95),equal(pos(304,1,166,24,166,58),identifier(pos(305,1,166,24,166,41),teleportXPosition),identifier(pos(306,1,166,44,166,58),robotXPosition)),equal(pos(307,1,166,61,166,95),identifier(pos(308,1,166,61,166,78),teleportYPosition),identifier(pos(309,1,166,81,166,95),robotYPosition))),assign(pos(310,1,168,21,168,65),[identifier(pos(311,1,168,21,168,27),report)],[identifier(pos(312,1,168,31,168,65),'Cannot_Teleport_To_The_Same_Square')])),if_elsif(pos(313,1,170,17,172,54),not_member(pos(314,1,170,25,170,73),couple(pos(315,1,170,25,170,64),[identifier(pos(316,1,170,25,170,42),teleportXPosition),identifier(pos(317,1,170,47,170,64),teleportYPosition)]),identifier(pos(318,1,170,69,170,73),maze)),assign(pos(319,1,172,21,172,54),[identifier(pos(320,1,172,21,172,27),report)],[identifier(pos(321,1,172,31,172,54),'Exceeding_Maze_Boundary')]))],parallel(pos(322,1,174,21,178,41),[assign(pos(323,1,174,21,174,98),[identifier(pos(324,1,174,21,174,35),visitedSquares)],[insert_tail(pos(325,1,174,40,174,98),identifier(pos(326,1,174,40,174,54),visitedSquares),couple(pos(327,1,174,59,174,98),[identifier(pos(328,1,174,59,174,76),teleportXPosition),identifier(pos(329,1,174,81,174,98),teleportYPosition)]))]),assign(pos(330,1,175,21,175,80),[identifier(pos(331,1,175,21,175,36),currentPosition)],[couple(pos(332,1,175,41,175,80),[identifier(pos(333,1,175,41,175,58),teleportXPosition),identifier(pos(334,1,175,63,175,80),teleportYPosition)])]),assign(pos(335,1,176,21,176,56),[identifier(pos(336,1,176,21,176,35),robotXPosition)],[identifier(pos(337,1,176,39,176,56),teleportXPosition)]),assign(pos(338,1,177,21,177,56),[identifier(pos(339,1,177,21,177,35),robotYPosition)],[identifier(pos(340,1,177,39,177,56),teleportYPosition)]),assign(pos(341,1,178,21,178,41),[identifier(pos(342,1,178,21,178,27),report)],[identifier(pos(343,1,178,31,178,41),'Teleported')])])))),operation(pos(344,1,183,9,186,16),identifier(pos(344,1,183,9,186,16),getPosition),[identifier(pos(345,1,183,9,183,17),position)],[],block(pos(346,1,184,13,186,16),assign(pos(347,1,185,13,185,40),[identifier(pos(348,1,185,13,185,21),position)],[identifier(pos(349,1,185,25,185,40),currentPosition)]))),operation(pos(350,1,189,9,199,16),identifier(pos(350,1,189,9,199,16),foundExit),[identifier(pos(351,1,189,9,189,16),enquiry)],[],precondition(pos(352,1,190,13,199,16),member(pos(353,1,190,17,190,33),identifier(pos(354,1,190,17,190,24),enquiry),identifier(pos(355,1,190,27,190,33),'REPORT')),if(pos(356,1,193,17,198,20),member(pos(357,1,193,21,193,50),identifier(pos(358,1,193,21,193,36),currentPosition),identifier(pos(359,1,193,39,193,50),exit_square)),assign(pos(360,1,195,21,195,35),[identifier(pos(361,1,195,21,195,28),enquiry)],[identifier(pos(362,1,195,32,195,35),yes)]),[],assign(pos(363,1,197,21,197,34),[identifier(pos(364,1,197,21,197,28),enquiry)],[identifier(pos(365,1,197,32,197,34),no)])))),operation(pos(366,1,202,9,218,16),identifier(pos(366,1,202,9,218,16),visitedSquare),[identifier(pos(367,1,202,9,202,16),visited)],[identifier(pos(368,1,202,35,202,51),visitedXPosition),identifier(pos(369,1,202,53,202,69),visitedYPosition)],precondition(pos(370,1,203,13,218,16),conjunct(pos(371,1,203,17,203,93),conjunct(pos(372,1,203,17,203,63),member(pos(373,1,203,17,203,33),identifier(pos(374,1,203,17,203,24),visited),identifier(pos(375,1,203,27,203,33),'REPORT')),member(pos(376,1,203,36,203,63),identifier(pos(377,1,203,36,203,52),visitedXPosition),natural1_set(pos(378,1,203,55,203,63)))),member(pos(379,1,203,66,203,93),identifier(pos(380,1,203,66,203,82),visitedYPosition),natural1_set(pos(381,1,203,85,203,93)))),if(pos(382,1,206,17,217,20),member(pos(383,1,206,22,206,67),couple(pos(384,1,206,22,206,59),[identifier(pos(385,1,206,22,206,38),visitedXPosition),identifier(pos(386,1,206,43,206,59),visitedYPosition)]),identifier(pos(387,1,206,63,206,67),maze)),if(pos(388,1,209,21,214,24),member(pos(389,1,209,26,209,93),couple(pos(390,1,209,26,209,63),[identifier(pos(391,1,209,26,209,42),visitedXPosition),identifier(pos(392,1,209,47,209,63),visitedYPosition)]),range(pos(393,1,209,67,209,93),front(pos(394,1,209,71,209,92),identifier(pos(395,1,209,77,209,91),visitedSquares)))),assign(pos(396,1,211,25,211,39),[identifier(pos(397,1,211,25,211,32),visited)],[identifier(pos(398,1,211,36,211,39),yes)]),[],assign(pos(399,1,213,25,213,38),[identifier(pos(400,1,213,25,213,32),visited)],[identifier(pos(401,1,213,36,213,38),no)])),[],assign(pos(402,1,216,21,216,55),[identifier(pos(403,1,216,21,216,28),visited)],[identifier(pos(404,1,216,32,216,55),'Exceeding_Maze_Boundary')])))),operation(pos(405,1,221,9,224,16),identifier(pos(405,1,221,9,224,16),robotsRoute),[identifier(pos(406,1,221,9,221,14),route)],[],block(pos(407,1,222,13,224,16),assign(pos(408,1,223,17,223,40),[identifier(pos(409,1,223,17,223,22),route)],[identifier(pos(410,1,223,26,223,40),visitedSquares)])))])])).