private void unifyViaAtom(Atomic parentAtom){
  Atomic childAtom=getRuleConclusionAtom();
  Query parent=parentAtom.getParentQuery();
  Map<String,String> unifiers=childAtom.getUnifiers(parentAtom);
  head.unify(unifiers);
  body.unify(unifiers);
  Set<String> childFVs=body.getVarSet();
  Set<String> parentBVs=parentAtom.getVarNames();
  Set<String> parentVars=parent.getVarSet();
  parentBVs.forEach(null);
  childFVs.forEach(null);
}

private void unifyViaAtom ( Atomic parentAtom ) { Atomic childAtom = getRuleConclusionAtom ( ) ; Query parent = parentAtom . getParentQuery ( ) ; Map < String , String > unifiers = childAtom . getUnifiers ( parentAtom ) ; head . unify ( unifiers ) ; body . unify ( unifiers ) ; Set < String > childFVs = body . getVarSet ( ) ; Set < String > parentBVs = parentAtom . getVarNames ( ) ; Set < String > parentVars = parent . getVarSet ( ) ; parentBVs . forEach ( null ) ; childFVs . forEach ( null ) ; }
propagate variables to child via a relation atom ( atom variables are bound )
