 :- dynamic user:club/2.   % database relations must be in module user  - really needed here? unter Zeitdruck ergaenzt
 :- dynamic user:joined/3.
 :- dynamic user:footballer/3.

 :- dynamic user:state/2 .


 :- [tester21].   % must be in module user in order to distinguish student's predicate q1 from q1 solution

 % load specific part for solution of Assignment 1,2,3,4,5,6
 :- use_module(sol1,[usesForbiddenGoals/0,doTestQs_/2]) .  % includes v21tester.pl


 % Why two different modules? Avoid name clashes:
 %    1.   user:q1 for student's queries
 %    2.   solX:q1 for hidden queries
 % Which files belong to which modules? And what are the files good for?
 %    1.0. moduleX.pl (X=1,2,...) - this file
 %            - loads the 4 other parts (1.1.-2.2.)
 %    1.1. file tester21.pl (in module user)
 %            - checks whether one or more queries have to be checked (read filename and parameters)
 %            - loads student's programs,
 %            - calls search for forbidden goals,
 %            - calls loading of pl-file to clauses (why? I think for Assignment 1)
 %    1.2. student's file contains queries
 %
 %    2.1. solX.pl (X=1,2,...)
 %            - contains hidden solutions
 %            - defines stop predicates and size tolerance as provided by solX.pl (X=1,2,...)
 %            - defines test cases for logical tests which for Assignment 1 includes database states
 %            - includes v21tester.pl
 %    2.1. v21tester.pl
 %            - runs student query (=given query=GQ) and hidden query (=solution=HQ)
 %            - compares query results in logic and size
 %            - compares program sizes (facts and goals)
 %            - regards stop predicates and tolerance as provided by solX.pl (X=1,2,...)
 %            - outputs feedback to screen and to files






