%%%%%%%%%% lub-comm lub-comm: lub T1 T2 T3 -> lub T2 T1 T3 -> type. %mode lub-comm +P1 -P2. %% CASES DELETED %worlds () (lub-comm P1 _). %total P1 (lub-comm P1 _). %%%%%%%%%% lub-subtype1 lub-subtype1: lub T1 T2 T3 -> subtype T1 T3 -> type. %mode lub-subtype1 +P1 -P2. %% CASES DELETED %%%%%%%%%% lub-subtype2 lub-subtype2: lub T1 T2 T3 -> subtype T2 T3 -> type. %mode lub-subtype2 +P1 -P2. -: lub-subtype2 P1 P2 <- lub-comm P1 P3 <- lub-subtype1 P3 P2. %worlds () (lub-subtype2 P1 _). %total P1 (lub-subtype2 P1 _). %%%%%%%%%%%%%%%%%% subtype-list-invert subtype-list-invert: subtype (ty-list T1) (ty-list T2) -> subtype T1 T2 -> type. %mode subtype-list-invert +P1 -P2. %% CASES DELETED %%%%%%%%%%%% lub-least lub-least: lub T1 T2 T3 -> subtype T1 T4 -> subtype T2 T4 -> subtype T3 T4 -> type. %mode lub-least +P1 +P2 +P3 -P4. %% CASES DELETED