b03747916bb00f7f1d3677cf02d244d25af4ba96Eugen Kuksaspec Subclass =
b03747916bb00f7f1d3677cf02d244d25af4ba96Eugen Kuksa preds subclass : s * s;
b03747916bb00f7f1d3677cf02d244d25af4ba96Eugen Kuksa . forall x,y,z:s . subclass(x, y) /\ subclass (y, z) => subclass(x, z) %(transitivity)%
b03747916bb00f7f1d3677cf02d244d25af4ba96Eugen Kuksa . not subclass(stone, liquid) %(not stone < liquid)%
b03747916bb00f7f1d3677cf02d244d25af4ba96Eugen Kuksa . subclass(petrol, liquid) %(petrol < liquid)%
b03747916bb00f7f1d3677cf02d244d25af4ba96Eugen Kuksa . subclass(beverage, liquid) %(beverage < liquid)%
b03747916bb00f7f1d3677cf02d244d25af4ba96Eugen Kuksa . subclass(beer, beverage) %(beer < beverage)%
b03747916bb00f7f1d3677cf02d244d25af4ba96Eugen Kuksa . subclass(guiness, beer) %(guiness < beer)%
b03747916bb00f7f1d3677cf02d244d25af4ba96Eugen Kuksaspec SubclassToleranceOne =
b03747916bb00f7f1d3677cf02d244d25af4ba96Eugen Kuksa Subclass then
b03747916bb00f7f1d3677cf02d244d25af4ba96Eugen Kuksa . subclass(beer, liquid) %(beer < liquid)% %implied
b03747916bb00f7f1d3677cf02d244d25af4ba96Eugen Kuksaspec SubclassToleranceOnePointFive =
b03747916bb00f7f1d3677cf02d244d25af4ba96Eugen Kuksa Subclass then
b03747916bb00f7f1d3677cf02d244d25af4ba96Eugen Kuksa . subclass(pilsner, beer) %(pilsner < beer)%
b03747916bb00f7f1d3677cf02d244d25af4ba96Eugen Kuksa . subclass(beer, liquid) %(beer < liquid)% %implied