public boolean checkPreconditions(ArrayList<Predicate> pl, int maxN){
		boolean accomplished = true;
		int i = 0;
		while(i < pl.size() && accomplished){ // for each predicate
			boolean found = false;
			int j = 0;
			while(j < predList.size() && !found){
				Predicate ext_pred = pl.get(i);
				if(ext_pred.getName().equals("USED-RAILWAYS")){
					found = occupied < maxN;
				} else {
					found = predList.get(j).equalsPredicate(ext_pred);
				}
				j++;
			}
			accomplished = found;
			i++;
		}
		return accomplished;
	}