question: public InferenceResult ask ( FOLKnowledgeBase KB , Sentence query ) { if ( ! ( query instanceof AtomicSentence ) ) { throw new IllegalArgumentException ( "Only Atomic Queries are supported." ) ; } List < Literal > goals = new ArrayList < Literal > ( ) ; goals . add ( new Literal ( ( AtomicSentence ) query ) ) ; BCAskAnswerHandler ansHandler = new BCAskAnswerHandler ( ) ; List < List < ProofStepBwChGoal > > allProofSteps = folbcask ( KB , ansHandler , goals , new HashMap < Variable , Term > ( ) ) ; ansHandler . setAllProofSteps ( allProofSteps ) ; return ansHandler ; }
target:  Returns a set of substitutions