src-gu/mir-reasoner/src/reasoner/GlobalReasoner.java
/** Run the reasoner and return true if new information was found.
	 * @param articulations The map of taxon pairs to their articulations.
	 * @pre articulations is not null.
	 * @post articulations now contains the articulations discovered by this run.
	 * @return True is new information was found, else false.
	 * @throws InvalidTaxonomyException If the taxonomy is inconsistent.
	 */
Run the reasoner and return true if new information was found.
@param articulations The map of taxon pairs to their articulations.
@pre articulations is not null.
@post articulations now contains the articulations discovered by this run.
@return True is new information was found, else false.
@throws InvalidTaxonomyException If the taxonomy is inconsistent.
Run the reasoner and return true if new information was found . @param articulations The map of taxon pairs to their articulations . @pre articulations is not null . @post articulations now contains the articulations discovered by this run . @return True is new information was found else false . @throws InvalidTaxonomyException If the taxonomy is inconsistent .
public boolean runReasoner(Map<TaxonPair, String> articulations, Map<TaxonPair, String> provenance) throws InvalidTaxonomyException{
		this.provenance = provenance;
		decomposedArticulations.putAll(articulations);
		boolean foundNew = false;
		for (MicroReasoner microreasoner : microreasoners){
			microreasoner.updateRelations(decomposedArticulations);
			if (foundNew |= microreasoner.runReasoner(provenance)){
				microreasoner.putNewRelationsInMap(decomposedArticulations);
			}
		}
		for (TaxonPair _t : decomposedArticulations.keySet())
			if (!_t.isFalse())
				articulations.put(_t, decomposedArticulations.get(_t));
		return foundNew;
	}
public boolean runReasoner ( Map < TaxonPair , String > articulations , Map < TaxonPair , String > provenance ) throws InvalidTaxonomyException { this . provenance = provenance ; decomposedArticulations . putAll ( articulations ) ; boolean foundNew = false ; for ( MicroReasoner microreasoner : microreasoners ) { microreasoner . updateRelations ( decomposedArticulations ) ; if ( foundNew |= microreasoner . runReasoner ( provenance ) ) { microreasoner . putNewRelationsInMap ( decomposedArticulations ) ; } } for ( TaxonPair _t : decomposedArticulations . keySet ( ) ) if ( ! _t . isFalse ( ) ) articulations . put ( _t , decomposedArticulations . get ( _t ) ) ; return foundNew ; }
Run the reasoner and return true if new information was found.
Run the reasoner and return true if new information was found .
// update the working map of articulations and clear the map of new articulations // run each microreasoner, storing new relations in decomposedArticulations //microreasoner.putProvenanceInMap(provenance); // store the new relations between the non-false taxa in the map of articulations // return whether the reasoner found new information