n="justify">} + +;  
} (k == hypCount2). Add (newHyp); 
 } 
 } q=0; (q 
 { newIntersection=new HashSet<int>();.UnionWith(setSamples[i].setValues);.IntersectWith(setSamples[q].setValues);(newIntersection.Count == SetSamples [i]. SetValues.Count && [i]. SetValues.SetEquals (newIntersection)) 
  {; 
 } + +; 
 } (q == i) 
  {newHyp=new Hypothesis ();. setValues ??= new HashSet ();. setValues.UnionWith (setSamples [i]. setValues);. setParents=new HashSet () ;. setParents.Add (i);. type=setSamples [i]. type;. Add (newHyp); 
 } 
 } 
 } 
  / / / 
				
				
				
				
			  / / / Процедура аналогією 
  / / / 
  / / / 
  / / / 
  / / / 
  / / / void Analogy (List plusHypotheses, List minusHypotheses, [] setSamples, out List ; [] coincidedHyp) 
  {= new List [setSamples.Length]; (int i=0; i (); (int i=0; i 
 {
  / / Пошук збігів з позитивними гіпотезами (int j=0; j 
 { intersection=new HashSet<int>();.UnionWith(setSamples[i].setValues);.IntersectWith(plusHypotheses[j].setValues);(intersection.SetEquals(plusHypotheses[j].setValues))[i].Add(plusHypotheses[j]);
 } 
  / / Пошук збігів з негативними гіпотезами (int j=0; j 
 { intersection=new HashSet<int>();.UnionWith(setSamples[i].setValues);.IntersectWith(minusHypotheses[j].setValues);(intersection.SetEquals(minusHypotheses[j].setValues))[i].Add(minusHypotheses[j]);
 }