// Ġ! DIAG NO ST ICS : Ġ- UNUSED _ PARAMETER Ċ Ċ fun Ġtest ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ{ ĊĠĠĠ Ġtest 1 ( first , Ġsecond ) ĊĠĠĠ Ġtest 2 ( first , Ġsecond ) ĊĠĠĠ Ġtest 3 ( first , Ġsecond ) ĊĠĠĠ Ġtest 4 ( first , Ġsecond ) ĊĠĠĠ Ġtest 5 ( first , Ġsecond ) ĊĠĠĠ Ġtest 6 ( first , Ġsecond ) ĊĠĠĠ Ġtest 7 ( first , Ġsecond ) ĊĠĠĠ Ġtest 8 ( first , Ġsecond ) ĊĠĠĠ Ġtest 9 ( first , Ġsecond ) ĊĊĠĠĠ Ġtest 1 0 ( first , Ġsecond ) ĊĠĠĠ Ġtest 1 1 ( first , Ġsecond ) ĊĠĠĠ Ġtest 1 2 ( first , Ġsecond ) ĊĠĠĠ Ġtest 1 3 ( first , Ġsecond ) ĊĠĠĠ Ġtest 1 4 ( first , Ġsecond ) ĊĠĠĠ Ġtest 1 5 ( first , Ġsecond ) ĊĠĠĠ Ġtest 1 6 ( first , Ġsecond ) ĊĠĠĠ Ġtest 1 7 ( first , Ġsecond ) ĊĠĠĠ Ġtest 1 8 ( first , Ġsecond ) Ċ } Ċ Ċ interface ĠBound 1 Ċ interface ĠBound 2 Ċ object ĠFirst Ġ: ĠBound 1 , ĠBound 2 Ċ object ĠSecond Ġ: ĠBound 1 , ĠBound 2 Ċ Ċ fun Ġ< S Ġ: ĠBound 1 > Ġintersect ( var arg Ġelements : ĠS ): ĠS Ġ= ĠTODO () Ċ Ċ class ĠInv < T >( val Ġprop : ĠT ) Ċ class ĠIn < in ĠI >( arg : ĠI ) Ċ class ĠOut < out ĠO >( val Ġarg : ĠO ) Ċ Ċ fun Ġtest 1 ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ= ĠInv ( Inv ( intersect ( first , Ġsecond ))) Ċ fun Ġtest 2 ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ= ĠInv ( In ( intersect ( first , Ġsecond ))) Ċ fun Ġtest 3 ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ= ĠInv ( Out ( intersect ( first , Ġsecond ))) Ċ fun Ġtest 4 ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ= ĠIn ( Inv ( intersect ( first , Ġsecond ))) Ċ fun Ġtest 5 ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ= ĠIn ( In ( intersect ( first , Ġsecond ))) Ċ fun Ġtest 6 ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ= ĠIn ( Out ( intersect ( first , Ġsecond ))) Ċ fun Ġtest 7 ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ= ĠOut ( Inv ( intersect ( first , Ġsecond ))) Ċ fun Ġtest 8 ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ= ĠOut ( In ( intersect ( first , Ġsecond ))) Ċ fun Ġtest 9 ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ= ĠOut ( Out ( intersect ( first , Ġsecond ))) Ċ Ċ fun Ġtest 1 0 ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ= ĠOut ( Out ( Out ( intersect ( first , Ġsecond )))) Ċ fun Ġtest 1 1 ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ= ĠInv ( Out ( Out ( intersect ( first , Ġsecond )))) Ċ fun Ġtest 1 2 ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ= ĠInv ( Out ( In ( intersect ( first , Ġsecond )))) Ċ fun Ġtest 1 3 ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ= ĠInv ( In ( Out ( intersect ( first , Ġsecond )))) Ċ fun Ġtest 1 4 ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ= ĠInv ( In ( In ( intersect ( first , Ġsecond )))) Ċ fun Ġtest 1 5 ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ= ĠOut ( Inv ( Out ( intersect ( first , Ġsecond )))) Ċ fun Ġtest 1 6 ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ= ĠOut ( Out ( In ( intersect ( first , Ġsecond )))) Ċ fun Ġtest 1 7 ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ= ĠOut ( In ( Out ( intersect ( first , Ġsecond )))) Ċ fun Ġtest 1 8 ( first : ĠFirst , Ġsecond : ĠSecond ) Ġ= ĠIn ( Out ( Out ( intersect ( first , Ġsecond )))) Ċ