dlvhex  2.5.0
testsuite/fixtureEx1.h
Go to the documentation of this file.
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