116 lines
2.0 KiB
Plaintext
116 lines
2.0 KiB
Plaintext
|
% The Deussen Problem -------------------------------------------------------
|
||
|
|
||
|
/*From mark@ecrc.de Tue Jul 14 11:05:16 1992
|
||
|
|
||
|
I thought a propositional satisfiability example would be good.
|
||
|
I therefore propose the Deussen problem Ulm027r1
|
||
|
(chosen pretty well at random).
|
||
|
|
||
|
Mark Wallace
|
||
|
*/
|
||
|
|
||
|
% the ulm027r1 problem has 16 solutions
|
||
|
|
||
|
% no labeling
|
||
|
deussen0(Vars) :-
|
||
|
ulm027r1(L,Vars),
|
||
|
solve_bools(L).
|
||
|
|
||
|
% built-in labeling
|
||
|
deussen1(Vars) :-
|
||
|
ulm027r1(L,Vars),
|
||
|
solve_bools(L),
|
||
|
labeling.
|
||
|
|
||
|
% user-defined labeling
|
||
|
deussen2(Vars) :-
|
||
|
ulm027r1(L,Vars),
|
||
|
solve_bools(L),
|
||
|
label_bool(Vars).
|
||
|
|
||
|
solve_bools([]).
|
||
|
solve_bools([X|L]) :-
|
||
|
solve_bool(X,1), % boolean expression X must be 1 (true)
|
||
|
solve_bools(L).
|
||
|
|
||
|
% Deussen Problem Ulm027/1
|
||
|
|
||
|
ulm027r1(
|
||
|
[
|
||
|
U12 + U3 + U2,
|
||
|
U12 + ~~U3 + ~~U2,
|
||
|
~~U12 + ~~U3 + U2,
|
||
|
~~U12 + U3 + ~~U2,
|
||
|
U13 + U4 + U12,
|
||
|
U13 + ~~U4 + ~~U12,
|
||
|
~~U13 + ~~U4 + U12,
|
||
|
~~U13 + U4 + ~~U12,
|
||
|
U14 + U5 + U13,
|
||
|
U14 + ~~U5 + ~~U13,
|
||
|
~~U14 + ~~U5 + U13,
|
||
|
~~U14 + U5 + ~~U13,
|
||
|
~~U14,
|
||
|
U15 + U6 + U4,
|
||
|
U15 + ~~U6 + ~~U4,
|
||
|
~~U15 + ~~U6 + U4,
|
||
|
~~U15 + U6 + ~~U4,
|
||
|
U16 + U2 + U15,
|
||
|
U16 + ~~U2 + ~~U15,
|
||
|
~~U16 + ~~U2 + U15,
|
||
|
~~U16 + U2 + ~~U15,
|
||
|
U17 + U2 + U16,
|
||
|
U17 + ~~U2 + ~~U16,
|
||
|
~~U17 + ~~U2 + U16,
|
||
|
~~U17 + U2 + ~~U16,
|
||
|
U18 + U6 + U17,
|
||
|
U18 + ~~U6 + ~~U17,
|
||
|
~~U18 + ~~U6 + U17,
|
||
|
~~U18 + U6 + ~~U17,
|
||
|
~~U18,
|
||
|
U19 + U10 + U3,
|
||
|
U19 + ~~U10 + ~~U3,
|
||
|
~~U19 + ~~U10 + U3,
|
||
|
~~U19 + U10 + ~~U3,
|
||
|
U20 + U11 + U19,
|
||
|
U20 + ~~U11 + ~~U19,
|
||
|
~~U20 + ~~U11 + U19,
|
||
|
~~U20 + U11 + ~~U19,
|
||
|
U21 + U6 + U20,
|
||
|
U21 + ~~U6 + ~~U20,
|
||
|
~~U21 + ~~U6 + U20,
|
||
|
~~U21 + U6 + ~~U20,
|
||
|
U22 + U7 + U21,
|
||
|
U22 + ~~U7 + ~~U21,
|
||
|
~~U22 + ~~U7 + U21,
|
||
|
~~U22 + U7 + ~~U21,
|
||
|
~~U22,
|
||
|
U23 + U5 + U7,
|
||
|
U23 + ~~U5 + ~~U7,
|
||
|
~~U23 + ~~U5 + U7,
|
||
|
~~U23 + U5 + ~~U7,
|
||
|
U24 + U6 + U23,
|
||
|
U24 + ~~U6 + ~~U23,
|
||
|
~~U24 + ~~U6 + U23,
|
||
|
~~U24 + U6 + ~~U23,
|
||
|
U25 + U10 + U24,
|
||
|
U25 + ~~U10 + ~~U24,
|
||
|
~~U25 + ~~U10 + U24,
|
||
|
~~U25 + U10 + ~~U24,
|
||
|
U26 + U11 + U25,
|
||
|
U26 + ~~U11 + ~~U25,
|
||
|
~~U26 + ~~U11 + U25,
|
||
|
~~U26 + U11 + ~~U25,
|
||
|
~~U26
|
||
|
],
|
||
|
[
|
||
|
%U1,
|
||
|
U2,U3,U4,U5,U6,U7, %U8,U9,
|
||
|
U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,
|
||
|
U20,U21,U22,U23,U24,U25,U26
|
||
|
]).
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|