% resic sudoku pomoci CLPFD a SICStus Prologu :- use_module(library(clpfd)). % hlavni predikat cif :- print('ciferniky zacinaji...'), nl, % delka pole, ve kterem bude ulozeno reseni length(Reseni, 81), % sesilani omezeni domen promennych print('sesilani omezeni...'), nl, Reseni ins 1..9, omezeni_vseho(Reseni), % prochazeni reseni print('prochazeni reseni...'), nl, % labeling instanciuje vsechny promenne ze seznamu Reseni (hodnotami z jejich domen) tak, aby nebyla porusena zadna omezeni % pokud je vice moznosti, interpret je vypise vsechny, vzdy po zadani znaku ';' (strednik) labeling([leftmost], Reseni), % vypis reseni print('vypis reseni...'), nl, vypis_reseni(Reseni), nl, print('ciferniky konci'), nl. % seslani omezeni domen promennych omezeni_vseho([ A1, A2, A3, A4, A5, A6, A7, A8, A9, B1, B2, B3, B4, B5, B6, B7, B8, B9, C1, C2, C3, C4, C5, C6, C7, C8, C9, D1, D2, D3, D4, D5, D6, D7, D8, D9, E1, E2, E3, E4, E5, E6, E7, E8, E9, F1, F2, F3, F4, F5, F6, F7, F8, F9, G1, G2, G3, G4, G5, G6, G7, G8, G9, H1, H2, H3, H4, H5, H6, H7, H8, H9, I1, I2, I3, I4, I5, I6, I7, I8, I9]) :- % zadana cisla A1 #= 8, A4 #= 3, A6 #= 7, A9 #= 5, C5 #= 2, D1 #= 6, D9 #= 9, E3 #= 4, E7 #= 2, F1 #= 2, F9 #= 8, G5 #= 3, I1 #= 7, I4 #= 9, I6 #= 2, I9 #= 1, % ciferniky (((A1 #< A2) #/\ (A2 #< B2) #/\ (B2 #< B1)) #\/ ((A2 #< B2) #/\ (B2 #< B1) #/\ (B1 #< A1)) #\/ ((B2 #< B1) #/\ (B1 #< A1) #/\ (A1 #< A2)) #\/ ((B1 #< A1) #/\ (A1 #< A2) #/\ (A2 #< B2))), (((A2 #> A3) #/\ (A3 #> B3) #/\ (B3 #> B2)) #\/ ((A3 #> B3) #/\ (B3 #> B2) #/\ (B2 #> A2)) #\/ ((B3 #> B2) #/\ (B2 #> A2) #/\ (A2 #> A3)) #\/ ((B2 #> A2) #/\ (A2 #> A3) #/\ (A3 #> B3))), (((A4 #< A5) #/\ (A5 #< B5) #/\ (B5 #< B4)) #\/ ((A5 #< B5) #/\ (B5 #< B4) #/\ (B4 #< A4)) #\/ ((B5 #< B4) #/\ (B4 #< A4) #/\ (A4 #< A5)) #\/ ((B4 #< A4) #/\ (A4 #< A5) #/\ (A5 #< B5))), (((A7 #< A8) #/\ (A8 #< B8) #/\ (B8 #< B7)) #\/ ((A8 #< B8) #/\ (B8 #< B7) #/\ (B7 #< A7)) #\/ ((B8 #< B7) #/\ (B7 #< A7) #/\ (A7 #< A8)) #\/ ((B7 #< A7) #/\ (A7 #< A8) #/\ (A8 #< B8))), (((B1 #> B2) #/\ (B2 #> C2) #/\ (C2 #> C1)) #\/ ((B2 #> C2) #/\ (C2 #> C1) #/\ (C1 #> B1)) #\/ ((C2 #> C1) #/\ (C1 #> B1) #/\ (B1 #> B2)) #\/ ((C1 #> B1) #/\ (B1 #> B2) #/\ (B2 #> C2))), (((B2 #< B3) #/\ (B3 #< C3) #/\ (C3 #< C2)) #\/ ((B3 #< C3) #/\ (C3 #< C2) #/\ (C2 #< B2)) #\/ ((C3 #< C2) #/\ (C2 #< B2) #/\ (B2 #< B3)) #\/ ((C2 #< B2) #/\ (B2 #< B3) #/\ (B3 #< C3))), (((B8 #> B9) #/\ (B9 #> C9) #/\ (C9 #> C8)) #\/ ((B9 #> C9) #/\ (C9 #> C8) #/\ (C8 #> B8)) #\/ ((C9 #> C8) #/\ (C8 #> B8) #/\ (B8 #> B9)) #\/ ((C8 #> B8) #/\ (B8 #> B9) #/\ (B9 #> C9))), (((C1 #> C2) #/\ (C2 #> D2) #/\ (D2 #> D1)) #\/ ((C2 #> D2) #/\ (D2 #> D1) #/\ (D1 #> C1)) #\/ ((D2 #> D1) #/\ (D1 #> C1) #/\ (C1 #> C2)) #\/ ((D1 #> C1) #/\ (C1 #> C2) #/\ (C2 #> D2))), (((C3 #> C4) #/\ (C4 #> D4) #/\ (D4 #> D3)) #\/ ((C4 #> D4) #/\ (D4 #> D3) #/\ (D3 #> C3)) #\/ ((D4 #> D3) #/\ (D3 #> C3) #/\ (C3 #> C4)) #\/ ((D3 #> C3) #/\ (C3 #> C4) #/\ (C4 #> D4))), (((C7 #< C8) #/\ (C8 #< D8) #/\ (D8 #< D7)) #\/ ((C8 #< D8) #/\ (D8 #< D7) #/\ (D7 #< C7)) #\/ ((D8 #< D7) #/\ (D7 #< C7) #/\ (C7 #< C8)) #\/ ((D7 #< C7) #/\ (C7 #< C8) #/\ (C8 #< D8))), (((D1 #< D2) #/\ (D2 #< E2) #/\ (E2 #< E1)) #\/ ((D2 #< E2) #/\ (E2 #< E1) #/\ (E1 #< D1)) #\/ ((E2 #< E1) #/\ (E1 #< D1) #/\ (D1 #< D2)) #\/ ((E1 #< D1) #/\ (D1 #< D2) #/\ (D2 #< E2))), (((D5 #> D6) #/\ (D6 #> E6) #/\ (E6 #> E5)) #\/ ((D6 #> E6) #/\ (E6 #> E5) #/\ (E5 #> D5)) #\/ ((E6 #> E5) #/\ (E5 #> D5) #/\ (D5 #> D6)) #\/ ((E5 #> D5) #/\ (D5 #> D6) #/\ (D6 #> E6))), (((D8 #> D9) #/\ (D9 #> E9) #/\ (E9 #> E8)) #\/ ((D9 #> E9) #/\ (E9 #> E8) #/\ (E8 #> D8)) #\/ ((E9 #> E8) #/\ (E8 #> D8) #/\ (D8 #> D9)) #\/ ((E8 #> D8) #/\ (D8 #> D9) #/\ (D9 #> E9))), (((E1 #> E2) #/\ (E2 #> F2) #/\ (F2 #> F1)) #\/ ((E2 #> F2) #/\ (F2 #> F1) #/\ (F1 #> E1)) #\/ ((F2 #> F1) #/\ (F1 #> E1) #/\ (E1 #> E2)) #\/ ((F1 #> E1) #/\ (E1 #> E2) #/\ (E2 #> F2))), (((E5 #< E6) #/\ (E6 #< F6) #/\ (F6 #< F5)) #\/ ((E6 #< F6) #/\ (F6 #< F5) #/\ (F5 #< E5)) #\/ ((F6 #< F5) #/\ (F5 #< E5) #/\ (E5 #< E6)) #\/ ((F5 #< E5) #/\ (E5 #< E6) #/\ (E6 #< F6))), (((E6 #> E7) #/\ (E7 #> F7) #/\ (F7 #> F6)) #\/ ((E7 #> F7) #/\ (F7 #> F6) #/\ (F6 #> E6)) #\/ ((F7 #> F6) #/\ (F6 #> E6) #/\ (E6 #> E7)) #\/ ((F6 #> E6) #/\ (E6 #> E7) #/\ (E7 #> F7))), (((E8 #< E9) #/\ (E9 #< F9) #/\ (F9 #< F8)) #\/ ((E9 #< F9) #/\ (F9 #< F8) #/\ (F8 #< E8)) #\/ ((F9 #< F8) #/\ (F8 #< E8) #/\ (E8 #< E9)) #\/ ((F8 #< E8) #/\ (E8 #< E9) #/\ (E9 #< F9))), (((F2 #> F3) #/\ (F3 #> G3) #/\ (G3 #> G2)) #\/ ((F3 #> G3) #/\ (G3 #> G2) #/\ (G2 #> F2)) #\/ ((G3 #> G2) #/\ (G2 #> F2) #/\ (F2 #> F3)) #\/ ((G2 #> F2) #/\ (F2 #> F3) #/\ (F3 #> G3))), (((F3 #< F4) #/\ (F4 #< G4) #/\ (G4 #< G3)) #\/ ((F4 #< G4) #/\ (G4 #< G3) #/\ (G3 #< F3)) #\/ ((G4 #< G3) #/\ (G3 #< F3) #/\ (F3 #< F4)) #\/ ((G3 #< F3) #/\ (F3 #< F4) #/\ (F4 #< G4))), (((F5 #> F6) #/\ (F6 #> G6) #/\ (G6 #> G5)) #\/ ((F6 #> G6) #/\ (G6 #> G5) #/\ (G5 #> F5)) #\/ ((G6 #> G5) #/\ (G5 #> F5) #/\ (F5 #> F6)) #\/ ((G5 #> F5) #/\ (F5 #> F6) #/\ (F6 #> G6))), (((F6 #< F7) #/\ (F7 #< G7) #/\ (G7 #< G6)) #\/ ((F7 #< G7) #/\ (G7 #< G6) #/\ (G6 #< F6)) #\/ ((G7 #< G6) #/\ (G6 #< F6) #/\ (F6 #< F7)) #\/ ((G6 #< F6) #/\ (F6 #< F7) #/\ (F7 #< G7))), (((F7 #> F8) #/\ (F8 #> G8) #/\ (G8 #> G7)) #\/ ((F8 #> G8) #/\ (G8 #> G7) #/\ (G7 #> F7)) #\/ ((G8 #> G7) #/\ (G7 #> F7) #/\ (F7 #> F8)) #\/ ((G7 #> F7) #/\ (F7 #> F8) #/\ (F8 #> G8))), (((G7 #< G8) #/\ (G8 #< H8) #/\ (H8 #< H7)) #\/ ((G8 #< H8) #/\ (H8 #< H7) #/\ (H7 #< G7)) #\/ ((H8 #< H7) #/\ (H7 #< G7) #/\ (G7 #< G8)) #\/ ((H7 #< G7) #/\ (G7 #< G8) #/\ (G8 #< H8))), (((H1 #< H2) #/\ (H2 #< I2) #/\ (I2 #< I1)) #\/ ((H2 #< I2) #/\ (I2 #< I1) #/\ (I1 #< H1)) #\/ ((I2 #< I1) #/\ (I1 #< H1) #/\ (H1 #< H2)) #\/ ((I1 #< H1) #/\ (H1 #< H2) #/\ (H2 #< I2))), (((H2 #> H3) #/\ (H3 #> I3) #/\ (I3 #> I2)) #\/ ((H3 #> I3) #/\ (I3 #> I2) #/\ (I2 #> H2)) #\/ ((I3 #> I2) #/\ (I2 #> H2) #/\ (H2 #> H3)) #\/ ((I2 #> H2) #/\ (H2 #> H3) #/\ (H3 #> I3))), (((H5 #< H6) #/\ (H6 #< I6) #/\ (I6 #< I5)) #\/ ((H6 #< I6) #/\ (I6 #< I5) #/\ (I5 #< H5)) #\/ ((I6 #< I5) #/\ (I5 #< H5) #/\ (H5 #< H6)) #\/ ((I5 #< H5) #/\ (H5 #< H6) #/\ (H6 #< I6))), (((H6 #> H7) #/\ (H7 #> I7) #/\ (I7 #> I6)) #\/ ((H7 #> I7) #/\ (I7 #> I6) #/\ (I6 #> H6)) #\/ ((I7 #> I6) #/\ (I6 #> H6) #/\ (H6 #> H7)) #\/ ((I6 #> H6) #/\ (H6 #> H7) #/\ (H7 #> I7))), (((H8 #> H9) #/\ (H9 #> I9) #/\ (I9 #> I8)) #\/ ((H9 #> I9) #/\ (I9 #> I8) #/\ (I8 #> H8)) #\/ ((I9 #> I8) #/\ (I8 #> H8) #/\ (H8 #> H9)) #\/ ((I8 #> H8) #/\ (H8 #> H9) #/\ (H9 #> I9))), #\ (((A3 #< A4) #/\ (A4 #< B4) #/\ (B4 #< B3)) #\/ ((A4 #< B4) #/\ (B4 #< B3) #/\ (B3 #< A3)) #\/ ((B4 #< B3) #/\ (B3 #< A3) #/\ (A3 #< A4)) #\/ ((B3 #< A3) #/\ (A3 #< A4) #/\ (A4 #< B4))), #\ (((A3 #> A4) #/\ (A4 #> B4) #/\ (B4 #> B3)) #\/ ((A4 #> B4) #/\ (B4 #> B3) #/\ (B3 #> A3)) #\/ ((B4 #> B3) #/\ (B3 #> A3) #/\ (A3 #> A4)) #\/ ((B3 #> A3) #/\ (A3 #> A4) #/\ (A4 #> B4))), #\ (((A5 #< A6) #/\ (A6 #< B6) #/\ (B6 #< B5)) #\/ ((A6 #< B6) #/\ (B6 #< B5) #/\ (B5 #< A5)) #\/ ((B6 #< B5) #/\ (B5 #< A5) #/\ (A5 #< A6)) #\/ ((B5 #< A5) #/\ (A5 #< A6) #/\ (A6 #< B6))), #\ (((A5 #> A6) #/\ (A6 #> B6) #/\ (B6 #> B5)) #\/ ((A6 #> B6) #/\ (B6 #> B5) #/\ (B5 #> A5)) #\/ ((B6 #> B5) #/\ (B5 #> A5) #/\ (A5 #> A6)) #\/ ((B5 #> A5) #/\ (A5 #> A6) #/\ (A6 #> B6))), #\ (((A6 #< A7) #/\ (A7 #< B7) #/\ (B7 #< B6)) #\/ ((A7 #< B7) #/\ (B7 #< B6) #/\ (B6 #< A6)) #\/ ((B7 #< B6) #/\ (B6 #< A6) #/\ (A6 #< A7)) #\/ ((B6 #< A6) #/\ (A6 #< A7) #/\ (A7 #< B7))), #\ (((A6 #> A7) #/\ (A7 #> B7) #/\ (B7 #> B6)) #\/ ((A7 #> B7) #/\ (B7 #> B6) #/\ (B6 #> A6)) #\/ ((B7 #> B6) #/\ (B6 #> A6) #/\ (A6 #> A7)) #\/ ((B6 #> A6) #/\ (A6 #> A7) #/\ (A7 #> B7))), #\ (((A8 #< A9) #/\ (A9 #< B9) #/\ (B9 #< B8)) #\/ ((A9 #< B9) #/\ (B9 #< B8) #/\ (B8 #< A8)) #\/ ((B9 #< B8) #/\ (B8 #< A8) #/\ (A8 #< A9)) #\/ ((B8 #< A8) #/\ (A8 #< A9) #/\ (A9 #< B9))), #\ (((A8 #> A9) #/\ (A9 #> B9) #/\ (B9 #> B8)) #\/ ((A9 #> B9) #/\ (B9 #> B8) #/\ (B8 #> A8)) #\/ ((B9 #> B8) #/\ (B8 #> A8) #/\ (A8 #> A9)) #\/ ((B8 #> A8) #/\ (A8 #> A9) #/\ (A9 #> B9))), #\ (((B3 #< B4) #/\ (B4 #< C4) #/\ (C4 #< C3)) #\/ ((B4 #< C4) #/\ (C4 #< C3) #/\ (C3 #< B3)) #\/ ((C4 #< C3) #/\ (C3 #< B3) #/\ (B3 #< B4)) #\/ ((C3 #< B3) #/\ (B3 #< B4) #/\ (B4 #< C4))), #\ (((B3 #> B4) #/\ (B4 #> C4) #/\ (C4 #> C3)) #\/ ((B4 #> C4) #/\ (C4 #> C3) #/\ (C3 #> B3)) #\/ ((C4 #> C3) #/\ (C3 #> B3) #/\ (B3 #> B4)) #\/ ((C3 #> B3) #/\ (B3 #> B4) #/\ (B4 #> C4))), #\ (((B4 #< B5) #/\ (B5 #< C5) #/\ (C5 #< C4)) #\/ ((B5 #< C5) #/\ (C5 #< C4) #/\ (C4 #< B4)) #\/ ((C5 #< C4) #/\ (C4 #< B4) #/\ (B4 #< B5)) #\/ ((C4 #< B4) #/\ (B4 #< B5) #/\ (B5 #< C5))), #\ (((B4 #> B5) #/\ (B5 #> C5) #/\ (C5 #> C4)) #\/ ((B5 #> C5) #/\ (C5 #> C4) #/\ (C4 #> B4)) #\/ ((C5 #> C4) #/\ (C4 #> B4) #/\ (B4 #> B5)) #\/ ((C4 #> B4) #/\ (B4 #> B5) #/\ (B5 #> C5))), #\ (((B5 #< B6) #/\ (B6 #< C6) #/\ (C6 #< C5)) #\/ ((B6 #< C6) #/\ (C6 #< C5) #/\ (C5 #< B5)) #\/ ((C6 #< C5) #/\ (C5 #< B5) #/\ (B5 #< B6)) #\/ ((C5 #< B5) #/\ (B5 #< B6) #/\ (B6 #< C6))), #\ (((B5 #> B6) #/\ (B6 #> C6) #/\ (C6 #> C5)) #\/ ((B6 #> C6) #/\ (C6 #> C5) #/\ (C5 #> B5)) #\/ ((C6 #> C5) #/\ (C5 #> B5) #/\ (B5 #> B6)) #\/ ((C5 #> B5) #/\ (B5 #> B6) #/\ (B6 #> C6))), #\ (((B6 #< B7) #/\ (B7 #< C7) #/\ (C7 #< C6)) #\/ ((B7 #< C7) #/\ (C7 #< C6) #/\ (C6 #< B6)) #\/ ((C7 #< C6) #/\ (C6 #< B6) #/\ (B6 #< B7)) #\/ ((C6 #< B6) #/\ (B6 #< B7) #/\ (B7 #< C7))), #\ (((B6 #> B7) #/\ (B7 #> C7) #/\ (C7 #> C6)) #\/ ((B7 #> C7) #/\ (C7 #> C6) #/\ (C6 #> B6)) #\/ ((C7 #> C6) #/\ (C6 #> B6) #/\ (B6 #> B7)) #\/ ((C6 #> B6) #/\ (B6 #> B7) #/\ (B7 #> C7))), #\ (((B7 #< B8) #/\ (B8 #< C8) #/\ (C8 #< C7)) #\/ ((B8 #< C8) #/\ (C8 #< C7) #/\ (C7 #< B7)) #\/ ((C8 #< C7) #/\ (C7 #< B7) #/\ (B7 #< B8)) #\/ ((C7 #< B7) #/\ (B7 #< B8) #/\ (B8 #< C8))), #\ (((B7 #> B8) #/\ (B8 #> C8) #/\ (C8 #> C7)) #\/ ((B8 #> C8) #/\ (C8 #> C7) #/\ (C7 #> B7)) #\/ ((C8 #> C7) #/\ (C7 #> B7) #/\ (B7 #> B8)) #\/ ((C7 #> B7) #/\ (B7 #> B8) #/\ (B8 #> C8))), #\ (((C2 #< C3) #/\ (C3 #< D3) #/\ (D3 #< D2)) #\/ ((C3 #< D3) #/\ (D3 #< D2) #/\ (D2 #< C2)) #\/ ((D3 #< D2) #/\ (D2 #< C2) #/\ (C2 #< C3)) #\/ ((D2 #< C2) #/\ (C2 #< C3) #/\ (C3 #< D3))), #\ (((C2 #> C3) #/\ (C3 #> D3) #/\ (D3 #> D2)) #\/ ((C3 #> D3) #/\ (D3 #> D2) #/\ (D2 #> C2)) #\/ ((D3 #> D2) #/\ (D2 #> C2) #/\ (C2 #> C3)) #\/ ((D2 #> C2) #/\ (C2 #> C3) #/\ (C3 #> D3))), #\ (((C4 #< C5) #/\ (C5 #< D5) #/\ (D5 #< D4)) #\/ ((C5 #< D5) #/\ (D5 #< D4) #/\ (D4 #< C4)) #\/ ((D5 #< D4) #/\ (D4 #< C4) #/\ (C4 #< C5)) #\/ ((D4 #< C4) #/\ (C4 #< C5) #/\ (C5 #< D5))), #\ (((C4 #> C5) #/\ (C5 #> D5) #/\ (D5 #> D4)) #\/ ((C5 #> D5) #/\ (D5 #> D4) #/\ (D4 #> C4)) #\/ ((D5 #> D4) #/\ (D4 #> C4) #/\ (C4 #> C5)) #\/ ((D4 #> C4) #/\ (C4 #> C5) #/\ (C5 #> D5))), #\ (((C5 #< C6) #/\ (C6 #< D6) #/\ (D6 #< D5)) #\/ ((C6 #< D6) #/\ (D6 #< D5) #/\ (D5 #< C5)) #\/ ((D6 #< D5) #/\ (D5 #< C5) #/\ (C5 #< C6)) #\/ ((D5 #< C5) #/\ (C5 #< C6) #/\ (C6 #< D6))), #\ (((C5 #> C6) #/\ (C6 #> D6) #/\ (D6 #> D5)) #\/ ((C6 #> D6) #/\ (D6 #> D5) #/\ (D5 #> C5)) #\/ ((D6 #> D5) #/\ (D5 #> C5) #/\ (C5 #> C6)) #\/ ((D5 #> C5) #/\ (C5 #> C6) #/\ (C6 #> D6))), #\ (((C6 #< C7) #/\ (C7 #< D7) #/\ (D7 #< D6)) #\/ ((C7 #< D7) #/\ (D7 #< D6) #/\ (D6 #< C6)) #\/ ((D7 #< D6) #/\ (D6 #< C6) #/\ (C6 #< C7)) #\/ ((D6 #< C6) #/\ (C6 #< C7) #/\ (C7 #< D7))), #\ (((C6 #> C7) #/\ (C7 #> D7) #/\ (D7 #> D6)) #\/ ((C7 #> D7) #/\ (D7 #> D6) #/\ (D6 #> C6)) #\/ ((D7 #> D6) #/\ (D6 #> C6) #/\ (C6 #> C7)) #\/ ((D6 #> C6) #/\ (C6 #> C7) #/\ (C7 #> D7))), #\ (((C8 #< C9) #/\ (C9 #< D9) #/\ (D9 #< D8)) #\/ ((C9 #< D9) #/\ (D9 #< D8) #/\ (D8 #< C8)) #\/ ((D9 #< D8) #/\ (D8 #< C8) #/\ (C8 #< C9)) #\/ ((D8 #< C8) #/\ (C8 #< C9) #/\ (C9 #< D9))), #\ (((C8 #> C9) #/\ (C9 #> D9) #/\ (D9 #> D8)) #\/ ((C9 #> D9) #/\ (D9 #> D8) #/\ (D8 #> C8)) #\/ ((D9 #> D8) #/\ (D8 #> C8) #/\ (C8 #> C9)) #\/ ((D8 #> C8) #/\ (C8 #> C9) #/\ (C9 #> D9))), #\ (((D2 #< D3) #/\ (D3 #< E3) #/\ (E3 #< E2)) #\/ ((D3 #< E3) #/\ (E3 #< E2) #/\ (E2 #< D2)) #\/ ((E3 #< E2) #/\ (E2 #< D2) #/\ (D2 #< D3)) #\/ ((E2 #< D2) #/\ (D2 #< D3) #/\ (D3 #< E3))), #\ (((D2 #> D3) #/\ (D3 #> E3) #/\ (E3 #> E2)) #\/ ((D3 #> E3) #/\ (E3 #> E2) #/\ (E2 #> D2)) #\/ ((E3 #> E2) #/\ (E2 #> D2) #/\ (D2 #> D3)) #\/ ((E2 #> D2) #/\ (D2 #> D3) #/\ (D3 #> E3))), #\ (((D3 #< D4) #/\ (D4 #< E4) #/\ (E4 #< E3)) #\/ ((D4 #< E4) #/\ (E4 #< E3) #/\ (E3 #< D3)) #\/ ((E4 #< E3) #/\ (E3 #< D3) #/\ (D3 #< D4)) #\/ ((E3 #< D3) #/\ (D3 #< D4) #/\ (D4 #< E4))), #\ (((D3 #> D4) #/\ (D4 #> E4) #/\ (E4 #> E3)) #\/ ((D4 #> E4) #/\ (E4 #> E3) #/\ (E3 #> D3)) #\/ ((E4 #> E3) #/\ (E3 #> D3) #/\ (D3 #> D4)) #\/ ((E3 #> D3) #/\ (D3 #> D4) #/\ (D4 #> E4))), #\ (((D4 #< D5) #/\ (D5 #< E5) #/\ (E5 #< E4)) #\/ ((D5 #< E5) #/\ (E5 #< E4) #/\ (E4 #< D4)) #\/ ((E5 #< E4) #/\ (E4 #< D4) #/\ (D4 #< D5)) #\/ ((E4 #< D4) #/\ (D4 #< D5) #/\ (D5 #< E5))), #\ (((D4 #> D5) #/\ (D5 #> E5) #/\ (E5 #> E4)) #\/ ((D5 #> E5) #/\ (E5 #> E4) #/\ (E4 #> D4)) #\/ ((E5 #> E4) #/\ (E4 #> D4) #/\ (D4 #> D5)) #\/ ((E4 #> D4) #/\ (D4 #> D5) #/\ (D5 #> E5))), #\ (((D6 #< D7) #/\ (D7 #< E7) #/\ (E7 #< E6)) #\/ ((D7 #< E7) #/\ (E7 #< E6) #/\ (E6 #< D6)) #\/ ((E7 #< E6) #/\ (E6 #< D6) #/\ (D6 #< D7)) #\/ ((E6 #< D6) #/\ (D6 #< D7) #/\ (D7 #< E7))), #\ (((D6 #> D7) #/\ (D7 #> E7) #/\ (E7 #> E6)) #\/ ((D7 #> E7) #/\ (E7 #> E6) #/\ (E6 #> D6)) #\/ ((E7 #> E6) #/\ (E6 #> D6) #/\ (D6 #> D7)) #\/ ((E6 #> D6) #/\ (D6 #> D7) #/\ (D7 #> E7))), #\ (((D7 #< D8) #/\ (D8 #< E8) #/\ (E8 #< E7)) #\/ ((D8 #< E8) #/\ (E8 #< E7) #/\ (E7 #< D7)) #\/ ((E8 #< E7) #/\ (E7 #< D7) #/\ (D7 #< D8)) #\/ ((E7 #< D7) #/\ (D7 #< D8) #/\ (D8 #< E8))), #\ (((D7 #> D8) #/\ (D8 #> E8) #/\ (E8 #> E7)) #\/ ((D8 #> E8) #/\ (E8 #> E7) #/\ (E7 #> D7)) #\/ ((E8 #> E7) #/\ (E7 #> D7) #/\ (D7 #> D8)) #\/ ((E7 #> D7) #/\ (D7 #> D8) #/\ (D8 #> E8))), #\ (((E2 #< E3) #/\ (E3 #< F3) #/\ (F3 #< F2)) #\/ ((E3 #< F3) #/\ (F3 #< F2) #/\ (F2 #< E2)) #\/ ((F3 #< F2) #/\ (F2 #< E2) #/\ (E2 #< E3)) #\/ ((F2 #< E2) #/\ (E2 #< E3) #/\ (E3 #< F3))), #\ (((E2 #> E3) #/\ (E3 #> F3) #/\ (F3 #> F2)) #\/ ((E3 #> F3) #/\ (F3 #> F2) #/\ (F2 #> E2)) #\/ ((F3 #> F2) #/\ (F2 #> E2) #/\ (E2 #> E3)) #\/ ((F2 #> E2) #/\ (E2 #> E3) #/\ (E3 #> F3))), #\ (((E3 #< E4) #/\ (E4 #< F4) #/\ (F4 #< F3)) #\/ ((E4 #< F4) #/\ (F4 #< F3) #/\ (F3 #< E3)) #\/ ((F4 #< F3) #/\ (F3 #< E3) #/\ (E3 #< E4)) #\/ ((F3 #< E3) #/\ (E3 #< E4) #/\ (E4 #< F4))), #\ (((E3 #> E4) #/\ (E4 #> F4) #/\ (F4 #> F3)) #\/ ((E4 #> F4) #/\ (F4 #> F3) #/\ (F3 #> E3)) #\/ ((F4 #> F3) #/\ (F3 #> E3) #/\ (E3 #> E4)) #\/ ((F3 #> E3) #/\ (E3 #> E4) #/\ (E4 #> F4))), #\ (((E4 #< E5) #/\ (E5 #< F5) #/\ (F5 #< F4)) #\/ ((E5 #< F5) #/\ (F5 #< F4) #/\ (F4 #< E4)) #\/ ((F5 #< F4) #/\ (F4 #< E4) #/\ (E4 #< E5)) #\/ ((F4 #< E4) #/\ (E4 #< E5) #/\ (E5 #< F5))), #\ (((E4 #> E5) #/\ (E5 #> F5) #/\ (F5 #> F4)) #\/ ((E5 #> F5) #/\ (F5 #> F4) #/\ (F4 #> E4)) #\/ ((F5 #> F4) #/\ (F4 #> E4) #/\ (E4 #> E5)) #\/ ((F4 #> E4) #/\ (E4 #> E5) #/\ (E5 #> F5))), #\ (((E7 #< E8) #/\ (E8 #< F8) #/\ (F8 #< F7)) #\/ ((E8 #< F8) #/\ (F8 #< F7) #/\ (F7 #< E7)) #\/ ((F8 #< F7) #/\ (F7 #< E7) #/\ (E7 #< E8)) #\/ ((F7 #< E7) #/\ (E7 #< E8) #/\ (E8 #< F8))), #\ (((E7 #> E8) #/\ (E8 #> F8) #/\ (F8 #> F7)) #\/ ((E8 #> F8) #/\ (F8 #> F7) #/\ (F7 #> E7)) #\/ ((F8 #> F7) #/\ (F7 #> E7) #/\ (E7 #> E8)) #\/ ((F7 #> E7) #/\ (E7 #> E8) #/\ (E8 #> F8))), #\ (((F1 #< F2) #/\ (F2 #< G2) #/\ (G2 #< G1)) #\/ ((F2 #< G2) #/\ (G2 #< G1) #/\ (G1 #< F1)) #\/ ((G2 #< G1) #/\ (G1 #< F1) #/\ (F1 #< F2)) #\/ ((G1 #< F1) #/\ (F1 #< F2) #/\ (F2 #< G2))), #\ (((F1 #> F2) #/\ (F2 #> G2) #/\ (G2 #> G1)) #\/ ((F2 #> G2) #/\ (G2 #> G1) #/\ (G1 #> F1)) #\/ ((G2 #> G1) #/\ (G1 #> F1) #/\ (F1 #> F2)) #\/ ((G1 #> F1) #/\ (F1 #> F2) #/\ (F2 #> G2))), #\ (((F4 #< F5) #/\ (F5 #< G5) #/\ (G5 #< G4)) #\/ ((F5 #< G5) #/\ (G5 #< G4) #/\ (G4 #< F4)) #\/ ((G5 #< G4) #/\ (G4 #< F4) #/\ (F4 #< F5)) #\/ ((G4 #< F4) #/\ (F4 #< F5) #/\ (F5 #< G5))), #\ (((F4 #> F5) #/\ (F5 #> G5) #/\ (G5 #> G4)) #\/ ((F5 #> G5) #/\ (G5 #> G4) #/\ (G4 #> F4)) #\/ ((G5 #> G4) #/\ (G4 #> F4) #/\ (F4 #> F5)) #\/ ((G4 #> F4) #/\ (F4 #> F5) #/\ (F5 #> G5))), #\ (((F8 #< F9) #/\ (F9 #< G9) #/\ (G9 #< G8)) #\/ ((F9 #< G9) #/\ (G9 #< G8) #/\ (G8 #< F8)) #\/ ((G9 #< G8) #/\ (G8 #< F8) #/\ (F8 #< F9)) #\/ ((G8 #< F8) #/\ (F8 #< F9) #/\ (F9 #< G9))), #\ (((F8 #> F9) #/\ (F9 #> G9) #/\ (G9 #> G8)) #\/ ((F9 #> G9) #/\ (G9 #> G8) #/\ (G8 #> F8)) #\/ ((G9 #> G8) #/\ (G8 #> F8) #/\ (F8 #> F9)) #\/ ((G8 #> F8) #/\ (F8 #> F9) #/\ (F9 #> G9))), #\ (((G1 #< G2) #/\ (G2 #< H2) #/\ (H2 #< H1)) #\/ ((G2 #< H2) #/\ (H2 #< H1) #/\ (H1 #< G1)) #\/ ((H2 #< H1) #/\ (H1 #< G1) #/\ (G1 #< G2)) #\/ ((H1 #< G1) #/\ (G1 #< G2) #/\ (G2 #< H2))), #\ (((G1 #> G2) #/\ (G2 #> H2) #/\ (H2 #> H1)) #\/ ((G2 #> H2) #/\ (H2 #> H1) #/\ (H1 #> G1)) #\/ ((H2 #> H1) #/\ (H1 #> G1) #/\ (G1 #> G2)) #\/ ((H1 #> G1) #/\ (G1 #> G2) #/\ (G2 #> H2))), #\ (((G2 #< G3) #/\ (G3 #< H3) #/\ (H3 #< H2)) #\/ ((G3 #< H3) #/\ (H3 #< H2) #/\ (H2 #< G2)) #\/ ((H3 #< H2) #/\ (H2 #< G2) #/\ (G2 #< G3)) #\/ ((H2 #< G2) #/\ (G2 #< G3) #/\ (G3 #< H3))), #\ (((G2 #> G3) #/\ (G3 #> H3) #/\ (H3 #> H2)) #\/ ((G3 #> H3) #/\ (H3 #> H2) #/\ (H2 #> G2)) #\/ ((H3 #> H2) #/\ (H2 #> G2) #/\ (G2 #> G3)) #\/ ((H2 #> G2) #/\ (G2 #> G3) #/\ (G3 #> H3))), #\ (((G3 #< G4) #/\ (G4 #< H4) #/\ (H4 #< H3)) #\/ ((G4 #< H4) #/\ (H4 #< H3) #/\ (H3 #< G3)) #\/ ((H4 #< H3) #/\ (H3 #< G3) #/\ (G3 #< G4)) #\/ ((H3 #< G3) #/\ (G3 #< G4) #/\ (G4 #< H4))), #\ (((G3 #> G4) #/\ (G4 #> H4) #/\ (H4 #> H3)) #\/ ((G4 #> H4) #/\ (H4 #> H3) #/\ (H3 #> G3)) #\/ ((H4 #> H3) #/\ (H3 #> G3) #/\ (G3 #> G4)) #\/ ((H3 #> G3) #/\ (G3 #> G4) #/\ (G4 #> H4))), #\ (((G4 #< G5) #/\ (G5 #< H5) #/\ (H5 #< H4)) #\/ ((G5 #< H5) #/\ (H5 #< H4) #/\ (H4 #< G4)) #\/ ((H5 #< H4) #/\ (H4 #< G4) #/\ (G4 #< G5)) #\/ ((H4 #< G4) #/\ (G4 #< G5) #/\ (G5 #< H5))), #\ (((G4 #> G5) #/\ (G5 #> H5) #/\ (H5 #> H4)) #\/ ((G5 #> H5) #/\ (H5 #> H4) #/\ (H4 #> G4)) #\/ ((H5 #> H4) #/\ (H4 #> G4) #/\ (G4 #> G5)) #\/ ((H4 #> G4) #/\ (G4 #> G5) #/\ (G5 #> H5))), #\ (((G5 #< G6) #/\ (G6 #< H6) #/\ (H6 #< H5)) #\/ ((G6 #< H6) #/\ (H6 #< H5) #/\ (H5 #< G5)) #\/ ((H6 #< H5) #/\ (H5 #< G5) #/\ (G5 #< G6)) #\/ ((H5 #< G5) #/\ (G5 #< G6) #/\ (G6 #< H6))), #\ (((G5 #> G6) #/\ (G6 #> H6) #/\ (H6 #> H5)) #\/ ((G6 #> H6) #/\ (H6 #> H5) #/\ (H5 #> G5)) #\/ ((H6 #> H5) #/\ (H5 #> G5) #/\ (G5 #> G6)) #\/ ((H5 #> G5) #/\ (G5 #> G6) #/\ (G6 #> H6))), #\ (((G6 #< G7) #/\ (G7 #< H7) #/\ (H7 #< H6)) #\/ ((G7 #< H7) #/\ (H7 #< H6) #/\ (H6 #< G6)) #\/ ((H7 #< H6) #/\ (H6 #< G6) #/\ (G6 #< G7)) #\/ ((H6 #< G6) #/\ (G6 #< G7) #/\ (G7 #< H7))), #\ (((G6 #> G7) #/\ (G7 #> H7) #/\ (H7 #> H6)) #\/ ((G7 #> H7) #/\ (H7 #> H6) #/\ (H6 #> G6)) #\/ ((H7 #> H6) #/\ (H6 #> G6) #/\ (G6 #> G7)) #\/ ((H6 #> G6) #/\ (G6 #> G7) #/\ (G7 #> H7))), #\ (((G8 #< G9) #/\ (G9 #< H9) #/\ (H9 #< H8)) #\/ ((G9 #< H9) #/\ (H9 #< H8) #/\ (H8 #< G8)) #\/ ((H9 #< H8) #/\ (H8 #< G8) #/\ (G8 #< G9)) #\/ ((H8 #< G8) #/\ (G8 #< G9) #/\ (G9 #< H9))), #\ (((G8 #> G9) #/\ (G9 #> H9) #/\ (H9 #> H8)) #\/ ((G9 #> H9) #/\ (H9 #> H8) #/\ (H8 #> G8)) #\/ ((H9 #> H8) #/\ (H8 #> G8) #/\ (G8 #> G9)) #\/ ((H8 #> G8) #/\ (G8 #> G9) #/\ (G9 #> H9))), #\ (((H3 #< H4) #/\ (H4 #< I4) #/\ (I4 #< I3)) #\/ ((H4 #< I4) #/\ (I4 #< I3) #/\ (I3 #< H3)) #\/ ((I4 #< I3) #/\ (I3 #< H3) #/\ (H3 #< H4)) #\/ ((I3 #< H3) #/\ (H3 #< H4) #/\ (H4 #< I4))), #\ (((H3 #> H4) #/\ (H4 #> I4) #/\ (I4 #> I3)) #\/ ((H4 #> I4) #/\ (I4 #> I3) #/\ (I3 #> H3)) #\/ ((I4 #> I3) #/\ (I3 #> H3) #/\ (H3 #> H4)) #\/ ((I3 #> H3) #/\ (H3 #> H4) #/\ (H4 #> I4))), #\ (((H4 #< H5) #/\ (H5 #< I5) #/\ (I5 #< I4)) #\/ ((H5 #< I5) #/\ (I5 #< I4) #/\ (I4 #< H4)) #\/ ((I5 #< I4) #/\ (I4 #< H4) #/\ (H4 #< H5)) #\/ ((I4 #< H4) #/\ (H4 #< H5) #/\ (H5 #< I5))), #\ (((H4 #> H5) #/\ (H5 #> I5) #/\ (I5 #> I4)) #\/ ((H5 #> I5) #/\ (I5 #> I4) #/\ (I4 #> H4)) #\/ ((I5 #> I4) #/\ (I4 #> H4) #/\ (H4 #> H5)) #\/ ((I4 #> H4) #/\ (H4 #> H5) #/\ (H5 #> I5))), #\ (((H7 #< H8) #/\ (H8 #< I8) #/\ (I8 #< I7)) #\/ ((H8 #< I8) #/\ (I8 #< I7) #/\ (I7 #< H7)) #\/ ((I8 #< I7) #/\ (I7 #< H7) #/\ (H7 #< H8)) #\/ ((I7 #< H7) #/\ (H7 #< H8) #/\ (H8 #< I8))), #\ (((H7 #> H8) #/\ (H8 #> I8) #/\ (I8 #> I7)) #\/ ((H8 #> I8) #/\ (I8 #> I7) #/\ (I7 #> H7)) #\/ ((I8 #> I7) #/\ (I7 #> H7) #/\ (H7 #> H8)) #\/ ((I7 #> H7) #/\ (H7 #> H8) #/\ (H8 #> I8))), % sudoku --- radky all_distinct([A1, A2, A3, A4, A5, A6, A7, A8, A9]), all_distinct([B1, B2, B3, B4, B5, B6, B7, B8, B9]), all_distinct([C1, C2, C3, C4, C5, C6, C7, C8, C9]), all_distinct([D1, D2, D3, D4, D5, D6, D7, D8, D9]), all_distinct([E1, E2, E3, E4, E5, E6, E7, E8, E9]), all_distinct([F1, F2, F3, F4, F5, F6, F7, F8, F9]), all_distinct([G1, G2, G3, G4, G5, G6, G7, G8, G9]), all_distinct([H1, H2, H3, H4, H5, H6, H7, H8, H9]), all_distinct([I1, I2, I3, I4, I5, I6, I7, I8, I9]), % sudoku --- sloupce all_distinct([A1, B1, C1, D1, E1, F1, G1, H1, I1]), all_distinct([A2, B2, C2, D2, E2, F2, G2, H2, I2]), all_distinct([A3, B3, C3, D3, E3, F3, G3, H3, I3]), all_distinct([A4, B4, C4, D4, E4, F4, G4, H4, I4]), all_distinct([A5, B5, C5, D5, E5, F5, G5, H5, I5]), all_distinct([A6, B6, C6, D6, E6, F6, G6, H6, I6]), all_distinct([A7, B7, C7, D7, E7, F7, G7, H7, I7]), all_distinct([A8, B8, C8, D8, E8, F8, G8, H8, I8]), all_distinct([A9, B9, C9, D9, E9, F9, G9, H9, I9]), % sudoku --- ctverce all_distinct([A1, A2, A3, B1, B2, B3, C1, C2, C3]), all_distinct([D1, D2, D3, E1, E2, E3, F1, F2, F3]), all_distinct([G1, G2, G3, H1, H2, H3, I1, I2, I3]), all_distinct([A4, A5, A6, B4, B5, B6, C4, C5, C6]), all_distinct([D4, D5, D6, E4, E5, E6, F4, F5, F6]), all_distinct([G4, G5, G6, H4, H5, H6, I4, I5, I6]), all_distinct([A7, A8, A9, B7, B8, B9, C7, C8, C9]), all_distinct([D7, D8, D9, E7, E8, E9, F7, F8, F9]), all_distinct([G7, G8, G9, H7, H8, H9, I7, I8, I9]). % vypisovani reseni vypis_reseni(Reseni) :- vypis_cara, vypis_rekurze(Reseni). vypis_cara :- nl, print('-------------------------------------'). vypis_meziradek :- % nl, print('| | | | | | | | | |'). print(''). vypis_cislo(Cislo) :- print('| '), print(Cislo), print(' '). vypis_rekurze([]). vypis_rekurze([A1, A2, A3, A4, A5, A6, A7, A8, A9 | Zbytek]) :- vypis_meziradek, nl, vypis_cislo(A1), vypis_cislo(A2), vypis_cislo(A3), vypis_cislo(A4), vypis_cislo(A5), vypis_cislo(A6), vypis_cislo(A7), vypis_cislo(A8), vypis_cislo(A9), print('|'), vypis_meziradek, vypis_cara, vypis_rekurze(Zbytek).