public boolean inferenceCheckerHelper(LinkedList<String> curQueue,ArrayList<LinkedList<String>> Queues) throws IllegalInferenceException
	{
		String curSymbol = (String) curQueue.pop();

		if(curSymbol.equals("=>"))
		{
			boolean bol1 = inferenceCheckerHelper(curQueue,Queues);
			boolean bol2 = inferenceCheckerHelper(curQueue,Queues);
			return implies(bol1,bol2);
		}
		
		if(curSymbol.equals("~"))
		{
			boolean restBool = inferenceCheckerHelper(curQueue,Queues);
			return !restBool;
		}
		
		for(LinkedList<String> Q : Queues)
		{
			if(Q.size() == 1)
			{
				if(curSymbol.equals(Q.getFirst()))
				{
					return true;
				}
			}
			
			if(Q.size()==2)
			{
				if(curSymbol.equals(Q.get(1)))
				{
					return false;
				}
			}
		}
		
		throw new IllegalInferenceException("Bad");
	}