dlvhex
2.5.0
|
00001 /* dlvhex -- Answer-Set Programming with external interfaces. 00002 * Copyright (C) 2005, 2006, 2007 Roman Schindlauer 00003 * Copyright (C) 2006, 2007, 2008, 2009, 2010 Thomas Krennwallner 00004 * Copyright (C) 2009, 2010 Peter Schüller 00005 * 00006 * This file is part of dlvhex. 00007 * 00008 * dlvhex is free software; you can redistribute it and/or modify it 00009 * under the terms of the GNU Lesser General Public License as 00010 * published by the Free Software Foundation; either version 2.1 of 00011 * the License, or (at your option) any later version. 00012 * 00013 * dlvhex is distributed in the hope that it will be useful, but 00014 * WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with dlvhex; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 00021 * 02110-1301 USA. 00022 */ 00023 00033 #ifndef FIXTUREEX1_HPP_INCLUDED__28092010 00034 #define FIXTUREEX1_HPP_INCLUDED__28092010 00035 00036 #include "dummytypes.h" 00037 00038 /* 00039 * The Program: 00040 * a v b. 00041 * c v d. 00042 * m v n. 00043 * f :- b. 00044 * g v h :- f. 00045 * i :- h. 00046 * j :- d. 00047 * k :- j, i. 00048 * l :- not k. 00049 * o :- m, k. 00050 * :- l, k. 00051 * :- o, not k. 00052 * :- g. 00053 * :- f, c. 00054 * 00055 * Models are: 00056 * {b, d, m, f, h, i, j, k, o} 00057 * {b, d, n, f, h, i, j, k} 00058 * {a, c, n, l} 00059 * {a, c, m, l} 00060 * {a, d, n, j, l} 00061 * {a, d, m, j, l} 00062 * 00063 * ASCII Art of the Eval Graph: 00064 * 00065 * u1(a v b.) 00066 * ^ 00067 * | 00068 * u3(c v d.) u2(f :- b.) 00069 * ^ ^ ^ 00070 * | | | 00071 * u4(:- f, c. j :- d.) u5(g v h :- f.) 00072 * ^ ^ 00073 * | | 00074 * | u6(:-g. i :- h.) 00075 * | ^ 00076 * | | 00077 * u7( k :- j, i. ) u8(m v n.) 00078 * ^ ^ ^ ^ 00079 * | | | | 00080 * u10(l:-not k.) | u9(o :- m, k.) 00081 * | | ^ 00082 * | | | 00083 * u11(:- k,l. :- o, not k.) 00084 * 00085 * Partial Models: 00086 * u1: {a} {b} 00087 * u2: {}[a] {f}[b] 00088 * u3: {c} {d} 00089 * TODO 00090 */ 00091 struct EvalGraphEx1Fixture 00092 { 00093 TestEvalGraph eg; 00094 EvalUnit u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11; 00095 EvalUnitDep e21, e43, e42, e52, e65, e74, e76, e98, e97, e107, e117, e119, e1110; 00096 00097 EvalGraphEx1Fixture(); 00098 ~EvalGraphEx1Fixture() {} 00099 }; 00100 00101 #endif // FIXTUREEX1_HPP_INCLUDED__28092010